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.
main.cpp@2:73fd396b4d49, 2019-05-28 (annotated)
- Committer:
- brunostgr
- Date:
- Tue May 28 00:25:23 2019 +0000
- Revision:
- 2:73fd396b4d49
- Parent:
- 0:d0adb548714f
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
peterswanson87 | 0:d0adb548714f | 1 | #include "ADXL345_I2C.h" |
peterswanson87 | 0:d0adb548714f | 2 | |
brunostgr | 2:73fd396b4d49 | 3 | ADXL345_I2C accelerometer(I2C_SDA, I2C_SCL); |
peterswanson87 | 0:d0adb548714f | 4 | Serial pc(USBTX, USBRX); |
brunostgr | 2:73fd396b4d49 | 5 | |
brunostgr | 2:73fd396b4d49 | 6 | float XYZ[3]; |
brunostgr | 2:73fd396b4d49 | 7 | |
brunostgr | 2:73fd396b4d49 | 8 | int16_t complement(int16_t value); |
peterswanson87 | 0:d0adb548714f | 9 | int main() { |
peterswanson87 | 0:d0adb548714f | 10 | pc.baud(115200); |
peterswanson87 | 0:d0adb548714f | 11 | int readings[3] = {0, 0, 0}; |
peterswanson87 | 0:d0adb548714f | 12 | |
peterswanson87 | 0:d0adb548714f | 13 | pc.printf("Starting ADXL345 test...\n"); |
peterswanson87 | 0:d0adb548714f | 14 | wait(.001); |
peterswanson87 | 0:d0adb548714f | 15 | pc.printf("Device ID is: 0x%02x\n", accelerometer.getDeviceID()); |
peterswanson87 | 0:d0adb548714f | 16 | wait(.001); |
peterswanson87 | 0:d0adb548714f | 17 | |
peterswanson87 | 0:d0adb548714f | 18 | // These are here to test whether any of the initialization fails. It will print the failure |
peterswanson87 | 0:d0adb548714f | 19 | if (accelerometer.setPowerControl(0x00)){ |
peterswanson87 | 0:d0adb548714f | 20 | pc.printf("didn't intitialize power control\n"); |
peterswanson87 | 0:d0adb548714f | 21 | return 0; } |
peterswanson87 | 0:d0adb548714f | 22 | //Full resolution, +/-16g, 4mg/LSB. |
peterswanson87 | 0:d0adb548714f | 23 | wait(.001); |
peterswanson87 | 0:d0adb548714f | 24 | |
peterswanson87 | 0:d0adb548714f | 25 | if(accelerometer.setDataFormatControl(0x0B)){ |
peterswanson87 | 0:d0adb548714f | 26 | pc.printf("didn't set data format\n"); |
peterswanson87 | 0:d0adb548714f | 27 | return 0; } |
peterswanson87 | 0:d0adb548714f | 28 | wait(.001); |
peterswanson87 | 0:d0adb548714f | 29 | |
peterswanson87 | 0:d0adb548714f | 30 | //3.2kHz data rate. |
peterswanson87 | 0:d0adb548714f | 31 | if(accelerometer.setDataRate(ADXL345_3200HZ)){ |
peterswanson87 | 0:d0adb548714f | 32 | pc.printf("didn't set data rate\n"); |
peterswanson87 | 0:d0adb548714f | 33 | return 0; } |
peterswanson87 | 0:d0adb548714f | 34 | wait(.001); |
peterswanson87 | 0:d0adb548714f | 35 | |
peterswanson87 | 0:d0adb548714f | 36 | //Measurement mode. |
peterswanson87 | 0:d0adb548714f | 37 | |
peterswanson87 | 0:d0adb548714f | 38 | if(accelerometer.setPowerControl(MeasurementMode)) { |
peterswanson87 | 0:d0adb548714f | 39 | pc.printf("didn't set the power control to measurement\n"); |
peterswanson87 | 0:d0adb548714f | 40 | return 0; } |
peterswanson87 | 0:d0adb548714f | 41 | |
peterswanson87 | 0:d0adb548714f | 42 | while (1) { |
peterswanson87 | 0:d0adb548714f | 43 | |
brunostgr | 2:73fd396b4d49 | 44 | wait(0.5); |
peterswanson87 | 0:d0adb548714f | 45 | |
peterswanson87 | 0:d0adb548714f | 46 | accelerometer.getOutput(readings); |
brunostgr | 2:73fd396b4d49 | 47 | XYZ[0] = (uint16_t)(readings[0] ); //doit rajouter le signe |
brunostgr | 2:73fd396b4d49 | 48 | XYZ[1] = (uint16_t)(readings[1] ); //doit rajouter le signe |
brunostgr | 2:73fd396b4d49 | 49 | XYZ[2] = (uint16_t)(readings[2] ); //doit rajouter le signe |
brunostgr | 2:73fd396b4d49 | 50 | int16_t data = (float)complement(XYZ[0]); |
brunostgr | 2:73fd396b4d49 | 51 | pc.printf("\n\r%.3f",XYZ[0]); |
brunostgr | 2:73fd396b4d49 | 52 | //pc.printf("%.3f, %.3f, %.3f\n\r", XYZ[0], XYZ[1], XYZ[2]); |
peterswanson87 | 0:d0adb548714f | 53 | } |
peterswanson87 | 0:d0adb548714f | 54 | |
peterswanson87 | 0:d0adb548714f | 55 | } |
brunostgr | 2:73fd396b4d49 | 56 | |
brunostgr | 2:73fd396b4d49 | 57 | int16_t complement(int16_t value){ |
brunostgr | 2:73fd396b4d49 | 58 | if(value & 0x8000){ |
brunostgr | 2:73fd396b4d49 | 59 | return (not(value - 1)) * -1; |
brunostgr | 2:73fd396b4d49 | 60 | }else{ |
brunostgr | 2:73fd396b4d49 | 61 | return (not(value - 1)); |
brunostgr | 2:73fd396b4d49 | 62 | } |
brunostgr | 2:73fd396b4d49 | 63 | } |