Skip to content

Commit

Permalink
ppzuav-imu as a <subsystem name=imu type=ppzuav>
Browse files Browse the repository at this point in the history
  • Loading branch information
dewagter committed May 6, 2011
1 parent c403434 commit 6b34203
Show file tree
Hide file tree
Showing 8 changed files with 71 additions and 28 deletions.
14 changes: 2 additions & 12 deletions conf/airframes/PPZUAV/fixed-wing/ppzimu_tiny.xml
Expand Up @@ -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" >
Expand Down Expand Up @@ -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"/>


Expand All @@ -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>
10 changes: 5 additions & 5 deletions conf/airframes/TU_Delft/yapa_xsens.xml
Expand Up @@ -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>
Expand Down
1 change: 1 addition & 0 deletions conf/autopilot/fixedwing.makefile
Expand Up @@ -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)

Expand Down
20 changes: 20 additions & 0 deletions conf/autopilot/subsystems/shared/imu_ppzuav.makefile
@@ -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)

25 changes: 25 additions & 0 deletions conf/modules/ins_aspirin_via_i2c.xml
@@ -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>
8 changes: 6 additions & 2 deletions conf/modules/ins_ppzuavimu.xml
Expand Up @@ -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()"/>

Expand Down
6 changes: 3 additions & 3 deletions sw/airborne/modules/ins/ins_ppzuavimu.c
Expand Up @@ -19,7 +19,7 @@
*/

#include <math.h>
#include "estimator.h"
#include "ins_ppzuavimu.h"
#include "mcu_periph/i2c.h"

// Downlink
Expand Down Expand Up @@ -53,7 +53,7 @@ struct i2c_transaction ppzuavimu_adxl345;
struct Imu imu;
#endif

void ppzuavimu_module_init( void )
void imu_impl_init(void)
{
/////////////////////////////////////////////////////////////////////
// ITG3200
Expand Down Expand Up @@ -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;
Expand Down
15 changes: 9 additions & 6 deletions sw/airborne/modules/ins/ins_ppzuavimu.h
Expand Up @@ -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(); \
Expand All @@ -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

0 comments on commit 6b34203

Please sign in to comment.