Logging with MAVLink on high frequencies


I want to read out the SR1_EXTRA1 at a rate of 30Hz. So far everything works, but the actual timing jitter is extremely high. Sometimes I receive frames after 5-10ms some other times it takes over 40ms until I receive a new one.

I know that the telem port was never intended to be used at such high speeds, but I would still like to achieve a more accurate timing. Is there maybe a better method on doing that? Do you have any recommendations? I’m using a Pixfalcon Mini with the ArduPlane firmware. Any help would be appreciated.

BTW Baud is at 115200 and all other telem ports are disabled.

Are you using ChibiOS master? did you use pymavlink\telemetry_datarates.py script to test if that is a feasible datarate?

Where can I see the RTOS that the pixfalcon is using?

as for the file you mentioned https://github.com/ArduPilot/pymavlink/blob/master/tools/mavtelemetry_datarates.py#L61
it’s showing 2Hz as datarate, but even the default is 10Hz - soo this seems to not really give an indication.

I would also be fine with triggering the internal logging, but I have the impression that it is as unreliable.

You can run that script and test what telemetry rates are possible.
In your case , possible are telemetry rates that do not sum up more than 115200
The tool does the sum for you.

Okay I’ll give this a shot. However what timing accurarcy can I expect from an Pixhawk v2 design?

The tool let’s you test “what if” scenarios, you still have to set the parameters one-by-one on the flight controller by hand.
With the ChibiOS version the timing accuracy is really good.

1 Like

Indeed @amilcarlucas your tip with ChibiOS was good. Amazed how much better timing is now. Thanks a lot!