1.3 KiB
1.3 KiB
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.