commander: add valid_registrations_mask to ArmingCheckRequest.msg

This allows external modes to individually check if they are flagged as
invalid/unresponsive.
Previously this was done only based on whether or not ArmingCheckRequest
was received, which does not work when multiple modes are running.
This commit is contained in:
Beat Küng
2025-08-19 15:55:04 +02:00
parent edfcdaa008
commit 6ec8dec63a
5 changed files with 63 additions and 1 deletions
@@ -293,6 +293,15 @@ void ExternalChecks::update()
arming_check_request_s request{};
request.request_id = ++_current_request_id;
request.timestamp = hrt_absolute_time();
request.valid_registrations_mask = _active_registrations_mask;
// Clear unresponsive ones
for (int i = 0; i < MAX_NUM_REGISTRATIONS; ++i) {
if (_registrations[i].unresponsive) {
request.valid_registrations_mask &= ~(1u << i);
}
}
_arming_check_request_pub.publish(request);
}
}