Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
imu_px4fmu_v2.4.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013-2016 the paparazzi team
3  *
4  * This file is part of paparazzi.
5  *
6  * paparazzi is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * paparazzi is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with paparazzi; see the file COPYING. If not, write to
18  * the Free Software Foundation, 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  */
21 
28 #ifndef IMU_PX4FMUV24_H
29 #define IMU_PX4FMUV24_H
30 
31 #include "std.h"
32 #include "generated/airframe.h"
33 #include "modules/imu/imu.h"
34 
35 #include "peripherals/l3gd20_spi.h"
37 
38 #ifndef IMU_PX4_DISABLE_MAG
39 #if MODULE_HMC58XX_UPDATE_AHRS
40 #define IMU_PX4_DISABLE_MAG TRUE
41 #else
42 #define IMU_PX4_DISABLE_MAG FALSE
43 #endif
44 #endif
45 
46 struct ImuPX4 {
47  struct L3gd20_Spi l3g;
48  struct Lsm303d_Spi lsm_acc;
49  struct Lsm303d_Spi lsm_mag;
50 };
51 
52 extern struct ImuPX4 imu_px4;
53 
54 extern void imu_px4_init(void);
55 extern void imu_px4_periodic(void);
56 extern void imu_px4_event(void);
57 
58 #endif /* IMU_PX4FMUV24_H */
Inertial Measurement Unit interface.
struct ImuPX4 imu_px4
void imu_px4_init(void)
struct Lsm303d_Spi lsm_acc
struct L3gd20_Spi l3g
void imu_px4_periodic(void)
struct Lsm303d_Spi lsm_mag
void imu_px4_event(void)
Driver for L3GD20 3-axis gyroscope from ST using SPI.
Driver for ST LSM303D 3D accelerometer and magnetometer.