Skip to content

Diagnostics

A debug interface should expose how the board reached each classification. This is essential for separating contact faults, resistor selection problems, ADC noise, wiring mistakes, and communication failures.

text
HEX 3
Connection: online
Firmware: 0.1.0 (illustrative)

Road 0
ADC: 523
Resistance: 9.8kΩ
Detected: Player 2 road

Road 1
Detected: empty

Building 0
Resistance: 4.7kΩ
Detected: Player 1 settlement

Land
Detected: forest

Robber
Present: false

All values and identities above are illustrative, not a calibrated data set, resistor assignment, or running firmware version. Raw ADC-to-resistance interpretation also depends on reference voltage and the circuit configuration.

Useful diagnostic fields

Per hex, expose index, address, firmware version, connectivity, and last successful response. Per channel, show raw/filtered ADC, inferred resistance, stable classification, and recent changes. Keep local sensor IDs alongside global position IDs so a board prompt can be traced back to wiring.

Unknown, empty, stale, and disconnected must be distinguishable. A stable but unrecognized resistor needs a different explanation from a lost hex.

Bench workflow

Observe an empty channel, insert a known piece repeatedly, vary placement pressure normally, and compare the stable range with the expected band. Then check whether a discrepancy follows the piece or remains with the channel. Display and communication checks should work independently of a running game.

A future debug UI may offer readout refresh, test display commands, and entry into calibration. Access control and whether diagnostics share the normal game API remain TBD. See calibration and Hex Manager.