Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
imu_krooz_memsic.h File Reference
#include "std.h"
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/mpu60x0_i2c.h"
#include "peripherals/hmc58xx.h"
#include "mcu_periph/spi.h"
+ Include dependency graph for imu_krooz_memsic.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ImuKrooz


#define IMU_ACCEL_X_SENS   0.9197
 default accel sensitivy using 16 bit AD7689 adc MXR9500 with 1.5g has 21845 LSB/g sens = 9.81 [m/s^2] / 21845 [LSB/g] * 2^INT32_ACCEL_FRAC = 0.6131 More...
#define IMU_ACCEL_X_SENS_NUM   9197
#define IMU_ACCEL_X_SENS_DEN   10000
#define IMU_ACCEL_Y_SENS   0.9197
#define IMU_ACCEL_Y_SENS_NUM   9197
#define IMU_ACCEL_Y_SENS_DEN   10000
#define IMU_ACCEL_Z_SENS   0.9197
#define IMU_ACCEL_Z_SENS_NUM   9197
#define IMU_ACCEL_Z_SENS_DEN   10000
#define IMU_ACCEL_X_NEUTRAL   32768
#define IMU_ACCEL_Y_NEUTRAL   32768
#define IMU_ACCEL_Z_NEUTRAL   32768


void imu_krooz_init (void)
void imu_krooz_periodic (void)
void imu_krooz_event (void)
void imu_krooz_downlink_raw (void)


struct ImuKrooz imu_krooz

Detailed Description

Driver for the IMU on the KroozSD Big Rotorcraft Edition board.

Invensense MPU-6050 Memsic MXR9500 with AD7689 Honeywell HMC-5883

Definition in file imu_krooz_memsic.h.

Data Structure Documentation

◆ ImuKrooz

struct ImuKrooz

Definition at line 80 of file imu_krooz.h.

+ Collaboration diagram for ImuKrooz:
Data Fields
struct Int32Vect3 accel_filtered
struct Int32Vect3 accel_sum
volatile uint8_t ad7689_spi_rx_buffer[2]
volatile uint8_t ad7689_spi_tx_buffer[2]
struct spi_transaction ad7689_trans
struct Hmc58xx hmc
volatile bool hmc_eoc
volatile uint8_t meas_nb
struct Uint8Vect3 meas_nb_acc
struct Mpu60x0_I2c mpu
volatile bool mpu_eoc
struct Int32Rates rates_sum
int32_t temperature

Macro Definition Documentation


#define IMU_ACCEL_X_NEUTRAL   32768

Definition at line 78 of file imu_krooz_memsic.h.


#define IMU_ACCEL_X_SENS   0.9197

default accel sensitivy using 16 bit AD7689 adc MXR9500 with 1.5g has 21845 LSB/g sens = 9.81 [m/s^2] / 21845 [LSB/g] * 2^INT32_ACCEL_FRAC = 0.6131

Definition at line 67 of file imu_krooz_memsic.h.


#define IMU_ACCEL_X_SENS_DEN   10000

Definition at line 69 of file imu_krooz_memsic.h.


#define IMU_ACCEL_X_SENS_NUM   9197

Definition at line 68 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Y_NEUTRAL   32768

Definition at line 79 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Y_SENS   0.9197

Definition at line 70 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Y_SENS_DEN   10000

Definition at line 72 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Y_SENS_NUM   9197

Definition at line 71 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Z_NEUTRAL   32768

Definition at line 80 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Z_SENS   0.9197

Definition at line 73 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Z_SENS_DEN   10000

Definition at line 75 of file imu_krooz_memsic.h.


#define IMU_ACCEL_Z_SENS_NUM   9197

Definition at line 74 of file imu_krooz_memsic.h.



Definition at line 49 of file imu_krooz_memsic.h.



Definition at line 51 of file imu_krooz_memsic.h.



Definition at line 50 of file imu_krooz_memsic.h.



Definition at line 52 of file imu_krooz_memsic.h.



Definition at line 54 of file imu_krooz_memsic.h.



Definition at line 53 of file imu_krooz_memsic.h.



Definition at line 55 of file imu_krooz_memsic.h.



Definition at line 57 of file imu_krooz_memsic.h.



Definition at line 56 of file imu_krooz_memsic.h.



Definition at line 84 of file imu_krooz_memsic.h.



Definition at line 44 of file imu_krooz_memsic.h.

Function Documentation

◆ imu_krooz_downlink_raw()

void imu_krooz_downlink_raw ( void  )

◆ imu_krooz_event()

◆ imu_krooz_init()

◆ imu_krooz_periodic()

Variable Documentation

◆ imu_krooz

struct ImuKrooz imu_krooz

Definition at line 54 of file imu_krooz.c.

Referenced by exti9_5_isr(), imu_krooz_event(), imu_krooz_init(), and imu_krooz_periodic().