test header software pre-lora use
Dependencies: mbed SDFileSystem FXOS8700Q
SensorData.cpp@0:8190023facdb, 2019-03-13 (annotated)
- Committer:
- oliviab
- Date:
- Wed Mar 13 19:26:09 2019 +0000
- Revision:
- 0:8190023facdb
Test for header file (to check ); compiles ok;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
oliviab | 0:8190023facdb | 1 | //#include "mbed.h" |
oliviab | 0:8190023facdb | 2 | //#include <string> |
oliviab | 0:8190023facdb | 3 | //#include "FXOS8700Q.h" |
oliviab | 0:8190023facdb | 4 | //#include "SDFileSystem.h" |
oliviab | 0:8190023facdb | 5 | |
oliviab | 0:8190023facdb | 6 | #include "SensorData.h" |
oliviab | 0:8190023facdb | 7 | |
oliviab | 0:8190023facdb | 8 | |
oliviab | 0:8190023facdb | 9 | DigitalOut led(LED1); |
oliviab | 0:8190023facdb | 10 | |
oliviab | 0:8190023facdb | 11 | #define UART3_tx PTC17 |
oliviab | 0:8190023facdb | 12 | #define UART3_rx PTC16 |
oliviab | 0:8190023facdb | 13 | // |
oliviab | 0:8190023facdb | 14 | //#define UART3_tx D8 |
oliviab | 0:8190023facdb | 15 | //#define UART3_rx D2 |
oliviab | 0:8190023facdb | 16 | |
oliviab | 0:8190023facdb | 17 | |
oliviab | 0:8190023facdb | 18 | //in header |
oliviab | 0:8190023facdb | 19 | Serial s_com(UART3_tx, UART3_rx); // tx, rx read gps in |
oliviab | 0:8190023facdb | 20 | //SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS |
oliviab | 0:8190023facdb | 21 | //FILE *fp = fopen("/sd/myfile.txt", "w"); |
oliviab | 0:8190023facdb | 22 | //I2C i2c(PTE25, PTE24); |
oliviab | 0:8190023facdb | 23 | //FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); //access accelerometer |
oliviab | 0:8190023facdb | 24 | //FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1); |
oliviab | 0:8190023facdb | 25 | |
oliviab | 0:8190023facdb | 26 | //void readData(); |
oliviab | 0:8190023facdb | 27 | //void sensor_data(); |
oliviab | 0:8190023facdb | 28 | //void log_data(string data); |
oliviab | 0:8190023facdb | 29 | |
oliviab | 0:8190023facdb | 30 | //char rca1[128]; |
oliviab | 0:8190023facdb | 31 | ////string rca2; |
oliviab | 0:8190023facdb | 32 | //string data; |
oliviab | 0:8190023facdb | 33 | |
oliviab | 0:8190023facdb | 34 | int main() |
oliviab | 0:8190023facdb | 35 | { |
oliviab | 0:8190023facdb | 36 | |
oliviab | 0:8190023facdb | 37 | |
oliviab | 0:8190023facdb | 38 | printf("Hello World !\n"); |
oliviab | 0:8190023facdb | 39 | acc.enable(); //start accelerometer |
oliviab | 0:8190023facdb | 40 | mag.enable(); |
oliviab | 0:8190023facdb | 41 | |
oliviab | 0:8190023facdb | 42 | |
oliviab | 0:8190023facdb | 43 | fp = fopen("/sd/sensors.txt", "r"); |
oliviab | 0:8190023facdb | 44 | if (fp != NULL) { |
oliviab | 0:8190023facdb | 45 | fclose(fp); |
oliviab | 0:8190023facdb | 46 | remove("/sd/sensors.txt"); |
oliviab | 0:8190023facdb | 47 | //pc.printf("Remove an existing file with the same name \n"); |
oliviab | 0:8190023facdb | 48 | } |
oliviab | 0:8190023facdb | 49 | |
oliviab | 0:8190023facdb | 50 | while(1) { |
oliviab | 0:8190023facdb | 51 | while (s_com.readable()) { |
oliviab | 0:8190023facdb | 52 | // rca = s_com.getc(); |
oliviab | 0:8190023facdb | 53 | // printf("%c",rca); |
oliviab | 0:8190023facdb | 54 | readData(); |
oliviab | 0:8190023facdb | 55 | sensor_data(); |
oliviab | 0:8190023facdb | 56 | |
oliviab | 0:8190023facdb | 57 | } |
oliviab | 0:8190023facdb | 58 | } |
oliviab | 0:8190023facdb | 59 | } |
oliviab | 0:8190023facdb | 60 | |
oliviab | 0:8190023facdb | 61 | void readData() |
oliviab | 0:8190023facdb | 62 | { |
oliviab | 0:8190023facdb | 63 | s_com.scanf("%s",rca1); |
oliviab | 0:8190023facdb | 64 | string rca2(rca1); |
oliviab | 0:8190023facdb | 65 | rca2 += "\n"; |
oliviab | 0:8190023facdb | 66 | log_data(rca2); |
oliviab | 0:8190023facdb | 67 | printf(rca2.c_str()); |
oliviab | 0:8190023facdb | 68 | } |
oliviab | 0:8190023facdb | 69 | |
oliviab | 0:8190023facdb | 70 | void sensor_data() |
oliviab | 0:8190023facdb | 71 | { |
oliviab | 0:8190023facdb | 72 | |
oliviab | 0:8190023facdb | 73 | //get mag+accel data |
oliviab | 0:8190023facdb | 74 | motion_data_units_t acc_data, mag_data; |
oliviab | 0:8190023facdb | 75 | |
oliviab | 0:8190023facdb | 76 | acc.getAxis(acc_data); |
oliviab | 0:8190023facdb | 77 | mag.getAxis(mag_data); |
oliviab | 0:8190023facdb | 78 | // pc.printf("\rACC: X=%1.4ff Y=%1.4ff Z=%1.4ff ", acc_data.x, acc_data.y, acc_data.z); |
oliviab | 0:8190023facdb | 79 | // pc.printf(" MAG: X=%4.1ff Y=%4.1ff Z=%4.1ff \r\n", mag_data.x, mag_data.y, mag_data.z); |
oliviab | 0:8190023facdb | 80 | // data = ("ACC: "+ acc_data.x + ", "+ acc_data.y + ", " + acc_data.z + "\n" + |
oliviab | 0:8190023facdb | 81 | // "MAG: " + mag_data.x + ", " + mag_data.y + ", " + mag_data.z + "\n"); |
oliviab | 0:8190023facdb | 82 | data = "helloworld!\n"; //test |
oliviab | 0:8190023facdb | 83 | log_data(data); |
oliviab | 0:8190023facdb | 84 | |
oliviab | 0:8190023facdb | 85 | // wait(0.5); |
oliviab | 0:8190023facdb | 86 | |
oliviab | 0:8190023facdb | 87 | } |
oliviab | 0:8190023facdb | 88 | |
oliviab | 0:8190023facdb | 89 | |
oliviab | 0:8190023facdb | 90 | void log_data(string data) |
oliviab | 0:8190023facdb | 91 | { |
oliviab | 0:8190023facdb | 92 | |
oliviab | 0:8190023facdb | 93 | // printf("\nWriting data to the sd card \n"); |
oliviab | 0:8190023facdb | 94 | fp = fopen("/sd/sensors.txt", "w"); |
oliviab | 0:8190023facdb | 95 | if (fp == NULL) { |
oliviab | 0:8190023facdb | 96 | //pc.printf("Unable to write the file \n"); |
oliviab | 0:8190023facdb | 97 | } else { |
oliviab | 0:8190023facdb | 98 | fprintf(fp, data.c_str()); |
oliviab | 0:8190023facdb | 99 | fclose(fp); |
oliviab | 0:8190023facdb | 100 | //pc.printf("File successfully written! \n"); |
oliviab | 0:8190023facdb | 101 | } |
oliviab | 0:8190023facdb | 102 | |
oliviab | 0:8190023facdb | 103 | |
oliviab | 0:8190023facdb | 104 | } |