Tummas Tomasson / Mbed 2 deprecated PingDetector_mbedadc

Dependencies:   mbed

Committer:
tummastt
Date:
Mon Jul 30 09:57:42 2012 +0000
Revision:
0:efb27fbc92c0
Child:
1:227db871d328
Working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tummastt 0:efb27fbc92c0 1 /*
tummastt 0:efb27fbc92c0 2 D- (Orange) is pin5 on AUX
tummastt 0:efb27fbc92c0 3 D+ (Yellow) is pin8 on AUX
tummastt 0:efb27fbc92c0 4 GND is pin 1 on AUX
tummastt 0:efb27fbc92c0 5 +12V is pin 3 on AUX
tummastt 0:efb27fbc92c0 6
tummastt 0:efb27fbc92c0 7 */
tummastt 0:efb27fbc92c0 8
tummastt 0:efb27fbc92c0 9 #include "mbed.h"
tummastt 0:efb27fbc92c0 10 #include "Parameters.h"
tummastt 0:efb27fbc92c0 11 #include "PingDetect/PingDetect.h"
tummastt 0:efb27fbc92c0 12
tummastt 0:efb27fbc92c0 13 Ticker t;
tummastt 0:efb27fbc92c0 14
tummastt 0:efb27fbc92c0 15
tummastt 0:efb27fbc92c0 16 DigitalOut l2(LED2);
tummastt 0:efb27fbc92c0 17 DigitalOut l3(LED3);
tummastt 0:efb27fbc92c0 18 DigitalOut l4(LED4);
tummastt 0:efb27fbc92c0 19
tummastt 0:efb27fbc92c0 20 bool Input=0, NewInput=0;
tummastt 0:efb27fbc92c0 21
tummastt 0:efb27fbc92c0 22 void Stop();
tummastt 0:efb27fbc92c0 23
tummastt 0:efb27fbc92c0 24 void Start();
tummastt 0:efb27fbc92c0 25
tummastt 0:efb27fbc92c0 26 void CalculateFFT();
tummastt 0:efb27fbc92c0 27
tummastt 0:efb27fbc92c0 28 void Run();
tummastt 0:efb27fbc92c0 29
tummastt 0:efb27fbc92c0 30 void Find();
tummastt 0:efb27fbc92c0 31
tummastt 0:efb27fbc92c0 32 int Command = doNothing;
tummastt 0:efb27fbc92c0 33 int Found = notFound;
tummastt 0:efb27fbc92c0 34
tummastt 0:efb27fbc92c0 35 PingDetect PD;
tummastt 0:efb27fbc92c0 36
tummastt 0:efb27fbc92c0 37 int main() {
tummastt 0:efb27fbc92c0 38
tummastt 0:efb27fbc92c0 39 while (1) {
tummastt 0:efb27fbc92c0 40
tummastt 0:efb27fbc92c0 41 // PD.SendSerial(Command);
tummastt 0:efb27fbc92c0 42 //
tummastt 0:efb27fbc92c0 43 switch (Command) {
tummastt 0:efb27fbc92c0 44 case start:
tummastt 0:efb27fbc92c0 45 Start();
tummastt 0:efb27fbc92c0 46 break;
tummastt 0:efb27fbc92c0 47
tummastt 0:efb27fbc92c0 48 case calcFFT:
tummastt 0:efb27fbc92c0 49 CalculateFFT();
tummastt 0:efb27fbc92c0 50 break;
tummastt 0:efb27fbc92c0 51
tummastt 0:efb27fbc92c0 52 case stop:
tummastt 0:efb27fbc92c0 53 Stop();
tummastt 0:efb27fbc92c0 54 break;
tummastt 0:efb27fbc92c0 55
tummastt 0:efb27fbc92c0 56 case doNothing:
tummastt 0:efb27fbc92c0 57
tummastt 0:efb27fbc92c0 58 default:
tummastt 0:efb27fbc92c0 59 break;
tummastt 0:efb27fbc92c0 60 }
tummastt 0:efb27fbc92c0 61
tummastt 0:efb27fbc92c0 62 Command = PD.ReadSerial(Command);
tummastt 0:efb27fbc92c0 63 }
tummastt 0:efb27fbc92c0 64 }
tummastt 0:efb27fbc92c0 65
tummastt 0:efb27fbc92c0 66 void Stop() {
tummastt 0:efb27fbc92c0 67 t.detach();
tummastt 0:efb27fbc92c0 68 l2=0;
tummastt 0:efb27fbc92c0 69 l3=0;
tummastt 0:efb27fbc92c0 70 l4=0;
tummastt 0:efb27fbc92c0 71 Command = doNothing;
tummastt 0:efb27fbc92c0 72 }
tummastt 0:efb27fbc92c0 73
tummastt 0:efb27fbc92c0 74 void Start() {
tummastt 0:efb27fbc92c0 75 l2=1;
tummastt 0:efb27fbc92c0 76 t.detach();
tummastt 0:efb27fbc92c0 77 // t.attach_us(&Find,10000);
tummastt 0:efb27fbc92c0 78 t.attach_us(&Find,5000);
tummastt 0:efb27fbc92c0 79 Command = doNothing;
tummastt 0:efb27fbc92c0 80 }
tummastt 0:efb27fbc92c0 81
tummastt 0:efb27fbc92c0 82 void CalculateFFT() {
tummastt 0:efb27fbc92c0 83 t.detach();
tummastt 0:efb27fbc92c0 84 PD.CalculateFFT();
tummastt 0:efb27fbc92c0 85 Command = doNothing;
tummastt 0:efb27fbc92c0 86 }
tummastt 0:efb27fbc92c0 87
tummastt 0:efb27fbc92c0 88 void Run () {
tummastt 0:efb27fbc92c0 89 l3=!l3;
tummastt 0:efb27fbc92c0 90 PD.Run();
tummastt 0:efb27fbc92c0 91 }
tummastt 0:efb27fbc92c0 92
tummastt 0:efb27fbc92c0 93 void Find() {
tummastt 0:efb27fbc92c0 94 l4=!l4;
tummastt 0:efb27fbc92c0 95 Found = PD.Search();
tummastt 0:efb27fbc92c0 96 if(Found == found){
tummastt 0:efb27fbc92c0 97 l2=0;
tummastt 0:efb27fbc92c0 98 t.detach();
tummastt 0:efb27fbc92c0 99 // wait_ms(1000-TIME_OFFSET);
tummastt 0:efb27fbc92c0 100 wait_ms(1000-TIME_OFFSET);
tummastt 0:efb27fbc92c0 101 t.attach(&Run,1);
tummastt 0:efb27fbc92c0 102 Run();
tummastt 0:efb27fbc92c0 103 }
tummastt 0:efb27fbc92c0 104
tummastt 0:efb27fbc92c0 105 }