Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
bno055_definitions.h
- Committer:
- joelvonrotz
- Date:
- 2019-07-11
- Revision:
- 7:ccb2dcdfac08
- Parent:
- 0:a2a71c38065e
File content as of revision 7:ccb2dcdfac08:
/** * @brief * * @file bno055_definitions.h * @author Joel von Rotz * @date 18.07.2018 */ #ifndef BNO055_DEFINITIONS_H #define BNO055_DEFINITIONS_H #include "mbed.h" #define FREQ_400kHz 400000 #define MASK_CALIBRATION_BITS 0x03 #define BNO055_ID 0xA0 #define FULLY_CALIBRATED 0xFF #define ACCELERATION_FORMAT (0.01f) #define MILLI_G_FORCE_FORMAT (1.0f) #define MICRO_TESLA_FORMAT (0.0625f) #define GYRO_DEGREE_PER_SEC_FORMAT (0.0625f) #define GYRO_RADIAN_PER_SEC_FORMAT (1.0f/900.0f) #define QUATERNION_FORMAT (0.00006103515625f) #define TEMPERATURE_CELSIUS_FORMAT (1.0f) #define TEMPERATURE_FAHRENHEIT_FORMAT (2.0f) #define EULER_DEGREES_FORMAT (0.0625f) #define EULER_RADIANS_FORMAT (1.0f/900.0f) enum bitshift_t { SHIFT_1BYTE = 8, SHIFT_CALIB_SYSTEM = 6, SHIFT_CALIB_GYRO = 4, SHIFT_CALIB_ACCEL = 2, //ACCELERATION INTERRUPT CONFIGURATION SHIFT_HIGH_AXIS = 5, SHIFT_AM_NM_AXIS = 2, //GYROSCOPE INTERRUPT CONFIGURATOIN SHIFT_HIGH_RATE_AXIS= 3, SHIFT_AM_FILT = 6, SHIFT_HIGH_RATE_FILT= 7, SHIFT_INT_GYRO_AM = 2, SHIFT_INT_GYRO_HR = 3, SHIFT_INT_ACCEL_HG = 5, SHIFT_INT_ACCEL_AM = 6, SHIFT_INT_ACCEL_NM = 7, }; enum bno055_axis_t { X_AXIS = 0x00, Y_AXIS = 0x02, Z_AXIS = 0x04 }; enum bno055_config_int_axis_t { NO_AXIS = 0x00, X_AXIS_ONLY = 0x01, Y_AXIS_ONLY = 0x02, Z_AXIS_ONLY = 0x04, X_Y_AXIS = 0x03, X_Z_AXIS = 0x05, Y_Z_AXIS = 0x06, ALL_AXIS = 0x07, }; enum bno055_any_motion_sample_t { AM_1_SAMPLE = 0, AM_2_SAMPLE = 1, AM_3_SAMPLE = 2, AM_4_SAMPLE = 3, }; enum bno055_euler_axis_t { YAW = 0x00, ROLL = 0x02, PITCH = 0x04, }; enum bno055_quaternion_t { QUATERNION_W = 0x00, QUATERNION_X = 0x02, QUATERNION_Y = 0x04, QUATERNION_Z = 0x06, }; enum bno055_opr_mode_t { OPERATION_MODE_CONFIGMODE = 0x00, //NON-FUSION MODES OPERATION_MODE_ACCONLY = 0x01, OPERATION_MODE_MAGONLY = 0x02, OPERATION_MODE_GYROONLY = 0x03, OPERATION_MODE_ACCMAG = 0x04, OPERATION_MODE_ACCGYRO = 0x05, OPERATION_MODE_MAGGYRO = 0x06, OPERATION_MODE_AMG = 0x07, //FUSION MODES OPERATION_MODE_IMU = 0x08, OPERATION_MODE_COMPASS = 0x09, OPERATION_MODE_M4G = 0x0A, OPERATION_MODE_NDOF_FMC_OFF = 0x0B, OPERATION_MODE_NDOF = 0x0C }; enum bno055_reg_mask_t { MASK_REMAP_AXIS = 0x3F, MASK_SIGN_AXIS = 0x07, MASK_OPERAITON_MODE = 0x0F, MASK_UNIT_SEL = 0x97, MASK_POWER_MODE = 0x03, MASK_SYSTEM_RESET = 0x20, MASK_EXT_CLOCK = 0x80, MASK_GYRO_ANY_MOTION = 0x04, MASK_GYRO_HIGH_RATE = 0x08, MASK_ACCEL_HIGH_G = 0x20, MASK_ACCEL_ANY_MOTION = 0x40, MASK_ACCEL_NO_MOTION = 0x80, }; enum bno055_axis_sign_t { POSITIVE = 0, NEGATIVE }; enum bno055_powermode_t { POWER_NORMAL = 0, POWER_LOW_POWER_MODE, POWER_SUSPEND_MODE }; enum bno055_remap_options_t { //High-Byte = Remap, Low-Byte = Sign REMAP_OPTION_P0 = 0x2104, REMAP_OPTION_P1 = 0x2400, //Default REMAP_OPTION_P2 = 0x2406, REMAP_OPTION_P3 = 0x2102, REMAP_OPTION_P4 = 0x2403, REMAP_OPTION_P5 = 0x2101, REMAP_OPTION_P6 = 0x2107, REMAP_OPTION_P7 = 0x2405 }; enum bno055_interrupt_status_bits_t { GYRO_ANY_MOTION = 0x04, GYRO_HIGH_RATE = 0x08, ACCEL_HIGH_G = 0x20, ACCEL_ANY_MOTION = 0x40, ACCEL_NO_MOTION = 0x80, }; enum bno055_page_t { PAGE_0 = 0, PAGE_1 }; enum bno055_orientation_t { WINDOWS = 0x00, ANDROID = 0x80 }; enum bno055_temperature_t { CELSIUS = 0x00, FAHRENHEIT = 0x10 }; enum bno055_euler_t { DEGREES = 0x00, RADIANS = 0x04 }; enum bno055_gyro_t { DEGREE_PER_SEC = 0x00, RADIAN_PER_SEC = 0x02 }; enum bno055_acceleration_t { ACCELERATION = 0x00, MILLI_G_FORCE = 0x01 }; enum bno055_length_t { LENGTH_1_BYTES = 1, LENGTH_2_BYTES = 2, LENGTH_6_BYTES = 6, LENGTH_8_BYTES = 8 }; enum bno055_enable_t { DISABLE = 0, ENABLE = 1, }; #endif /* BNO055_DEFINITIONS_H */