Wbincludes:WB-MIR: Errata, ERRMIR06

Материал из Wiren Board
Версия от 20:14, 14 июня 2023; Pavel Gasheev (обсуждение | вклад) (Новая страница: «<h3> ERRMIR06: Проблемы при работе с ИК-приёмопередатчиком</h3> '''Подверженные устройства''' Все WB-MIR v2, WB-MSW с ИК с прошивкой до 4.29.7 включительно '''Описание''' В указанных прошивках наблюдается ряд проблем при использовании функционала ИК-приемопередатчика # пр...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

ERRMIR06: Проблемы при работе с ИК-приёмопередатчиком

Подверженные устройства

Все WB-MIR v2, WB-MSW с ИК с прошивкой до 4.29.7 включительно

Описание

В указанных прошивках наблюдается ряд проблем при использовании функционала ИК-приемопередатчика

  1. при работе с банками ИК-команд (запись, редактирование) с поочередным использованием coil и holding регистров значения в них могли рассихронизироваться и ИК модуль мог "зависнуть" и более не отвечать на команды.
  2. при активной команде с одним банком можно установить в "1" coil регистры других банков.
  3. значение в регистре воспроизведения команды сбрасывалось в "0" сразу после начала воспроизведения, а не по окончанию команды
  4. при записи в ROM слишком длинной команды (больше максимальной длины) запись не производилась, однако при записи в RAM записывалось столько данных, сколько могло поместиться. Из-за этого могли быть сложности с запись длинных команд в ROM.


Причины и подробное описание

Ошибка в прошивке.

Запланированное исправление

Исправлено в версии прошивки 4.29.8

Пути обхода

  1. использовать только один интерфейс: либо coil либо holding регистры для работы с банками ИК-команд
  2. сначала завершать работу с одним банком, затем начинать работу с другим (это должны быть разные modbus-запросы)
  3. оценивать время выполнения команды и выполнять временную задержку на стороне клиента
  4. записать длинную команду можно так: выполнить запись в RAM, считать данные и записать из ROM через редактирование банка