Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ADXL345.h
00001 #ifndef ADXL345_H 00002 #define ADXL345_H 00003 00004 #include "mbed.h" 00005 00006 #define ADXL345_DEVID_REG 0x00 00007 #define ADXL345_THRESH_TAP_REG 0x1D 00008 #define ADXL345_OFSX_REG 0x1E 00009 #define ADXL345_OFSY_REG 0x1F 00010 #define ADXL345_OFSZ_REG 0x20 00011 #define ADXL345_DUR_REG 0x21 00012 #define ADXL345_LATENT_REG 0x22 00013 #define ADXL345_WINDOW_REG 0x23 00014 #define ADXL345_THRESH_ACT_REG 0x24 00015 #define ADXL345_THRESH_INACT_REG 0x25 00016 #define ADXL345_TIME_INACT_REG 0x26 00017 #define ADXL345_ACT_INACT_CTL_REG 0x27 00018 #define ADXL345_THRESH_FF_REG 0x28 00019 #define ADXL345_TIME_FF_REG 0x29 00020 #define ADXL345_TAP_AXES_REG 0x2A 00021 #define ADXL345_ACT_TAP_STATUS_REG 0x2B 00022 #define ADXL345_BW_RATE_REG 0x2C 00023 #define ADXL345_POWER_CTL_REG 0x2D 00024 #define ADXL345_INT_ENABLE_REG 0x2E 00025 #define ADXL345_INT_MAP_REG 0x2F 00026 #define ADXL345_INT_SOURCE_REG 0x30 00027 #define ADXL345_DATA_FORMAT_REG 0x31 00028 #define ADXL345_DATAX0_REG 0x32 00029 #define ADXL345_DATAX1_REG 0x33 00030 #define ADXL345_DATAY0_REG 0x34 00031 #define ADXL345_DATAY1_REG 0x35 00032 #define ADXL345_DATAZ0_REG 0x36 00033 #define ADXL345_DATAZ1_REG 0x37 00034 #define ADXL345_FIFO_CTL 0x38 00035 #define ADXL345_FIFO_STATUS 0x39 00036 00037 //Data rate codes. 00038 #define ADXL345_3200HZ 0x0F 00039 #define ADXL345_1600HZ 0x0E 00040 #define ADXL345_800HZ 0x0D 00041 #define ADXL345_400HZ 0x0C 00042 #define ADXL345_200HZ 0x0B 00043 #define ADXL345_100HZ 0x0A 00044 #define ADXL345_50HZ 0x09 00045 #define ADXL345_25HZ 0x08 00046 #define ADXL345_12HZ5 0x07 00047 #define ADXL345_6HZ25 0x06 00048 00049 #define ADXL345_SPI_READ 0x80 00050 #define ADXL345_SPI_WRITE 0x00 00051 #define ADXL345_MULTI_BYTE 0x60 00052 00053 #define ADXL345_X 0x00 00054 #define ADXL345_Y 0x01 00055 #define ADXL345_Z 0x02 00056 00057 class ADXL345 00058 { 00059 public: 00060 ADXL345(PinName mosi, PinName miso, PinName sck, PinName cs); 00061 00062 void setDataRate(int dataRate); 00063 void getAxes(int* axes); 00064 00065 float getX(); 00066 float getY(); 00067 float getZ(); 00068 00069 private: 00070 virtual void getData(int* dataVector, int vectorSize); 00071 SPI _spi; 00072 DigitalOut _ncs; 00073 00074 int oneByteRead(int address); 00075 void oneByteWrite(int address, char data); 00076 void multiByteRead(int startAddress, char* buffer, int size); 00077 void multiByteWrite(int startAddress, char* buffer, int size); 00078 00079 }; 00080 00081 #endif
Generated on Tue Jul 19 2022 01:26:58 by
