Низкоуровневое устройством управление адаптером RX2164 как USB-HID Адаптер RX2164 при подключении к компьютеру является HID устройством. Для передачи команд и приема данных через адаптер необходимо отправить на устройство или считать с него 8 байт данных. Описание отправляемых и считываемых данных приведено в таблице 1 и таблице 2. Идентификатор устройства: Название устройства (product string): RX2164 Таблица 1. Описание данных, считываемых с адаптера Позиция Описание Расшифровка байта buffer[0] Состояние адаптера buffer[1] buffer[2] Адрес ячейки Принятая команда buffer[3] Формат данных buffer[4] buffer[5] buffer[6] buffer[7] Данные к команде_0 Данные к команде_1 Данные к команде_2 Данные к команде_3 Версия документа 1.0 бит 0..5– значение TOGL Значение TOGL состоит из 6 бит. Оно изменяется при приходе новой команды (см. пункт «Работа с адаптером через API») бит 6 – состояние режима привязки 0 – режим привязки выключен, 1- режим привязки включен бит 7 – бит приема новой команды. Изменяет свое значение на противоположное при приходе новой команды. Дублирует бит 0 значения TOGL, обеспечивает совместимость с API адаптера RX1164. адрес ячейки 0…63, для которой пришла команда значение=0 – выключить нагрузку значение=1 – запускает плавное понижение яркости значение=2 – включить нагрузку значение=3 – запускает плавное повышение яркости значение=4 – включает или выключает нагрузку значение=5 – запускает плавное изменение яркости в обратном направлении значение=6 – установить заданную в «Данные к команде_0» яркость значение=7 – вызвать записанный сценарий значение=8 – записать сценарий значение=9 – запускает процедуру стирания адреса управляющего устройства из памяти исполнительного значение=10 – остановить регулировку значение=15 – сообщает, что устройство хочет записать свой адрес в память ( При значении «Формат данных»=1, в поле «Данные к команде_0» содержится тип привязываемого устройства.) значение=16 – включение плавного перебора цвета значение=17 – переключение цвета значение=18 – переключение режима работы значение=19 – переключение скорости эффекта для режима работы значение=20 – информирует о разряде батареи в устройстве значение=21 – передача информации о текущей температуре и влажности (Информация о температуре и влажности содержится в поле «Данные к команде_x».) значения 11, 12, 13, 14– зарезервированы, не используются значение=0 - данных к команде нет значение=1 - один байт данных к команде (Данные к команде_0) значение=2 - два байта данных к команде (Данные к команде_0,1) значение=3 - четыре байта данных к команде (Данные к команде_0, 1, 2, 3) данные к команде, байт 0 данные к команде, байт 1 данные к команде, байт 2 данные к команде, байт 3 Таблица 2. Описание данных, записываемых в адаптер Позиция Описание Расшифровка байта buffer[0] Управление адаптером buffer[1] Адрес ячейки buffer[2] buffer[3] buffer[4] buffer[5] buffer[6] buffer[7] зарезервировано зарезервировано зарезервировано зарезервировано зарезервировано зарезервировано бит 0..6 -режим работы: значение=0-не используется значение=1-включить привязку на адрес ячейки, 40 секунд значение=2- выключить привязку принудительно значение=3- очистить ячейку (адрес ячейки) значение=4- очистить всю память значение=5…127 – не используется бит 7 – не используется адрес ячейки 0…63, в которую будет произведена запись адреса пульта или датчика при процедуре привязки - Работа с адаптером через API При приходе очередной команды значение TOGL увеличивается на единицу (изменяется). Для определения прихода новых команд необходимо при считывании сравнивать прошлое значение TOGL и текущее. Если они отличаются – то это означает что пришла новая команда, информация о которой содержится в считанных данных. Рекомендуемый интервал считывания данных с адаптера – 160…200 мс. Обработка значения TOGL (С) TOGL=(buffer[0] & 63) ;//получение значения TOGL If (TOGL != temp_TOGL){//обнаружен прием новой команды temp_TOGL = TOGL; ///…. } Обработка значения TOGL (Delphi) TOGL:=(buffer[0] and 63); //получение значения TOGL If (TOGL <> temp_TOGL) then begin //обнаружен прием новой команды temp_TOGL:= TOGL; ///…. end; Наличие и объем данных, которые приняты с командой, определяются значением «Формат данных». Прошлые значения «Данные к команде_X» при приеме команды без данных сохраняются в буфере. Передаваемые 8 байт являются информационными. В зависимости от библиотеки, с помощью которой вы передаете данные на адаптер, возможно, потребуется перед отправкой 8 информационных байт отправить дополнительно один байт со значением 0. Пример: (0/ buffer[0]/…./buffer[7]) УП «Ноотехника» г. Минск, Долгиновский тракт, 39-330 Тел./факс: +375 17-233-25-45 Тел./факс: +375 17-289-78-48 www.noo.com.by Версия документа 1.0