This commit is contained in:
2026-01-25 17:17:08 +01:00
parent edd3e96591
commit 0daead7821
21 changed files with 1636 additions and 11 deletions

View File

@@ -0,0 +1,32 @@
# 6. Diagnostics & Maintainability
## Overview
To support a fleet of devices, the system must provide clear diagnostics that allow for remote troubleshooting and predictive maintenance.
## Diagnostic Code System
A standardized diagnostic code system is used to categorize and report issues across the fleet.
**Format: `0xSCCC`**
* **S:** Severity (1 = Info, 2 = Warning, 3 = Error, 4 = Critical)
* **CCC:** Subsystem Code
| Range | Subsystem |
| :--- | :--- |
| **0x1xxx** | Data Acquisition (DAQ) |
| **0x2xxx** | Communication (COM) |
| **0x3xxx** | Security (SEC) |
| **0x4xxx** | Over-the-Air Updates (OTA) |
| **0x5xxx** | Hardware (HW) |
This structured approach enables **fleet analytics**, allowing operators to identify patterns of failure across many devices.
## Layered Watchdogs
To ensure the system remains responsive, multiple levels of watchdogs are implemented:
| Watchdog | Purpose | Baseline Timeout |
| :--- | :--- | :--- |
| **Task WDT** | Detects deadlocks in specific FreeRTOS tasks. | 10 seconds |
| **Interrupt WDT** | Detects hangs within Interrupt Service Routines (ISRs). | 3 seconds |
| **RTC WDT** | Provides a final safety net for total system freezes. | 30 seconds |
These layered watchdogs ensure that the device can recover automatically from software glitches or hardware-induced hangs.