The message handling was not obeying action focused messages and high-rate messages properly before. With this change update rates track the desired rates closely. Critical high-rate messages such as ADS-B are queued additionally to guarantee that all received packets are being correctly forwarded.
If we have not received an inbound heartbeat we are probably not connected and so user-facing output (which is even buffered) should go only out once we are connected.
This allows the ground control station or any other communication partner to query the supported versions. The key aspect is to send the response in MAVLink 2 framing to test the link with a MAVLink 2 framed message.
This patch fixes two issues:
* It sends the message on the first call, making sure that the first update gets sent out.
* It improves the rate scheduling. In an experiment with 0.5, 50 and 250 Hz all rates were correct within 0.3% of the intended rate.
This limits the maximum bandwidth of ulog streaming to 70% of the specified
mavlink datarate. If less is used, the leftover is assigned to the mavlink
streams, if more is used, it starts to drop.
mavlink status outputs the currently used rate, to check if a link is
saturated.
This moves the mavlink_log interface from ioctl to uORB and enables the
mavlink statusmessage output for Snapdragon. The API changes will lead
to changes in all modules that are using it.
* PX4/master: (45 commits)
don't use default source address for onboard udp link, wait on remote
Configure Easystar HIL setup to do Runway takeoff
ROMFS: Set 3DR quad tuning to more realistic default values
Fix incomplete boot on new EKF config
Fix px4fmu-v2_ekf2 config
Updated MAVLink protocol version
MAVLink: Start slightly differently on USB
Start shell only if SD card not present
Update ECL
NuttX configs: added px4fmu-v2_ekf2 target for EKF2 development on Pixhawk
Get QuRT drivers out of the way, as we are using our own
Fix POSIX eagle config
Remove unmaintained NuttX config
VDev: fix code style
Add new posix_eagle_default and qurt_eagle_default targets
Fix QuRT build error
Fix FMUv4 USB PID
Speed up Vagrant
VTOL: Fix motor index use in VT_FW_MOT_OFF. Create new param to re-default all deployed vehicles to not shut down motors.
VTOL: Fix MOT_OFF bug
...