Newer
Older
#ifndef USS_SRF02_H_
#define USS_SRF02_H_
class USS_SRF02
{
public:
//gpio pins where the sonar is connected
static constexpr int SRF02_SDA = 8; //i2c data pin ;
static constexpr int SRF02_SCL = 9; //i2c clock pin ;
// addresses of the sonars, the number is also as a sticker on the devices themselves
static constexpr int DEVICE_ADDRESS1 = 0x74;
static constexpr int DEVICE_ADDRESS2 = 0x76;
static constexpr int DEVICE_ADDRESS3 = 0x77;
//path to i2c file
static constexpr char DEVICE[] = "/dev/i2c-1";
static constexpr int COMMAND_REGISTER = 0x00;
static constexpr int RESULT_HIGH_BYTE = 0x02;
static constexpr int RESULT_LOW_BYTE = 0x03;
static constexpr int RANGING_MODE_CM = 0x51;
static constexpr int DELAY = 70; //70 ms for ranging to finish
explicit USS_SRF02(int devId);
int getDistance();
private:
int fd;
};
#endif /* USS_SRF02_H_ */