Добрый день!
Разбираю таблицы регистров, вижу что в одном регистре в старшем байте записано одно значение, а в младшем другое. Регистр readonly.
Как составить шаблон для корректного отображения в топиках значений первго и второго каналов?
Обращаться к битам внутри регистра можно конструкцией
X:Y:Z, где
X - регистр
Y - первый бит
Z - количество бит.
Можете подсказать, с какой версии wb-mqtt-serial это доступно?
Правильно ли записал? Появилась ошибка напртив этих топиков.
Y3 - старший байт, Y4 - младший байт
{
"name": "Y3",
"readonly": true,
"reg_type": "input",
"address": "0x0F:0:8",
"type": "value"
},
{
"name": "Y4",
"readonly": true,
"reg_type": "input",
"address": "0x0F:8:8",
"type": "value"
},
Да, верно.
регистр:смещение:ширина
Пишет ошибку:
/devices/optimus-911-m_1/controls/Y1/meta/error r
/devices/optimus-911-m_1/controls/Y2/meta/error r
Работает как
"address": "121:3:4"
так и
"address": "0x79:3:4"
А если Debug включить?
Вот так заработало:
Заменил 0x0F на 15.
{
"name": "Y3",
"readonly": true,
"reg_type": "input",
"address": "15:0:8",
"type": "value"
},
{
"name": "Y4",
"readonly": true,
"reg_type": "input",
"address": "15:7:8",
"type": "value"
},
Но особой разницы между логами не вижу:
with_error.txt (59.3 КБ) without_error.txt (145.2 КБ)
А какая версия wb-mqtt-serial?
dpkg -s wb-mqtt-serial
У меня 2.6.3
У меня 2.7.1.
С какой версии появился этот функционал? У нас в основном контроллеры на wb-mqtt-serial 1.63, обновляться пока не хочется, пока не всё протестировано.
1.50.0
Большое спасибо! Не мог найти список версий.
"address": "0x79:3:4"
Адреса в таком формате сейчас не поддерживаются, надо писать первую часть адреса в десятичном виде. В ближайших обновлениях добавим разбор hex адресов.
Принято, пишем в десятичных. Спасибо!