Наличие middle endian в шаблонах

Добрый день.

Прошу подсказать, так как нигде не нашел информации. Имеется устройство Pilot SPM20, для того чтобы с него получить данные требуется порядок байтов PDP или по другому middle endian. На форуме в 2015 году поднималась эта тема (Подключение новых модулей к Wiren Board 4/5) и говорилось о добавлении этого функционала в код. В руководствах по шаблонам нигде такого варианта не указано.

Прошу сообщить есть ли такой функционал и в случае если он отсутствует. Прошу сообщить в каком файле требуется добавить этот функционал.

Добрый день.

Что имеется в виду? То есть значения в словах - как расположены?

Сейчас драйвер работает с:

                            // Возможные значения:
                            //  "big_endian" (по-умолчанию): [0xAA 0xBB] [0xCC 0xDD] => 0xAABBCCDD
                            //  "little_endian":  [0xAA 0xBB] [0xCC 0xDD] => 0xCCDDAABB
                            "word_order" : "big_endian",

Ну и поддержка именно драйвером - не обязательна, можно ведь читать значения как int и преобразовавать программно.

Вот пример с wiki по расположению

Раз сейчас имеется только 2 варианта (big_endian, little_endian), то прошу сообщить как программно преобразовать в middle_endian

Навскидку - вот так: Управление Алисой - #19 от пользователя BrainRoot

Не думаю что это подходящий вариант. Т.к. это предполагает взаимодействие через скрипты и создание отдельных переменных.

Сейчас имеется шаблон который привязан к устройству и с него собирает данные. Но из-за того что в самом шаблоне нет варианта middle-endian данные отображаются некорректно.

Меня интересует как на уровне шаблона добавить функцию middle_endian. Чтобы в шаблоне уже отображалось корректное значение. Т.к. имеется довольно большое количество таких устройств.

А чем мешают отдельные переменные? Значения в общем можно писать в топик того же устройства.

Исходники wb-mqtt-serial тут: GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver - открыты и доступны.

Запишу запрос, конечно.

Спасибо, исходники раньше уже находил. Хотелось бы уточнение в каком файле среди исходников описаны big_endian и little_endian, чтобы дополнить функционал как положено.