software and system v1

This commit is contained in:
2026-02-02 00:49:50 +01:00
parent 9c5082cd9e
commit a23dbf0828
21 changed files with 4400 additions and 137 deletions

View File

@@ -68,39 +68,72 @@ The ASF Sensor Hub follows a **Layered Architecture** with the following charact
graph TB
subgraph "Application Layer"
subgraph "Business Stack"
STM[State Manager<br/>STM]
EventSys[Event System]
SensorMgr[Sensor Manager]
MCMgr[MC Manager]
ActuatorMgr[Actuator Manager]
OTAMgr[OTA Manager]
MainHubAPI[Main Hub APIs]
STM[System State Manager<br/>C-STM-001]
EventSys[Event System<br/>C-EVENT-001]
SensorMgr[Sensor Manager<br/>C-SENSOR-001]
CommMgr[Communication Manager<br/>C-COM-001]
MCMgr[Machine Constants Manager<br/>C-MC-001]
OTAMgr[OTA Manager<br/>C-OTA-001]
SecMgr[Security Manager<br/>C-SEC-001]
DiagMgr[Diagnostics Manager<br/>C-DIAG-001]
HMICtrl[HMI Controller<br/>C-HMI-001]
end
subgraph "Services Stack"
TimeSync[Time Sync Service<br/>C-TIME-SYNC-001]
WatchdogMgr[Watchdog Manager<br/>C-WATCHDOG-001]
end
subgraph "DP Stack"
DataPool[Data Pool]
Persistence[Persistence]
DataPool[Data Pool<br/>C-DATA-POOL]
Persistence[Data Persistence<br/>C-DP-001]
end
DiagTask[Diagnostics Task]
ErrorHandler[Error Handler]
subgraph "Utilities Stack"
Logger[Logger<br/>C-LOGGER-001]
TimeUtils[Time Utils<br/>C-TIME-001]
CryptoUtils[Crypto Utils<br/>C-CRYPTO-001]
MsgFormatter[Message Formatter<br/>C-MSG-FMT-001]
FilterEngine[Filter Engine<br/>C-FILTER-001]
DataValidation[Data Validation<br/>C-VALIDATION-001]
end
ErrorHandler[Error Handler<br/>C-ERROR-001]
end
subgraph "Drivers Layer"
SensorDrivers[Sensor Drivers<br/>I2C/SPI/UART/ADC]
NetworkStack[Network Stack<br/>Wi-Fi/ESP-NOW]
StorageDrivers[Storage Drivers<br/>SD/NVM]
DiagProtocol[Diagnostic Protocol]
subgraph "Sensor Drivers"
TempDriver[Temperature SHT40<br/>C-SENSOR-DRV-TEMP]
HumDriver[Humidity SHT40<br/>C-SENSOR-DRV-HUM]
CO2Driver[CO2 SCD40<br/>C-SENSOR-DRV-CO2]
NH3Driver[NH3 Analog<br/>C-SENSOR-DRV-NH3]
VOCDriver[VOC SGP40<br/>C-SENSOR-DRV-VOC]
PMDriver[PM SPS30<br/>C-SENSOR-DRV-PM]
LightDriver[Light TSL2591<br/>C-SENSOR-DRV-LIGHT]
end
subgraph "Network Stack"
WiFiMgr[Wi-Fi Manager<br/>C-NET-WIFI]
MQTTClient[MQTT Client<br/>C-NET-MQTT]
TLSManager[TLS Manager<br/>C-NET-TLS]
ESPNowHandler[ESP-NOW Handler<br/>C-NET-ESPNOW]
end
subgraph "Storage Drivers"
SDDriver[SD Card Driver<br/>C-STORAGE-SD]
NVMDriver[NVM Driver<br/>C-STORAGE-NVM]
end
end
subgraph "ESP-IDF Wrappers (OSAL)"
I2CWrapper[I2C Wrapper]
SPIWrapper[SPI Wrapper]
UARTWrapper[UART Wrapper]
ADCWrapper[ADC Wrapper]
WiFiWrapper[WiFi Wrapper]
TaskWrapper[Task Wrapper]
TimerWrapper[Timer Wrapper]
I2CWrapper[I2C Wrapper<br/>C-OSAL-I2C]
SPIWrapper[SPI Wrapper<br/>C-OSAL-SPI]
UARTWrapper[UART Wrapper<br/>C-OSAL-UART]
ADCWrapper[ADC Wrapper<br/>C-OSAL-ADC]
GPIOWrapper[GPIO Wrapper<br/>C-OSAL-GPIO]
WiFiWrapper[WiFi Wrapper<br/>C-OSAL-WIFI]
TaskWrapper[Task Wrapper<br/>C-OSAL-TASK]
TimerWrapper[Timer Wrapper<br/>C-OSAL-TIMER]
MutexWrapper[Mutex Wrapper<br/>C-OSAL-MUTEX]
QueueWrapper[Queue Wrapper<br/>C-OSAL-QUEUE]
end
subgraph "ESP-IDF Framework (HAL)"
@@ -124,28 +157,63 @@ graph TB
%% Layer Dependencies (downward only)
STM --> EventSys
SensorMgr --> SensorDrivers
SensorMgr --> TempDriver
SensorMgr --> HumDriver
SensorMgr --> CO2Driver
SensorMgr --> EventSys
DataPool --> Persistence
Persistence --> StorageDrivers
MainHubAPI --> NetworkStack
SensorMgr --> FilterEngine
CommMgr --> WiFiMgr
CommMgr --> MQTTClient
CommMgr --> MsgFormatter
OTAMgr --> TLSManager
SecMgr --> CryptoUtils
DiagMgr --> WatchdogMgr
HMICtrl --> I2CWrapper
HMICtrl --> GPIOWrapper
SensorDrivers --> I2CWrapper
SensorDrivers --> SPIWrapper
NetworkStack --> WiFiWrapper
StorageDrivers --> SPIWrapper
DataPool --> Persistence
Persistence --> SDDriver
Persistence --> NVMDriver
TimeSync --> WiFiMgr
TimeSync --> TimeUtils
TempDriver --> I2CWrapper
HumDriver --> I2CWrapper
CO2Driver --> I2CWrapper
NH3Driver --> ADCWrapper
VOCDriver --> I2CWrapper
PMDriver --> UARTWrapper
LightDriver --> I2CWrapper
WiFiMgr --> WiFiWrapper
MQTTClient --> TLSManager
TLSManager --> CryptoUtils
ESPNowHandler --> WiFiWrapper
SDDriver --> SPIWrapper
NVMDriver --> ESPIDFNVS[ESP-IDF NVS]
I2CWrapper --> I2CHAL
SPIWrapper --> SPIHAL
UARTWrapper --> UARTHAL
ADCWrapper --> ADCHAL
GPIOWrapper --> GPIOHAL[GPIO HAL]
WiFiWrapper --> WiFiHAL
TaskWrapper --> FreeRTOS
TimerWrapper --> TimerHAL[Timer HAL]
I2CHAL --> ESP32S3
SPIHAL --> ESP32S3
UARTHAL --> ESP32S3
ADCHAL --> ESP32S3
GPIOHAL --> ESP32S3
WiFiHAL --> ESP32S3
FreeRTOS --> ESP32S3
TimerHAL --> ESP32S3
ESP32S3 --> Sensors
ESP32S3 --> SDCard
ESP32S3 --> OLED
ESP32S3 --> Buttons
```