Proposal: `while`-based main event loop
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):
Changes
Full Changelog: v1.0.1...v1.1.0