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

Информация про новые регистры с версией перенесена в раздел 3.0.0
(Вынесен после таблицы общий текст про версии)
(Информация про новые регистры с версией перенесена в раздел 3.0.0)
Строка 1089: Строка 1089:


Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).
Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).
==== Новый формат версионирования прошивок ====
Изменения относительно старого формата:
* Диапазон регистров "Модель устройства" расширен до 20 регистров
* Версия формируется согласно semver и имеет формат <code>MAJOR.MINOR.PATCH</code> с опциональным суффиксом <code>-rcRC</code> для тестовых прошивок.
*: Если <code>RC</code> часть равна нулю (отсутствует суффикс -rc в строке с версией), то прошивка считается стабильной.
* Цифры версии доступны по отдельности в формате u16 (регистры 320-323)
* Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки
*: Формат числа: <code>MAJOR.MINOR.PATCH.(RC - 1)</code>, по 8 бит на цифру
*: Формула: <code>(MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + ((RC - 1) % 256)</code>
*: Число доступно для чтения в little-endian и big-endian форматах
*: Число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную: <code>1.2.3 > 1.2.3-rc4</code>.
*: Примеры:<code>1.2.3 = 1.2.3.255 = 16909311</code>, <code>1.2.3-rc5 = 1.2.3.4 = 16909060</code>
{{Wbincludes:Header Registers}}
| 200-219
| 0x00C8 - 0x00D8
| Модель устройства
| Input register
| RO
| null-terminated string
|
|
|
|
|
|rowspan="7"| 3.0.0
|-
| 320
| 0x0140
|rowspan="4"| Версия прошивки в числовом формате
|rowspan="4"| Input register
|rowspan="4"| RO
|rowspan="4"| u16
|
|
| MAJOR
|
|
|-
| 321
| 0x0141
|
|
| MINOR
|
|
|-
| 322
| 0x0142
|
|
| PATCH
|
|
|-
| 323
| 0x0143
|
|
| RC
|
|
|-
| 324-325
| 0x0144 - 0x0144
| Версия прошивки в Little Endian формате
| Input register
| RO
| u32
|
|
|
|
|
|-
| 326-327
| 0x0146 - 0x0147
| Версия прошивки в Big Endian формате
| Input register
| RO
| u32
|
|
|
|
|
|-
|}


=== Прошивка 1.0 ===
=== Прошивка 1.0 ===
Строка 1222: Строка 1311:
5 - 4 кГц
5 - 4 кГц
</pre>
</pre>
{{Wbincludes:Common Modbus Registers|addlines=true}}
{{Wbincludes:Common Modbus Registers}}
| 320
| 0x0140
|rowspan="4"| Версия прошивки в числовом формате
|rowspan="4"| Input register
|rowspan="4"| RO
|rowspan="4"| u16
|
|
| MAJOR
|
|
|-
| 321
| 0x0141
|
|
| MINOR
|
|
|-
| 322
| 0x0142
|
|
| PATCH
|
|
|-
| 323
| 0x0143
|
|
| RC
|
|
|-
| 324-325
| 0x0144 - 0x0144
| Версия прошивки в Little Endian формате
| Input register
| RO
| u32
|
|
|colspan="3"| Данные в регистрах при версии 1.2.3-rc05: <code>0x0403 0x0201</code>
 
Массив данных при чтении по modbus: <code><04><03><02><01></code>
|-
| 326-327
| 0x0146 - 0x0147
| Версия прошивки в Big Endian формате
| Input register
| RO
| u32
|
|
|colspan="3"| Данные в регистрах при версии 1.2.3-rc05: <code>0x0102 0x0304</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

правки