説明なし

xnecas c1d0db18cf Redactored and documented 2 週間 前
.devcontainer 3137b24f5e First Commit 1 ヶ月 前
.vscode f843607add Powersave features 2 週間 前
main c1d0db18cf Redactored and documented 2 週間 前
.clangd f843607add Powersave features 2 週間 前
.gitignore 3137b24f5e First Commit 1 ヶ月 前
CMakeLists.txt a289c9c5c7 Added important macros 1 ヶ月 前
README.md c1d0db18cf Redactored and documented 2 週間 前
dependencies.lock 3137b24f5e First Commit 1 ヶ月 前
sdkconfig.ci 3137b24f5e First Commit 1 ヶ月 前

README.md

Bat-Sense Operator Controller

Firmvér pre prenosné ovládacie zariadenie založené na platforme M5Stack, slúžiace ako diaľkový ESP-NOW operátorský ovládač pre meracie zariadenie Bat-Sense.


📋 Prehľad projektu

Tento projekt implementuje robustnú, stavovým automatom riadenú firmvérovú architektúru určenú pre nízkoenergetické (low-power) embedded zariadenia. Slúži ako konzola na správu celého životného cyklu merania, pričom s podriadeným zariadením komunikuje bezdrôtovo pomocou vlastného protokolu Nano Bus (Nbus) cez vrstvu EspNowSerial.


🛠️ Hlavné vlastnosti

  • Stavový automat (State Machine): Čistá architektúra riadená plánovačom StateRunner, ktorá spravuje 6 na sebe nadväzujúcich stavov:
    • STATE_LOCK – Uzamknutý / neaktívny stav
    • STATE_TARGET – Yameranie cieľa
    • STATE_START – Inicializačná štartovacia sekvencia
    • STATE_RUN – Aktívny beh merania s vizuálnou animáciou
    • STATE_STOP – Ukončenie meracieho cyklu
    • STATE_CANCEL – Prerušenie / zrušenie operácie
  • ESP-NOW Komunikácia: Rýchly bezdrôtový prenos príkazov a paketov v reálnom čase pomocou vrstvy NbusBroadcastComm s overovaním integrity pomocou CRC8.
  • Optimalizovaná správa napájania: Periodický monitoring batérie pomocou FreeRTOS časovačov a podpora prechodu do úsporného režimu.
  • Kompaktná konfigurácia: Všetky konštanty (farby, fonty, hardvérové piny, časovanie, Nbus parametre) sú zjednotené v jednom centrálnom súbore all_config.h pre rýchlejšiu kompiláciu a lepšiu udržiavateľnosť.
  • Doxygen dokumentácia: Zdrojový kód je plne zdokumentovaný štandardizovanými Doxygen komentármi.

📂 Architektúra projektového repozitára

```text ├── all_config.h # Centrálna konfigurácia (hardvér, farby, časovanie, Nbus) ├── main.cpp # Hlavný vstupný bod firmvéru (Arduino setup/loop) ├── device/ # Správa hardvéru, displeja a ESP-NOW ├── drawer/ # UI renderovanie, kreslenie ikon, textov a batérie ├── nbus/ # Nano Bus protokol a ESP-NOW broadcast komunikácia ├── states/ # Logika stavového automatu │ ├── state_runner.h # Plánovač a riadenie prechodov medzi stavmi │ ├── state_interface.h # Abstraktné rozhranie pre stavy (IState) │ └── state_impl.h # Implementácie jednotlivých stavov (Lock, Target, Start, Run, Stop, Cancel) └── data_structures/ # Dátové štruktúry (PhaseCmd, StateTx, IconStruct)