Oskar Weigl
/
Eurobot2013
We are going to win! wohoo
Diff: Kalman/Sonar/RFSRF05.h
- Revision:
- 4:698a3c538482
- Parent:
- 3:8c78c15a92e3
- Child:
- 8:a8693e2daa00
diff -r 8c78c15a92e3 -r 698a3c538482 Kalman/Sonar/RFSRF05.h --- a/Kalman/Sonar/RFSRF05.h Wed Nov 14 15:48:20 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ - -#ifndef MBED_RFSRF05_H -#define MBED_RFSRF05_H - - - -#include "mbed.h" -#include "RF12B.h" -#include "globals.h" - - -#define CODE0 0x22 -#define CODE1 0x44 -#define CODE2 0x88 - -/* SAMPLE IMPLEMENTATION! -RFSRF05 my_srf(p13,p21,p22,p23,p24,p25,p26,p5,p6,p7,p8,p9); - - -void callbinmain(int num, float dist) { - //Here is where you deal with your brand new reading ;D -} - -int main() { - pc.printf("Hello World of RobotSonar!\r\n"); - my_srf.callbackfunc = callbinmain; - - while (1); -} - - */ - -class DummyCT; - -class RFSRF05 { -public: - - RFSRF05( - PinName trigger, - PinName echo0, - PinName echo1, - PinName echo2, - PinName echo3, - PinName echo4, - PinName echo5, - PinName SDI, - PinName SDO, - PinName SCK, - PinName NCS, - PinName NIRQ); - - /** A non-blocking function that will return the last measurement - * - * @returns floating point representation of distance in mm - */ - float read0(); - float read1(); - float read2(); - float read(unsigned int beaconnum); - - - /** A assigns a callback function when a new reading is available **/ - void (*callbackfunc)(int beaconnum, float distance); - DummyCT* callbackobj; - void (DummyCT::*mcallbackfunc)(int beaconnum, float distance, float variance); - - //triggers a read - #ifndef ROBOT_PRIMARY - void startRange(unsigned char rx_code); - #endif - - //set codes - void setCode(int code_index, unsigned char code); - unsigned char codes[3]; - - /** A short hand way of using the read function */ - //operator float(); - -private : - RF12B _rf; - DigitalOut _trigger; - InterruptIn _echo0; - InterruptIn _echo1; - InterruptIn _echo2; - InterruptIn _echo3; - InterruptIn _echo4; - InterruptIn _echo5; - Timer _timer; - Ticker _ticker; - #ifdef ROBOT_PRIMARY - void _startRange(void); - #endif - void _rising (void); - void _falling (void); - float _dist[3]; - int _beacon_counter; - bool ValidPulse; - bool expValidPulse; - -}; - -#endif