mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-29 03:36:07 +08:00
icm42688p: only check configured registers periodically (as intended)
This commit is contained in:
@@ -274,20 +274,22 @@ void ICM42688P::RunImpl()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check configuration registers periodically or immediately following any failure
|
if (!success || hrt_elapsed_time(&_last_config_check_timestamp) > 100_ms) {
|
||||||
if (RegisterCheck(_register_bank0_cfg[_checked_register_bank0])
|
// check configuration registers periodically or immediately following any failure
|
||||||
&& RegisterCheck(_register_bank1_cfg[_checked_register_bank1])
|
if (RegisterCheck(_register_bank0_cfg[_checked_register_bank0])
|
||||||
&& RegisterCheck(_register_bank2_cfg[_checked_register_bank2])
|
&& RegisterCheck(_register_bank1_cfg[_checked_register_bank1])
|
||||||
) {
|
&& RegisterCheck(_register_bank2_cfg[_checked_register_bank2])
|
||||||
_last_config_check_timestamp = now;
|
) {
|
||||||
_checked_register_bank0 = (_checked_register_bank0 + 1) % size_register_bank0_cfg;
|
_last_config_check_timestamp = now;
|
||||||
_checked_register_bank1 = (_checked_register_bank1 + 1) % size_register_bank1_cfg;
|
_checked_register_bank0 = (_checked_register_bank0 + 1) % size_register_bank0_cfg;
|
||||||
_checked_register_bank2 = (_checked_register_bank2 + 1) % size_register_bank2_cfg;
|
_checked_register_bank1 = (_checked_register_bank1 + 1) % size_register_bank1_cfg;
|
||||||
|
_checked_register_bank2 = (_checked_register_bank2 + 1) % size_register_bank2_cfg;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// register check failed, force reset
|
// register check failed, force reset
|
||||||
perf_count(_bad_register_perf);
|
perf_count(_bad_register_perf);
|
||||||
Reset();
|
Reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user