A VTOL mission can also contain a fixedwing landing. Therefore, I think,
it makes sense to run the fixedwing checks as well, however, don't check
for a landing start necessarily.
by keeping only recursive topics in there. The rest is checked by looking
at previous _subscriptions.
Reduces stack size requirements when increasing MAX_TOPICS_NUM.
used back in time when no soothing was done to avoid large steps when
the estimator stops sending a maximum velocity (e.g.:GPS gained during
optical flow flight). Since smoothing is applied later, this is not
required anymore.
This fixes a corner case for VTOL RTL with RTL_TYPE 1.
RTL_TYPE 1 means that the VTOL skips all waypoints on RTL and jumps to
the land waypoint at the end.
During a mission in fixedwing mode it will continue to fly in fixedwing
mode and then do a transition before landing.
However, if RTL is engaged right at the moment of the front transition,
the transition waypoint is not inserted and the VTOL will try to land in
fixedwing mode at the mission land location.
This corner case is fixed in this patch by also considering the
"transition after takeoff" state.
Open the UART after adding the instance: mavlink_open_uart() might block,
and in that case the parent task waiting for mavlink to be started times
out.
And while waiting for the USB UART device to come up:
- check for _task_should_exit
- check for check_requested_subscriptions()
Side-effects when USB is not plugged in during boot:
- reduces boot duration by 100ms
- fixes duplicate instance name in 'top':
201 mavlink_if0 1 0.000 1328/ 2572 100 (100) w:sig 3
204 mavlink_if0 572 4.221 1632/ 2540 100 (100) w:sig 4
- 'mavlink stop-all' now stops the usb instance as well
- uses the FIFO and SPI DMA to transfer full raw data (8 kHz gyro, 4 kHz accel)
- new sensor messages for better visibility
- sensor_{accel, gyro}_fifo: full raw data for optional logging and analysis
- sensor_{accel, gyro}_status: metadata, clipping, etc
- currently not enabled by default
- instead of resetting existing calibration on start and having to wait
until the estimator converges, keep existing calibration applied and
subtract it.
- reduce calibration time from 5s to 500ms, and check for motion during
that time.
- repeat if there was motion
- fix an uorb resource leak