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
00001 /** 00002 * @brief 00003 * 00004 * @file bno055_definitions.h 00005 * @author Joel von Rotz 00006 * @date 18.07.2018 00007 */ 00008 #ifndef BNO055_DEFINITIONS_H 00009 #define BNO055_DEFINITIONS_H 00010 00011 #include "mbed.h" 00012 00013 #define FREQ_400kHz 400000 00014 00015 #define MASK_CALIBRATION_BITS 0x03 00016 00017 #define BNO055_ID 0xA0 00018 #define FULLY_CALIBRATED 0xFF 00019 00020 00021 #define ACCELERATION_FORMAT (0.01f) 00022 #define MILLI_G_FORCE_FORMAT (1.0f) 00023 00024 #define MICRO_TESLA_FORMAT (0.0625f) 00025 00026 #define GYRO_DEGREE_PER_SEC_FORMAT (0.0625f) 00027 #define GYRO_RADIAN_PER_SEC_FORMAT (1.0f/900.0f) 00028 00029 #define QUATERNION_FORMAT (0.00006103515625f) 00030 00031 #define TEMPERATURE_CELSIUS_FORMAT (1.0f) 00032 #define TEMPERATURE_FAHRENHEIT_FORMAT (2.0f) 00033 00034 #define EULER_DEGREES_FORMAT (0.0625f) 00035 #define EULER_RADIANS_FORMAT (1.0f/900.0f) 00036 00037 00038 enum bitshift_t 00039 { 00040 SHIFT_1BYTE = 8, 00041 00042 SHIFT_CALIB_SYSTEM = 6, 00043 SHIFT_CALIB_GYRO = 4, 00044 SHIFT_CALIB_ACCEL = 2, 00045 00046 //ACCELERATION INTERRUPT CONFIGURATION 00047 SHIFT_HIGH_AXIS = 5, 00048 SHIFT_AM_NM_AXIS = 2, 00049 00050 //GYROSCOPE INTERRUPT CONFIGURATOIN 00051 SHIFT_HIGH_RATE_AXIS= 3, 00052 SHIFT_AM_FILT = 6, 00053 SHIFT_HIGH_RATE_FILT= 7, 00054 00055 SHIFT_INT_GYRO_AM = 2, 00056 SHIFT_INT_GYRO_HR = 3, 00057 SHIFT_INT_ACCEL_HG = 5, 00058 SHIFT_INT_ACCEL_AM = 6, 00059 SHIFT_INT_ACCEL_NM = 7, 00060 }; 00061 00062 enum bno055_axis_t 00063 { 00064 X_AXIS = 0x00, 00065 Y_AXIS = 0x02, 00066 Z_AXIS = 0x04 00067 }; 00068 00069 enum bno055_config_int_axis_t 00070 { 00071 NO_AXIS = 0x00, 00072 X_AXIS_ONLY = 0x01, 00073 Y_AXIS_ONLY = 0x02, 00074 Z_AXIS_ONLY = 0x04, 00075 X_Y_AXIS = 0x03, 00076 X_Z_AXIS = 0x05, 00077 Y_Z_AXIS = 0x06, 00078 ALL_AXIS = 0x07, 00079 }; 00080 00081 enum bno055_any_motion_sample_t 00082 { 00083 AM_1_SAMPLE = 0, 00084 AM_2_SAMPLE = 1, 00085 AM_3_SAMPLE = 2, 00086 AM_4_SAMPLE = 3, 00087 }; 00088 00089 enum bno055_euler_axis_t 00090 { 00091 YAW = 0x00, 00092 ROLL = 0x02, 00093 PITCH = 0x04, 00094 }; 00095 00096 enum bno055_quaternion_t 00097 { 00098 QUATERNION_W = 0x00, 00099 QUATERNION_X = 0x02, 00100 QUATERNION_Y = 0x04, 00101 QUATERNION_Z = 0x06, 00102 }; 00103 00104 enum bno055_opr_mode_t 00105 { 00106 OPERATION_MODE_CONFIGMODE = 0x00, 00107 //NON-FUSION MODES 00108 OPERATION_MODE_ACCONLY = 0x01, 00109 OPERATION_MODE_MAGONLY = 0x02, 00110 OPERATION_MODE_GYROONLY = 0x03, 00111 OPERATION_MODE_ACCMAG = 0x04, 00112 OPERATION_MODE_ACCGYRO = 0x05, 00113 OPERATION_MODE_MAGGYRO = 0x06, 00114 OPERATION_MODE_AMG = 0x07, 00115 //FUSION MODES 00116 OPERATION_MODE_IMU = 0x08, 00117 OPERATION_MODE_COMPASS = 0x09, 00118 OPERATION_MODE_M4G = 0x0A, 00119 OPERATION_MODE_NDOF_FMC_OFF = 0x0B, 00120 OPERATION_MODE_NDOF = 0x0C 00121 }; 00122 00123 enum bno055_reg_mask_t 00124 { 00125 MASK_REMAP_AXIS = 0x3F, 00126 MASK_SIGN_AXIS = 0x07, 00127 MASK_OPERAITON_MODE = 0x0F, 00128 MASK_UNIT_SEL = 0x97, 00129 MASK_POWER_MODE = 0x03, 00130 MASK_SYSTEM_RESET = 0x20, 00131 MASK_EXT_CLOCK = 0x80, 00132 00133 MASK_GYRO_ANY_MOTION = 0x04, 00134 MASK_GYRO_HIGH_RATE = 0x08, 00135 MASK_ACCEL_HIGH_G = 0x20, 00136 MASK_ACCEL_ANY_MOTION = 0x40, 00137 MASK_ACCEL_NO_MOTION = 0x80, 00138 }; 00139 00140 enum bno055_axis_sign_t 00141 { 00142 POSITIVE = 0, 00143 NEGATIVE 00144 }; 00145 00146 enum bno055_powermode_t 00147 { 00148 POWER_NORMAL = 0, 00149 POWER_LOW_POWER_MODE, 00150 POWER_SUSPEND_MODE 00151 }; 00152 00153 enum bno055_remap_options_t 00154 { //High-Byte = Remap, Low-Byte = Sign 00155 REMAP_OPTION_P0 = 0x2104, 00156 REMAP_OPTION_P1 = 0x2400, //Default 00157 REMAP_OPTION_P2 = 0x2406, 00158 REMAP_OPTION_P3 = 0x2102, 00159 REMAP_OPTION_P4 = 0x2403, 00160 REMAP_OPTION_P5 = 0x2101, 00161 REMAP_OPTION_P6 = 0x2107, 00162 REMAP_OPTION_P7 = 0x2405 00163 }; 00164 00165 enum bno055_interrupt_status_bits_t 00166 { 00167 GYRO_ANY_MOTION = 0x04, 00168 GYRO_HIGH_RATE = 0x08, 00169 ACCEL_HIGH_G = 0x20, 00170 ACCEL_ANY_MOTION = 0x40, 00171 ACCEL_NO_MOTION = 0x80, 00172 }; 00173 00174 enum bno055_page_t 00175 { 00176 PAGE_0 = 0, 00177 PAGE_1 00178 }; 00179 00180 enum bno055_orientation_t 00181 { 00182 WINDOWS = 0x00, 00183 ANDROID = 0x80 00184 }; 00185 00186 enum bno055_temperature_t 00187 { 00188 CELSIUS = 0x00, 00189 FAHRENHEIT = 0x10 00190 }; 00191 00192 enum bno055_euler_t 00193 { 00194 DEGREES = 0x00, 00195 RADIANS = 0x04 00196 }; 00197 00198 enum bno055_gyro_t 00199 { 00200 DEGREE_PER_SEC = 0x00, 00201 RADIAN_PER_SEC = 0x02 00202 }; 00203 00204 enum bno055_acceleration_t 00205 { 00206 ACCELERATION = 0x00, 00207 MILLI_G_FORCE = 0x01 00208 }; 00209 00210 enum bno055_length_t 00211 { 00212 LENGTH_1_BYTES = 1, 00213 LENGTH_2_BYTES = 2, 00214 LENGTH_6_BYTES = 6, 00215 LENGTH_8_BYTES = 8 00216 }; 00217 00218 enum bno055_enable_t 00219 { 00220 DISABLE = 0, 00221 ENABLE = 1, 00222 }; 00223 00224 #endif /* BNO055_DEFINITIONS_H */ 00225 00226
Generated on Tue Jul 19 2022 06:30:21 by
1.7.2