Repository navigation
Conversation
?ONTARGET was invisible through tcsd because send_command translates
every non-whitelisted reply as a status code: the flag IS the reply, so
0 collided with TCS_SUCCESS ('success') and 1 fell through to
'tcs_undefined' ERROR. Whitelist it for verbatim passthrough.
sequencerd: config TCS_AUTO_ONTARGET (default yes) spawns a watcher for
exactly the lifetime of move_to_target's TCSOP wait. It calls
ontarget() -- the operator's own path -- when, on two consecutive 1 Hz
reads: ?ONTARGET==1 AND motion==tracking AND |telescope-target| <
TCS_AUTO_ONTARGET_SEP arcsec AND |TCS cass angle - RINGGO angle| <
TCS_AUTO_ONTARGET_CASS (0.05 deg). All four are required: shadow data
(UT 2026-08-25, 64 slews) shows the flag is position-agnostic, the
separation cannot see sub-threshold hops, and motion says nothing
about settle; ACAM's goal is computed from the cass angle at the
acquire, about 8.5" per degree of ring still to turn. When everything
but the ring has held for 20 s, one warning tells the operator to press
ontarget once the ring is in place. The operator's press is unchanged;
whichever arrives first wins.
Each move retires every earlier watcher (a launch generation) and
clears the ontarget flag before the COORDS, and a watcher acknowledges
under the same lock, so one still sleeping from an earlier move can
never satisfy a new one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
?ONTARGETwas unusable through tcsd, which translates every non-whitelisted reply as a status code: the flag is the reply, so 0 collided withsuccessand 1 becametcs_undefined ERROR. tcsd now passes it through verbatim.sequencerd (
TCS_AUTO_ONTARGET=yes): during move_to_target's wait for the operator's ontarget, a watcher sends ontarget itself when two consecutive 1 Hz reads show?ONTARGET=1, motion tracking, the telescope withinTCS_AUTO_ONTARGET_SEP=5.0" of the commanded position, and the cass ring withinTCS_AUTO_ONTARGET_CASS=0.05deg of the RINGGO angle. If only the ring is missing for 20 s, one warning asks the operator to press ontarget. The operator's press works unchanged; whichever comes first wins. Each move retires earlier watchers, so a watcher from a previous move can never satisfy a new one.Rebuild (sequencerd.cfg is regenerated), restart sequencerd and tcsd. Check: "TCS reports on-target (?ONTARGET=1, tracking, ...) -- sending ontarget" about 1–2 s after each slew ends.
Tested on sky using branch cf/summit-20261030 on 2026-11-03: the automatic signal sent ontarget for 25 slews. On the main robot nights the operator's press came a median 5 s (mean 12 s) after the telescope was tracking.
Jira: PAL-144.
🤖 Generated with Claude Code