Dependencies: MPL115A2 mbed ADXL345 SDFileSystem
main.cpp@0:9fbe0ebb411f, 2011-11-24 (annotated)
- Committer:
- Nasupl
- Date:
- Thu Nov 24 11:57:30 2011 +0000
- Revision:
- 0:9fbe0ebb411f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Nasupl | 0:9fbe0ebb411f | 1 | #include "mbed.h" |
Nasupl | 0:9fbe0ebb411f | 2 | #include "ADXL345.h" |
Nasupl | 0:9fbe0ebb411f | 3 | #include "MPL115A2.h" |
Nasupl | 0:9fbe0ebb411f | 4 | #include "SDFileSystem.h" |
Nasupl | 0:9fbe0ebb411f | 5 | |
Nasupl | 0:9fbe0ebb411f | 6 | ADXL345 accelerometer(p11, p12, p13, p9); |
Nasupl | 0:9fbe0ebb411f | 7 | MPL115A2 mpl115a2(p28, p27); |
Nasupl | 0:9fbe0ebb411f | 8 | SDFileSystem sd(p5, p6, p7, p8, "sd"); |
Nasupl | 0:9fbe0ebb411f | 9 | Serial pc(USBTX, USBRX); |
Nasupl | 0:9fbe0ebb411f | 10 | AnalogIn temp_in(p20); |
Nasupl | 0:9fbe0ebb411f | 11 | AnalogIn Gyrox(p15); |
Nasupl | 0:9fbe0ebb411f | 12 | AnalogIn Gyroy(p16); |
Nasupl | 0:9fbe0ebb411f | 13 | AnalogIn hiG(p17); |
Nasupl | 0:9fbe0ebb411f | 14 | Ticker logger; |
Nasupl | 0:9fbe0ebb411f | 15 | DigitalOut ping(p17); |
Nasupl | 0:9fbe0ebb411f | 16 | DigitalOut myled(LED1); |
Nasupl | 0:9fbe0ebb411f | 17 | |
Nasupl | 0:9fbe0ebb411f | 18 | int readings[3] = {0,0,0}; |
Nasupl | 0:9fbe0ebb411f | 19 | float pressure; |
Nasupl | 0:9fbe0ebb411f | 20 | char pres_data[16]; |
Nasupl | 0:9fbe0ebb411f | 21 | float temp1; |
Nasupl | 0:9fbe0ebb411f | 22 | float temp2; |
Nasupl | 0:9fbe0ebb411f | 23 | |
Nasupl | 0:9fbe0ebb411f | 24 | volatile int cnt=0; |
Nasupl | 0:9fbe0ebb411f | 25 | |
Nasupl | 0:9fbe0ebb411f | 26 | volatile int cntt=0; |
Nasupl | 0:9fbe0ebb411f | 27 | |
Nasupl | 0:9fbe0ebb411f | 28 | int i,j,k=0; |
Nasupl | 0:9fbe0ebb411f | 29 | void logging(){ |
Nasupl | 0:9fbe0ebb411f | 30 | myled=1; |
Nasupl | 0:9fbe0ebb411f | 31 | FILE *fp = fopen("/sd/datalog/log.txt","a"); |
Nasupl | 0:9fbe0ebb411f | 32 | if(fp == NULL){ |
Nasupl | 0:9fbe0ebb411f | 33 | error("Could not open file for write\n"); |
Nasupl | 0:9fbe0ebb411f | 34 | } |
Nasupl | 0:9fbe0ebb411f | 35 | cnt++; |
Nasupl | 0:9fbe0ebb411f | 36 | accelerometer.getOutput(readings); |
Nasupl | 0:9fbe0ebb411f | 37 | fprintf(fp,"%d,%i,%i,%i,%4.2f,%3.2f,%f,%f,%f\n",cnt,(int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2], mpl115a2.readPressure(),(float)temp_in.read()*3.3*100,(float)Gyrox,(float)Gyroy,(float)hiG); |
Nasupl | 0:9fbe0ebb411f | 38 | fclose(fp); |
Nasupl | 0:9fbe0ebb411f | 39 | myled=0; |
Nasupl | 0:9fbe0ebb411f | 40 | } |
Nasupl | 0:9fbe0ebb411f | 41 | |
Nasupl | 0:9fbe0ebb411f | 42 | int main(){ |
Nasupl | 0:9fbe0ebb411f | 43 | accelerometer.setPowerControl(0x00); |
Nasupl | 0:9fbe0ebb411f | 44 | accelerometer.setDataFormatControl(0x0B); |
Nasupl | 0:9fbe0ebb411f | 45 | accelerometer.setDataRate(ADXL345_3200HZ); |
Nasupl | 0:9fbe0ebb411f | 46 | accelerometer.setPowerControl(0x08); |
Nasupl | 0:9fbe0ebb411f | 47 | |
Nasupl | 0:9fbe0ebb411f | 48 | mkdir("/sd/datalog",0777); |
Nasupl | 0:9fbe0ebb411f | 49 | |
Nasupl | 0:9fbe0ebb411f | 50 | logger.attach(&logging,0.05); |
Nasupl | 0:9fbe0ebb411f | 51 | k=0; |
Nasupl | 0:9fbe0ebb411f | 52 | while(1){ |
Nasupl | 0:9fbe0ebb411f | 53 | } |
Nasupl | 0:9fbe0ebb411f | 54 | } |