5 #ifndef _ADAFRUIT_MMA8451_H_ 6 #define _ADAFRUIT_MMA8451_H_ 14 #include <Adafruit_I2CDevice.h> 19 #include <Adafruit_Sensor.h> 25 #define MMA8451_DEFAULT_ADDRESS \ 29 #define MMA8451_REG_OUT_X_MSB 0x01 30 #define MMA8451_REG_SYSMOD 0x0B 31 #define MMA8451_REG_WHOAMI 0x0D 32 #define MMA8451_REG_XYZ_DATA_CFG \ 34 #define MMA8451_REG_PL_STATUS \ 37 #define MMA8451_REG_PL_CFG 0x11 38 #define MMA8451_REG_CTRL_REG1 0x2A 39 #define MMA8451_REG_CTRL_REG2 0x2B 40 #define MMA8451_REG_CTRL_REG4 0x2D 41 #define MMA8451_REG_CTRL_REG5 0x2E 45 #define MMA8451_PL_PUF 0 46 #define MMA8451_PL_PUB 1 47 #define MMA8451_PL_PDF 2 48 #define MMA8451_PL_PDB 3 49 #define MMA8451_PL_LRF 4 50 #define MMA8451_PL_LRB 5 51 #define MMA8451_PL_LLF 6 52 #define MMA8451_PL_LLB 7 59 MMA8451_RANGE_8_G = 0b10,
60 MMA8451_RANGE_4_G = 0b01,
61 MMA8451_RANGE_2_G = 0b00
66 MMA8451_DATARATE_800_HZ = 0b000,
67 MMA8451_DATARATE_400_HZ = 0b001,
68 MMA8451_DATARATE_200_HZ = 0b010,
69 MMA8451_DATARATE_100_HZ = 0b011,
70 MMA8451_DATARATE_50_HZ = 0b100,
71 MMA8451_DATARATE_12_5_HZ = 0b101,
72 MMA8451_DATARATE_6_25HZ = 0b110,
73 MMA8451_DATARATE_1_56_HZ = 0b111,
75 MMA8451_DATARATE_MASK = 0b111
80 :
public Adafruit_Sensor
120 bool getEvent(sensors_event_t *event);
155 Adafruit_I2CDevice *i2c_dev = NULL;
Adafruit_MMA8451(int32_t id=-1)
Adafruit MMA8451 object.
Definition: Adafruit_MMA8451.cpp:60
mma8451_dataRate_t getDataRate(void)
Gets the data rate for the MMA8451 (controls power consumption)
Definition: Adafruit_MMA8451.cpp:194
void setRange(mma8451_range_t range)
Sets the g range for the accelerometer.
Definition: Adafruit_MMA8451.cpp:159
uint8_t readRegister8(uint8_t reg)
Reads from 8 bit register.
Definition: Adafruit_MMA8451.cpp:49
#define USE_SENSOR
without sensor library.
Definition: Adafruit_MMA8451.h:16
mma8451_dataRate_t
Definition: Adafruit_MMA8451.h:65
mma8451_range_t
Different range settings.
Definition: Adafruit_MMA8451.h:58
#define MMA8451_DEFAULT_ADDRESS
Default MMA8451 I2C address, if A is GND, its 0x1C.
Definition: Adafruit_MMA8451.h:25
void read()
Reads data from the sensor.
Definition: Adafruit_MMA8451.cpp:112
void getSensor(sensor_t *sensor)
Gets the sensor_t data.
Definition: Adafruit_MMA8451.cpp:229
uint8_t getOrientation(void)
Read the orientation: Portrait/Landscape + Up/Down/Left/Right + Front/Back.
Definition: Adafruit_MMA8451.cpp:150
bool begin(uint8_t addr=MMA8451_DEFAULT_ADDRESS, TwoWire *theWire=&Wire)
Connects with the MMA8451.
Definition: Adafruit_MMA8451.cpp:67
Adafruit MMA8451 compount.
Definition: Adafruit_MMA8451.h:78
mma8451_range_t getRange(void)
Gets the g range for the accelerometer.
Definition: Adafruit_MMA8451.cpp:171
void setDataRate(mma8451_dataRate_t dataRate)
Sets the data rate for the MMA8451 (controls power consumption)
Definition: Adafruit_MMA8451.cpp:181
bool getEvent(sensors_event_t *event)
Gets the most recent sensor event.
Definition: Adafruit_MMA8451.cpp:205
void writeRegister8(uint8_t reg, uint8_t value)
Writes to 8 bit register.
Definition: Adafruit_MMA8451.cpp:39