Перейти к содержанию

Навигация

WB-MSx Consumer IR Manual: различия между версиями

м
м (→‎Экспорт и импорт банков команд: Проверил и переписал)
Строка 97: Строка 97:
Чтобы удалить все записанные сигналы, запишите 1 в регистр флагов по адресу <code>5000</code>.
Чтобы удалить все записанные сигналы, запишите 1 в регистр флагов по адресу <code>5000</code>.


== Экспорт и импорт банков команд ==  
== Чтение/запись банков команд ==  


=== скрипты ===
Пользователь [https://support.wirenboard.com/u/pivcheg pivcheg] написал скрипты чтения и записи IR-команд, которые [https://support.wirenboard.com/t/wb-mir-wb-msw-skript-dlya-sohraneniya-i-zapisi-komand-ik-ir/7918/16 выложил на форуме].
Сохраните на контроллере содержимое архива [[Медиа:Get_ROM_IR.zip]]
 
=== Экспорт ===
Мы немного поправили им имена и опубликовали в архиве: [[Media:ir_backup.tgz | ir_backup.tgz]]
get_rom.pl чтение содержимого ПЗУ, каждый банк складывается в отдельный файл (rom_1.ir, rom_2.ir...rom_7.ir). Содержимое файла -- набор десятичных чисел.
 
Формат запуска: <./get_rom.pl directory modbus-address> directory -- имя директории (создается, если нет), modbus-address -- modbus-адрес устройства
=== Подготовка ===
Чтение выполняется с помощью modbus_client, параметры заданы в коде скрипта.
 
=== Импорт ===
Содержимое архива:
write_rom.pl
* read_roms.pl — скрипт сохранения ИК-команд в файлы
Формат запуска: <./write_rom.pl directory modbus-address> directory -- имя директории, в которой хранятся считанные банки памяти. modbus-address -- modbus-адрес устройства, на которое загружаются банки памяти.
* write_roms.pl — скрипт записи ИК-команд из файлов в регистры датчика
* compare_bufs.pl, getbuffer.pl, putbuffer.pl — вспомогательные скрипты, запускаются автоматически.
 
Перед тем, как приступить к чтению и записи команд:
# Зайдите в консоль контроллера по [[SSH]].
# Перейдите в папку <code>/home</code>
# Загрузите скрипт на контроллер и распакуйте его:
#:<syntaxhighlight lang="console">
# wget -qO- https://wirenboard.com/wiki/images/1/19/Ir_backup.tgz | tar -xvz  -C ./
ir_backup/
ir_backup/getbuffer.pl
ir_backup/write_roms.pl
ir_backup/putbuffer.pl
ir_backup/read_roms.pl
ir_backup/readme.txt
ir_backup/compare_bufs.pl
</syntaxhighlight>
# Перейдите в папку с распакованными файлами:
#: <syntaxhighlight lang="bash">
cd ir_backup
</syntaxhighlight>
 
Настройки скриптов '''read_roms.pl''' и '''write_roms.pl''':
* Скрипт читает/записывает только первые пять банков памяти: 0 — 4, если вам нужно считать/записать больше банков, то измените в скрипте значения <code>0..4</code>.
* Скорость подключения и serial-порту можно указать в строке <code>modbus_client…</code>.
 
=== Чтение команд в файлы ===
Для чтения ИК-команд используется скрипт <code>read_roms.pl</code>.
 
Формат запуска скрипта:
<syntaxhighlight lang="bash">
./read_roms.pl directory modbus-address
</syntaxhighlight>
 
Пример, в котором ИК-команды из устройства с адресом <code>22</code> сохраняются в папку <code>./roms</code>:
<syntaxhighlight lang="console">
# ./read_roms.pl ./roms 22
Stoping wb-mqtt-serial
->1<-->2<-->3<-->4<-->5<-
Starting wb-mqtt-serial
</syntaxhighlight>
 
=== Запись команд из файлов ===
Для записи ИК-команд используется скрипт <code>write_roms.pl</code>.
 
Формат запуска скрипта:
<syntaxhighlight lang="bash">
./write_roms.pl directory modbus-address
</syntaxhighlight>
 
Пример, в котором ИК-команды из папки <code>./roms</code> записываются в устройство с адресом <code>22</code>:
<syntaxhighlight lang="console">
# ./write_roms.pl ./roms/ 22
Stoping wb-mqtt-serial
->1<-->2<-->3<-->4<-->5<-
Starting wb-mqtt-serial
</syntaxhighlight>


== Карта регистров == <!--T:24-->  
== Карта регистров == <!--T:24-->