From b6118ee6d891352fe68f515e1eebcb1a43e9c4a9 Mon Sep 17 00:00:00 2001 From: KTOWN Date: Thu, 11 Jul 2013 01:06:35 +0200 Subject: [PATCH] Minor cleanup --- Adafruit_ADXL345.cpp | 12 ++++++++---- Adafruit_ADXL345.h | 1 + examples/sensortest/sensortest.pde | 6 ++++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Adafruit_ADXL345.cpp b/Adafruit_ADXL345.cpp index 277f1fe..4b4c4d1 100644 --- a/Adafruit_ADXL345.cpp +++ b/Adafruit_ADXL345.cpp @@ -139,6 +139,7 @@ static int16_t getZ(void) { /**************************************************************************/ Adafruit_ADXL345::Adafruit_ADXL345(int32_t sensorID) { _sensorID = sensorID; + _range = ADXL345_RANGE_2_G; } /**************************************************************************/ @@ -183,6 +184,9 @@ void Adafruit_ADXL345::setRange(range_t range) /* Write the register back to the IC */ writeRegister(ADXL345_REG_DATA_FORMAT, format); + + /* Keep track of the current range (to avoid readbacks) */ + _range = range; } /**************************************************************************/ @@ -203,7 +207,7 @@ range_t Adafruit_ADXL345::getRange(void) /**************************************************************************/ void Adafruit_ADXL345::setDataRate(dataRate_t dataRate) { - /* Note: The LOW_POWER bits are currently ignore and we always keep + /* Note: The LOW_POWER bits are currently ignored and we always keep the device in 'normal' mode */ writeRegister(ADXL345_REG_BW_RATE, dataRate); } @@ -231,9 +235,9 @@ void Adafruit_ADXL345::getEvent(sensors_event_t *event) { event->sensor_id = _sensorID; event->type = SENSOR_TYPE_ACCELEROMETER; event->timestamp = 0; - event->acceleration.x = x * ADXL345_MG2G_MULTIPLIER * SENSORS_GRAVITY_STANDARD; - event->acceleration.y = y * ADXL345_MG2G_MULTIPLIER * SENSORS_GRAVITY_STANDARD; - event->acceleration.z = z * ADXL345_MG2G_MULTIPLIER * SENSORS_GRAVITY_STANDARD; + event->acceleration.x = getX() * ADXL345_MG2G_MULTIPLIER * SENSORS_GRAVITY_STANDARD; + event->acceleration.y = getY() * ADXL345_MG2G_MULTIPLIER * SENSORS_GRAVITY_STANDARD; + event->acceleration.z = getZ() * ADXL345_MG2G_MULTIPLIER * SENSORS_GRAVITY_STANDARD; } /**************************************************************************/ diff --git a/Adafruit_ADXL345.h b/Adafruit_ADXL345.h index 2acd682..77d7ffc 100644 --- a/Adafruit_ADXL345.h +++ b/Adafruit_ADXL345.h @@ -117,4 +117,5 @@ class Adafruit_ADXL345 : public Adafruit_Sensor { private: int32_t _sensorID; + range_t _range; }; diff --git a/examples/sensortest/sensortest.pde b/examples/sensortest/sensortest.pde index 9e9ca5f..e05316c 100644 --- a/examples/sensortest/sensortest.pde +++ b/examples/sensortest/sensortest.pde @@ -119,6 +119,12 @@ void setup(void) Serial.println("Ooops, no ADXL345 detected ... Check your wiring!"); while(1); } + + /* Set the range to whatever is appropriate for your project */ + accel.setRange(ADXL345_RANGE_16_G); + // displaySetRange(ADXL345_RANGE_8_G); + // displaySetRange(ADXL345_RANGE_4_G); + // displaySetRange(ADXL345_RANGE_2_G); /* Display some basic information on this sensor */ displaySensorDetails();