3/26/16 12:25 am JJ
ShortRangeSensor.cpp
- Committer:
- j_j205
- Date:
- 2016-03-26
- Revision:
- 0:08b7f391566c
File content as of revision 0:08b7f391566c:
#include "ShortRangeSensor.h" ShortRangeSensor::ShortRangeSensor(PinName sda, PinName scl) : i2c(sda, scl) { //disables ECE i2c.write(ADDR, SYSRANGE__RANGE_CHECK_ENABLES, 3); } //returns range in mm int ShortRangeSensor::getRange() { char data; i2c.write(ADDR, SYSRANGE__START_SAMPLE, 3); wait_ms(20); i2c.write(ADDR, RESULT__RANGE_VAL, 2); i2c.read(ADDR, &data, 1); return data; } int ShortRangeSensor::getStatus() { char data; i2c.write(ADDR, RESULT__RANGE_STATUS, 2); i2c.read(ADDR, &data, 1); return data; } int ShortRangeSensor::getPPOffset() { char data; i2c.write(ADDR, SYSRANGE__PART_TO_PART_RANGE_OFFSET, 2); i2c.read(ADDR, &data, 1); return data; } void ShortRangeSensor::setPPOffset(int offset) { if(offset < -128 || offset > 128) return; char cmd[3]; cmd[0] = SYSRANGE__PART_TO_PART_RANGE_OFFSET[0]; cmd[1] = SYSRANGE__PART_TO_PART_RANGE_OFFSET[1]; cmd[2] = offset; i2c.write(ADDR, cmd, 3); }