Wbincludes:LED Dimmer Modbus Registers: различия между версиями

Нет описания правки
Строка 924: Строка 924:


[https://support.wirenboard.com/t/dejstvie-pri-nazhatii-smotrite-formulu-raschyota-nizhe-rilheva/15151/8 полезный пример на портале]
[https://support.wirenboard.com/t/dejstvie-pri-nazhatii-smotrite-formulu-raschyota-nizhe-rilheva/15151/8 полезный пример на портале]
 
==Общие регистры==
== Общие регистры ==
{{Wbincludes:Header Registers Universal|note=true|no_description=true|header=Параметры подключения, версия прошивки и другие служебные регистры}}
Обратите внимание, что в этом устройстве изменился формат версионирования прошивки, изменения:
{{Wbincludes: Registers Connection Settings}}
* Диапазон регистров «Модель устройства» расширен до 20 регистров
{{Wbincludes: Registers FW Version For Device With Fast Modbus}}
* Версия формируется согласно semver и имеет формат <code>MAJOR.MINOR.PATCH</code> с опциональным суффиксом <code>(-rc|+wb)SUFFIX</code>
{{Wbincludes: Registers Service Main}}
*: Суффикс <code>-rc</code> означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком
{{Wbincludes: Registers Timeout}}
*: Суффикс <code>+wb</code> добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком
{{Wbincludes: Registers Сontinuous Reading Mode}}
* Цифры версии доступны по отдельности в формате u16 (для суффикса - i16), регистры 320-323
{{Wbincludes: Registers Vin}}
* Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки
{{Wbincludes: Registers Temperature MCU}}
*: Число рассчитывается по формуле:
*: <syntaxhighlight>
if (SUFFIX >= 0) {
    SUFFIX = SUFFIX + 128;
} else {
    SUFFIX = -1 - SUFFIX;
}
VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX;
</syntaxhighlight>
*: Число доступно для чтения в little-endian и big-endian форматах
*: Число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную
*: Таким образом обеспечивается корректное сравнение версий:
*:<syntaxhighlight lang="js">
1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10
</syntaxhighlight>
 
{{Wbincludes:Header Registers Universal|fw=true|no_description=true|header=Новые регистры для хранения версии прошивки}}
|-
| class ="text-right" | 200-219
| 0x00C8 - 0x00DB
| Input
| RO
| string
| Модель устройства
|
| rowspan="7" | 3.0.0
|-
| class ="text-right" | 320
| 0x0140
| rowspan="4" | Input
| rowspan="4" | RO
| rowspan="4" | u16 
| rowspan="4" | Версия прошивки в числовом формате
| MAJOR
|-
| class ="text-right" | 321
| 0x0141
| MINOR
|-
| class ="text-right" | 322
| 0x0142
| PATCH
|-
| class ="text-right" | 323
| 0x0143
| SUFFIX
|-
| class ="text-right" | 324-325
| 0x0144 - 0x0145
| Input
| RO
| u32
| Версия прошивки в числовом формате
|-
| class ="text-right" | 326-327
| 0x0146 - 0x0147
| Input
| RO
| u32
| Версия прошивки в Big Endian формате
|-
|}
|}
{{Wbincludes:Common Modbus Registers | LED=TRUE}}
translator, wb_editors
4251

правка