27 #ifndef ADAFRUIT_CPLAY_LIS3DH_H    28 #define ADAFRUIT_CPLAY_LIS3DH_H    35 #include "Adafruit_CPlay_Sensor.h"    38 #define LIS3DH_DEFAULT_ADDRESS (0x18) // if SDO/SA0 is 3V, its 0x19    59 #define LIS3DH_REG_STATUS1 0x07    60 #define LIS3DH_REG_OUTADC1_L 0x08     61 #define LIS3DH_REG_OUTADC1_H 0x09     62 #define LIS3DH_REG_OUTADC2_L 0x0A     63 #define LIS3DH_REG_OUTADC2_H 0x0B     64 #define LIS3DH_REG_OUTADC3_L 0x0C     65 #define LIS3DH_REG_OUTADC3_H 0x0D     66 #define LIS3DH_REG_INTCOUNT                                                    \    68 #define LIS3DH_REG_WHOAMI                                                      \    78 #define LIS3DH_REG_TEMPCFG 0x1F    90 #define LIS3DH_REG_CTRL1 0x20   105 #define LIS3DH_REG_CTRL2 0x21   124 #define LIS3DH_REG_CTRL3 0x22   141 #define LIS3DH_REG_CTRL4 0x23   154 #define LIS3DH_REG_CTRL5 0x24   160 #define LIS3DH_REG_CTRL6 0x25   161 #define LIS3DH_REG_REFERENCE 0x26    181 #define LIS3DH_REG_STATUS2 0x27   182 #define LIS3DH_REG_OUT_X_L 0x28    183 #define LIS3DH_REG_OUT_X_H 0x29    184 #define LIS3DH_REG_OUT_Y_L 0x2A    185 #define LIS3DH_REG_OUT_Y_H 0x2B    186 #define LIS3DH_REG_OUT_Z_L 0x2C    187 #define LIS3DH_REG_OUT_Z_H 0x2D    197 #define LIS3DH_REG_FIFOCTRL 0x2E   198 #define LIS3DH_REG_FIFOSRC                                                     \   221 #define LIS3DH_REG_INT1CFG 0x30   240 #define LIS3DH_REG_INT1SRC 0x31   241 #define LIS3DH_REG_INT1THS                                                     \   243 #define LIS3DH_REG_INT1DUR                                                     \   265 #define LIS3DH_REG_CLICKCFG 0x38   283 #define LIS3DH_REG_CLICKSRC 0x39   289 #define LIS3DH_REG_CLICKTHS 0x3A   295 #define LIS3DH_REG_TIMELIMIT 0x3B   301 #define LIS3DH_REG_TIMELATENCY 0x3C   307 #define LIS3DH_REG_TIMEWINDOW 0x3D   311   LIS3DH_RANGE_16_G = 0b11, 
   312   LIS3DH_RANGE_8_G = 0b10,  
   313   LIS3DH_RANGE_4_G = 0b01,  
   314   LIS3DH_RANGE_2_G = 0b00   
   326   LIS3DH_DATARATE_400_HZ = 0b0111, 
   327   LIS3DH_DATARATE_200_HZ = 0b0110, 
   328   LIS3DH_DATARATE_100_HZ = 0b0101, 
   329   LIS3DH_DATARATE_50_HZ = 0b0100,  
   330   LIS3DH_DATARATE_25_HZ = 0b0011,  
   331   LIS3DH_DATARATE_10_HZ = 0b0010,  
   332   LIS3DH_DATARATE_1_HZ = 0b0001,   
   333   LIS3DH_DATARATE_POWERDOWN = 0,
   334   LIS3DH_DATARATE_LOWPOWER_1K6HZ = 0b1000,
   335   LIS3DH_DATARATE_LOWPOWER_5KHZ = 0b1001,
   366   void setClick(uint8_t c, uint8_t clickthresh, uint8_t timelimit = 10,
   367                 uint8_t timelatency = 20, uint8_t timewindow = 255);
   379   uint8_t 
spixfer(uint8_t x = 0xFF);
   384   TwoWire *I2Cinterface;
   385   SPIClass *SPIinterface;
   389   int8_t _cs, _mosi, _miso, _sck;
 Adafruit_CPlay_LIS3DH(TwoWire *Wi=&Wire)
Instantiates a new LIS3DH class in I2C. 
Definition: Adafruit_CPlay_LIS3DH.cpp:34
 
Sensor API class for CircuitPlayground board. 
Definition: Adafruit_CPlay_Sensor.h:143
 
bool begin(uint8_t addr=LIS3DH_DEFAULT_ADDRESS, uint8_t nWAI=0x33)
Setups the HW (reads coefficients values, etc.) 
Definition: Adafruit_CPlay_LIS3DH.cpp:83
 
lis3dh_dataRate_t getDataRate(void)
Gets the data rate for the LIS3DH (controls power consumption) 
Definition: Adafruit_CPlay_LIS3DH.cpp:353
 
float y_g
Definition: Adafruit_CPlay_LIS3DH.h:376
 
Class that stores state and functions for interacting with Adafruit_LIS3DH. 
Definition: Adafruit_CPlay_LIS3DH.h:344
 
void getSensor(sensor_t *sensor)
Gets the sensor_t data. 
Definition: Adafruit_CPlay_LIS3DH.cpp:386
 
uint8_t readRegister8(uint8_t reg)
Reads 8-bits from the specified register. 
Definition: Adafruit_CPlay_LIS3DH.cpp:462
 
uint8_t getClick(void)
Get uint8_t for single or double click. 
Definition: Adafruit_CPlay_LIS3DH.cpp:312
 
bool getEvent(sensors_event_t *event)
Gets the most recent sensor event. 
Definition: Adafruit_CPlay_LIS3DH.cpp:363
 
Definition: Adafruit_CPlay_Sensor.h:126
 
void setRange(lis3dh_range_t range)
Sets the g range for the accelerometer. 
Definition: Adafruit_CPlay_LIS3DH.cpp:321
 
float x_g
Definition: Adafruit_CPlay_LIS3DH.h:375
 
lis3dh_axis_t
Definition: Adafruit_CPlay_LIS3DH.h:319
 
int16_t z
Definition: Adafruit_CPlay_LIS3DH.h:373
 
int16_t readADC(uint8_t a)
Read the auxilary ADC. 
Definition: Adafruit_CPlay_LIS3DH.cpp:229
 
lis3dh_dataRate_t
Definition: Adafruit_CPlay_LIS3DH.h:326
 
uint8_t getDeviceID()
Get Device ID from LIS3DH_REG_WHOAMI. 
Definition: Adafruit_CPlay_LIS3DH.cpp:157
 
int16_t y
Definition: Adafruit_CPlay_LIS3DH.h:372
 
#define LIS3DH_DEFAULT_ADDRESS
Definition: Adafruit_CPlay_LIS3DH.h:38
 
void writeRegister8(uint8_t reg, uint8_t value)
Writes 8-bits to the specified destination register. 
Definition: Adafruit_CPlay_LIS3DH.cpp:435
 
Definition: Adafruit_CPlay_Sensor.h:99
 
bool haveNewData()
Check to see if new data available. 
Definition: Adafruit_CPlay_LIS3DH.cpp:165
 
int16_t x
Definition: Adafruit_CPlay_LIS3DH.h:371
 
void read()
Reads x y z values at once. 
Definition: Adafruit_CPlay_LIS3DH.cpp:173
 
uint8_t spixfer(uint8_t x=0xFF)
Low level SPI. 
Definition: Adafruit_CPlay_LIS3DH.cpp:408
 
float z_g
Definition: Adafruit_CPlay_LIS3DH.h:377
 
void setClick(uint8_t c, uint8_t clickthresh, uint8_t timelimit=10, uint8_t timelatency=20, uint8_t timewindow=255)
Set INT to output for single or double click. 
Definition: Adafruit_CPlay_LIS3DH.cpp:281
 
lis3dh_range_t
Definition: Adafruit_CPlay_LIS3DH.h:311
 
void setDataRate(lis3dh_dataRate_t dataRate)
Sets the data rate for the LIS3DH (controls power consumption) 
Definition: Adafruit_CPlay_LIS3DH.cpp:342
 
lis3dh_range_t getRange(void)
Gets the g range for the accelerometer. 
Definition: Adafruit_CPlay_LIS3DH.cpp:332