Skip to content

benchpod: module(), set_module_id() and Calibration.stored - #67

Merged
wardviaene merged 1 commit into
mainfrom
module-eeprom-id
Nov 9, 2026
Merged

wardviaene merged 1 commit into
mainfrom
module-eeprom-id

Conversation

@wardviaene

@wardviaene wardviaene commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

The analog module of a two-board BenchPod (digital v3r3) carries an EEPROM with its identity and, from firmware 3.10.1 (embeddedci-com/benchpod-firmware#133), its calibration.

  • ModuleInfo and BenchPod.module(): the module, its two rails, the EEPROM state, type, revision, serial and the stored calibration blob.
  • BenchPod.set_module_id(serial, rev, module_type="analog", replace=False): writes the identity, keeps the calibration, and refuses to change an existing serial unless replace=True (a serial names one module for life). Validates the serial (1-16 printable characters) and the revision ("major.minor").
  • Calibration.stored: "module", "pod" or "none"; None on older firmware.
  • README section, API surface snapshot, unit tests (tests/test_module.py).

Checked against benchpod-c2f662 with a dev build of the firmware branch: module() read the header the firmware created when it copied the calibration over (empty serial, cal_len 124, cal_ok), and calibration().stored read module. ship-pod then wrote the ID (am-46d70394add9, rev 3.3) with the raw command.

The two test_aivision.py failures also fail on main (they need the camera rig).

🤖 Generated with Claude Code

The analog module of a two-board BenchPod (digital v3r3) carries an EEPROM
with its identity and, from firmware 3.10.1, its calibration.

- ModuleInfo + BenchPod.module(): the module, its rails and EEPROM state.
- BenchPod.set_module_id(serial, rev, module_type, replace=False): writes
  the identity, keeps the calibration, refuses to change an existing
  serial unless replace=True.
- Calibration.stored: "module", "pod" or "none" (None on older firmware).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wardviaene
wardviaene merged commit 3f1f271 into main Nov 9, 2026
20 checks passed
@wardviaene
wardviaene deleted the module-eeprom-id branch November 9, 2026 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant