23 for (
int bitPosition = 0; bitPosition < 32; bitPosition++) {
24 const MAV_SYS_STATUS_SENSOR sensorBitMask =
static_cast<MAV_SYS_STATUS_SENSOR
>(1 << bitPosition);
25 if (sysStatus.onboard_control_sensors_present & sensorBitMask) {
26 if (_sensorInfoMap.contains(sensorBitMask)) {
27 SensorInfo &sensorInfo = _sensorInfoMap[sensorBitMask];
29 const bool newEnabled = sysStatus.onboard_control_sensors_enabled & sensorBitMask;
30 if (sensorInfo.enabled != newEnabled) {
32 sensorInfo.enabled = newEnabled;
35 const bool newHealthy = sysStatus.onboard_control_sensors_health & sensorBitMask;
36 if (sensorInfo.healthy != newHealthy) {
38 sensorInfo.healthy = newHealthy;
42 const SensorInfo sensorInfo = { !!(sysStatus.onboard_control_sensors_enabled & sensorBitMask), !!(sysStatus.onboard_control_sensors_health & sensorBitMask) };
43 _sensorInfoMap[sensorBitMask] = sensorInfo;
45 }
else if (_sensorInfoMap.contains(sensorBitMask)) {
47 (void) _sensorInfoMap.remove(sensorBitMask);
61 for (std::pair<MAV_SYS_STATUS_SENSOR, const SensorInfo&> sensorInfo : _sensorInfoMap.asKeyValueRange()) {
62 if (sensorInfo.second.enabled && !sensorInfo.second.healthy) {
67 for (std::pair<MAV_SYS_STATUS_SENSOR, const SensorInfo&> sensorInfo : _sensorInfoMap.asKeyValueRange()) {
68 if (sensorInfo.second.enabled && sensorInfo.second.healthy) {
73 for (std::pair<MAV_SYS_STATUS_SENSOR, const SensorInfo&> sensorInfo : _sensorInfoMap.asKeyValueRange()) {
74 if (!sensorInfo.second.enabled) {
87 for (
const SensorInfo &sensorInfo : _sensorInfoMap.values()) {
88 if (sensorInfo.enabled && !sensorInfo.healthy) {
89 rgStatus.append(tr(
"Error"));
93 for (
const SensorInfo &sensorInfo : _sensorInfoMap.values()) {
94 if (sensorInfo.enabled && sensorInfo.healthy) {
95 rgStatus.append(tr(
"Normal"));
99 for (
const SensorInfo &sensorInfo : _sensorInfoMap.values()) {
100 if (!sensorInfo.enabled) {
101 rgStatus.append(tr(
"Disabled"));