4#include <Adafruit_MMA8451.h>
6#include "../I2CDevice.h"
7#include "Loom_Manager.h"
10#define CTRL_REG3 0b11000000
11#define CTRL_REG4 0b00100001
12#define CTRL_REG5 0b00100000
13#define REG_TRANS_CFG 0b00001110
14#define REG_TRANS_CT 0b00000000
17#define MMA8451_REG_CTRL_REG3 0x2C
18#define MMA8451_REG_TRANSIENT_CFG 0x1D
19#define MMA8451_REG_TRANSIENT_THS 0x1F
20#define MMA8451_REG_TRANSIENT_CT 0x20
21#define MMA8451_REG_TRANSIENT_SRC 0x1E
24using InterruptCallbackFunction = void (*)();
33 void power_down()
override {};
37 void measure()
override;
38 void initialize()
override;
39 void package()
override;
40 void power_up()
override;
53 mma8451_range_t range = MMA8451_RANGE_2_G,
54 int interruptPin = -1,
55 uint8_t sensitivity = 0x10
81 void setISR(InterruptCallbackFunction isr) { this->isr = isr; };
83 static void IMU_ISR();
91 mma8451_range_t range;
93 uint8_t sensitivity = 0x10;
95 static uint8_t interruptPin;
96 static InterruptCallbackFunction isr;
Definition: I2CDevice.h:6
Definition: Loom_MMA8451.h:31
void setISR(InterruptCallbackFunction isr)
Definition: Loom_MMA8451.h:81
float getAccelY()
Definition: Loom_MMA8451.h:66
float getAccelZ()
Definition: Loom_MMA8451.h:71
float getAccelX()
Definition: Loom_MMA8451.h:61
uint8_t getOrientation()
Definition: Loom_MMA8451.h:76
Definition: Loom_Manager.h:18