* Use DriverFramework as a PX4 module
Targets wanting to use DriverFramework must add
lib/DriverFramework/framework
to their config file.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Removed spurious code
No need to add if check before for loop
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Added DriverFramework to NuttX configs
Added lib/DriverFramework/firmware to nuttx configs
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Updated src/lib/DriverFramework
* Removed DF_TARGET and __DF_${OS} defines
These are now handled inside DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Updated DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Restored __DF_${OS}
The include files in DriverFramwork need to know the target OS.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
in PX4 Firmware, Ekf::get_terrain_vert_pos depends on it. This is the
valgrind output:
==15439== Thread 14 ekf2:
==15439== Conditional jump or move depends on uninitialised value(s)
==15439== at 0x5610087: sqrtf (in /usr/lib64/libm-2.22.so)
==15439== by 0x4D1AF0: Ekf::get_terrain_vert_pos(float*) (terrain_estimator.cpp:135)
==15439== by 0x46641F: Ekf2::task_main() (ekf2_main.cpp:655)
==15439== by 0x42BF3D: entry_adapter(void*) (px4_posix_tasks.cpp:103)
==15439== by 0x4E3C609: start_thread (in /usr/lib64/libpthread-2.22.so)
==15439== by 0x5BF7A4C: clone (in /usr/lib64/libc-2.22.so)
* Disable mTECS, but retain code for now
* astyle fw_pos_control_l1
* fw_pos remove pitch_max_special only used by mtecs
* move FW_T_CLMB_MAX to FW TECS param group
* fw_pos initialize tecs_status_s
The cross terms (covariances) are now reset before the variance variance is set.
The vertical velocity state variance following a reset without GPS has been reduced.
IMU corrections were being applied at the wrong time horizon to the EKF states
IMU downsampling rotates the delta velocities into the orientation produced by the last delta angle, but this wasn't consistent with the way the state prediction was using the delta velocity data.
* sdlog2: move from STAT.MainState to COMM.MainState
This fixes a bug where vehicle_system_status and the commander internal
state were conflicting.
This will need adaptations in logging tools.
* sdlog2: don't bother changing STAT.MainState
For compatibility reasons, let's stick to the used log field (but still
fix the bug where the buffer (union) was overwrittern.