base program for tilt measurement
Dependencies: COG4050_ADT7420 ADXL362
Fork of COG4050_adxl355_adxl357-ver2 by
main.cpp
- Committer:
- vtoffoli
- Date:
- 2018-08-07
- Revision:
- 2:14dc1ec57f3b
- Parent:
- 1:d3aeaa02781d
- Child:
- 3:ee052fdb4331
File content as of revision 2:14dc1ec57f3b:
#include "mbed.h" #include "ADXL355.h" Serial pc(USBTX, USBRX); ADXL355 accl(SPI1_CS0, SPI1_MOSI, SPI1_MISO, SPI1_SCLK); // PMOD port int main(){ pc.baud(9600); pc.printf("SPI ADXL355 and ADXL357 Demo\n"); pc.printf("GET device ID\n"); uint8_t x; while(1) { x=accl.read_reg(accl.DEVID_AD); printf("id = %x \r\n",x); wait(1.0); } } /* const static uint8_t _WRITE_REG_CMD = 0x0A; // write register const static uint8_t _READ_REG_CMD = 0x0B; // read register const static uint8_t _DUMMY_BYTE = 0xAA; SPI adxl362(SPI1_MOSI, SPI1_MISO, SPI1_SCLK); DigitalOut CS(SPI1_CS3); void adxl362_reset(void); int adxl362_GetID(void); void adxl362_write_reg(uint8_t reg, uint8_t data); uint8_t adxl362_read_reg(uint8_t reg); Serial pc(USBTX, USBRX); int main() { pc.baud(9600); pc.printf("SPI ADXL362 Demo\n"); CS = 1; adxl362.lock(); //adxl362_reset(); wait_ms(600); // we need to wait at least 500ms after ADXL362 reset //adxl362.set_mode(ADXL362::MEASUREMENT); uint8_t x,y,z; while(1) { x=adxl362_GetID(); //y=adxl362.scany_u8(); //z=adxl362.scanz_u8(); //printf("x = %x y = %x z = %x\r\n",x,y,z); printf("id = %x \r\n",x); wait_ms(10); } } void adxl362_reset(void) { // format adxl362.format(8,0); adxl362.frequency(5e6); adxl362_write_reg(0x1F, 0x52); } void adxl362_write_reg(uint8_t reg, uint8_t data) { adxl362.format(8, 0); CS = 0; adxl362.write(_WRITE_REG_CMD); adxl362.write(static_cast<uint8_t>(reg)); adxl362.write(static_cast<uint8_t>(data)); CS = 1; } uint8_t adxl362_read_reg(uint8_t reg) { uint8_t ret_val; CS = 0; adxl362.format(8, 0); adxl362.write(_READ_REG_CMD); adxl362.write(reg); ret_val = adxl362.write(_DUMMY_BYTE); CS = 1; return ret_val; } int adxl362_GetID(void) { uint8_t ret_val; ret_val = adxl362_read_reg(0x00); return ret_val; }*/