Skip to content

updates sequencerd published messages for fineacquire#409

Open
astronomerdave wants to merge 8 commits intomainfrom
fineacquire-update-sequencer-pub
Open

updates sequencerd published messages for fineacquire#409
astronomerdave wants to merge 8 commits intomainfrom
fineacquire-update-sequencer-pub

Conversation

@astronomerdave
Copy link
Copy Markdown
Contributor

These are the updates needed to the sequencerd publishing to support fine acquire. Several legacy UDP async broadcasts have been removed to the GUI will need some changes:

ngps_gui.py — initialize_services()

Add subscriptions for "seq_seqstate" and "seq_broadcast" alongside the existing "seq_waitstate" subscription
Connect a new sequencer_ready_signal (see below) to self.show_popup("NGPS is Ready.")
zmq_status_service.py

Add class-level signal: sequencer_ready_signal = pyqtSignal()
In _status_from_seq_seqstate(), add to state_map: "RUNNING", "STARTING", "STOPPING", "FAILED", "ABORTING". Emit sequencer_ready_signal on the READY transition (guard against re-emit: only fire when previous state was not already "idle")
Add a seq_broadcast branch in listen() and a _handle_seq_broadcast(data) handler that emits new_message_signal with the severity/message/source fields from the payload. This topic carries all narrative operator messages that previously came over UDP async

layout_service.py — status_map in create_system_status_group()

Add color entries for: "running" (green), "starting" (blue), "stopping" (blue), "aborting" (orange), "failed" (red)

astronomerdave and others added 3 commits April 24, 2026 18:49
adds FALIED state
adds seqmon utility (as proxy for GUI)
* fixes bug in camerad emulator
* updates seqmon utility
@astronomerdave
Copy link
Copy Markdown
Contributor Author

astronomerdave commented Apr 26, 2026

Sequencer PUB-SUB visibility migration note:

The intended UI model:
seq_seqstate — lifecycle state (subscribe and display)
seq_waitstate — active wait bits (subscribe and display)
broadcast — operator message window (only these messages, nothing else)

Changes needed in pygui/: @prkrtg

  1. ngps_gui.py: subscribe to seq_seqstate (currently missing)
  2. ngps_gui.py: subscribe to broadcast (currently missing)
  3. zmq_status_service.py / layout_service.py: add FAILED (red) and ABORTING
    (orange/bold) to state_map / status_map
  4. Message window must display only broadcast payloads (severity + message);
    raw subsystem topic payloads must not appear there
  5. status_service.py UDP "SEQSTATE: READY" popup is now dead code;
    trigger should eventually come from a seq_seqstate ZMQ transition to READY
  6. UDP progress messages (PIXELCOUNT_*, EXPTIME) remain in use — do not change

Meanwhile, I've added a utility seqmon that you can run from an xterm, which serves as a proxy for what the GUI should be doing.
image

image

@astronomerdave
Copy link
Copy Markdown
Contributor Author

two more screen captures:

image1) fineacquire running


image2) fineacquire locked

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