Rover-4.5.2-beta1 available for beta testing!

Rover-4.5.2-beta1 has been released for beta testing and can be installed using MP or QGC’s beta firmwares feature or the .apj file can be directly downloaded from firmware.ardupilot.org.

The changes vs 4.5.1 are in the ReleaseNotes and copied below

  1. Board specific enhancements and bug fixes
  • FoxeerF405v2 support
  • iFlight BLITZ Mini F745 support
  • Pixhawk5X, Pixhawk6C, Pixhawk6X, Durandal power peripherals immediately at startup
  1. System level minor enhancements and bug fixes
  • Camera lens (e.g. RGB, IR) can be selected from GCS or during missions using set-camera-source
  • Crashdump pre-arm check added
  • Gimbal gets improved yaw lock reporting to GCS
  • Gimbal default mode fixed (MNTx_DEFLT_MODE was being overriden by RC input)
  • RM3100 compass SPI bus speed reduced to 1Mhz
  • SBUS output fix for channels 1 to 8 also applying to 9 to 16
  • ViewPro gimbal supports enable/disable rangefinder from RC aux switch
  • Visual Odometry delay fixed (was always using 1ms delay, see VISO_DELAY_MS)
  • fixed serial passthrough to avoid data loss at high data rates
  1. AHRS / EKF fixes
  • Compass learning disabled when using GPS-for-yaw
  • GSF reset minimum speed reduced to 1m/s (except Plane which remains 5m/s)
  • MicroStrain7 External AHRS position quantization bug fix
  • MicroStrain7 init failure warning added
  • MicroStrain5 and 7 position and velocity variance reporting fix
  1. Other minor enhancements and bug fixes
  • DDS_UDP_PORT parameter renamed (was DDS_PORT)

Thanks very much for helping us test the betas! It really does help us produce more stable releases if we can get feedback before the official release.

Why disable compass learning when using moving baseline? Shouldn’t that give truth data for compass calibration?

Hi @Yuri_Rage,

I’m afraid I can’t answer your question but here’s the PR with the change in case this helps.

All I know is that when GPS-for-yaw was enabled and COMPASS_LEARN was set to 3, the EKF would lose it’s attitude estimate which would lead to a crash on flying vehicles at least.

Seems like a band-aid fix with some intent to improve. Hopefully the improvement happens. Thanks for the context!

I suspect I’ve reached the end of the line for my Pixhawk (“1” or 2.4.8), rather than a bug.

Perhaps you can help me confirm that.

Is this build expected to work on that old hardware?

4.2.3 works fine, even with LUA scripting, but none of the builds since - 4.4.x, 4.5.0, 4.5.1, nor the new beta. They all generate a 0x800 error and I believe some watchdog messages. It’ll boot, sometimes even arm, but things go south right after that. It hasn’t made it beyond waypoint 3 on any missions.

If it SHOULD work, I’ll take another run at it and see what I might do to eke a little more life out of the old FC.

(I already disabled scripting in my attempts to run 4.5.x, that helped, but didn’t resolve all runtime errors)

Hi @tsm1mt,

Yes, AP 4.5.x supports the Pixhawk1 but Lua scripting won’t work.

The Internal Error: 0x800 is a watchdog error that should never happen actually so I’d be very interested in seeing the onboard log and ideally the crash_dump.bin file which can be downloaded following the instructions here.

We should be able to get it working.

Hi @tsm1mt,

We discussed the watchdog on this morning’s developer call and @peterbarker believes it is likely caused by a known bug that is fixed in this PR.

I don’t know quite how PeterB knows that you’re using a LD06 lidar but in any case, if I create a Pixhawk1 firmware that includes this fix do you think you’ve be able to test it for us? Testing could be as simple and confirming you see the watchdog with 4.5.1 and then testing again with the firmware I’ll create to confirm that the watchdog doesn’t appear.

While I do have a Sonar, TF Mini Luna, and TF Mini Plus LIDARs (all via I2C) working with 4.2.3, I went so far as to disable - and then physically disconnect - them while trying the new firmware last weekend.

I’d be happy to try any new builds in a more measured manner and report back. I was inconsistent in my testing methodology - I originally thought it was just a bad flash (or three).

Thank you!

Found at least one note from the last session:
WDG: T-3 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0 IE2048 IEC1 TN:

IE2048 IEC1 TN:
WDG: T-3 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0

Still looking to see if I have more complete logs

TIme stamps are incorrectly, they’re from a replay…
5/14/2024 12:46:47 PM : Internal Errors 0x800
5/14/2024 12:46:47 PM : RCOut: PWM:1-14
5/14/2024 12:46:47 PM : Forcing safety off for watchdog

5/14/2024 12:46:47 PM : AHRS: DCM active
5/14/2024 12:46:47 PM : Restored watchdog home
5/14/2024 12:46:47 PM : ArduPilot Ready
5/14/2024 12:46:47 PM : IE2048 IEC1 TN:
5/14/2024 12:46:47 PM : WDG: T-3 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0
5/14/2024 12:46:47 PM : Beginning INS calibration. Do not move vehicle
5/14/2024 12:46:47 PM : Baro: skipping calibration after WDG reset
5/14/2024 12:46:42 PM : Flight mode change failed
5/14/2024 12:46:42 PM : No Mission. Can’t set AUTO.
5/14/2024 12:46:42 PM : RC7: AvoidProximity LOW
5/14/2024 12:46:42 PM : RC5: SaveWaypoint LOW
5/14/2024 12:46:42 PM : Internal Errors 0x800
5/14/2024 12:46:42 PM : RCOut: PWM:1-14
5/14/2024 12:46:42 PM : Forcing safety off for watchdog

5/14/2024 12:46:42 PM : AHRS: DCM active
5/14/2024 12:46:42 PM : Restored watchdog home
5/14/2024 12:46:42 PM : ArduPilot Ready
5/14/2024 12:46:42 PM : E0 IEC0 TN:
5/14/2024 12:46:42 PM : WDG: T2 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0 I
5/14/2024 12:46:42 PM : Beginning INS calibration. Do not move vehicle
5/14/2024 12:46:42 PM : Baro: skipping calibration after WDG reset
5/14/2024 12:46:41 PM : Forcing logging for watchdog reset
5/14/2024 12:46:27 PM : Mission: 3 WP

5/14/2024 12:34:24 PM : Warning: Arming Checks Disabled
5/14/2024 12:34:17 PM : EKF3 IMU0 tilt alignment complete
5/14/2024 12:34:16 PM : EKF3 IMU1 tilt alignment complete
5/14/2024 12:34:14 PM : EKF3 IMU1 initialised
5/14/2024 12:34:14 PM : EKF3 IMU0 initialised
5/14/2024 12:34:14 PM : IMU0: fast sampling enabled 8.0kHz/1.0kHz
5/14/2024 12:34:14 PM : RCOut: PWM:1-14
5/14/2024 12:34:14 PM : IOMCU: 420 1001 411FC231
5/14/2024 12:34:14 PM : Pixhawk1 004A0035 30375117 35383537
5/14/2024 12:34:14 PM : ChibiOS: 6a85082c
5/14/2024 12:34:14 PM : IMU0: fast sampling enabled 8.0kHz/1.0kHz
5/14/2024 12:34:14 PM : RCOut: PWM:1-14
5/14/2024 12:34:14 PM : IOMCU: 420 1001 411FC231
5/14/2024 12:34:14 PM : Pixhawk1 004A0035 30375117 35383537
5/14/2024 12:34:14 PM : ChibiOS: 6a85082c
5/14/2024 12:34:14 PM : ArduRover V4.5.0 (53ad2c2a)
5/14/2024 12:34:14 PM : IMU0: fast sampling enabled 8.0kHz/1.0kHz
5/14/2024 12:34:14 PM : RCOut: PWM:1-14
5/14/2024 12:34:14 PM : IOMCU: 420 1001 411FC231
5/14/2024 12:34:14 PM : Pixhawk1 004A0035 30375117 35383537
5/14/2024 12:34:14 PM : ChibiOS: 6a85082c
5/14/2024 12:34:14 PM : ArduRover V4.5.0 (53ad2c2a)
5/14/2024 12:34:13 PM : u-blox 2 HW: 00190000 SW: EXT CORE 1.00 (0fa0ae)
5/14/2024 12:34:13 PM : u-blox 1 HW: 00190000 SW: EXT CORE 1.00 (0fa0ae)

In another log, running 4.5.1 the Watchdog was

: WDG: T-3 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0
: IE0 IEC0 TN:

: IE2048 IEC1 TN:
: WDG: T-3 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0
: EKF3 waiting for GPS config data: EKF3 waiting for GPS config data
: GPS 1: detected as u-blox at 460800 baud
: GPS 2: detected as u-blox at 460800 baud

I loaded up the 4.5.2 Beta.

It did crash again with the watchdog error.

I did not see a crash_dump.bin

Witnessed behavior - armed, got my RTK fix, loaded a small plan I’ve run before.

It tries to navigate to waypoint with a predefined fence (circle, around a tree) in the way - it doesn’t route around via Bendy Ruler, it just goes slower and slower and stops without going around the fence. I manually navigated around a bit and tried again to re-engage auto. It then threw the errors.

With the older (4.2.3) firmware, it navigates around the tree/fence just fine - there’s a well defined circle of tall grass that doesn’t get cut (when running a tighter mission).

5/14/2024 8:39:54 PM : Internal Errors 0x800


Rover452_Crash_Image
5/14/2024 8:39:54 PM : RCOut: PWM:1-14
5/14/2024 8:39:54 PM : Forcing safety off for watchdog

5/14/2024 8:39:54 PM : AHRS: DCM active
5/14/2024 8:39:54 PM : Restored watchdog home
5/14/2024 8:39:54 PM : ArduPilot Ready
5/14/2024 8:39:54 PM : IE0 IEC0 TN:
5/14/2024 8:39:54 PM : WDG: T-3 SL0 FL0 FT0 FA0 FTP0 FLR0 FICSR0 MM0 MC0
5/14/2024 8:39:54 PM : Beginning INS calibration. Do not move vehicle
5/14/2024 8:39:54 PM : Baro: skipping calibration after WDG reset
5/14/2024 8:39:54 PM : Forcing logging for watchdog reset
5/14/2024 8:39:53 PM : Mission: 2 WP

5/14/2024 8:33:36 PM : IOMCU: 420 1001 411FC231
5/14/2024 8:33:36 PM : Pixhawk1 004A0035 30375117 35383537
5/14/2024 8:33:36 PM : ChibiOS: 6a85082c
5/14/2024 8:33:36 PM : ArduRover V4.5.2 (291be848)
2024-05-14 18-46-40.tlog (988.2 KB)

Dataflash Log
SusanMower_05142024_452Beta.param (15.3 KB)

Are you certain you’re running the correct firmware for that board? While I don’t have a specific root cause in mind, and I don’t have intimate knowledge of the watchdog triggers, I can surmise that a firmware mismatch could lead to an issue like this. For example, there’s a Pixhawk1-1M target for boards with 1MB vs 2MB of flash.

In theory, you shouldn’t be able to mix and match Pixhawk1 and Pixhawk1-1M very easily, but I wouldn’t be surprised if some of the cheap clones misreport their hardware ids.

Just a wild guess…

Not beyond possibility.

I’ve been using this Pixhawk for 6 years now without trouble, though I think it had trouble last year when I tried 4.4, and I just reverted to 4.2.3. I thought I’d try 4.5.x - and then over the weekend I went back and forth on several revisions between 4.2.3 and 4.5.2-beta and everything after 4.2.3 failed in some fashion.

I did finally order two H7 flight controllers.