AP_IOMCU: treat register_write() as a successful interaction

This commit is contained in:
Andy Piper 2023-11-22 09:23:21 +00:00 committed by Andrew Tridgell
parent d2a48148dd
commit 5d9f9db2fe
2 changed files with 8 additions and 5 deletions

View File

@ -129,9 +129,9 @@ void AP_IOMCU::thread_main(void)
while (!do_shutdown) {
// check if we have lost contact with the IOMCU
const uint32_t now_ms = AP_HAL::millis();
if (last_reg_read_ms != 0 && now_ms - last_reg_read_ms > 1000U) {
if (last_reg_access_ms != 0 && now_ms - last_reg_access_ms > 1000) {
INTERNAL_ERROR(AP_InternalError::error_t::iomcu_reset);
last_reg_read_ms = 0;
last_reg_access_ms = 0;
}
eventmask_t mask = chEvtWaitAnyTimeout(~0, chTimeMS2I(10));
@ -682,7 +682,7 @@ bool AP_IOMCU::read_registers(uint8_t page, uint8_t offset, uint8_t count, uint1
total_errors += protocol_fail_count;
protocol_fail_count = 0;
protocol_count++;
last_reg_read_ms = AP_HAL::millis();
last_reg_access_ms = AP_HAL::millis();
return true;
}
@ -758,6 +758,9 @@ bool AP_IOMCU::write_registers(uint8_t page, uint8_t offset, uint8_t count, cons
total_errors += protocol_fail_count;
protocol_fail_count = 0;
protocol_count++;
last_reg_access_ms = AP_HAL::millis();
return true;
}
@ -1079,7 +1082,7 @@ bool AP_IOMCU::check_crc(void)
write_registers(PAGE_SETUP, PAGE_REG_SETUP_REBOOT_BL, 1, &magic);
// avoid internal error on fw upload delay
last_reg_read_ms = 0;
last_reg_access_ms = 0;
if (!upload_fw()) {
AP_ROMFS::free(fw);

View File

@ -202,7 +202,7 @@ private:
uint32_t last_rc_read_ms;
uint32_t last_servo_read_ms;
uint32_t last_safety_option_check_ms;
uint32_t last_reg_read_ms;
uint32_t last_reg_access_ms;
uint32_t last_erpm_read_ms;
uint32_t last_telem_read_ms;