Skip to content

optical stim: support runtime display pin map - #188

Merged
namthor9 merged 2 commits into
mainfrom
maxr/optical-stim-display-map
Nov 4, 2026
Merged

namthor9 merged 2 commits into
mainfrom
maxr/optical-stim-display-map

Conversation

@namthor9

@namthor9 namthor9 commented Jun 26, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds display_map (row_map/col_map) support to the OpticalStimulation client node:

  • __init__ params with validation (dims ≤ 128, pins ≤ 255, both-or-neither, pixel_mask length consistency)
  • full _to_proto / _from_proto round-trip (via HasField('display_map'))
  • ready-made pin-map constants for the known displays
  • CLI device info shows the configured display dimensions

Dependency

Requires the synapse-api DisplayMap proto (sciencecorp/synapse-api#83), which main's synapse-api pin already includes. Generated *_pb2.py are gitignored, so regenerate with make after checkout.

Also adds the 23x23 NeRV512U biohybrid map (BIOHYBRID_NERV512U_23X23_*, from electronics maxr/512_led) and round-trip/validation tests.

@namthor9
namthor9 force-pushed the maxr/optical-stim-display-map branch from 40e12f6 to 3a4b640 Compare June 26, 2026 23:38
Add display_map (row_map/col_map) support to the OpticalStimulation client
node: __init__ params with validation (dims <= 128, pins <= 255, paired,
pixel_mask consistency) and full _to_proto/_from_proto round-trip. Add
ready-made pin maps for the known displays. Show the configured display
dimensions in the CLI device info.

Depends on the synapse-api DisplayMap change; the synapse-api submodule must
be bumped (and bindings regenerated) after that merges.
@namthor9
namthor9 force-pushed the maxr/optical-stim-display-map branch from 3a4b640 to 03cf71b Compare November 3, 2026 18:48
@namthor9
namthor9 merged commit 0e2ed0a into main Nov 4, 2026
1 of 3 checks passed
@namthor9
namthor9 deleted the maxr/optical-stim-display-map branch November 4, 2026 20:06
@namthor9 namthor9 mentioned this pull request Nov 4, 2026
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.

2 participants