Files
paparazzi/conf/modules/ins_skeleton.xml
Gautier Hattenberger dfd8e93927 State interface input filter (#3409)
* [generator] generate unique ID and names table for modules
* [state] add accessors for the state origin
* [state] don't access directly to state origin, use getters
* [state] filter inputs with module ID
* [ahrs] convert AHRS modules to state input filter
- selection of ahrs with settings from each module
- init functions for each ahrs modules
- remove old chimu
* update unit test
* [ins] decoupled INS implementation
To allow multiple INS at the same time:
- remove weak functions from ins.c
- remove the INS_TYPE_H define
- use ABI message to trigger INS reset
* [state] protect for c++
2024-12-03 22:34:27 +01:00

35 lines
1.4 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins_skeleton" dir="ins" task="estimation">
<doc>
<description>
INS module skeleton.
This module is meant to be used with an additional module which implements any of the following
- ins_module_init()
- ins_module_propagate(struct Int32Vect3 *accel, float dt)
- ins_module_update_gps(struct GpsState *gps_s, float dt)
- ins_module_update_baro(float pressure)
- ins_module_reset_local_origin(void)
In each of those functions the updated estimate has to be written to the ins_module struct,
which is then used to update the state interface.
</description>
<define name="INS_MODULE_IMU_ID" value="ABI_BROADCAST" description="ABI sender id of IMU messages to subscribe to"/>
<define name="INS_MODULE_BARO_ID" value="ABI_BROADCAST" description="ABI sender id of BARO_ABS messages to subscribe to"/>
<define name="INS_MODULE_GPS_ID" value="GPS_MULTI_ID" description="ABI sender id of GPS messages to subscribe to"/>
</doc>
<dep>
<depends>@imu,@gps</depends>
<provides>ins</provides>
</dep>
<init fun="ins_module_wrapper_init()"/>
<header>
<file name="ins_skeleton.h"/>
</header>
<makefile target="ap|nps" firmware="rotorcraft">
<file name="ins.c"/>
<file name="ins_skeleton.c"/>
<test firmware="rotorcraft"/>
</makefile>
</module>