Shuto Naruse / Mbed 2 deprecated Eurobot2012_Primary

Dependencies:   mbed Eurobot_2012_Primary

Committer:
narshu
Date:
Fri Apr 20 20:39:35 2012 +0000
Revision:
0:f3bf6c7e2283
inverted sonar echo input at pin14 and pin15

Who changed what in which revision?

UserRevisionLine numberNew contents of line
narshu 0:f3bf6c7e2283 1
narshu 0:f3bf6c7e2283 2 #ifndef MBED_RFSRF05_H
narshu 0:f3bf6c7e2283 3 #define MBED_RFSRF05_H
narshu 0:f3bf6c7e2283 4
narshu 0:f3bf6c7e2283 5 #include "mbed.h"
narshu 0:f3bf6c7e2283 6 #include "RF12B.h"
narshu 0:f3bf6c7e2283 7
narshu 0:f3bf6c7e2283 8 #define CODE0 0x22
narshu 0:f3bf6c7e2283 9 #define CODE1 0x44
narshu 0:f3bf6c7e2283 10 #define CODE2 0x88
narshu 0:f3bf6c7e2283 11
narshu 0:f3bf6c7e2283 12 /* SAMPLE IMPLEMENTATION!
narshu 0:f3bf6c7e2283 13 RFSRF05 my_srf(p13,p21,p22,p23,p24,p25,p26,p5,p6,p7,p8,p9);
narshu 0:f3bf6c7e2283 14
narshu 0:f3bf6c7e2283 15
narshu 0:f3bf6c7e2283 16 void callbinmain(int num, float dist) {
narshu 0:f3bf6c7e2283 17 //Here is where you deal with your brand new reading ;D
narshu 0:f3bf6c7e2283 18 }
narshu 0:f3bf6c7e2283 19
narshu 0:f3bf6c7e2283 20 int main() {
narshu 0:f3bf6c7e2283 21 pc.printf("Hello World of RobotSonar!\r\n");
narshu 0:f3bf6c7e2283 22 my_srf.callbackfunc = callbinmain;
narshu 0:f3bf6c7e2283 23
narshu 0:f3bf6c7e2283 24 while (1);
narshu 0:f3bf6c7e2283 25 }
narshu 0:f3bf6c7e2283 26
narshu 0:f3bf6c7e2283 27 */
narshu 0:f3bf6c7e2283 28
narshu 0:f3bf6c7e2283 29 class DummyCT;
narshu 0:f3bf6c7e2283 30
narshu 0:f3bf6c7e2283 31 class RFSRF05 {
narshu 0:f3bf6c7e2283 32 public:
narshu 0:f3bf6c7e2283 33
narshu 0:f3bf6c7e2283 34 RFSRF05(
narshu 0:f3bf6c7e2283 35 PinName trigger,
narshu 0:f3bf6c7e2283 36 PinName echo0,
narshu 0:f3bf6c7e2283 37 PinName echo1,
narshu 0:f3bf6c7e2283 38 PinName echo2,
narshu 0:f3bf6c7e2283 39 PinName echo3,
narshu 0:f3bf6c7e2283 40 PinName echo4,
narshu 0:f3bf6c7e2283 41 PinName echo5,
narshu 0:f3bf6c7e2283 42 PinName SDI,
narshu 0:f3bf6c7e2283 43 PinName SDO,
narshu 0:f3bf6c7e2283 44 PinName SCK,
narshu 0:f3bf6c7e2283 45 PinName NCS,
narshu 0:f3bf6c7e2283 46 PinName NIRQ);
narshu 0:f3bf6c7e2283 47
narshu 0:f3bf6c7e2283 48 /** A non-blocking function that will return the last measurement
narshu 0:f3bf6c7e2283 49 *
narshu 0:f3bf6c7e2283 50 * @returns floating point representation of distance in mm
narshu 0:f3bf6c7e2283 51 */
narshu 0:f3bf6c7e2283 52 float read0();
narshu 0:f3bf6c7e2283 53 float read1();
narshu 0:f3bf6c7e2283 54 float read2();
narshu 0:f3bf6c7e2283 55 float read(unsigned int beaconnum);
narshu 0:f3bf6c7e2283 56
narshu 0:f3bf6c7e2283 57
narshu 0:f3bf6c7e2283 58 /** A assigns a callback function when a new reading is available **/
narshu 0:f3bf6c7e2283 59 void (*callbackfunc)(int beaconnum, float distance);
narshu 0:f3bf6c7e2283 60 DummyCT* callbackobj;
narshu 0:f3bf6c7e2283 61 void (DummyCT::*mcallbackfunc)(int beaconnum, float distance, float variance);
narshu 0:f3bf6c7e2283 62
narshu 0:f3bf6c7e2283 63 //triggers a read
narshu 0:f3bf6c7e2283 64
narshu 0:f3bf6c7e2283 65
narshu 0:f3bf6c7e2283 66 /** A short hand way of using the read function */
narshu 0:f3bf6c7e2283 67 //operator float();
narshu 0:f3bf6c7e2283 68
narshu 0:f3bf6c7e2283 69 private :
narshu 0:f3bf6c7e2283 70 RF12B _rf;
narshu 0:f3bf6c7e2283 71 DigitalOut _trigger;
narshu 0:f3bf6c7e2283 72 InterruptIn _echo0;
narshu 0:f3bf6c7e2283 73 InterruptIn _echo1;
narshu 0:f3bf6c7e2283 74 InterruptIn _echo2;
narshu 0:f3bf6c7e2283 75 InterruptIn _echo3;
narshu 0:f3bf6c7e2283 76 InterruptIn _echo4;
narshu 0:f3bf6c7e2283 77 InterruptIn _echo5;
narshu 0:f3bf6c7e2283 78 Timer _timer;
narshu 0:f3bf6c7e2283 79 Ticker _ticker;
narshu 0:f3bf6c7e2283 80 void _startRange();
narshu 0:f3bf6c7e2283 81 void _rising (void);
narshu 0:f3bf6c7e2283 82 void _falling (void);
narshu 0:f3bf6c7e2283 83 float _dist[3];
narshu 0:f3bf6c7e2283 84 char _code[3];
narshu 0:f3bf6c7e2283 85 int _beacon_counter;
narshu 0:f3bf6c7e2283 86 bool ValidPulse;
narshu 0:f3bf6c7e2283 87 bool expValidPulse;
narshu 0:f3bf6c7e2283 88
narshu 0:f3bf6c7e2283 89 };
narshu 0:f3bf6c7e2283 90
narshu 0:f3bf6c7e2283 91 #endif