Skip to Content
DevelopersHardware protocol

Hardware protocol and safety

One transport, sequential commands

Core owns the DAC Unix socket and frankenfirmware connects to it. All consumers share one transport and sequential command queue. The protocol has no correlation IDs: read the response for the command just sent before sending another. Creating competing transports can displace the real connection.

Ordinary per-side writes also use withSideLock. Temperature changes pass through the temperature controller so gestures, schedules, APIs, and integrations agree on ownership.

Wire format

A command is a decimal opcode, newline, argument, then a blank line. Responses end with a blank line. Temperature levels range from −100 to +100; zero maps to 82.5°F. The hardware range is 55–110°F.

OpcodePurpose
0Hello/connectivity
5 / 6Left/right alarm configuration
8Settings CBOR
9 / 10Left/right temperature duration
11 / 12Left/right temperature level
13Priming
14Device status
16Alarm clear

Settings use short CBOR keys such as gl, gr, and lb, with merge semantics. A successful write with an unrecognized friendly key can be a silent no-op. Use the exact schemas in the protocol reference, not inferred JSON field names.

Alarms and cover differences

Alarm payloads and motor behavior vary by firmware. Pod 5 J55 firmware can clamp accepted intensity and pattern values. Validate physical output rather than treating an accepted API request as proof of vibration. System → Hardware provides the haptics diagnostic surface.

Pump protection and recovery

Power state reports the requested operation, not proof of water circulation. Pump readings and their age help diagnose stalled delivery; availability differs by firmware. The pump guard owns bounded probes and emergency cutoffs. Recovery must honor the current temperature owner and remaining duration rather than energizing a stale request.

Raw command execution and socket takeover are specialist diagnostics. They can interrupt normal control and are not a substitute for the consumer API. The investigation notes include rejected approaches and unresolved questions; treat those as research evidence, not installation instructions.


Source reference: DAC protocol  · Alarm payloads and behavior  · Pump safety design  · Socket investigation  · LPS observations 

Last updated on