From 421141d8523e7bade673e975c4435fd7a393a398 Mon Sep 17 00:00:00 2001 From: microbuilder Date: Mon, 10 Oct 2016 10:59:01 +0200 Subject: [PATCH] Renamed raw output to .raw --- Adafruit_LSM303_U.cpp | 50 ++++++++++++++-------------- Adafruit_LSM303_U.h | 18 +++++----- examples/accelsensor/accelsensor.pde | 6 ++-- examples/magsensor/magsensor.pde | 6 ++-- library.properties | 2 +- 5 files changed, 41 insertions(+), 41 deletions(-) diff --git a/Adafruit_LSM303_U.cpp b/Adafruit_LSM303_U.cpp index ca3d83b..65cc5bd 100644 --- a/Adafruit_LSM303_U.cpp +++ b/Adafruit_LSM303_U.cpp @@ -121,9 +121,9 @@ void Adafruit_LSM303_Accel_Unified::read() #endif // Shift values to create properly formed integer (low byte first) - accelData.x = (int16_t)(xlo | (xhi << 8)) >> 4; - accelData.y = (int16_t)(ylo | (yhi << 8)) >> 4; - accelData.z = (int16_t)(zlo | (zhi << 8)) >> 4; + raw.x = (int16_t)(xlo | (xhi << 8)) >> 4; + raw.y = (int16_t)(ylo | (yhi << 8)) >> 4; + raw.z = (int16_t)(zlo | (zhi << 8)) >> 4; } /*************************************************************************** @@ -139,9 +139,9 @@ Adafruit_LSM303_Accel_Unified::Adafruit_LSM303_Accel_Unified(int32_t sensorID) { _sensorID = sensorID; // Clear the raw accel data - accelData.x = 0; - accelData.y = 0; - accelData.z = 0; + raw.x = 0; + raw.y = 0; + raw.z = 0; } /*************************************************************************** @@ -188,9 +188,9 @@ bool Adafruit_LSM303_Accel_Unified::getEvent(sensors_event_t *event) { event->sensor_id = _sensorID; event->type = SENSOR_TYPE_ACCELEROMETER; event->timestamp = millis(); - event->acceleration.x = accelData.x * _lsm303Accel_MG_LSB * SENSORS_GRAVITY_STANDARD; - event->acceleration.y = accelData.y * _lsm303Accel_MG_LSB * SENSORS_GRAVITY_STANDARD; - event->acceleration.z = accelData.z * _lsm303Accel_MG_LSB * SENSORS_GRAVITY_STANDARD; + event->acceleration.x = (float)raw.x * _lsm303Accel_MG_LSB * SENSORS_GRAVITY_STANDARD; + event->acceleration.y = (float)raw.y * _lsm303Accel_MG_LSB * SENSORS_GRAVITY_STANDARD; + event->acceleration.z = (float)raw.z * _lsm303Accel_MG_LSB * SENSORS_GRAVITY_STANDARD; return true; } @@ -306,9 +306,9 @@ void Adafruit_LSM303_Mag_Unified::read() #endif // Shift values to create properly formed integer (low byte first) - magData.x = (int16_t)(xlo | ((int16_t)xhi << 8)); - magData.y = (int16_t)(ylo | ((int16_t)yhi << 8)); - magData.z = (int16_t)(zlo | ((int16_t)zhi << 8)); + raw.x = (int16_t)(xlo | ((int16_t)xhi << 8)); + raw.y = (int16_t)(ylo | ((int16_t)yhi << 8)); + raw.z = (int16_t)(zlo | ((int16_t)zhi << 8)); } /*************************************************************************** @@ -324,10 +324,10 @@ Adafruit_LSM303_Mag_Unified::Adafruit_LSM303_Mag_Unified(int32_t sensorID) { _sensorID = sensorID; autoRangeEnabled = false; - // Clear the raw accel data - magData.x = 0; - magData.y = 0; - magData.z = 0; + // Clear the raw mag data + raw.x = 0; + raw.y = 0; + raw.z = 0; } /*************************************************************************** @@ -457,14 +457,14 @@ bool Adafruit_LSM303_Mag_Unified::getEvent(sensors_event_t *event) { else { #ifdef LSM303_DEBUG - Serial.print(magData.x); Serial.print(" "); - Serial.print(magData.y); Serial.print(" "); - Serial.print(magData.z); Serial.println(" "); + Serial.print(raw.x); Serial.print(" "); + Serial.print(raw.y); Serial.print(" "); + Serial.print(raw.z); Serial.println(" "); #endif /* Check if the sensor is saturating or not */ - if ( (magData.x >= 2040) | (magData.x <= -2040) | - (magData.y >= 2040) | (magData.y <= -2040) | - (magData.z >= 2040) | (magData.z <= -2040) ) + if ( (raw.x >= 2040) | (raw.x <= -2040) | + (raw.y >= 2040) | (raw.y <= -2040) | + (raw.z >= 2040) | (raw.z <= -2040) ) { /* Saturating .... increase the range if we can */ switch(magGain) @@ -528,9 +528,9 @@ bool Adafruit_LSM303_Mag_Unified::getEvent(sensors_event_t *event) { event->sensor_id = _sensorID; event->type = SENSOR_TYPE_MAGNETIC_FIELD; event->timestamp = millis(); - event->magnetic.x = magData.x / _lsm303Mag_Gauss_LSB_XY * SENSORS_GAUSS_TO_MICROTESLA; - event->magnetic.y = magData.y / _lsm303Mag_Gauss_LSB_XY * SENSORS_GAUSS_TO_MICROTESLA; - event->magnetic.z = magData.z / _lsm303Mag_Gauss_LSB_Z * SENSORS_GAUSS_TO_MICROTESLA; + event->magnetic.x = (float)raw.x / _lsm303Mag_Gauss_LSB_XY * SENSORS_GAUSS_TO_MICROTESLA; + event->magnetic.y = (float)raw.y / _lsm303Mag_Gauss_LSB_XY * SENSORS_GAUSS_TO_MICROTESLA; + event->magnetic.z = (float)raw.z / _lsm303Mag_Gauss_LSB_Z * SENSORS_GAUSS_TO_MICROTESLA; return true; } diff --git a/Adafruit_LSM303_U.h b/Adafruit_LSM303_U.h index 6004990..036a029 100644 --- a/Adafruit_LSM303_U.h +++ b/Adafruit_LSM303_U.h @@ -125,9 +125,9 @@ -----------------------------------------------------------------------*/ typedef struct lsm303MagData_s { - float x; - float y; - float z; + int16_t x; + int16_t y; + int16_t z; } lsm303MagData; /*=========================================================================*/ @@ -136,9 +136,9 @@ -----------------------------------------------------------------------*/ typedef struct lsm303AccelData_s { - float x; - float y; - float z; + int16_t x; + int16_t y; + int16_t z; } lsm303AccelData; /*=========================================================================*/ @@ -158,7 +158,7 @@ class Adafruit_LSM303_Accel_Unified : public Adafruit_Sensor bool getEvent(sensors_event_t*); void getSensor(sensor_t*); - lsm303AccelData accelData; // Last read accelerometer data will be available here + lsm303AccelData raw; // Last read accelerometer data will be available here private: int32_t _sensorID; @@ -181,13 +181,13 @@ class Adafruit_LSM303_Mag_Unified : public Adafruit_Sensor bool getEvent(sensors_event_t*); void getSensor(sensor_t*); - lsm303MagData magData; // Last read magnetometer data will be available here + lsm303MagData raw; // Last read magnetometer data will be available here lsm303MagGain magGain; bool autoRangeEnabled; private: int32_t _sensorID; - + void write8(byte address, byte reg, byte value); byte read8(byte address, byte reg); void read(void); diff --git a/examples/accelsensor/accelsensor.pde b/examples/accelsensor/accelsensor.pde index 0b9dd2d..47a1b05 100644 --- a/examples/accelsensor/accelsensor.pde +++ b/examples/accelsensor/accelsensor.pde @@ -55,9 +55,9 @@ void loop(void) /* Note: You can also get the raw (non unified values) for */ /* the last data sample as follows. The .getEvent call populates */ /* the raw values used below. */ - //Serial.print("X Raw: "); Serial.print(accel.accelData.x); Serial.print(" "); - //Serial.print("Y Raw: "); Serial.print(accel.accelData.y); Serial.print(" "); - //Serial.print("Z Raw: "); Serial.print(accel.accelData.z); Serial.println(""); + //Serial.print("X Raw: "); Serial.print(accel.raw.x); Serial.print(" "); + //Serial.print("Y Raw: "); Serial.print(accel.raw.y); Serial.print(" "); + //Serial.print("Z Raw: "); Serial.print(accel.raw.z); Serial.println(""); /* Delay before the next sample */ delay(500); diff --git a/examples/magsensor/magsensor.pde b/examples/magsensor/magsensor.pde index 509df08..9889685 100644 --- a/examples/magsensor/magsensor.pde +++ b/examples/magsensor/magsensor.pde @@ -58,9 +58,9 @@ void loop(void) /* Note: You can also get the raw (non unified values) for */ /* the last data sample as follows. The .getEvent call populates */ /* the raw values used below. */ - // Serial.print("X Raw: "); Serial.print(mag.magData.x); Serial.print(" "); - // Serial.print("Y Raw: "); Serial.print(mag.magData.y); Serial.print(" "); - // Serial.print("Z Raw: "); Serial.print(mag.magData.z); Serial.println(""); + // Serial.print("X Raw: "); Serial.print(mag.raw.x); Serial.print(" "); + // Serial.print("Y Raw: "); Serial.print(mag.raw.y); Serial.print(" "); + // Serial.print("Z Raw: "); Serial.print(mag.raw.z); Serial.println(""); /* Delay before the next sample */ delay(500); diff --git a/library.properties b/library.properties index 12aba3b..ae09d5d 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Adafruit LSM303DLHC -version=1.0.1 +version=1.0.2 author=Adafruit maintainer=Adafruit sentence=Unified sensor driver for Adafruit's LSM303 Breakout (Accelerometer + Magnetometer)