Два значения в одном регистре в шаблоне wb-mqtt-serial

Добрый день!
Разбираю таблицы регистров, вижу что в одном регистре в старшем байте записано одно значение, а в младшем другое. Регистр 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

1 лайк

Большое спасибо! Не мог найти список версий.

"address": "0x79:3:4"

Адреса в таком формате сейчас не поддерживаются, надо писать первую часть адреса в десятичном виде. В ближайших обновлениях добавим разбор hex адресов.

2 лайка

Принято, пишем в десятичных. Спасибо!