Expand description
Configuration data model for the DMX interface.
Uses heapless fixed-size types for no_std compatibility. The JSON
shape (field names, numeric enums, string-keyed index maps) mirrors
web/src/types/config.d.ts โ the WebSocket API is the contract between
firmware and web UI; NVS keeps storing the same model via postcard.
Modulesยง
- index_
map ๐ serdeadapter: index maps as JSON objects with decimal string keys.
Structsยง
- Config
- Complete device configuration (web:
Config). - Config
Patch - Partial configuration (web:
DeepPartial<Config>). - DmxPort
Config - DMX port configuration (web:
DmxPort). - DmxPort
Patch - One
DmxPortConfigentry as it arrives in a patch (web:DeepPartial). - Invalid
Value - Error for invalid enum discriminants arriving over the wire.
- Wifi
Config WiFicredentials for one interface (web:WifiConfig).- Wifi
Config Patch - One
WifiConfigentry as it arrives in a patch (web:DeepPartial).
Enumsยง
- Button
Action - Action bound to a button event (web:
ButtonAction). - Connection
Type - Network connection type (web:
ConnectionType). - DmxDirection
- DMX data direction (web:
directiononDmxPort). - IpMethod
- IP assignment method (web:
IpMethod); applied to station mode.
Constantsยง
- MAX_
BUTTON_ ๐ACTIONS - Maximum number of button actions addressed by the config maps.
- MAX_
CONFIG_ ๐BYTES - Maximum size of the postcard-encoded config blob in NVS.
- MAX_
DMX_ ๐PORTS - Maximum number of DMX ports addressed by the config maps.
- MAX_
STR_ ๐LEN - Maximum length for string configuration fields.