You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently including the module ins_ekf2 will only compile for a rotorcraft airframe, due to a couple of conflicts:
Waypoints
I'm not 100% that nav.h is included for all fixedwing airframes, but when it is it will also include nav_common.h, which has a number of conflicting defines with waypoints.h
The definition of the variable waypoints as well as a number of macros that perform operations on waypoints are both double and use a different structure. I think it would make sense to move all waypoints and functions on waypoints to waypoints.h and include this file in common_nav.h.
Rotocraft guidance functions
Certain variables that are used in ekf2 seem to only be defined in rotorcraft stabilization and guidance files, stab_att_sp, nav_heading, guidance_h_read_rc, stabilization_attitude_enter
The text was updated successfully, but these errors were encountered:
The waypoints are only included for the waypoints_localize_all() function so not sure what the problem is there, but should be easily fixable.
The second part of rotorcraft guidance functions is there when the EKF2 decides to reset it's heading. You can disable it with NO_RESET_UPDATE_SETPOINT_HEADING, ideally we should implement something like an ABI call such that the controllers can be notified if the heading gets reset.
The structure for the waypoints of fixedwing and rotorcraft is completely different and not not compatible (and of course, not easy to merge, that would be too simple). Even the "nav_common" is not common at all.
I think the problem is that a INS filter should not depend on navigation, although we can't always avoid that, for the init point for instance. If needed, you can use the defines FIXEDWING_FIRMWARE, ROTORCRAFT_FIRMWARE and ROVER_FIRMWARE to make conditional compilation.
Currently including the module
ins_ekf2
will only compile for arotorcraft
airframe, due to a couple of conflicts:Waypoints
I'm not 100% that
nav.h
is included for all fixedwing airframes, but when it is it will also includenav_common.h
, which has a number of conflicting defines withwaypoints.h
paparazzi/sw/airborne/modules/nav/waypoints.h
Lines 42 to 47 in e82db25
paparazzi/sw/airborne/modules/nav/waypoints.h
Line 51 in e82db25
paparazzi/sw/airborne/modules/nav/common_nav.h
Lines 39 to 43 in e82db25
paparazzi/sw/airborne/modules/nav/common_nav.h
Line 57 in e82db25
The definition of the variable
waypoints
as well as a number of macros that perform operations on waypoints are both double and use a different structure. I think it would make sense to move all waypoints and functions on waypoints towaypoints.h
and include this file incommon_nav.h
.Rotocraft guidance functions
Certain variables that are used in ekf2 seem to only be defined in rotorcraft stabilization and guidance files,
stab_att_sp
,nav_heading
,guidance_h_read_rc
,stabilization_attitude_enter
The text was updated successfully, but these errors were encountered: