convert ins_xsens to module

This commit is contained in:
Felix Ruess
2016-03-30 21:39:59 +02:00
parent bd8943a15c
commit 2ab27171fb
6 changed files with 81 additions and 89 deletions
+3 -3
View File
@@ -216,9 +216,9 @@
<configure name="MODEM_BAUD" value="B9600"/>
</subsystem>
<subsystem name="ins" type="xsens">
<configure name="XSENS_UART_NR" value="1"/>
</subsystem>
<module name="ins" type="xsens">
<configure name="XSENS_PORT" value="uart1"/>
</module>
</firmware>
+4 -4
View File
@@ -25,10 +25,10 @@
<subsystem name="control"/>
<!-- Sensors -->
<subsystem name="navigation"/>
<subsystem name="ins" type="xsens">
<configure name="XSENS_UART_NR" value="0"/>
<configure name="XSENS_UART_BAUD" value="B230400"/>
</subsystem>
<module name="ins" type="xsens">
<configure name="XSENS_PORT" value="uart0"/>
<configure name="XSENS_BAUD" value="B230400"/>
</module>
</firmware>
<!-- ************************* MODULES ************************* -->
@@ -21,10 +21,10 @@
<subsystem name="telemetry" type="transparent"/>
<!-- Sensors -->
<subsystem name="ins" type="xsens">
<configure name="XSENS_UART_NR" value="3"/>
<configure name="XSENS_UART_BAUD" value="B115200"/>
</subsystem>
<module name="ins" type="xsens">
<configure name="XSENS_PORT" value="uart3"/>
<configure name="XSENS_BAUD" value="B115200"/>
</module>
<subsystem name="control"/>
<subsystem name="navigation"/>
@@ -1,70 +1 @@
# Hey Emacs, this is a -*- makefile -*-
# XSens Mti-G
# <subsystem name="ins" type="xsens">
# <configure name="XSENS_UART_NR" value="0"/>
# <configure name="XSENS_UART_BAUD" value="B115200"/>
# </subsystem>
#########################################
## ATTITUDE
# AHRS Results
ap.CFLAGS += -DINS_TYPE_H=\"modules/ins/ins_xsens.h\"
ifndef XSENS_UART_BAUD
XSENS_UART_BAUD = B115200
endif
#B230400
#B115200
ap.CFLAGS += -DUSE_UART$(XSENS_UART_NR)
ap.CFLAGS += -DXSENS_LINK=uart$(XSENS_UART_NR)
ap.CFLAGS += -DUART$(XSENS_UART_NR)_BAUD=$(XSENS_UART_BAUD)
ap.CFLAGS += -DXSENS_OUTPUT_MODE=0x1836
ap.srcs += $(SRC_MODULES)/ins/xsens.c
ap.srcs += $(SRC_MODULES)/ins/xsens_common.c
ap.srcs += $(SRC_SUBSYSTEMS)/ins.c
ap.srcs += $(SRC_MODULES)/ins/ins_xsens.c
ap.CFLAGS += -DAHRS_TRIGGERED_ATTITUDE_LOOP
#########################################
## GPS
ap.CFLAGS += -DUSE_GPS_XSENS
ap.CFLAGS += -DUSE_GPS_XSENS_RAW_DATA
ap.CFLAGS += -DGPS_NB_CHANNELS=16
ap.CFLAGS += -DUSE_GPS
ap.CFLAGS += -DGPS_TYPE_H=\"modules/ins/ins_xsens.h\"
ap.srcs += $(SRC_SUBSYSTEMS)/gps.c
#########################################
## Simulator
SIM_TARGETS = sim nps
ifneq (,$(findstring $(TARGET),$(SIM_TARGETS)))
$(TARGET).CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
$(TARGET).CFLAGS += -DUSE_AHRS
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/ahrs.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/ahrs/ahrs_sim.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/ins.c
$(TARGET).CFLAGS += -DINS_TYPE_H=\"subsystems/ins/ins_gps_passthrough_utm.h\"
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/ins/ins_gps_passthrough_utm.c
$(TARGET).CFLAGS += -DUSE_GPS
$(TARGET).CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_sim.h\"
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/gps/gps_sim.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/gps.c
endif
$(error Error: The ins xsens subsystem has been converted to a module, replace <subsystem name="ins" type="xsens"/> by <module name="ins" type="xsens"/>)
+67 -6
View File
@@ -1,16 +1,77 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins">
<module name="ins_xsens" dir="ins">
<doc>
<description>XSens</description>
<description>
XSens Mti-G INS
</description>
<configure name="XSENS_PORT" value="uart1" description="The (uart) port the XSens is connected to"/>
<configure name="XSENS_BAUD" value="B115200" description="UART baud rate"/>
</doc>
<header>
<file name="ins_module.h"/>
<file name="ins_xsens.h"/>
</header>
<init fun="ins_init()"/>
<periodic fun="ins_periodic()" freq="60"/>
<makefile>
<!-- ins_init is still called explicitly in main -->
<!--init fun="ins_init()"/-->
<periodic fun="xsens_periodic()" freq="60"/>
<event fun="ins_xsens_event()"/>
<makefile target="ap">
<file name="xsens.c"/>
<file name="xsens_common.c"/>
<file name="ins_xsens.c"/>
<file name="ins.c" dir="subsystems"/>
<configure name="XSENS_PORT" default="uart1" case="upper|lower"/>
<configure name="XSENS_BAUD" default="B115200"/>
<define name="USE_$(XSENS_PORT_UPPER)" value="1"/>
<define name="XSENS_LINK" value="$(XSENS_PORT_LOWER)"/>
<define name="$(XSENS_PORT_UPPER)_BAUD" value="$(XSENS_BAUD)"/>
<define name="XSENS_OUTPUT_MODE" value="0x1836"/>
<define name="AHRS_TRIGGERED_ATTITUDE_LOOP"/>
<file name="gps.c" dir="subsystems"/>
<define name="USE_GPS"/>
<define name="USE_GPS_XSENS"/>
<define name="USE_GPS_XSENS_RAW_DATA"/>
<define name="GPS_NB_CHANNELS" value="16"/>
<raw>
ap.CFLAGS += -DGPS_TYPE_H=\"modules/ins/ins_xsens.h\"
</raw>
</makefile>
<makefile target="sim">
<file name="ahrs.c" dir="subsystems"/>
<file name="ahrs_sim.c" dir="subsystems/ahrs"/>
<define name="USE_AHRS"/>
<file name="ins.c" dir="subsystems"/>
<file name="ins_gps_passthrough_utm.c" dir="subsystems/ins"/>
<file name="gps.c" dir="subsystems"/>
<file name="gps_sim.c" dir="subsystems/gps"/>
<define name="USE_GPS"/>
<raw>
sim.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
sim.CFLAGS += -DINS_TYPE_H=\"subsystems/ins/ins_gps_passthrough_utm.h\"
sim.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_sim.h\"
</raw>
</makefile>
<makefile target="nps">
<!-- nps dummy ahrs missing -->
<file name="ahrs.c" dir="subsystems"/>
<define name="USE_AHRS"/>
<define name="NPS_BYPASS_AHRS" value="TRUE"/>
<file name="ins.c" dir="subsystems"/>
<file name="ins_gps_passthrough_utm.c" dir="subsystems/ins"/>
<file name="gps.c" dir="subsystems"/>
<file name="gps_sim_nps.c" dir="subsystems/gps"/>
<define name="USE_GPS"/>
<raw>
nps.CFLAGS += -DINS_TYPE_H=\"subsystems/ins/ins_gps_passthrough_utm.h\"
nps.CFLAGS += -DGPS_TYPE_H=\"subsystems/gps/gps_sim_nps.h\"
</raw>
</makefile>
</module>
+2 -2
View File
@@ -40,8 +40,8 @@ extern float ins_pitch_neutral;
extern float ins_roll_neutral;
#define DefaultInsImpl ins_xsens
#define InsPeriodic xsens_periodic
#define InsEvent ins_xsens_event
//#define InsPeriodic xsens_periodic
//#define InsEvent ins_xsens_event
extern void ins_xsens_init(void);
extern void ins_xsens_register(void);
extern void ins_xsens_event(void);