Closed flyingthingsintothings closed 2 months ago
We also found issues on main with MAVLink communication over UART. Not exactly understood yet but I commented here: https://github.com/PX4/PX4-Autopilot/pull/23248#issuecomment-2176357080
I think it's because the timeout value for the readAtLeast call should be in microseconds, not milliseconds, in the file drivers/gnss/septentrio/septentrio.cpp.
Or, readAtLeast timeout in SerialImpl.cpp should be changed to milliseconds, not microseconds.
I propose that changing Serial to have a millisecond timeout instead of a microsecond timeout is better because there are other users such as CRSF and GPS that also assume it is in milliseconds.
I tested the latest main branch and it seems to be fixed. Thank you for the help.
Describe the bug
When enabling the Septentrio driver, it consumes 40-75% of the CPU on the flight controller. This seems to be a bug caused by a commit that wasn't in the history of the PR that introduced the driver. When I compile the latest main branch with the Septentrio driver but with fcb479cd3d667e3625fca37111c524c2a04a08b6 reverted, everything works as expected. fcb479cd3d667e3625fca37111c524c2a04a08b6 wasn't in the history of the PR which is probably why the PR worked and the merged driver isn't working.
What I Tested
To Reproduce
top
in the MAVLink console and see high CPU usageExpected behavior
The version from the PR used around 0.200%. That would also be the expected usage.
Screenshot / Media
The bug
Flight Log
\/
Software Version
9c83f842bee11e3942e578377245b6a3fc9b5a7d (latest main branch)
Flight controller
Holybro Pixhawk 6X
Vehicle type
Multicopter
How are the different components wired up (including port information)
The flight controller can be attached to a Septentrio receiver but this isn't required to trigger the bug. Even with just the flight controller the bug happens. Mine isn't attached to a receiver.
Additional context
\/