diff --git a/README.md b/README.md index d822674..d854969 100644 --- a/README.md +++ b/README.md @@ -100,4 +100,83 @@ python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin Для работы в Eclipce используете импорт проекта и установите toolchain.path. +# Информация + +## Распределение Flash 512 килобайт + +| Адрес | Описание | Размер | +|---|---|---| +| 0x00000 | Используется ROM | 8 килобайт | +| 0x02000 | Boot Info для ROM | 4 килобайта | +| 0x03000 | FW Boot с функцией OTA | 52 килобайта | +| 0x10000 | FW APP | 128 килобайт | +| 0x30000 | Запись истории | 304 килобайт | +| 0x7C000 | Сохранение настроек (EEP) | 16 килобайт | + +## FW Boot и OTA + +* `FW Boot` имеет функцию OTA, но не имеет функции записи истории и прочих дополнений. Служит для обработки OTA при любых неудачных или неправильных обновлениях. + +* `FW APP` не имеет функции OTA, для OTA перезагружается в `FW Boot`. Имеет дополнительные функции и расширения. + +Поддерживаемые функции и сервисы описываются включенными битами в 32-х битном поле `dev_id.services`. + +`FW Boot` запускается по старту, и если не нажата кнопка, проверяет есть или нет запись `FW APP`. Если есть – запускает `FW APP`. Если кнопка при старте нажата - запускается `FW Boot`. + +При соединении указывается: + +_Software:_ **V**x.x - значит работает `FW APP` +_Software:_ **B**x.x - значит работает `FW Boot` + +На термометрах с экраном, если не включено отображение времени, при первом старте показывает: + +* "Bot 12" - работает Boot версия 1.2 +* "APP 12" - работает APP версия 1.2 + +Принудительно перезагрузиться в `FW Boot` из `FW APP` возможно двумя способами: + +1. Отключить питание и удерживая кнопку включить питание. +2. Подать команду `7233` в меню `Service` программы PHY62x2BTHome.html и отключить соединение. + +Полная перезагрузка - Подать команду `7201` в меню `Service` программы PHY62x2BTHome.html и отключить соединение. + +Через USB-UART адаптер App можно записать сразу после boot. Пример: + +``` +python3 rdwr_phy62x2.py -p COM11 -e wh ./bin/BOOT_TH05V13_v13.hex +python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin +``` + +## Событие Open/Close и счет импульсов + +С версии 1.2 поддерживается опрос вывода подключенного к геркону или контакту, замыкающемуся на GND. +Максимальная частота переключения - 100 раз в секунду. +Если контакт имеет дребезг, тогда желательно зашунтировать контакт конденсатором. +При замыкании или размыкании передается блок из 5 BLE реклам следующих друг за другом через период в 50 мс. +При каждом событии "Open" прибавляется счетчик. +Значение счетчика передается совместно с каждым событием "Open/Close". + +Входной контакт на плате термометра: +* На [THB2](https://pvvx.github.io/THB2) - маркирован как `RX` +* На [BTH01](https://pvvx.github.io/BTH01/) - маркирован как `RX2` +* На [TH05_V1.3](https://pvvx.github.io/TH05-v1.3) - маркирован как `RX` +* На [TH05_V1.4](https://pvvx.github.io/TH-05) - маркирован как `RX2` + +![image](https://github.com/pvvx/THB2/assets/12629515/09f6f810-f2e2-4b61-9c84-f7c3770bb76a) + +## Вывод управления внешним устройством по температуре и/или влажности + +Контакт на печатной плате с маркировкой "TX2" управляется с помощью уставок с гистерезисами по температуре и влажности. +Имеется возможность переключения на инверсное управление выводом. + +Настройка производится в PHY62x2BTHome.html. + +Работа выхода назначается с помощью установки значения гистерезиса. +Если значение гистерезиса равно нулю - переключений не будет. +Если значение гистерезиса больше нуля - переключение (включение) произойдет при значении ниже уставка + гистерезис. +Если значение гистерезиса меньше нуля - переключение (включение) произойдет при значении выше уставка + гистерезис. + + +--- + Дополнительная информация по чипам [PHY62xx](https://github.com/pvvx/PHY62x2).