Skip to content

Arena Studio session roles: remove 'in_trigger' from the DIO 1 selector (only DIO 2 routes to EINT) #168

Description

@mbreiser

Problem

Bench observation (2026-07-24): DIO 1 cannot serve as the external trigger for the panels' Triggered/Gated modes — only DIO 2 can. Only the "Digital IO 2 (5V)" BNC routes to the panels' EINT net (U3 B→A + J30 shunt); DIO 1 has no physical path.

Arena Studio's "Rig I/O — session roles" panel (arena_studio.html, the cIoRoleDio1 selector) still offers in_trigger for DIO 1. The gate tooltip near line 6034 even half-acknowledges the constraint ("on Digital IO 2 this is the EINT trigger route") — but the option remains selectable, the controller accepts it (companion firmware issue below), and the user ends up with a silently dead trigger.

Suggested fix (not tested — logging only for now)

  • Remove in_trigger from the DIO 1 role <select> (or grey it with a "no EINT route on this port" tooltip, consistent with how roles needing missing firmware are greyed).
  • Warn (or refuse) when a rig YAML io: block declares in_trigger on dio port 1 at connect-time apply.

Companion

Controller-side half: reiserlab/LED-Display_G6_Firmware_Arena#45 (SET_DIO_ROLE should refuse in_trigger on port 1 so the misconfiguration is loud).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions