3/26/16 12:25 am JJ

Committer:
j_j205
Date:
Sat Mar 26 05:26:10 2016 +0000
Revision:
0:08b7f391566c
3/26/16 12:25 am JJ

Who changed what in which revision?

UserRevisionLine numberNew contents of line
j_j205 0:08b7f391566c 1 #include "ShortRangeSensor.h"
j_j205 0:08b7f391566c 2
j_j205 0:08b7f391566c 3 ShortRangeSensor::ShortRangeSensor(PinName sda, PinName scl) : i2c(sda, scl)
j_j205 0:08b7f391566c 4 {
j_j205 0:08b7f391566c 5 //disables ECE
j_j205 0:08b7f391566c 6 i2c.write(ADDR, SYSRANGE__RANGE_CHECK_ENABLES, 3);
j_j205 0:08b7f391566c 7 }
j_j205 0:08b7f391566c 8
j_j205 0:08b7f391566c 9 //returns range in mm
j_j205 0:08b7f391566c 10 int ShortRangeSensor::getRange()
j_j205 0:08b7f391566c 11 {
j_j205 0:08b7f391566c 12 char data;
j_j205 0:08b7f391566c 13
j_j205 0:08b7f391566c 14 i2c.write(ADDR, SYSRANGE__START_SAMPLE, 3);
j_j205 0:08b7f391566c 15 wait_ms(20);
j_j205 0:08b7f391566c 16 i2c.write(ADDR, RESULT__RANGE_VAL, 2);
j_j205 0:08b7f391566c 17 i2c.read(ADDR, &data, 1);
j_j205 0:08b7f391566c 18
j_j205 0:08b7f391566c 19 return data;
j_j205 0:08b7f391566c 20 }
j_j205 0:08b7f391566c 21
j_j205 0:08b7f391566c 22 int ShortRangeSensor::getStatus()
j_j205 0:08b7f391566c 23 {
j_j205 0:08b7f391566c 24 char data;
j_j205 0:08b7f391566c 25
j_j205 0:08b7f391566c 26 i2c.write(ADDR, RESULT__RANGE_STATUS, 2);
j_j205 0:08b7f391566c 27 i2c.read(ADDR, &data, 1);
j_j205 0:08b7f391566c 28
j_j205 0:08b7f391566c 29 return data;
j_j205 0:08b7f391566c 30 }
j_j205 0:08b7f391566c 31
j_j205 0:08b7f391566c 32 int ShortRangeSensor::getPPOffset()
j_j205 0:08b7f391566c 33 {
j_j205 0:08b7f391566c 34 char data;
j_j205 0:08b7f391566c 35
j_j205 0:08b7f391566c 36 i2c.write(ADDR, SYSRANGE__PART_TO_PART_RANGE_OFFSET, 2);
j_j205 0:08b7f391566c 37 i2c.read(ADDR, &data, 1);
j_j205 0:08b7f391566c 38
j_j205 0:08b7f391566c 39 return data;
j_j205 0:08b7f391566c 40 }
j_j205 0:08b7f391566c 41
j_j205 0:08b7f391566c 42 void ShortRangeSensor::setPPOffset(int offset)
j_j205 0:08b7f391566c 43 {
j_j205 0:08b7f391566c 44 if(offset < -128 || offset > 128)
j_j205 0:08b7f391566c 45 return;
j_j205 0:08b7f391566c 46
j_j205 0:08b7f391566c 47 char cmd[3];
j_j205 0:08b7f391566c 48
j_j205 0:08b7f391566c 49 cmd[0] = SYSRANGE__PART_TO_PART_RANGE_OFFSET[0];
j_j205 0:08b7f391566c 50 cmd[1] = SYSRANGE__PART_TO_PART_RANGE_OFFSET[1];
j_j205 0:08b7f391566c 51 cmd[2] = offset;
j_j205 0:08b7f391566c 52
j_j205 0:08b7f391566c 53 i2c.write(ADDR, cmd, 3);
j_j205 0:08b7f391566c 54 }