Simple library for reading distance from SRF02 Ultrasonic Sensor in I2C mode.
Fork of SRF02 by
Diff: SRF02.cpp
- Revision:
- 2:43910fab41ca
- Parent:
- 0:b729d2ce03bd
--- a/SRF02.cpp Sun Mar 08 14:21:40 2015 +0000 +++ b/SRF02.cpp Thu May 05 01:55:58 2016 +0000 @@ -1,20 +1,20 @@ /** @file SRF02.cpp - + @brief Member functions implementations - + */ #include "mbed.h" #include "SRF02.h" - + SRF02::SRF02(PinName sdaPin, PinName sclPin) { i2c = new I2C(sdaPin,sclPin); // create new I2C instance and initialise i2c->frequency(400000); // I2C Fast Mode - 400kHz leds = new BusOut(LED4,LED3,LED2,LED1); - + } - + int SRF02::getDistanceCm() { char data[2]; @@ -39,11 +39,12 @@ ack = i2c->read(SRF02_R_ADD,data,2); if (ack) error(); // if we don't receive acknowledgement, flash error message - + // high byte is first, then low byte, so combine into 16-bit value return (data[0] << 8) | data[1]; } + void SRF02::error() { while(1) {