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 importance
for theERROR
transition. Naming of this type of Constellation configuration should be coherent for the different autonomy features. See !82 -
Right now this triggers directly on the extrasystole, which means that often this will be faster than the controller sending a sequence of stop
commands. 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
Edited by Simon Spannagel