Mini Project 10: Displaying stuff from day 7
Dependencies: DmTouch_UniGraphic UniGraphic mbed
Diff: acceler_sensor.cpp
- Revision:
- 13:b3637adeaa2a
- Parent:
- 9:0f4c86e7218a
- Child:
- 14:682bdfcff46a
--- a/acceler_sensor.cpp Tue Jan 17 20:55:08 2017 +0000 +++ b/acceler_sensor.cpp Tue Jan 17 23:34:00 2017 +0000 @@ -1,10 +1,11 @@ #include "acceler_sensor.h" DigitalOut led3(LED3); +const int address = 0xA6; void configure_acceleration(void){ - const int address = 0x53 << 1; // set 'address' to - /*i2c_port.start(); + // set 'address' to + i2c_port.start(); i2c_port.write(address); i2c_port.write(0x1D); //to set the Tap Threshold i2c_port.write(0x50 << 2); @@ -52,7 +53,7 @@ i2c_port.write(0x2F);//set interupt map i2c_port.write(0x20|0x40); i2c_port.stop(); - wait(0.01); all the above should confige tap functions for accel sensor, so it's unneccesary*/ + wait(0.01); //all the above should confige tap functions for accel sensor, so it's unneccesary i2c_port.start(); i2c_port.write(address); @@ -60,29 +61,31 @@ i2c_port.write(0x2D);//power control register i2c_port.write(0x08);//measure mode i2c_port.stop(); - wait(0.01); } -void getacceleration (void){ - /*const int address = 0x53 << 1; +void getacceleration (float* data){ char buffer[6]; + char idontknow[1]; + idontknow[0] = 0x32; int16_t rawdata[3]; - i2c_port.write(address); + i2c_port.write(address,idontknow,1); + i2c_port.read(address,buffer,6); + /*i2c_port.write(address); i2c_port.write(0x80|0x40|0x32); for(int i=0; i<= 5; i++) { - buffer[i]=12c.write(0x00); + buffer[i]=i2c_port.write(0x00); //pc.printf("x = %+1.2fg\t", buffer[i]); - } - cs=1; + }*/ rawdata[0] = buffer[1]<<8 | buffer[0]; rawdata[1] = buffer[3]<<8 | buffer[2]; rawdata[2] = buffer[5]<<8 | buffer[4]; - data[0] = rawdata[0]; - data[1] = rawdata[1]; - float x = data[0]; - float y = data[1]; - pc.printf("x = %+1.2fg\t y = %+1.2fg\n\r", rawdata[0],rawdata[1]); //Just grabbed from SPI code. Not formatted right - i2c_port.stop(); - */ + data[0] = rawdata[0]*0.004; + data[1] = rawdata[1]*0.004; + //float x = 0.004*data[0]; + //float y = 0.004*data[1]; + + pc.printf("x = %+1.2fg\t y = %+1.2fg\n\r", data[0],data[1]); //Just grabbed from SPI code. Not formatted right + + } \ No newline at end of file