Draft: C++: Allow Autonomous Run Stop
This implements a first draft for an autonomously initiated run stop where a single satellite can trigger a coordinated end of the current run. Especially in scans sometimes the
Missing items to be addressed:
-
This should not be a default but needs to be enabled via configuration, similar to importancefor theERRORtransition. Naming of this type of Constellation configuration should be coherent for the different autonomy features. See !82 (merged) -
Right now this triggers directly on the extrasystole, which means that often this will be faster than the controller sending a sequence of stopcommands. Consequently we have this:📡 v0.0.0 🛰 2 🏃 RUN ipython cnstln1 ❯ constellation.stop() 2024-09-09 15:14:38 zeus controller[203174] CRITICAL Command stop failed for Sputnik.Achilles (None.None): RuntimeError('transition stop not allowed from stopping state') {'Sputnik.Artemis': SatelliteResponse( msg='transition stop is being initiated'), 'Sputnik.Achilles': SatelliteResponse(success=False, errmsg='RuntimeError('transition stop not allowed from stopping state')')} 📡 v0.0.0 🛰 2 🛰 ORBIT ipython -
Documentation, via !82 (merged)
Edited by Simon Spannagel