As the failsafe message can reference the health report, the health report
needs to be sent out first. This is generally the case, except there is a
rate limiter set to 2 seconds. So if the report changes quickly, it is
sent out delayed (potentially after the failsafe report).
In this case it did not cause any problems.
Fixes a compiler warning:
/src/modules/commander/HealthAndArmingChecks/HealthAndArmingChecks.cpp:39:21: error: member ‘HealthAndArmingChecks::_failsafe_flags’ is used uninitialized [-Werror=uninitialized]
39 | _reporter(_failsafe_flags)
| ^~~~~~~~~~~~~~~
- avoid the possibility of unsigned underflow from subtracting two HRT timestamps (uint64_t)
- most of these aren't problematic, but people tend to replicate the pattern, so it's better to be safe
- likely wasn't a problem when people were using hrt_absolute_time() in place, but if using an existing timestamp there's the possibility it's older than a more recent topic update