refactor elliptecCtrl to be a stdMotionStage with telemetry and add tests#352
Open
jaredmales wants to merge 13 commits into
Open
refactor elliptecCtrl to be a stdMotionStage with telemetry and add tests#352jaredmales wants to merge 13 commits into
jaredmales wants to merge 13 commits into
Conversation
…ecCtrl add app for elliptec rotation stage
…pt-out) (#354) * Throttle streamWriter backlog logging * Reduce streamWriter framegrab loop overhead * Drain queued streamWriter semaphore posts * Add streamWriter framegrabber busy-wait mode * Add streamWriter skipped-frame warning switch * cleaning up old debugs and notes * Adjust streamWriter missed-data log priority * add sparkle app to cacti makefile * jay walk-up song * get our boy on sky * Track preset aliases in stdMotionStage * Preserve parked stage telemetry on power off * Refresh zaber preset switches while powered off * Initial plan * IndiXmlParser: escape special characters in XML attribute values Apply createSafeXmlString() to all user-supplied attribute values (device, name, label, group, message) in all XML generation methods to prevent malformed XML when these contain ", <, >, or &. Add Catch2 tests verifying the escaping for labels, groups, messages, device names, element labels, and the createSafeXmlString() function directly. Agent-Logs-Url: https://github.com/magao-x/MagAOX/sessions/a304ae40-1006-459d-b916-08c40567899a Co-authored-by: joseph-long <31168267+joseph-long@users.noreply.github.com> * Remove accidentally committed MAGAOX stub file Agent-Logs-Url: https://github.com/magao-x/MagAOX/sessions/a304ae40-1006-459d-b916-08c40567899a Co-authored-by: joseph-long <31168267+joseph-long@users.noreply.github.com> * Fix zaber state propagation after homing and power-off * Propagate powered-off stage snapshots in zaberLowLevelBinary * Refresh binary zaber last-home timestamps after homing * Fix dmCtrlGUI reconnect on list refresh * Harden acquisition overlay against delayed INDI updates * Serialize indiDictionary map updates * Reuse acquisition overlay items across star-count changes * Recover acquisition overlays after rtimv circle cleanup * Refresh warnings overlay on list changes * added rtimv_plugins_clean to all_clean * Remove prefix matching for xctrl * moved xt1121s to AOC from ICC; build xInstGraph on AOC * add ctrl+l option to cursesINDI * fix bugs in ctrl+l code * Add buildability test * Use arch-neutral tag names from revised magao-x-setup workflow * add flowRPM app to monitor fan RPM as coolant flow (#353) * reorg plans with date folders * Add flowRPM app and test coverage * tweak doxygen sections * Refine flowRPM test doxygen references * adjust test groups * cleanup of some flowRPM stuff --------- Co-authored-by: joshua-liberman <jliberman54@gmail.com> Co-authored-by: Jay Kueny <55003234+jkueny@users.noreply.github.com> Co-authored-by: Eden McEwen <eden.a.mcewen@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: joseph-long <31168267+joseph-long@users.noreply.github.com> Co-authored-by: Joseph D. Long <me@joseph-long.com> Co-authored-by: Miles Lucas <mileslucas@arizona.edu>
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.
This work was performed by Codex (GPT-5) in response to the prompt: "have a look at elliptecCtrl-stdMotionStage-interface.md and follow the instructions therein."
Summary
elliptecCtrlto use the standarddev::stdMotionStagelifecycle and INDI interface pathtelem_positionsupport and forcetelem_stage/telem_positionrecording when software initiates a move or controller-affecting changemoveTooverloadstdMotionStagemoving state rather than a shadowing app-local memberelliptecCtrlunit tests, register them in the test docs/listing, and update the implementation plan with test and coverage resultsTesting
clang-format -i apps/elliptecCtrl/elliptecCtrl.hppclang-format -i apps/elliptecCtrl/tests/elliptecCtrl_test.cppmake -B -C apps/elliptecCtrl elliptecCtrl.oapps/elliptecCtrl/tests/elliptecCtrl_testCoverage
apps/elliptecCtrl/elliptecCtrl.hpp:96.4%line coverage,100%function coveragelibMagAOX/app/dev/stdMotionStage.hpp:99.0%line coverage,100%function coverage