Skip to content

Draft: C++: Allow Autonomous Run Stop

Simon Spannagel requested to merge p-autonomout-stop into main

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 the ERROR 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

Merge request reports

Loading