In order to handle 1024 wire motor encoder, i increased quota from 10000 to 60000.
diff --git a/libraries/AP_HAL_ChibiOS/GPIO.cpp b/libraries/AP_HAL_ChibiOS/GPIO.cpp
index f62bd73c27..55c7dd7c55 100644
--- a/libraries/AP_HAL_ChibiOS/GPIO.cpp
+++ b/libraries/AP_HAL_ChibiOS/GPIO.cpp
@@ -601,7 +601,7 @@ void GPIO::timer_tick()
// allow 100k interrupts/second max for GPIO interrupt sources, which is
// 10k per 100ms call to timer_tick()
#if HAVE_GPIO_PINS
- const uint16_t quota = 10000U;
+ const uint16_t quota = 60000U;
for (uint8_t i=0; i<ARRAY_SIZE(_gpio_tab); i++) {
if (_gpio_tab[i].isr_quota != 1) {
// Reset quota for next tick
With one encoder active, it seems good. But when two encoder were active, it crashed when motor spins.
- code: GitHub - SnapDragonfly/ardupilot at Rover-4.5.2-crash
- crash_dump.bin (291.6 KB)
24/5/23 20:54:28 : FICSR4290563 MM0 MC0 IE32768 IEC14 TN:moni
24/5/23 20:54:28 : WDG: T2 SL0 FL217 FT3 FA3001BBE8 FTP183 FLR2000007
24/5/23 20:54:18 : FICSR4290563 MM0 MC0 IE32768 IEC14 TN:moni
24/5/23 20:54:18 : WDG: T2 SL0 FL217 FT3 FA3001BBE8 FTP183 FLR2000007
24/5/23 20:54:10 : CrashDump data detected
24/5/23 20:54:10 : PreArm: Internal errors 0x800 l:279 watchdog_rst
24/5/23 20:54:08 : FICSR4290563 MM0 MC0 IE32768 IEC14 TN:moni
24/5/23 20:54:08 : WDG: T2 SL0 FL217 FT3 FA3001BBE8 FTP183 FLR2000007
24/5/23 20:53:58 : FICSR4290563 MM0 MC0 IE32768 IEC14 TN:moni
24/5/23 20:53:58 : WDG: T2 SL0 FL217 FT3 FA3001BBE8 FTP183 FLR2000007
24/5/23 20:53:48 : FICSR4290563 MM0 MC0 IE32768 IEC14 TN:moni
24/5/23 20:53:48 : WDG: T2 SL0 FL217 FT3 FA3001BBE8 FTP183 FLR2000007
24/5/23 20:53:47 : RCOut: PWM:1-2 PWM:7-12 NeoP:13
24/5/23 20:53:47 : Aocoda-RC-H743Dual 0036002A 3031510A 39373436
24/5/23 20:53:47 : ChibiOS: 6a85082c
24/5/23 20:53:47 : ArduRover V4.5.2 (5d9c84ca)
24/5/23 20:53:47 : RCOut: PWM:1-2 PWM:7-12 NeoP:13
24/5/23 20:53:47 : Aocoda-RC-H743Dual 0036002A 3031510A 39373436
24/5/23 20:53:47 : ChibiOS: 6a85082c
24/5/23 20:53:47 : ArduRover V4.5.2 (5d9c84ca)
24/5/23 20:53:46 : RCOut: PWM:1-2 PWM:7-12 NeoP:13
24/5/23 20:53:46 : Aocoda-RC-H743Dual 0036002A 3031510A 39373436
24/5/23 20:53:46 : ChibiOS: 6a85082c
24/5/23 20:53:46 : ArduRover V4.5.2 (5d9c84ca)
Is there any way to fix it?
EDIT: Background INF
- Internal Errors 0x2000000 with WheelEncoder -- ArduRover 4.5.2
- Are these motors compatible with ArduRover 4.5?
EDIT2: Crash dump file can’t be deleted, just upgrade or reflash Rover firmware. Then it’s good to go!