Skip to content

Proposal: `while`-based main event loop

Compare
Choose a tag to compare
@thanasipantazides thanasipantazides released this 12 Mar 22:03
· 63 commits to main since this release

Note

This version was accepted in sealed source and x-ray checks.

Content changes

Modifies implementation of Circle constructor and Circle::update_state() to drive the main event loop with a while loop rather than a boost::asio::steady_timer. This is a significant change to functionality and requires testing before flight use. If there are issues, we can revert to v1.0.0.

Motivation

This is a much simpler loop driver than the timer that was in place before. My hope is that it helps with timeout/latency issues encountered late in February testing, particularly with Timepix and CMOS knock-on effects.

Testing

This version was tested Mar 21 2024 at Poker with the full system (in all runs of the day, though only 6 and 7 involve full system). Need detector teams to confirm behavior.

GSE looks as expected. Downlink data rate was identical to timer-based loop (Formatter reboot interrupts the middle of the trace):
Screenshot 2024-03-21 at 6 05 17 PM

Changes

Full Changelog: v1.0.1...v1.1.0