Skip to content

Reference instrument exercises the instrument override points in CI - #50

Merged
astronomerdave merged 1 commit into
mainfrom
DH/reference-instrument
Oct 9, 2026
Merged

astronomerdave merged 1 commit into
mainfrom
DH/reference-instrument

Conversation

@astronomerdave

Copy link
Copy Markdown
Contributor

required to meet camera 2.0 design

This adds reference_instruemnt/, and insturment that belongs to no projkect. It is built the want an instrument repo builds, composing the core with FetchContent at a pinned commit, except that inside the core it builds the surrounding tree instead of fetching.

It overrides all three instrument specialization points. refvalue is an instrument command, configure_instrument() reads REFERENCE_VALUE from its cfg, and mode selection adds a REFERENCE mode derived from SINGLE.

The new reference-instrument-test job runs its camerad against the emulator, checks each override point over the socket, and imports its Python module. It checks command dispatch, not frame readout, since expose replies DONE whatever do_expose() returns. (I'll fix this later)

The is_instrument_command override is only there because the server currently consults it before every command. It goes away with the dispatch fix.

No change to the core's code

Verified locally, including breaking each override point in turn to see its check fail.

reference_instrument/ builds its own camerad and module against the
surrounding core through FetchContent, pinned to the #47 merge

overrides the instrument command, configure_instrument and mode selection

reference-instrument-test runs it against the emulator and checks
command dispatch, not frame readout

is_instrument_command override is temporary until the dispatch fix

@mikelangmayr mikelangmayr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great! Good idea to have the reference instrument

@astronomerdave
astronomerdave merged commit c5be666 into main Oct 9, 2026
5 checks passed
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