Steps to debug:
* Run gazebo (or any other sim) server and client viewers via the terminal: `make posix_sitl_default gazebo_none_ide`
* In your IDE select `px4_<mode>` target you want to debug (e.g. `px4_iris`)
* Start debug session directly from IDE
This approach significantly reduces the debug cycle time because simulator (e.g. gazebo) is always running in background and you only re-run px4 process which is very light.
* Loosen thresholds for gyro consistency check until temperature compensated units are the norm
* Cut down string lengths so they make it through the MAVLink transport as a whole
This change makes the mixer load and reset operation closer to thread-safe. It was guarded one-way before and in only one location. This change ensures that its being locked out from both directions. The accesses to the locking variables still need work because they are non-atomic.
This change makes the operation more robust as it flags the whole group invalid in the first step. This should not be confused with being thread-safe - to be thread-safe, all accesses to _first and the following linked list need to be guarded by a mutex. This should be done outside of the mixer in the driver though, as the method depends on the board architecture.
NuttX had the CRTSCTS define incorrectly set for only output flow control, which broke our flow control logic. This commit patches NuttX and puts in addition a guard in place to prevent any future issue with the non-POSIX define being incorrect.
This has been debugged and identified by @ecmnet, which was the main contribution for this patch.
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.
The rotor count was incorrect which meant that control surfaces like elevons were scaled incorrectly. This was the main reason for really bad SITL performance
The main changes include:
* Better attitude tuning for airframes (more realistic models, the models had previously not as much thrust as the real vehicles)
* Better waypoint and navigation default parameters which match the on-hardware parameters
* More suitable minimum and trim airspeeds for VTOL and fixed wing which prevents stalls that happened in SITL previously (the new airspeeds match the real vehicles nicely)
This hot fix essentialy revert commit 265af481209d60033f7cd4c4216048b1ce3eb435
in NuttX/nuttx. The commit STM32 serial: Make input hardware flow-control work with RX DMA.
From Jussi Kivilinna has broken the DMA on an STM32F4 in a yet TBD way.
The symptoms are lost data on RX, the DMA count decrements but
the data ia not written to memory. This looks to be introduced but the
non circular DMA settings.
This allows a ICM20xxxx with an unkown product ID to be used
with the mpu6000 driver.
This change will issues a warning for any part with an unknown product ID.
For mpu6000 parts (-T 6000 or not specified) it will then exit.
For any ICM20xxxx part with an unknown product ID it will accept the ID
and run with it.
N.B. This fix expecte the value in the product ID register to be
a per chip constant. (Not changing during operations)