[python]: Fix issues in SAFE state transition

We are currently investigating highly-reproducible (but still not fully understood) issues when translating our clabdaq2 Satellite array through the SAFE state.

This MR collects fixes as we investigate the issue:

  • Removing state thread Event in _wrap_interrupt could crash transition into ERROR state as the Event is still needed for the _state_transition_thread_complete callback.
  • EOR timeout is now configurable in DataReceiver
  • attribute names and methods in Heartbeater and HeartbeatChecker have been renamed make them more descriptive and avoid clashes in inheriting classes [breaking change]
  • EOR and BOR flags are correctly reset for each run now
  • sender thread in Datasender is now shut down when interrupting, ensuring a clean state
  • various tests have been added and extended

I think that is all 😄

Edited by Hanno Perrey

Merge request reports

Loading