File NodeStatus.h
FileList > Firmware > Libraries > NodeStatus > NodeStatus.h
Go to the source code of this file
Neutral node-status contract for every OpenSkyhawk node (PanelGroup ,PanelBridge , PDU).More...
#include <stdint.h>
Namespaces
| Type | Name |
|---|---|
| namespace | OpenSkyhawk Thin wrapper over Adafruit_ADS1115; see ADS1115.h . |
Classes
| Type | Name |
|---|---|
| class | FaultSource A source of node faults — implemented by any object that can fault (#163). |
Public Types
| Type | Name |
|---|---|
| enum uint8_t | NodeFaultCode HEALTH_n faultId dictionary (#163) — cross-node fault codes. |
| enum uint8_t | NodeHealthFlag HEALTH_n flags bits — node-level health conditions (maps to NodeHealthPayload.flags). |
Macros
| Type | Name |
|---|---|
| define | NODE_STATUS_END_MSG_NAME "\_NODE\_STATUS\_END" |
| define | NODE_STATUS_MSG_NAME "\_NODE\_STATUS" |
| define | NODE_STATUS_PROTO_VERSION 2 |
| define | NODE_STATUS_REQ_ADDR 0x86FE |
Detailed Description
Owns the cross-node status API — not just health:
* the _NODE_STATUS DCS-BIOS host-reporting contract (proto version, request address, message names) — the canonical source the client's sync-a4ec.ts parses;
* NodeHealthFlag (HEALTH_n flag bits) and NodeFaultCode (the compact wire faultId dictionary the client maps to labels);
* FaultSource — the interface a fault-producing object implements so a node-level aggregator can roll it up. A FaultSource is one piece of node status, not the whole story.
This is the neutral home for node-status vocabulary so it isn't shaped around any one node flavour (PanelGroup/OutputBase) or the HID namespace. NodeHealthPayload (the CAN HEALTH_n frame struct) stays in CANProtocol.h; the fault detail strings stay local (DiagSerial), never on the wire. Header-only contract + a tiny FaultSource registry (NodeStatus.cpp).
Version:
0.1.0
Copyright:
GPL-2.0-only — see Firmware/LICENSE
Public Types Documentation
enum NodeFaultCode
HEALTH_n faultId dictionary (#163) — cross-node fault codes.
enum NodeFaultCode {
NONE = 0x00,
I2C_PERIPHERAL = 0x01,
OVER_VOLTAGE = 0x02,
UNDER_VOLTAGE = 0x03,
SHORT_CIRCUIT = 0x04,
HOST_LINK_LOST = 0x05
};
Coarse, one active at a time on the wire; the exact device is logged locally on DiagSerial, not the frame. The client maps id → human label (SkyHawkClient#40). Each node type contributes the codes relevant to its fault sources; append as new sources appear.
enum NodeHealthFlag
HEALTH_n flags bits — node-level health conditions (maps to NodeHealthPayload.flags).
enum NodeHealthFlag {
OVERHEAT = 0x01,
DEGRADED = 0x02
};
Macro Definition Documentation
define NODE_STATUS_END_MSG_NAME
#define NODE_STATUS_END_MSG_NAME `"_NODE_STATUS_END"`
define NODE_STATUS_MSG_NAME
#define NODE_STATUS_MSG_NAME `"_NODE_STATUS"`
define NODE_STATUS_PROTO_VERSION
#define NODE_STATUS_PROTO_VERSION `2`
define NODE_STATUS_REQ_ADDR
#define NODE_STATUS_REQ_ADDR `0x86FE`
The documentation for this class was generated from the following file Firmware/Libraries/NodeStatus/NodeStatus.h