Drivers for Pololu irs09a short range infra red sensor.

Dependencies:   mbed

Committer:
Hypna
Date:
Fri Mar 25 22:09:43 2016 +0000
Revision:
0:fba97a03cd3c
Initial upload

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hypna 0:fba97a03cd3c 1 #ifndef SHORTRANGESENSOR_H
Hypna 0:fba97a03cd3c 2 #define SHORTRANGESENSOR_H
Hypna 0:fba97a03cd3c 3
Hypna 0:fba97a03cd3c 4 #include "mbed.h"
Hypna 0:fba97a03cd3c 5
Hypna 0:fba97a03cd3c 6 //constants for i2c communication
Hypna 0:fba97a03cd3c 7 const int ADDR = 0x52;
Hypna 0:fba97a03cd3c 8 const char SYSRANGE__START_SAMPLE[] = {0x00,0x18,0x01};
Hypna 0:fba97a03cd3c 9 const char RESULT__RANGE_VAL[] = {0x00,0x62};
Hypna 0:fba97a03cd3c 10 const char RESULT__RANGE_STATUS[] = {0x00,0x4D};
Hypna 0:fba97a03cd3c 11 const char SYSRANGE__RANGE_CHECK_ENABLES[] = {0x00,0x2D,0x10};
Hypna 0:fba97a03cd3c 12 const char SYSRANGE__PART_TO_PART_RANGE_OFFSET_INIT[] = {0x00,0x24,0x00}; //once correct offset is found, chage 0x00 to correct offset
Hypna 0:fba97a03cd3c 13 const char SYSRANGE__PART_TO_PART_RANGE_OFFSET[] = {0x00,0x24};
Hypna 0:fba97a03cd3c 14
Hypna 0:fba97a03cd3c 15 class ShortRangeSensor
Hypna 0:fba97a03cd3c 16 {
Hypna 0:fba97a03cd3c 17 public:
Hypna 0:fba97a03cd3c 18 ShortRangeSensor(PinName sda, PinName scl);
Hypna 0:fba97a03cd3c 19 //returns range in mm
Hypna 0:fba97a03cd3c 20 int getRange();
Hypna 0:fba97a03cd3c 21 //returns value of status register
Hypna 0:fba97a03cd3c 22 int getStatus();
Hypna 0:fba97a03cd3c 23 //returns value of part to part range offset register
Hypna 0:fba97a03cd3c 24 int getPPOffset();
Hypna 0:fba97a03cd3c 25 //sets value of part to part range offset register, -128 to 128
Hypna 0:fba97a03cd3c 26 void setPPOffset(int offset);
Hypna 0:fba97a03cd3c 27
Hypna 0:fba97a03cd3c 28 private:
Hypna 0:fba97a03cd3c 29 I2C i2c;
Hypna 0:fba97a03cd3c 30 };
Hypna 0:fba97a03cd3c 31
Hypna 0:fba97a03cd3c 32 #endif