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.
Fork of ADXL345_I2C by
Revision 2:d193693441c6, committed 2013-12-12
- Comitter:
- ohtake_i
- Date:
- Thu Dec 12 11:08:43 2013 +0000
- Parent:
- 1:d9412b56f98a
- Commit message:
- a;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu May 12 01:19:36 2011 +0000 +++ b/main.cpp Thu Dec 12 11:08:43 2013 +0000 @@ -1,49 +1,95 @@ #include "ADXL345_I2C.h" - ADXL345_I2C accelerometer(p28, p27); - Serial pc(USBTX, USBRX); +ADXL345_I2C accelerometer(p28, p27); +Serial pc(USBTX, USBRX); +Serial device(p9, p10); // tx, rx + +//for LEDs----------------------------------------- + DigitalOut debug1(LED1); //for debug + DigitalOut debug2(LED2); //for debug + DigitalOut debug3(LED3); //for debug + DigitalOut debug4(LED4); //for debug +//--------------------------------------------- - int main() { - pc.baud(115200); - int readings[3] = {0, 0, 0}; - - pc.printf("Starting ADXL345 test...\n"); - wait(.001); - pc.printf("Device ID is: 0x%02x\n", accelerometer.getDeviceID()); - wait(.001); + +int main() { + pc.baud(9600); + int readings[3] = {0, 0, 0}; + char tmp; + + while(1){ + pc.printf("Starting ADXL345 test...\n"); + wait(.001); + pc.printf("Device ID is: 0x%02x\n", accelerometer.getDeviceID()); + wait(.001); - // These are here to test whether any of the initialization fails. It will print the failure - if (accelerometer.setPowerControl(0x00)){ - pc.printf("didn't intitialize power control\n"); - return 0; } - //Full resolution, +/-16g, 4mg/LSB. - wait(.001); + // These are here to test whether any of the initialization fails. It will print the failure + if (accelerometer.setPowerControl(0x00)){ + pc.printf("didn't intitialize power control\n"); + return 0; + } + //Full resolution, +/-16g, 4mg/LSB. + wait(.001); - if(accelerometer.setDataFormatControl(0x0B)){ - pc.printf("didn't set data format\n"); - return 0; } - wait(.001); + if(accelerometer.setDataFormatControl(0x0B)){ + pc.printf("didn't set data format\n"); + return 0; + } + wait(.001); + + //3.2kHz data rate. + if(accelerometer.setDataRate(ADXL345_3200HZ)){ + pc.printf("didn't set data rate\n"); + return 0; + } + wait(.001); + + //Measurement mode. - //3.2kHz data rate. - if(accelerometer.setDataRate(ADXL345_3200HZ)){ - pc.printf("didn't set data rate\n"); - return 0; } - wait(.001); - - //Measurement mode. - - if(accelerometer.setPowerControl(MeasurementMode)) { - pc.printf("didn't set the power control to measurement\n"); - return 0; } - - while (1) { - - wait(0.1); - - accelerometer.getOutput(readings); - - - pc.printf("%i, %i, %i\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); - } - - } + if(accelerometer.setPowerControl(MeasurementMode)) { + pc.printf("didn't set the power control to measurement\n"); + return 0; + } + + while (1) { + wait(0.1); + accelerometer.getOutput(readings); + int dice_number = 0; + + if ((int16_t)readings[0]>200){ + dice_number = 1; + } + else if ((int16_t)readings[0]<-200){ + dice_number = 6; + } + else if ((int16_t)readings[1]>200){ + dice_number = 2; + } + else if ((int16_t)readings[1]<-200){ + dice_number = 5; + } + else if ((int16_t)readings[2]>200){ + dice_number = 3; + } + else if ((int16_t)readings[2]<-200){ + dice_number = 4; + } + + pc.printf("%i\r\n", dice_number); + } + + tmp = pc.getc(); + + if(tmp == '0') { + pc.putc(tmp); + debug3 = 1; + debug4 = 0; + } else { + pc.printf("Fuck You!!\r\n"); + pc.printf("tmp : %d\r\n", tmp); + debug4 = 1; + debug3 = 0; + } + } + +} \ No newline at end of file