INS module skeleton.
This module is meant to be used with an additional module which implements any of the following
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.
Example for airframe file
Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!
<module name="ins_skeleton">
b'<define name="INS_MODULE_IMU_ID" value="ABI_BROADCAST" />\n '
b'<define name="INS_MODULE_BARO_ID" value="ABI_BROADCAST" />\n '
b'<define name="INS_MODULE_GPS_ID" value="GPS_MULTI_ID" />\n '
</module>
Module configuration options
Define Options
- name:
INS_MODULE_IMU_ID
value: ABI_BROADCAST
Description: ABI sender id of IMU messages to subscribe to
- name:
INS_MODULE_BARO_ID
value: ABI_BROADCAST
Description: ABI sender id of BARO_ABS messages to subscribe to
- name:
INS_MODULE_GPS_ID
value: GPS_MULTI_ID
Description: ABI sender id of GPS messages to subscribe to
Module functions
Init Functions
These initialization functions are called once on startup.
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw ins_skeleton.xml file:
<!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">
<define name="INS_TYPE_H" value="modules/ins/ins_skeleton.h" type="string"/>
<file name="ins.c"/>
<file name="ins_skeleton.c"/>
<test firmware="rotorcraft"/>
</makefile>
</module>