#include "mgos.h" #include "mgos_imu.h" #if BOARD == 1 // LSM303D_L3GD20_COMBO -- sold as GY-89 #define ACC_I2CADDR 0x1d #define ACC_TYPE ACC_LSM303D #define GYRO_I2CADDR 0x6b #define GYRO_TYPE GYRO_L3GD20 #define GYRO_ORIENT { 0, -1, 0, 1, 0, 0, 0, 0, 1 } #define MAG_I2CADDR 0x1d #define MAG_TYPE MAG_LSM303D #define MAG_ORIENT { 1, 0, 0, 0, 1, 0, 0, 0, 1 } #elif BOARD == 2 // ITG3205_ADXL345_HMC5883L_COMBO -- sold as HW-579 #define ACC_I2CADDR 0x53 #define ACC_TYPE ACC_ADXL345 #define GYRO_I2CADDR 0x68 #define GYRO_TYPE GYRO_ITG3205 #define MAG_I2CADDR 0x1d #define MAG_TYPE MAG_HMC5883L #elif BOARD == 3 // Sold as M5 Stack (ESP32 + MPU9250) #define ACC_I2CADDR 0x68 #define ACC_TYPE ACC_MPU9250 #define GYRO_I2CADDR 0x68 #define GYRO_TYPE GYRO_MPU9250 #define GYRO_ORIENT { 1, 0, 0, 0, 1, 0, 0, 0, 1 } #define MAG_I2CADDR 0x0c #define MAG_TYPE MAG_AK8963 #define MAG_ORIENT { 0, 1, 0, 1, 0, 0, 0, 0, -1 } #elif BOARD == 3 #define ACC_I2CADDR 0x68 #define ACC_TYPE ACC_LSM9DS1 #define GYRO_I2CADDR 0x68 #define GYRO_TYPE GYRO_LSM9DS1 #define GYRO_ORIENT { 1, 0, 0, 0, 1, 0, 0, 0, 1 } #define MAG_I2CADDR 0x0c #define MAG_TYPE MAG_LSM9DS1 #define MAG_ORIENT { 1, 0, 0, 0, 1, 0, 0, 0, 1 } #endif