feat(stage3): Instrument autodetection and hardware communication port selector #86

Closed
opened 2026-08-25 15:47:34 +01:00 by gronod · 1 comment
Owner

Description

Integrate Argyll's instlist tool to enumerate attached spectrophotometers and colorimeters, and expose a hardware port / device selector in the Stage 3 UI before launching chartread.

Scope & Technical Requirements

  • Frontend button in Stage 3: "Detect Instruments" invoking detect_instruments.
  • Parse output from instlist to extract instrument index, model name (e.g. i1Pro, i1Pro2, ColorMunki, SpyderPrint), and communication port (USB:1, COM3, /dev/ttyUSB0).
  • Update ChartreadConfig to support port: Option<String> and pass -c <port> to chartread arguments.
  • Handle fallback when no instrument is detected with clear diagnostic troubleshooting steps.

Acceptance Criteria

  • Clicking "Detect Instruments" populates the instrument dropdown with connected devices.
  • Selecting a device appends -c <port> to chartread subprocess command line.
  • Error alert displayed if no hardware instrument is connected.

Dependencies & Ordering

  • Milestone: Milestone 8 (v0.3.0)
  • Ordering: Step 2
  • Dependencies: Issue #85 (resolve_binary fix)
### Description Integrate Argyll's `instlist` tool to enumerate attached spectrophotometers and colorimeters, and expose a hardware port / device selector in the Stage 3 UI before launching `chartread`. ### Scope & Technical Requirements - Frontend button in Stage 3: "Detect Instruments" invoking `detect_instruments`. - Parse output from `instlist` to extract instrument index, model name (e.g. `i1Pro`, `i1Pro2`, `ColorMunki`, `SpyderPrint`), and communication port (`USB:1`, `COM3`, `/dev/ttyUSB0`). - Update `ChartreadConfig` to support `port: Option<String>` and pass `-c <port>` to `chartread` arguments. - Handle fallback when no instrument is detected with clear diagnostic troubleshooting steps. ### Acceptance Criteria - [ ] Clicking "Detect Instruments" populates the instrument dropdown with connected devices. - [ ] Selecting a device appends `-c <port>` to `chartread` subprocess command line. - [ ] Error alert displayed if no hardware instrument is connected. ### Dependencies & Ordering - **Milestone**: Milestone 8 (`v0.3.0`) - **Ordering**: Step 2 - **Dependencies**: Issue #85 (`resolve_binary` fix)
gronod added this to the Milestone 8: Advanced Measurement & Workflow Enhancements (v0.3.0) milestone 2026-08-25 15:47:34 +01:00
gronod added the Kind/Feature
Priority
High
2
labels 2026-08-25 15:47:34 +01:00
gronod added the
Reviewed
Confirmed
1
label 2026-08-25 16:44:13 +01:00
Author
Owner

Resolved in PR #98. Instrument autodetection via instlist and hardware communication port selection (-c <port>) are now available in Stage 3.

Resolved in PR #98. Instrument autodetection via `instlist` and hardware communication port selection (`-c <port>`) are now available in Stage 3.
Sign in to join this conversation.