add FIFO functions.
Revision 2:22b1fed9a95d, committed 2021-06-24
- Comitter:
- ohtsuka
- Date:
- Thu Jun 24 03:00:40 2021 +0000
- Parent:
- 1:91bcb4ada70c
- Commit message:
- add FIFO functions.
Changed in this revision
ADXL375_i2c.cpp | Show annotated file Show diff for this revision Revisions of this file |
ADXL375_i2c.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/ADXL375_i2c.cpp Thu Jun 24 01:35:15 2021 +0000 +++ b/ADXL375_i2c.cpp Thu Jun 24 03:00:40 2021 +0000 @@ -99,9 +99,22 @@ singleByteWrite(ADXL375_BW_RATE_REG, buff); } -void ADXL375_i2c :: setFIFO_MODE(int fifo_status){ +void ADXL375_i2c :: setFifoMode(bool is_fifo_on){ char buff = singleByteRead(ADXL375_FIFO_CTL); - buff &= 0x10; - buff |= rate; - singleByteWrite(ADXL375_BW_RATE_REG, buff); + buff &= 0x3F; + if(is_fifo_on == true) { + buff |= 0x40; + } + singleByteWrite(ADXL375_FIFO_CTL, buff); + + printf("FIFO_CTL reg. = %2X\n", singleByteRead(ADXL375_FIFO_CTL)); +} + +int ADXL375_i2c :: getFifoEntries(void){ + char buff = singleByteRead(ADXL375_FIFO_STATUS); +// printf("ADXL375_FIFO_STATUS reg. = %02X\n", buff); + buff &= 0x3F; +// printf("ADXL375_FIFO_STATUS reg(Entries) = %d\n", buff); + + return (int)buff; } \ No newline at end of file
--- a/ADXL375_i2c.h Thu Jun 24 01:35:15 2021 +0000 +++ b/ADXL375_i2c.h Thu Jun 24 03:00:40 2021 +0000 @@ -83,6 +83,8 @@ void setDataRate(char rate); + void setFifoMode(bool is_fifo_on); + int getFifoEntries(void); private: I2C *i2c; @@ -94,8 +96,7 @@ char singleByteRead(char address); void singleByteWrite(char address, char data); - void multiByteRead(char startAddress, char* ptr_output, int size); - + void multiByteRead(char startAddress, char* ptr_output, int size); }; #endif \ No newline at end of file