PLANET-Q ADXL375 Library

PQADXL375.h

Committer:
tanahashi
Date:
2019-12-17
Revision:
0:83a20280ea3a
Child:
1:7fdf6d2e8a9b

File content as of revision 0:83a20280ea3a:

#ifndef PQADXL375_H
#define PQADXL375_H

#define ADXL375_ADDR_HIGH 0b0011101<<1
#define ADXL375_ADDR_LOW 0b1010011<<1

#define ADXL375_DEVID 0x00
#define ADXL375_BW_RATE 0x2C
#define ADXL375_POWER_CTL 0x2D
#define ADXL375_DATAX0 0x32
#define ADXL375_LSB 0.049

class ADXL375
{
public:
    typedef enum {
        ALT_ADDRESS_HIGH = ADXL375_ADDR_HIGH,
        ALT_ADDRESS_LOW = ADXL375_ADDR_LOW
    } ALT_ADDRESS_t;
private:
    I2C *_i2c;
    int _addr;
    char cmd[2];
    char buff[6];
    float high_accel_offset[3];
public:   
    ADXL375(I2C &i2c, ALT_ADDRESS_t ALT_ADDRESS);
    void begin();
    bool test();
    void offset(float *high_accel);
    void read(float *high_accel);
};

#endif