Версия прошивки в устройствах с «Быстрым Modbus»
This is the approved revision of this page, as well as being the most recent.
В устройствах, поддерживающих Быстрый Modbus, используется другой формат обозначения версии прошивки.
- Диапазон регистров «Модель устройства» расширен до 20 регистров.
- Версия формируется согласно semver и имеет формат
MAJOR.MINOR.PATCHс опциональным суффиксом(-rc|+wb)SUFFIX:- суффикс
-rcозначает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком; - суффикс
+wbдобавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком.
- суффикс
- Цифры версии доступны по отдельности в формате u16 (для суффикса - s16), регистры 320-323.
- Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки:
- число рассчитывается по формуле:
if (SUFFIX >= 0) { SUFFIX = SUFFIX + 128; } else { SUFFIX = -1 - SUFFIX; } VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX;
- число доступно для чтения в little-endian и big-endian форматах;
- число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную;
- таким образом обеспечивается корректное сравнение версий:
1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10.
| Адрес | Параметры регистра | Описание | Значения | |||
|---|---|---|---|---|---|---|
| Dec | Hex | Тип | Доступ | Формат | ||
| 200-219 | 0x00C8 - 0x00DB | Input | RO | string | Модель устройства | |
| 320 | 0x0140 | Input | RO | u16 | Версия прошивки в числовом формате | MAJOR |
| 321 | 0x0141 | MINOR | ||||
| 322 | 0x0142 | PATCH | ||||
| 323 | 0x0143 | s16 | SUFFIX | |||
| 324-325 | 0x0144 - 0x0145 | Input | RO | u32 | Версия прошивки в числовом формате | |
| 326-327 | 0x0146 - 0x0147 | Input | RO | u32 | Версия прошивки в Big Endian формате | |