#![allow(non_upper_case_globals)]
#[cfg(feature = "out_f32")]
use num_derive::FromPrimitive;
#[allow(dead_code)]
#[allow(non_camel_case_types)]
#[allow(clippy::upper_case_acronyms)]
#[derive(Copy, Clone)]
pub enum Register {
OUT_T_L = 0x0D, OUT_T_H = 0x0E, WHO_AM_I = 0x0F, CTRL1 = 0x20, CTRL2 = 0x21, CTRL3 = 0x22, CTRL4_INT1_PAD_CTRL = 0x23, CTRL5_INT2_PAD_CTRL = 0x24, CTRL6 = 0x25, OUT_T = 0x26, STATUS = 0x27, OUT_X_L = 0x28, OUT_X_H = 0x29, OUT_Y_L = 0x2A, OUT_Y_H = 0x2B, OUT_Z_L = 0x2C, OUT_Z_H = 0x2D, FIFO_CTRL = 0x2E, FIFO_SAMPLES = 0x2F, TAP_THS_X = 0x30, TAP_THS_Y = 0x31, TAP_THS_Z = 0x32, INT_DUR = 0x33, WAKE_UP_THS = 0x34, WAKE_UP_DUR = 0x35, FREE_FALL = 0x36, STATUS_DUP = 0x37, WAKE_UP_SRC = 0x38, TAP_SRC = 0x39, SIXD_SRC = 0x3A, ALL_INT_SRC = 0x3B, X_OFS_USR = 0x3C, Y_OFS_USR = 0x3D, Z_OFS_USR = 0x3E, CTRL7 = 0x3F, }
impl Register {
pub fn addr(self) -> u8 {
self as u8
}
}
#[derive(Copy, Clone)]
#[cfg_attr(feature = "out_f32", derive(FromPrimitive))]
pub enum OutputDataRate {
PowerDown = 0x00, Hp12Hz5Lp1Hz6 = 0x01, Hp12Hz5Lp12Hz5 = 0x02, Hp25HzLp25Hz = 0x03, Hp50HzLp50Hz = 0x04, Hp100HzLp100Hz = 0x05, Hp200HzLp200Hz = 0x06, Hp400HzLp200Hz = 0x07, Hp800HzLp200Hz = 0x08, Hp1600HzLp200Hz = 0x09, }
#[derive(Copy, Clone, PartialEq, Eq)]
pub enum OperatingMode {
LowPower = 0x00, HighPerformance = 0x01, SingleOnDemand = 0x02, }
#[derive(Copy, Clone)]
pub enum LowPowerMode {
Mode1 = 0x00, Mode2 = 0x01, Mode3 = 0x02, Mode4 = 0x03, }
#[derive(Copy, Clone)]
pub enum FullScaleSelection {
PlusMinus2G = 0x00, PlusMinus4G = 0x01,
PlusMinus8G = 0x02,
PlusMinus16G = 0x03,
}
pub const DEVICE_ID: u8 = 0b0100_0100;