Moved pl_status to public
Fork of lib_mma8451q by
Diff: mma8451q.h
- Revision:
- 1:778b685c3ad0
- Parent:
- 0:cb0046a629c1
- Child:
- 2:4bc96749141e
--- a/mma8451q.h Wed Mar 18 00:58:44 2015 +0000 +++ b/mma8451q.h Fri May 08 01:31:18 2015 +0000 @@ -10,12 +10,16 @@ #define MMA8451_SYSMOD 0x0b // #define MMA8451_INT_SOURCE 0x0c // #define MMA8451_ID 0x0d +#define MMA8451_PL_STATUS 0x10 +#define MMA8451_FF_MT_SRC 0x16 #define MMA8451_TRANSIENT_CFG 0x1d // transient enable #define MMA8451_TRANSIENT_SRC 0x1e // transient read/clear interrupt #define MMA8451_TRANSIENT_THS 0x1f // transient threshold #define MMA8451_TRANSIENT_COUNT 0x20 // transient debounce +#define MMA8451_PULSE_SRC 0x22 #define MMA8451_CTRL_REG1 0x2a #define MMA8451_CTRL_REG2 0x2b +#define MMA8451_CTRL_REG3 0x2c // interrupt control #define MMA8451_CTRL_REG4 0x2d // interrupt enable #define MMA8451_CTRL_REG5 0x2e // interrupt pin selection @@ -40,7 +44,7 @@ uint8_t SRC_ASLP : 1; // 7 } bits; uint8_t octet; -} int_source_t; +} mma_int_source_t; typedef union { struct { // at 0x1d @@ -109,16 +113,17 @@ class MMA8451Q { public: - MMA8451Q(I2C& r); + MMA8451Q(I2C& r, DigitalIn& int_pin); ~MMA8451Q(); void print_regs(void); void set_active(char); - uint8_t get_active(void); + bool get_active(void); uint8_t read_single(uint8_t addr); void read(uint8_t addr, uint8_t *dst_buf, int length); void write(uint8_t addr, uint8_t data); void transient_detect(void); + void service(void); mma_out_t out; transient_cfg_t transient_cfg; @@ -128,5 +133,6 @@ private: I2C& m_i2c; + DigitalIn& m_int_pin; };