ArduPilot EU Dev Call 2026-07-15

Attendees (unique): 10

UTC0800

< Discussion on Tridge’s MAVLink PR for double length system ID >


UTC0805

< Discussion on adding a uint16 and float16 range converters in pymavlink >

Lupus the Canine: float16 is pretty horrible for precision.
Andrew: Yes, but in our case we want a range that is close to 0 and 1, where the precision is adequate.

  • Tricks like centi-degrees work nicely, but it gets messy; we just got out of converting our controllers to SI.

Peter: I would use an integer 16 bit and create an arbitrary multiplier to cover the range of interest exactly (e.g. 0-360), to squeeze as much precision as possible.
A: This makes it unreadable and very bug-prone.


UTC0820

A: Some oustanding bugs still.
George: Oof, must have missed those. I’ll fix them.


UTC0824

A: We’ll have to make sure we don’t break existing replays.
- We have a set of interesting logs that we can check against: EKFLogs - Google Drive


UTC0834

P: BetaFlight do not allow boards with this sensor anymore, pointing to very high noise levels.

  • But Holybro have tested this and they say it works well.

Huibean: No, this PR is about a different part. The questionable part is an older one and we have merged it already.

Merged!


UTC0846

MergeOnCIPass.


UTC0854

A: This is fascinating, but we need to know its flash cost.

  • I suspect it’s smaller.
  • Also what’s the bandwidth?
  • We need to make sure it works with Linux (RPi, NVidia, etc) as well.
  • It looks like it’s also allowing for dynamic instantiation of the USB interface, which is good.

UTC0902

P: Lots of unused EKF methods. Cleaning them up saves a lot of flash.
A: I worry abot the EKF2 changes. We don’t test it thoroughly and we won’t know if something is broken.

  • We’d better test EKF2 vs SITL values.

UTC0916

Lupus: The idea is to increase the rate at which the RPM data is saved. Ideally at 400Hz, up from 50Hz.
A: 400Hz sampling doesn’t make a lot of sense, unless your RPM is VERY high (e.g. 24000), and even then the inertia of the rotor will not allow very rapid changes.
Lu: This application is to use it for the heli RPM governor. Mine needs to be tightly tuned to get good RPM control response, but the 50Hz updates are too slow.
A: I’m very surprized that you need such high bandwidth in a governor.
Lu: In very small helicopters you need to update throttle very fast, to compensate for loading.
Leonard: At 50Hz update rate, you have about 10ms latency and you are prone to noise. But whether it’s worth it depends on your desired bandwidth. If you have a really high bandwidth system, then it might make sense.
A: Let’s see a list of the hardware used in this system.
Lu: What I’m really interested is run the RPM library at loop rate.


UTC0945

P: New MAVLink message requests a named value based on a pair of strings.
A: That’s useful. And not impossibly expensive in terms of flash.

  • Cute idea, I’ll test it in the weekend.

UTC0949

P: This is very strange; how could it even work without it?
A: The first sector is usually zero, that’s why the default initialization saved us.


UTC0951

L: I’m a little out of my depth regarding the validity of the data lag and EKF time horizon.
A: I’m happy with the structure and approach. Let’s test fly it!

  • Might be nice to add a log for the corrected yaw.