WB Dimmers Modbus Registers Map: различия между версиями

Вынесен после таблицы общий текст про версии
(Добавлено описание новых регистров с версией)
(Вынесен после таблицы общий текст про версии)
Строка 1255: Строка 1255:
|  
|  
|  
|  
| RC (release candidate)
| RC
 
Если RC > 0, прошивка считается тестовой.
|  
|  
|  
|  
Строка 1269: Строка 1267:
|  
|  
|  
|  
|colspan="3"| Число u32, содержащее цифры версии в little-endian формате MAJOR.MINOR.PATCH.RC, по 8 бит на число.
|colspan="3"| Данные в регистрах при версии 1.2.3-rc05: <code>0x0403 0x0201</code>
 
При этом из RC части вычитается 1 (по модулю 256).
Это позволяет использовать одно число для сравнения версии прошивки с предыдущей. Чем новее прошивка, тем больше число.
 
Данные в регистрах при версии 1.2.3-rc05: <code>0x0403 0x0201</code>


Массив данных при чтении по modbus: <code><04><03><02><01></code>
Массив данных при чтении по modbus: <code><04><03><02><01></code>
Строка 1286: Строка 1279:
|  
|  
|  
|  
|colspan="3"| Число u32, содержащее цифры версии в big-endian формате MAJOR.MINOR.PATCH.RC, по 8 бит на число.
|colspan="3"| Данные в регистрах при версии 1.2.3-rc05: <code>0x0102 0x0304</code>
 
При этом из RC части вычитается 1 (по модулю 256).
Это позволяет использовать одно число для сравнения версии прошивки с предыдущей. Чем новее прошивка, тем больше число.
 
Данные в регистрах при версии 1.2.3-rc05: <code>0x0102 0x0304</code>


Массив данных при чтении по modbus: <code><01><02><03><04></code>
Массив данных при чтении по modbus: <code><01><02><03><04></code>
|-
|-
|}
|}
Версия прошивок устройств формируется согласно semver и имеет формат <code>MAJOR.MINOR.PATCH</code> с опциональным суффиксом <code>-rcRC</code> для тестовых прошивок.
Если RC часть равна нулю (отсутствует суффикс -rc в строке с версией), то прошивка считается стабильной. Действует правило: <code>1.2.3 > 1.2.3-rc4</code>
Начиная с версии прошивки 3.0.0 доступно чтение версии в следующих форматах:
* Цифры версии по отдельности (u16, регистры 320-323).
* Число u32, которое формируется из цифр версии в формате MAJOR.MINOR.PATCH.RC, по 8 бит на цифру и хранится в двух регистрах. При этом из RC части вычитается 1 (по модулю 256).
*: Формула для формирования числа: <code>(MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + ((RC - 1) % 256)</code>
*: Число можно считать в формате little-endian и/или big-endian и использовать для сравнения версий прошивок.
*: Число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную.
wb_editors
353

правки