Code controlling second MBED in speed detection system that plays speaker sounds and writes time stamp to microSD card. By Ibrahim Khan and Saad Khan.
Dependencies: SDFileSystem mbed wave_player
By Ibrahim Khan and Saad Khan. Part of ECE4180 project.
main.cpp@0:10686b395bb9, 2016-12-09 (annotated)
- Committer:
- gotmilk
- Date:
- Fri Dec 09 07:41:53 2016 +0000
- Revision:
- 0:10686b395bb9
initial commit of code running on second mbed in speed detection system
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gotmilk | 0:10686b395bb9 | 1 | #include "mbed.h" |
gotmilk | 0:10686b395bb9 | 2 | #include "SDFileSystem.h" |
gotmilk | 0:10686b395bb9 | 3 | #include "wave_player.h" |
gotmilk | 0:10686b395bb9 | 4 | |
gotmilk | 0:10686b395bb9 | 5 | DigitalIn fast(p9); |
gotmilk | 0:10686b395bb9 | 6 | DigitalIn turn(p10); |
gotmilk | 0:10686b395bb9 | 7 | SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card |
gotmilk | 0:10686b395bb9 | 8 | AnalogOut DACout(p18); |
gotmilk | 0:10686b395bb9 | 9 | wave_player waver(&DACout); |
gotmilk | 0:10686b395bb9 | 10 | |
gotmilk | 0:10686b395bb9 | 11 | int main() { |
gotmilk | 0:10686b395bb9 | 12 | while(1) { |
gotmilk | 0:10686b395bb9 | 13 | if (fast) { |
gotmilk | 0:10686b395bb9 | 14 | time_t seconds = time(NULL); |
gotmilk | 0:10686b395bb9 | 15 | FILE *wave_file; |
gotmilk | 0:10686b395bb9 | 16 | // uLCD.cls(); |
gotmilk | 0:10686b395bb9 | 17 | wave_file=fopen("/sd/fast.wav","r"); |
gotmilk | 0:10686b395bb9 | 18 | waver.play(wave_file); |
gotmilk | 0:10686b395bb9 | 19 | fclose(wave_file); |
gotmilk | 0:10686b395bb9 | 20 | FILE *fp = fopen("/sd/speedlog.txt", "w"); |
gotmilk | 0:10686b395bb9 | 21 | //if(fp == NULL) { |
gotmilk | 0:10686b395bb9 | 22 | // uLCD.printf("Could not open file for write\n\r"); |
gotmilk | 0:10686b395bb9 | 23 | //} |
gotmilk | 0:10686b395bb9 | 24 | fprintf(fp, "Driver drove above limit on %s\n", ctime(&seconds)); |
gotmilk | 0:10686b395bb9 | 25 | fclose(fp); |
gotmilk | 0:10686b395bb9 | 26 | } |
gotmilk | 0:10686b395bb9 | 27 | else if (turn) { |
gotmilk | 0:10686b395bb9 | 28 | time_t seconds = time(NULL); |
gotmilk | 0:10686b395bb9 | 29 | FILE *wave_file; |
gotmilk | 0:10686b395bb9 | 30 | //uLCD.cls(); |
gotmilk | 0:10686b395bb9 | 31 | wave_file=fopen("/sd/turn.wav","r"); |
gotmilk | 0:10686b395bb9 | 32 | waver.play(wave_file); |
gotmilk | 0:10686b395bb9 | 33 | fclose(wave_file); |
gotmilk | 0:10686b395bb9 | 34 | FILE *fp = fopen("/sd/speedlog.txt", "w"); |
gotmilk | 0:10686b395bb9 | 35 | //if(fp == NULL) { |
gotmilk | 0:10686b395bb9 | 36 | // uLCD.printf("Could not open file for write\n"); |
gotmilk | 0:10686b395bb9 | 37 | //} |
gotmilk | 0:10686b395bb9 | 38 | fprintf(fp, "Driver turned above g-limit on on %s\n", ctime(&seconds)); |
gotmilk | 0:10686b395bb9 | 39 | fclose(fp); |
gotmilk | 0:10686b395bb9 | 40 | } |
gotmilk | 0:10686b395bb9 | 41 | } |
gotmilk | 0:10686b395bb9 | 42 | } |