SRF02 Ultrasonic Ranger

Dependents:   DISCO-F746NG_SRF02_2

Committer:
yangcq88517
Date:
Thu Jul 31 13:52:49 2014 +0000
Revision:
0:adf5a063372d
SRF02

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:adf5a063372d 1 #ifndef Smartlab_Drive_SPRF02
yangcq88517 0:adf5a063372d 2 #define Smartlab_Drive_SPRF02
yangcq88517 0:adf5a063372d 3
yangcq88517 0:adf5a063372d 4 #include "mbed.h"
yangcq88517 0:adf5a063372d 5
yangcq88517 0:adf5a063372d 6 class SRF02
yangcq88517 0:adf5a063372d 7
yangcq88517 0:adf5a063372d 8 {
yangcq88517 0:adf5a063372d 9 private:
yangcq88517 0:adf5a063372d 10 uint8_t deviceAddess;
yangcq88517 0:adf5a063372d 11 static const int CLOCK_RATE = 100000;
yangcq88517 0:adf5a063372d 12
yangcq88517 0:adf5a063372d 13 static const uint8_t COMMAND_REGISTER = 0x00;
yangcq88517 0:adf5a063372d 14
yangcq88517 0:adf5a063372d 15 static const uint8_t Range = 0x02;
yangcq88517 0:adf5a063372d 16 static const uint8_t Autotune = 0x04;
yangcq88517 0:adf5a063372d 17
yangcq88517 0:adf5a063372d 18 static const uint8_t REAL_RANGING_INCHES = 0x50;
yangcq88517 0:adf5a063372d 19 static const uint8_t REAL_RANGING_CENTIMETERS = 0x51;
yangcq88517 0:adf5a063372d 20 static const uint8_t REAL_RANGING_SECONDS = 0x52;
yangcq88517 0:adf5a063372d 21
yangcq88517 0:adf5a063372d 22 static const float DefaultWait = 0.07;
yangcq88517 0:adf5a063372d 23
yangcq88517 0:adf5a063372d 24 I2C i2c_bus;
yangcq88517 0:adf5a063372d 25
yangcq88517 0:adf5a063372d 26 int GetValue(uint8_t command, uint8_t mode);
yangcq88517 0:adf5a063372d 27
yangcq88517 0:adf5a063372d 28 public :
yangcq88517 0:adf5a063372d 29 SRF02(uint8_t I2C_address,PinName sda, PinName scl);
yangcq88517 0:adf5a063372d 30
yangcq88517 0:adf5a063372d 31 int GetMinimumRange();
yangcq88517 0:adf5a063372d 32
yangcq88517 0:adf5a063372d 33 int GetCentimeters();
yangcq88517 0:adf5a063372d 34
yangcq88517 0:adf5a063372d 35 int GetInches();
yangcq88517 0:adf5a063372d 36
yangcq88517 0:adf5a063372d 37 int GetMicroSeconds();
yangcq88517 0:adf5a063372d 38
yangcq88517 0:adf5a063372d 39 bool ChangeAddress(uint8_t newAddress);
yangcq88517 0:adf5a063372d 40 };
yangcq88517 0:adf5a063372d 41
yangcq88517 0:adf5a063372d 42 #endif