mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-26 16:30:07 +08:00
ppzuav-imu as a <subsystem name=imu type=ppzuav>
This commit is contained in:
@@ -202,7 +202,7 @@
|
||||
-->
|
||||
<!-- <load name="digital_cam_i2c.xml"/> -->
|
||||
|
||||
<load name="ins_ppzuavimu.xml" />
|
||||
<!-- <load name="ins_ppzuavimu.xml" /> -->
|
||||
|
||||
<!--
|
||||
<load name="digital_cam.xml" >
|
||||
@@ -233,9 +233,9 @@
|
||||
|
||||
<!-- Sensors -->
|
||||
<!--
|
||||
<subsystem name="imu" type="booz"/>
|
||||
<subsystem name="attitude" type="dcm"/>
|
||||
-->
|
||||
<subsystem name="imu" type="ppzuav"/>
|
||||
<subsystem name="ahrs" type="ic"/>
|
||||
|
||||
|
||||
@@ -256,15 +256,5 @@
|
||||
|
||||
</firmware>
|
||||
|
||||
<makefile>
|
||||
ap.srcs += $(SRC_SUBSYSTEMS)/imu.c
|
||||
|
||||
ap.CFLAGS += -DAHRS_H_X=0.51562740288882 -DAHRS_H_Y=-0.05707735220832 -DAHRS_H_Z=0.85490967783446
|
||||
ap.CFLAGS += -DIMU_TYPE_H=\"modules/ins/ins_ppzuavimu.h\"
|
||||
|
||||
# Test attitude using accelerometers only:
|
||||
# ap.CFLAGS += -DOUTPUTMODE=2
|
||||
# ap.CFLAGS += -DASPIRIN_IMU
|
||||
</makefile>
|
||||
|
||||
</airframe>
|
||||
|
||||
@@ -180,18 +180,18 @@
|
||||
<load name="ins_xsens_MTiG_fixedwing.xml">
|
||||
<configure name="XSENS_UART_NR" value="0"/>
|
||||
</load>
|
||||
<!--
|
||||
|
||||
<load name="light.xml">
|
||||
<define name="LIGHT_LED_STROBE" value="3"/>
|
||||
<define name="LIGHT_LED_NAV" value="2"/>
|
||||
<define name="STROBE_LIGHT_MODE_DEFAULT" value="6"/>
|
||||
<define name="NAV_LIGHT_MODE_DEFAULT" value="4"/>
|
||||
</load>
|
||||
-->
|
||||
<!-- <load name="digital_cam_i2c.xml"/> -->
|
||||
<load name="mag_hmc5843.xml" />
|
||||
|
||||
<!-- <load name="digital_cam_i2c.xml"/> -->
|
||||
<!-- <load name="ins_ppzuavimu.xml"/> -->
|
||||
<load name="digital_cam.xml" >
|
||||
<define name="DC_SHUTTER_LED" value="3"/>
|
||||
<define name="DC_SHUTTER_LED" value="2"/>
|
||||
</load>
|
||||
|
||||
</modules>
|
||||
|
||||
@@ -15,6 +15,7 @@ SRC_FIXEDWING_TEST=$(SRC_FIXEDWING)/
|
||||
|
||||
SRC_FIRMWARE=firmwares/fixedwing
|
||||
SRC_SUBSYSTEMS=subsystems
|
||||
SRC_MODULES=modules
|
||||
|
||||
FIXEDWING_INC = -I$(SRC_FIRMWARE) -I$(SRC_FIXEDWING)
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
IMU_PPZUAVIMU_CFLAGS = -DUSE_IMU
|
||||
IMU_PPZUAVIMU_CFLAGS += -DIMU_TYPE_H=\"modules/ins/ins_ppzuavimu.h\"
|
||||
|
||||
IMU_PPZUAVIMU_SRCS = $(SRC_SUBSYSTEMS)/imu.c \
|
||||
$(SRC_MODULES)/ins/ins_ppzuavimu.c
|
||||
|
||||
|
||||
IMU_PPZUAVIMU_CFLAGS += -DUSE_I2C
|
||||
ifdef STM32
|
||||
IMU_PPZUAVIMU_CFLAGS += -DUSE_I2C2
|
||||
IMU_PPZUAVIMU_CFLAGS += -DPPZUAVIMU_I2C_DEVICE=i2c2
|
||||
else
|
||||
IMU_PPZUAVIMU_CFLAGS += -DUSE_I2C0
|
||||
IMU_PPZUAVIMU_CFLAGS += -DPPZUAVIMU_I2C_DEVICE=i2c0
|
||||
endif
|
||||
|
||||
ap.CFLAGS += $(IMU_PPZUAVIMU_CFLAGS)
|
||||
ap.srcs += $(IMU_PPZUAVIMU_SRCS)
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE module SYSTEM "module.dtd">
|
||||
|
||||
<module name="ins_aspirin_via_i2c" dir="ins">
|
||||
<!-- <depend conflict="ins" -->
|
||||
<header>
|
||||
<file name="ins_ppzuavimu.h"/>
|
||||
</header>
|
||||
|
||||
<!-- default imu stuff -->
|
||||
<init fun="imu_impl_init()"/>
|
||||
<periodic fun="imu_periodic()" freq="60"/>
|
||||
<!-- ImuEvent called directly from main_ap -->
|
||||
|
||||
<!-- extras to become a usefull module -->
|
||||
<periodic fun="ppzuavimu_module_downlink_raw()" freq="5"/>
|
||||
<event fun="ppzuavimu_module_event()"/>
|
||||
|
||||
<makefile>
|
||||
<file name="ins_ppzuavimu.c"/>
|
||||
<define name="PPZUAVIMU_I2C_DEVICE" value="i2c0" />
|
||||
<define name="USE_I2C" />
|
||||
<define name="USE_I2C0" />
|
||||
<define name="ASPIRIN_IMU" />
|
||||
</makefile>
|
||||
</module>
|
||||
@@ -6,8 +6,12 @@
|
||||
<file name="ins_ppzuavimu.h"/>
|
||||
</header>
|
||||
|
||||
<init fun="ppzuavimu_module_init()"/>
|
||||
<periodic fun="ppzuavimu_module_periodic()" freq="60"/>
|
||||
<!-- default imu stuff -->
|
||||
<init fun="imu_impl_init()"/>
|
||||
<periodic fun="imu_periodic()" freq="60"/>
|
||||
<!-- ImuEvent called directly from main_ap -->
|
||||
|
||||
<!-- extras to become a usefull module -->
|
||||
<periodic fun="ppzuavimu_module_downlink_raw()" freq="5"/>
|
||||
<event fun="ppzuavimu_module_event()"/>
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include "estimator.h"
|
||||
#include "ins_ppzuavimu.h"
|
||||
#include "mcu_periph/i2c.h"
|
||||
|
||||
// Downlink
|
||||
@@ -53,7 +53,7 @@ struct i2c_transaction ppzuavimu_adxl345;
|
||||
struct Imu imu;
|
||||
#endif
|
||||
|
||||
void ppzuavimu_module_init( void )
|
||||
void imu_impl_init(void)
|
||||
{
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// ITG3200
|
||||
@@ -138,7 +138,7 @@ void ppzuavimu_module_init( void )
|
||||
|
||||
}
|
||||
|
||||
void ppzuavimu_module_periodic( void )
|
||||
void imu_periodic( void )
|
||||
{
|
||||
// Start reading the latest gyroscope data
|
||||
ppzuavimu_itg3200.type = I2CTransTxRx;
|
||||
|
||||
@@ -28,14 +28,13 @@ extern volatile bool_t gyr_valid;
|
||||
extern volatile bool_t acc_valid;
|
||||
extern volatile bool_t mag_valid;
|
||||
|
||||
|
||||
extern void ppzuavimu_module_init( void );
|
||||
extern void ppzuavimu_module_periodic( void );
|
||||
extern void ppzuavimu_module_event( void );
|
||||
extern void ppzuavimu_module_downlink_raw( void );
|
||||
|
||||
/* must be defined in order to be IMU code: declared in imu.h
|
||||
extern void imu_impl_init(void);
|
||||
extern void imu_periodic(void);
|
||||
*/
|
||||
|
||||
#define ImuEvent(_gyro_handler, _accel_handler, _mag_handler) { \
|
||||
ppzuavimu_module_event(); \
|
||||
if (gyr_valid) { \
|
||||
gyr_valid = FALSE; \
|
||||
_gyro_handler(); \
|
||||
@@ -50,5 +49,9 @@ extern void ppzuavimu_module_downlink_raw( void );
|
||||
} \
|
||||
}
|
||||
|
||||
/* Own Extra Functions */
|
||||
extern void ppzuavimu_module_event( void );
|
||||
extern void ppzuavimu_module_downlink_raw( void );
|
||||
|
||||
|
||||
#endif // PPZUAVIMU_H
|
||||
|
||||
Reference in New Issue
Block a user