Skyward boardcore
Loading...
Searching...
No Matches
BMX160Defs.h File Reference
#include <cstdint>
Include dependency graph for BMX160Defs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Boardcore::BMX160Defs::MagRaw
 Raw struct, read directly from device. More...
 
struct  Boardcore::BMX160Defs::GyrRaw
 Raw struct, read directly from device. More...
 
struct  Boardcore::BMX160Defs::AccRaw
 Raw struct, read directly from device. More...
 
struct  Boardcore::BMX160Defs::TrimData
 Struct holding trim data used for magnetomer compensation. More...
 

Namespaces

namespace  Boardcore
 This file includes all the types the logdecoder script will decode.
 
namespace  Boardcore::BMX160Defs
 Various BMX160 register/enums definitions.
 

Enumerations

enum  Boardcore::BMX160Defs::SELF_TEST { Boardcore::BMX160Defs::SELF_TEST_GYR = 0x10 , Boardcore::BMX160Defs::SELF_TEST_ACC_AMP = 0x08 , Boardcore::BMX160Defs::SELF_TEST_ACC_SIGN = 0x04 , Boardcore::BMX160Defs::SELF_TEST_ACC_ENABLE = 0x01 }
 Values for SELF_TEST register. More...
 
enum  Boardcore::BMX160Defs::FIFO_CONFIG_1 { Boardcore::BMX160Defs::FIFO_CONFIG_1_ACC_EN = 0x80 , Boardcore::BMX160Defs::FIFO_CONFIG_1_GYR_EN = 0x40 , Boardcore::BMX160Defs::FIFO_CONFIG_1_MAG_EN = 0x20 , Boardcore::BMX160Defs::FIFO_CONFIG_1_HEADER_EN = 0x10 }
 Values for FIFO_CONFIG_1 register. More...
 
enum  Boardcore::BMX160Defs::FIFO_DOWNS { Boardcore::BMX160Defs::FIFO_DOWNS_ACC_FILT_DATA = 0x80 , Boardcore::BMX160Defs::FIFO_DOWNS_GYR_FILT_DATA = 0x08 }
 Values for FIFO_DOWNS register. More...
 
enum  Boardcore::BMX160Defs::INT_OUT_CTRL { Boardcore::BMX160Defs::INT_OUT_CTRL_INT2_OUT_EN = 0x80 , Boardcore::BMX160Defs::INT_OUT_CTRL_INT2_OD = 0x40 , Boardcore::BMX160Defs::INT_OUT_CTRL_INT1_OUT_EN = 0x08 , Boardcore::BMX160Defs::INT_OUT_CTRL_INT1_OD = 0x04 }
 Values for INT_OUT_CTRL register. More...
 
enum  Boardcore::BMX160Defs::INT_MAP_1 { Boardcore::BMX160Defs::INT_MAP_1_INT_1_FIFO_WATERMARK = 0x40 , Boardcore::BMX160Defs::INT_MAP_1_INT_1_FIFO_FULL = 0x20 , Boardcore::BMX160Defs::INT_MAP_1_INT_2_FIFO_WATERMARK = 0x04 , Boardcore::BMX160Defs::INT_MAP_1_INT_2_FIFO_FULL = 0x02 }
 Values for INT_MAP_1 register. More...
 
enum  Boardcore::BMX160Defs::INT_EN_1 { Boardcore::BMX160Defs::INT_EN_1_FIFO_WATERMARK = 0x40 , Boardcore::BMX160Defs::INT_EN_1_FIFO_FULL = 0x20 }
 Values for INT_EN_1 register. More...
 
enum  Boardcore::BMX160Defs::MAG_IF_0 {
  Boardcore::BMX160Defs::MAG_IF_0_MANUAL = 0x80 , Boardcore::BMX160Defs::MAG_IF_0_BURST_1 = 0x00 , Boardcore::BMX160Defs::MAG_IF_0_BURST_2 = 0x01 , Boardcore::BMX160Defs::MAG_IF_0_BURST_6 = 0x02 ,
  Boardcore::BMX160Defs::MAG_IF_0_BURST_8 = 0x03
}
 Values for MAG_IF_0 register. More...
 
enum  Boardcore::BMX160Defs::FIFO_HEADER {
  Boardcore::BMX160Defs::FIFO_HEADER_MODE_REGULAR = 0x80 , Boardcore::BMX160Defs::FIFO_HEADER_MODE_CONTROL = 0x40 , Boardcore::BMX160Defs::FIFO_HEADER_PARM_ACC_DATA = 0x04 , Boardcore::BMX160Defs::FIFO_HEADER_PARM_GYR_DATA = 0x08 ,
  Boardcore::BMX160Defs::FIFO_HEADER_PARM_MAG_DATA = 0x10 , Boardcore::BMX160Defs::FIFO_HEADER_PARM_SKIP = 0x00 , Boardcore::BMX160Defs::FIFO_HEADER_PARM_SENSORTIME = 0x04 , Boardcore::BMX160Defs::FIFO_HEADER_PARM_CONFIG = 0x08
}
 Values for fifo header byte. More...
 
enum  Boardcore::BMX160Defs::MAG_RESET { Boardcore::BMX160Defs::MAG_RESET_POWER_CONTROL = 0x01 }
 Values for mag RESET. More...
 
enum  Boardcore::BMX160Defs::MAG_CONTROL { Boardcore::BMX160Defs::MAG_CONTROL_SELF_TEST = 0x01 , Boardcore::BMX160Defs::MAG_CONTROL_NORMAL = 0x00 , Boardcore::BMX160Defs::MAG_CONTROL_FORCED = 0x02 , Boardcore::BMX160Defs::MAG_CONTROL_SLEEP = 0x06 }
 Values for mag CONTROL. More...
 
enum class  Boardcore::BMX160Defs::Cmd {
  Boardcore::BMX160Defs::START_FOC = 0x03 , Boardcore::BMX160Defs::ACC_SET_PMU_MODE = 0x10 , Boardcore::BMX160Defs::GYR_SET_PMU_MODE = 0x14 , Boardcore::BMX160Defs::MAG_IF_SET_PMU_MODE = 0x18 ,
  Boardcore::BMX160Defs::PROG_NVM = 0xA0 , Boardcore::BMX160Defs::FIFO_FLUSH = 0xB0 , Boardcore::BMX160Defs::INT_RESET = 0xB1 , Boardcore::BMX160Defs::SOFTRESET = 0xB6 ,
  Boardcore::BMX160Defs::STEP_CNT_CLR = 0xB2
}
 
enum class  Boardcore::BMX160Defs::PowerMode { Boardcore::BMX160Defs::SUSPEND = 0x00 , Boardcore::BMX160Defs::NORMAL = 0x01 , Boardcore::BMX160Defs::LOW_POWER = 0x02 , Boardcore::BMX160Defs::FAST_START_UP = 0x03 }
 
enum  Boardcore::BMX160Defs::Registers {
  Boardcore::BMX160Defs::REG_CHIPID = 0x00 , Boardcore::BMX160Defs::REG_ERR = 0x02 , Boardcore::BMX160Defs::REG_PMU_STATUS = 0x03 , Boardcore::BMX160Defs::REG_DATA = 0x04 ,
  Boardcore::BMX160Defs::REG_DATA_MAG = 0x04 , Boardcore::BMX160Defs::REG_DATA_GYR = 0x0C , Boardcore::BMX160Defs::REG_DATA_ACC = 0x12 , Boardcore::BMX160Defs::REG_SENSORTIME_0 = 0x18 ,
  Boardcore::BMX160Defs::REG_SENSORTIME_1 = 0x19 , Boardcore::BMX160Defs::REG_SENSORTIME_2 = 0x1A , Boardcore::BMX160Defs::REG_STATUS = 0x1B , Boardcore::BMX160Defs::REG_TEMPERATURE_0 = 0x20 ,
  Boardcore::BMX160Defs::REG_TEMPERATURE_1 = 0x21 , Boardcore::BMX160Defs::REG_FIFO_LENGTH_0 = 0x22 , Boardcore::BMX160Defs::REG_FIFO_LENGTH_1 = 0x23 , Boardcore::BMX160Defs::REG_FIFO_DATA = 0x24 ,
  Boardcore::BMX160Defs::REG_ACC_CONF = 0x40 , Boardcore::BMX160Defs::REG_ACC_RANGE = 0x41 , Boardcore::BMX160Defs::REG_GYR_CONF = 0x42 , Boardcore::BMX160Defs::REG_GYR_RANGE = 0x43 ,
  Boardcore::BMX160Defs::REG_MAG_CONF = 0x44 , Boardcore::BMX160Defs::REG_FIFO_DOWNS = 0x45 , Boardcore::BMX160Defs::REG_FIFO_CONFIG_0 = 0x46 , Boardcore::BMX160Defs::REG_FIFO_CONFIG_1 = 0x47 ,
  Boardcore::BMX160Defs::REG_MAG_IF_0 = 0x4C , Boardcore::BMX160Defs::REG_MAG_IF_1 = 0x4D , Boardcore::BMX160Defs::REG_MAG_IF_2 = 0x4E , Boardcore::BMX160Defs::REG_MAG_IF_3 = 0x4F ,
  Boardcore::BMX160Defs::REG_INT_EN_0 = 0x50 , Boardcore::BMX160Defs::REG_INT_EN_1 = 0x51 , Boardcore::BMX160Defs::REG_INT_EN_2 = 0x52 , Boardcore::BMX160Defs::REG_INT_OUT_CTRL = 0x53 ,
  Boardcore::BMX160Defs::REG_INT_LATCH = 0x54 , Boardcore::BMX160Defs::REG_INT_MAP_0 = 0x55 , Boardcore::BMX160Defs::REG_INT_MAP_1 = 0x56 , Boardcore::BMX160Defs::REG_INT_MAP_2 = 0x57 ,
  Boardcore::BMX160Defs::REG_FOC_CONF = 0x69 , Boardcore::BMX160Defs::REG_CONF = 0x6A , Boardcore::BMX160Defs::REG_IF_CONF = 0x6B , Boardcore::BMX160Defs::REG_SELF_TEST = 0x6D ,
  Boardcore::BMX160Defs::REG_CMD = 0x7E , Boardcore::BMX160Defs::REG_COMM_TEST = 0x7F
}
 Internal register definitions. More...
 
enum  Boardcore::BMX160Defs::MagnetometerRegisters {
  Boardcore::BMX160Defs::MAG_REG_DATA = 0x42 , Boardcore::BMX160Defs::MAG_REG_RESET = 0x4B , Boardcore::BMX160Defs::MAG_REG_CONTROL = 0x4C , Boardcore::BMX160Defs::MAG_REG_REPXY = 0x51 ,
  Boardcore::BMX160Defs::MAG_REG_REPZ = 0x52 , Boardcore::BMX160Defs::MAG_REG_DIG_X1 = 0x5D , Boardcore::BMX160Defs::MAG_REG_DIG_Y1 = 0x5E , Boardcore::BMX160Defs::MAG_REG_DIG_Z4_0 = 0x62 ,
  Boardcore::BMX160Defs::MAG_REG_DIG_Z4_1 = 0x63 , Boardcore::BMX160Defs::MAG_REG_DIG_X2 = 0x64 , Boardcore::BMX160Defs::MAG_REG_DIG_Y2 = 0x65 , Boardcore::BMX160Defs::MAG_REG_DIG_Z2_0 = 0x68 ,
  Boardcore::BMX160Defs::MAG_REG_DIG_Z2_1 = 0x69 , Boardcore::BMX160Defs::MAG_REG_DIG_Z1_0 = 0x6A , Boardcore::BMX160Defs::MAG_REG_DIG_Z1_1 = 0x6B , Boardcore::BMX160Defs::MAG_REG_DIG_XYZ1_0 = 0x6C ,
  Boardcore::BMX160Defs::MAG_REG_DIG_XYZ1_1 = 0x6D , Boardcore::BMX160Defs::MAG_REG_DIG_Z3_0 = 0x6E , Boardcore::BMX160Defs::MAG_REG_DIG_Z3_1 = 0x6F , Boardcore::BMX160Defs::MAG_REG_DIG_XY2 = 0x70 ,
  Boardcore::BMX160Defs::MAG_REG_DIG_XY1 = 0x71
}
 Internal magnetometer definitions. More...
 

Variables

const uint16_t Boardcore::BMX160Defs::FIFO_SIZE = 200
 Driver's fifo size expressed as number of samples.
 
const float Boardcore::BMX160Defs::TEMP_SENSIBILITY = 64.0f / 32768.0f
 Temperature sensor sensibility.
 
const float Boardcore::BMX160Defs::MAG_SENSIBILITY = 0.003
 Magnetometer fixed sensibility.
 
const uint8_t Boardcore::BMX160Defs::CHIPID = 0xD8
 BMX160 Chip Id.
 
const uint8_t Boardcore::BMX160Defs::FIFO_CONFIG_1_DEFAULT = 0x10
 Default value for FIFO_CONFIG_1.
 
const uint8_t Boardcore::BMX160Defs::PMU_STATUS_ALL_MASK = 0x03 | 0x0C | 0x30
 Mask for PMU_STATUS register (Power Mode Unit).
 
const uint8_t Boardcore::BMX160Defs::PMU_STATUS_ALL_NORMAL = 0x01 | 0x04 | 0x10
 Mask for PMU_STATUS register, normal status for all sensors.
 
const uint8_t Boardcore::BMX160Defs::FIFO_STOP_BYTE = 128
 This value indicates that the data in the FIFO stops prematurely.
 
const uint8_t Boardcore::BMX160Defs::FIFO_HEADER_MODE_MASK = 0xC0
 Mask for fifo header mode.
 
const uint8_t Boardcore::BMX160Defs::FIFO_HEADER_PARM_MASK = 0x3C
 Mask for fifo header parm.
 
const uint8_t Boardcore::BMX160Defs::FIFO_HEADER_EXT_MASK = 0x03
 Mask for fifo header ext.