This allows for a quicker update from sensors if the estimator runs at the default priority of the estimator class. If there is no direct sensor pass-through then it will wait for an estimator update.
The GPS simulation now mimicks the real driver more closely and should provide even GPS delays. The delays themselves are set by the simulator, and default to 120 ms for Gazebo
When trying to move the selected power source to the first publication instance
on systems where there is only one power source, the compiler issued the warning
```
../src/modules/sensors/sensors.cpp:512:54: error: array subscript is outside array bounds [-Werror=array-bounds]
tmp_h = _battery_pub[_battery_pub_intance0ndx];
```
because it could not verify that _battery_pub_intance0ndx would always be 0.
Wrap the block between `#if BOARD_NUMBER_BRICKS > 1 [...] #endif`
to ensure no out of bound subscript and to remove the warning.
Remove unused _battery_pub_intance0ndx variable when nb bricks = 1
If the build config specifies RTPS topics to import/export and fastrtpsgen is not installed
on the build machine, then a dummy stub is used for the RTPS bridge.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The simulation engine had the ability to pause already and properly handled load spikes, however, it was not hardened against constant drift. This addition enables it to run at a constant slower-than-realtime rate successfully.
* msg: add reporting of multi rotor drag fusion
* ekf2: add reporting of multi rotor drag fusion
* ekf2: Add parameters required to tune multi-rotor wind estimation
* ekf2: Add correction for static pressure position error
* ekf2: Use correct air density for position error corrections
* ekf2: fix parameter documentation error
* ekf2: Add separate forward and reverse position error correction factors
* ekf2: Fix formatting and parameter descriptions
* ekf2: Improve comments
px4_shutdown_request() was called from the power button IRQ callback, which
invoked a work queue callback. But on NuttX, the work queue uses a
semaphore, and thus it cannot be called from IRQ context.
This patch switches to publishing an uORB msg instead, which is handled in
the commander main thread.
To increase failure resistance, we could subscribe to the same topic in
another module for redundancy, in case commander runs wild.