convert ins_xsens700 to module

This commit is contained in:
Felix Ruess
2016-03-30 21:51:15 +02:00
parent 1faed3b48f
commit 89d761d8a0
4 changed files with 86 additions and 74 deletions
+8 -8
View File
@@ -36,10 +36,10 @@
<configure name="MODEM_BAUD" value="B9600"/> <configure name="MODEM_BAUD" value="B9600"/>
<configure name="MODEM_PORT" value="UART3"/> <configure name="MODEM_PORT" value="UART3"/>
</subsystem> </subsystem>
<subsystem name="ins" type="xsens700"> <module name="ins" type="xsens700">
<configure name="XSENS_UART_NR" value="1"/> <configure name="XSENS_PORT" value="uart1"/>
<configure name="XSENS_UART_BAUD" value="B230400"/> <configure name="XSENS_BAUD" value="B230400"/>
</subsystem> </module>
</target> </target>
<target name="fbw" board="lisa_m_2.0"> <target name="fbw" board="lisa_m_2.0">
<configure name="SEPARATE_FBW" value="1"/> <configure name="SEPARATE_FBW" value="1"/>
@@ -70,10 +70,10 @@
<configure name="MODEM_BAUD" value="B9600"/> <configure name="MODEM_BAUD" value="B9600"/>
<configure name="MODEM_PORT" value="UART3"/> <configure name="MODEM_PORT" value="UART3"/>
</subsystem> </subsystem>
<subsystem name="ins" type="xsens700"> <module name="ins" type="xsens700">
<configure name="XSENS_UART_NR" value="1"/> <configure name="XSENS_PORT" value="uart1"/>
<configure name="XSENS_UART_BAUD" value="B230400"/> <configure name="XSENS_BAUD" value="B230400"/>
</subsystem> </module>
</target> </target>
<define name="AGR_CLIMB"/> <define name="AGR_CLIMB"/>
<define name="LOITER_TRIM"/> <define name="LOITER_TRIM"/>
@@ -1,64 +1 @@
# Hey Emacs, this is a -*- makefile -*- $(error Error: The ins xsens700 subsystem has been converted to a module, replace <subsystem name="ins" type="xsens700"/> by <module name="ins" type="xsens700"/>)
# XSens Mti-G
# <subsystem name="ins" type="xsens700">
# <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_xsens700.h\"
ifndef XSENS_UART_BAUD
XSENS_UART_BAUD = B115200
endif
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/xsens700.c
ap.srcs += $(SRC_MODULES)/ins/xsens_common.c
ap.srcs += $(SRC_SUBSYSTEMS)/ins.c
ap.srcs += $(SRC_MODULES)/ins/ins_xsens700.c
ap.CFLAGS += -DAHRS_TRIGGERED_ATTITUDE_LOOP
#########################################
## GPS
ap.CFLAGS += -DUSE_GPS_XSENS
ap.CFLAGS += -DGPS_NB_CHANNELS=50
ap.CFLAGS += -DUSE_GPS
ap.CFLAGS += -DGPS_TYPE_H=\"modules/ins/ins_xsens700.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
+76
View File
@@ -0,0 +1,76 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins_xsens700" dir="ins">
<doc>
<description>
XSens Mti-G 700 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_xsens700.h"/>
</header>
<!-- ins_init is still called explicitly in main -->
<!--init fun="ins_init()"/-->
<periodic fun="xsens700_periodic()" freq="60"/>
<event fun="ins_xsens700_event()"/>
<makefile target="ap">
<file name="xsens700.c"/>
<file name="xsens_common.c"/>
<file name="ins_xsens700.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="GPS_NB_CHANNELS" value="50"/>
<raw>
ap.CFLAGS += -DGPS_TYPE_H=\"modules/ins/ins_xsens700.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>
+1 -2
View File
@@ -40,8 +40,7 @@ extern float ins_pitch_neutral;
extern float ins_roll_neutral; extern float ins_roll_neutral;
#define DefaultInsImpl ins_xsens700 #define DefaultInsImpl ins_xsens700
#define InsPeriodic xsens700_periodic
#define InsEvent ins_xsens700_event
extern void ins_xsens700_init(void); extern void ins_xsens700_init(void);
extern void ins_xsens700_register(void); extern void ins_xsens700_register(void);
extern void ins_xsens700_event(void); extern void ins_xsens700_event(void);