- Device Capability Advertisement Schema
- Device Type: String identifier (keyboard, fader, encoder, display)
- Hardware Revision: Version string and build date
- Supported Features: Array of capability flags
- Power Requirements: Voltage rails and current consumption
- Physical Dimensions: Grid size and height profile
- Control Event Message Schema
- Event Type: Enumerated values (button, encoder, fader, touch)
- Event Data: Type-specific payload (velocity, position, pressure)
- Timestamp: Microsecond precision event timing
- Source ID: Module address and endpoint identifier
- Sequence Number: Message ordering and duplicate detection
- Configuration Message Schema
- Parameter ID: Hierarchical parameter addressing
- Value Data: Typed parameter values (int, float, string, bool)
- Validation Rules: Min/max ranges, enumerated options
- Persistence Flag: Volatile vs non-volatile storage
- Access Control: Read-only, read-write, admin-only flags
- Field Omission for Default Values (CBOR null/undefined)
- Compact Integer Encoding (Variable-length integers)
- String Interning for Repeated Values
- Delta Encoding for Incremental Updates
- Message Batching for High-Frequency Events
- Major Type Usage Guidelines (0-7 type mapping)
- Additional Information Encoding Rules
- Indefinite Length Handling and Streaming
- Tag Usage for Semantic Annotation (Date/time, UUID, etc.)
- Error Handling for Malformed CBOR Data
- Protocol Version Field in Message Header
- Optional Field Handling (Ignore unknown fields)
- Deprecation Strategy for Message Types
- Migration Path for Breaking Changes
- Capability Negotiation for Version Mismatches
Schema Required: CBOR message format definitions in CDDL
Example Required: Sample encoded messages with hex dumps
Encoding Guide Required: CBOR implementation guidelines and best practices