convert imu_xsens to module

This commit is contained in:
Felix Ruess
2016-03-30 22:08:07 +02:00
parent 89d761d8a0
commit 2e04df3807
3 changed files with 54 additions and 74 deletions
@@ -21,10 +21,10 @@
<subsystem name="telemetry" type="transparent"/>
<!-- Sensors -->
<subsystem name="imu" type="xsens">
<configure name="XSENS_UART_NR" value="3"/>
<configure name="XSENS_UART_BAUD" value="B115200"/>
</subsystem>
<module name="imu" type="xsens">
<configure name="XSENS_PORT" value="uart3"/>
<configure name="XSENS_BAUD" value="B115200"/>
</module>
<subsystem name="ahrs" type="int_cmpl_quat"/>
<subsystem name="gps" type="ublox"/>
<subsystem name="control"/>
@@ -1,70 +1 @@
# Hey Emacs, this is a -*- makefile -*-
# XSens Mti just providing IMU measurements
# <subsystem name="imu" type="xsens">
# <configure name="XSENS_UART_NR" value="0"/>
# <configure name="XSENS_UART_BAUD" value="B115200"/>
# </subsystem>
#
# <section name="IMU" prefix="IMU_">
# <define name="GYRO_P_SIGN" value="1"/>
# <define name="GYRO_Q_SIGN" value="1"/>
# <define name="GYRO_R_SIGN" value="1"/>
#
# <define name="GYRO_P_NEUTRAL" value="0"/>
# <define name="GYRO_R_NEUTRAL" value="0"/>
# <define name="GYRO_Q_NEUTRAL" value="0"/>
#
# <define name="GYRO_P_SENS" value="1" integer="16"/>
# <define name="GYRO_R_SENS" value="1" integer="16"/>
# <define name="GYRO_Q_SENS" value="1" integer="16"/>
#
# <define name="ACCEL_X_SIGN" value="1"/>
# <define name="ACCEL_Y_SIGN" value="1"/>
# <define name="ACCEL_Z_SIGN" value="1"/>
#
# <define name="ACCEL_X_SENS" value="1" integer="16"/>
# <define name="ACCEL_Z_SENS" value="1" integer="16"/>
# <define name="ACCEL_Y_SENS" value="1" integer="16"/>
#
# <define name="ACCEL_X_NEUTRAL" value="0"/>
# <define name="ACCEL_Z_NEUTRAL" value="0"/>
# <define name="ACCEL_Y_NEUTRAL" value="0"/>
#
# <define name="MAG_X_SIGN" value="1"/>
# <define name="MAG_Y_SIGN" value="1"/>
# <define name="MAG_Z_SIGN" value="1"/>
#
# <define name="MAG_X_NEUTRAL" value="-45"/>
# <define name="MAG_Y_NEUTRAL" value="334"/>
# <define name="MAG_Z_NEUTRAL" value="7"/>
#
# <define name="MAG_X_SENS" value="4.47647816128" integer="16"/>
# <define name="MAG_Y_SENS" value="4.71085671542" integer="16"/>
# <define name="MAG_Z_SENS" value="4.41585354498" integer="16"/>
#
# <define name="BODY_TO_IMU_PHI" value="0" unit="deg"/>
# <define name="BODY_TO_IMU_THETA" value="0" unit="deg"/>
# <define name="BODY_TO_IMU_PSI" value="0" unit="deg"/>
# </section>
#########################################
## IMU
ap.CFLAGS += -DUSE_IMU
ap.CFLAGS += -DIMU_TYPE_H=\"modules/ins/imu_xsens.h\"
ap.srcs += $(SRC_MODULES)/ins/xsens.c
ap.srcs += $(SRC_MODULES)/ins/xsens_common.c
ap.srcs += $(SRC_MODULES)/ins/imu_xsens.c
ap.srcs += $(SRC_SUBSYSTEMS)/imu.c
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
$(error Error: The imu xsens subsystem has been converted to a module, replace <subsystem name="imu" type="xsens"/> by <module name="imu" type="xsens"/>)
+49
View File
@@ -0,0 +1,49 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="ins_xsens700" dir="ins">
<doc>
<description>
XSens IMU
</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="imu_xsens.h"/>
</header>
<!-- imu init/periodic/event still called explicitly in main -->
<makefile target="ap">
<file name="xsens.c"/>
<file name="xsens_common.c"/>
<file name="imu_xsens.c"/>
<file name="imu.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)"/>
<!-- TODO: check output mode -->
<define name="XSENS_OUTPUT_MODE" value="0x1836"/>
<raw>
ap.CFLAGS += -DIMU_TYPE_H=\"modules/ins/imu_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"/>
<raw>
sim.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
</raw>
</makefile>
<makefile target="nps">
<define name="USE_IMU"/>
<file name="imu_nps.c" dir="subsystems/imu"/>
<raw>
nps.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_nps.h\"
</raw>
</makefile>
</module>