From 707c0ce577808af75640d065fd4ee8ccf9a92c57 Mon Sep 17 00:00:00 2001 From: tcom Date: Sat, 20 Dec 2025 08:24:51 +0000 Subject: [PATCH] Update README.md --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 79c2d71..390bc9e 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ watch-watch — вбудована система на ESP32-S3 для нагл - **Керування каналами живлення**: 5 незалежних ліній `EN` (GPIO 2, 4, 5, 18, 19), які можна увімкнути, вимкнути або перемкнути з коду чи CLI. - **Послідовний автотест**: у `app_main` реалізовано базову логіку — канали вмикаються по черзі з інтервалом 3 с, що дозволяє перевірити всі DC/DC без стрибків споживання. - **Світлодіодний індикатор стану**: п’ять WS2812 (GPIO 8) світяться зеленим під час стартової затримки, після чого кожен канал сигналізує лише про дві події — відсутність VPN (два червоних блимання) та падіння APP (три жовтих блимання). -- **Моніторинг навантаження**: датчики INA226 вимірюють напругу, струм та потужність кожного каналу, інформація потрапляє в лог і CLI. +- **Моніторинг навантаження**: датчики INA226 вимірюють напругу, струм та потужність пристрою таку як напруга, струм та потужність, інформація потрапляє в CLI. - **UART взаємодія з Raspberry Pi**: один UART через мультиплексор (A0/A1/A2) ділиться між п’ятьма Pi, дозволяючи надсилати службові повідомлення або обмінюватися даними. -- **Нативний USB-CLI**: ESP32-S3 підключається до Raspberry Pi 5 по USB і стає CDC ACM пристроєм; командний інтерфейс дозволяє керувати каналами та дивитись стан у реальному часі. +- **Нативний USB-CLI**: ESP32-S3 підключається до Raspberry Pi 5 першої ноди системи Watcher по USB і стає CDC ACM пристроєм; командний інтерфейс дозволяє керувати каналами та дивитись стан у реальному часі. - **Модульна архітектура**: окремі компоненти `dcdc_controller` і `usb_cdc_cli` спрощують розширення (телеметрія, автоматизація, протоколи зв’язку). ## Структура проєкту @@ -64,14 +64,13 @@ watch-watch — вбудована система на ESP32-S3 для нагл ## UART взаємодія та heartbeat - Загальний UART (типово UART1, GPIO17/16) підключений до аналогового мультиплексора, лінії адреси `A0/A1/A2` (GPIO 9/10/11) вибирають одну з Raspberry Pi. - Модуль `uart_mux` серіалізує доступ до UART, надає API для `uart_mux_write/read` і періодично опитує UART на наявність heartbeat. -- Після кожного вимірювання INA226 ESP32-S3 відправляє поточну телеметрію (`PWR `) до активної Raspberry Pi. - Якщо heartbeat від Pi не надходить протягом `CONFIG_WATCH_UART_HEARTBEAT_TIMEOUT_SEC` (за замовчуванням 60 с), відповідний канал живлення вимикається й знову вмикається для примусового перезапуску. - Команди CLI `uart send` / `uart read` дозволяють вручну надсилати/читати повідомлення, а в `app_main` можна реалізувати власні протоколи синхронізації. ## UART взаємодія з Raspberry Pi - Шина UART (типово UART1, TX=GPIO17, RX=GPIO16) підключена до аналогового мультиплексора з адресними лініями A0/A1/A2 (GPIO 9/10/11), що дозволяє вибирати одну з 5 Raspberry Pi. - Модуль `uart_mux` гарантує серійний доступ: перед операцією він виставляє двійковий код каналу на A0-A2 та блокує UART м’ютексом. -- У `app_main` після вимірювань кожному Pi відправляється телеметрія (`CHx V mA`), а через CLI можна виконати `uart send ` або `uart read [len]`. +- Через CLI можна виконати `uart send ` або `uart read [len]`. - Усі параметри (порт, швидкість, GPIO) доступні в `menuconfig → UART мультиплексор`. ## USB CDC CLI @@ -120,5 +119,4 @@ CLI з’являється після того, як Raspberry Pi встано ## Подальший розвиток 1. Додати протокол обміну з Raspberry Pi (наприклад, командний набір через USB CLI або окреме IPC). -2. Включити зворотній зв’язок: вимір напруги/струму, датчики температури для кожного DC/DC. -3. Розширити CLI (макроси, сценарії, логування станів) та інтегрувати з продакшн-скриптами. +2. Розширити CLI (макроси, сценарії, логування станів) та інтегрувати з продакшн-скриптами.