pifcamp-2021/osc32_9255/RTIMULib/RTIMULibDefs.h

104 lines
5.2 KiB
C

////////////////////////////////////////////////////////////////////////////
//
// This file is part of RTIMULib-Arduino
//
// Copyright (c) 2014-2015, richards-tech
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
// Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifndef _RTIMULIBDEFS_H
#define _RTIMULIBDEFS_H
#include "RTMath.h"
#include "RTPressureDefs.h"
// IMU enable defs - only one should be enabled, the rest commented out
//#define MPU9150_68 // MPU9150 at address 0x68
//#define MPU9250_68 // MPU9250 at address 0x68
#define GD20M303DLHC_6b // GD20 + M303DLHC at address 0x6b
//#define MPU9150_68 // MPU9150 at address 0x68
//#define MPU9150_69 // MPU9150 at address 0x69
//#define MPU9250_68 // MPU9250 at address 0x68
//#define MPU9250_69 // MPU9250 at address 0x69
//#define LSM9DS0_6a // LSM9DS0 at address 0x6a
//#define LSM9DS0_6b // LSM9DS0 at address 0x6b
//#define GD20HM303D_6a // GD20H + M303D at address 0x6a
//#define GD20HM303D_6b // GD20H + M303D at address 0x6b
//#define GD20HM303DLHC_6a // GD20H + M303DLHC at address 0x6a
//#define GD20HM303DLHC_6b // GD20H + M303DLHC at address 0x6b
//#define GD20M303DLHC_6a // GD20 + M303DLHC at address 0x6a
//#define GD20M303DLHC_6b // GD20 + M303DLHC at address 0x6b
//#define BNO055_28 // BNO055 at address 0x28
//#define BNO055_29 // BNO055 at address 0x29
// IMU type codes
#define RTIMU_TYPE_MPU9150 1 // InvenSense MPU9150
#define RTIMU_TYPE_LSM9DS0 2 // STM LSM9DS0 (eg Sparkfun IMU)
#define RTIMU_TYPE_GD20HM303D 3 // STM L3GD20H/LSM303D (Pololu Altimu)
#define RTIMU_TYPE_GD20M303DLHC 4 // STM L3GD20/LSM303DHLC (old Adafruit IMU)
#define RTIMU_TYPE_MPU9250 5 // InvenSense MPU9250
#define RTIMU_TYPE_GD20HM303DLHC 6 // STM L3GD20H/LSM303DHLC (new Adafruit IMU)
#define RTIMU_TYPE_BNO055 7 // BNO055
// Pressure enable defs - only one should be enabled, the rest commented out
//#define BMP180 // BMP180
//#define LPS25H_5c // LPS25H at standard address
//#define LPS25H_5d // LPS25H at option address
//#define MS5611_76 // MS5611 at standard address
//#define MS5611_77 // MS5611 at option address
// IMU Axis rotation defs
//
// These allow the IMU to be virtually repositioned if it is in a non-standard configuration
// Standard configuration is X pointing at north, Y pointing east and Z pointing down
// with the IMU horizontal. There are 24 different possible orientations as defined
// below. Setting the axis rotation code to non-zero values performs the repositioning.
//
// Uncomment the one required
#define RTIMU_XNORTH_YEAST 0 // this is the default identity matrix
//#define RTIMU_XEAST_YSOUTH 1
//#define RTIMU_XSOUTH_YWEST 2
//#define RTIMU_XWEST_YNORTH 3
//#define RTIMU_XNORTH_YWEST 4
//#define RTIMU_XEAST_YNORTH 5
//#define RTIMU_XSOUTH_YEAST 6
//#define RTIMU_XWEST_YSOUTH 7
//#define RTIMU_XUP_YNORTH 8
//#define RTIMU_XUP_YEAST 9
//#define RTIMU_XUP_YSOUTH 10
//#define RTIMU_XUP_YWEST 11
//#define RTIMU_XDOWN_YNORTH 12
//#define RTIMU_XDOWN_YEAST 13
//#define RTIMU_XDOWN_YSOUTH 14
//#define RTIMU_XDOWN_YWEST 15
//#define RTIMU_XNORTH_YUP 16
//#define RTIMU_XEAST_YUP 17
//#define RTIMU_XSOUTH_YUP 18
//#define RTIMU_XWEST_YUP 19
//#define RTIMU_XNORTH_YDOWN 20
//#define RTIMU_XEAST_YDOWN 21
//#define RTIMU_XSOUTH_YDOWN 22
//#define RTIMU_XWEST_YDOWN 23
#endif // _RTIMULIBDEFS_H