From 80da360e5213c0481ba7c19a463129eb19e3d7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Otto=20Ryyn=C3=A4nen?= Date: Wed, 1 Feb 2017 11:18:49 +0200 Subject: Accelometer changed to report values in G instead of mG MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I4193b6566f7408f3e3e09161987d107941e2a6b2 Reviewed-by: Kari Hautamäki Reviewed-by: Titta Heikkala --- tradeshow/iot-sensortag/bluetoothdataprovider.cpp | 8 ++-- tradeshow/iot-sensortag/clouddataprovider.cpp | 8 ++-- tradeshow/iot-sensortag/cloudupdate.cpp | 6 +-- tradeshow/iot-sensortag/mockdataprovider.cpp | 44 ++++++++++------------ tradeshow/iot-sensortag/mockdataprovider.h | 6 +-- .../iot-sensortag/resources/base/AccelChart.qml | 8 ++-- tradeshow/iot-sensortag/sensortagdataprovider.cpp | 18 ++++----- tradeshow/iot-sensortag/sensortagdataprovider.h | 20 +++++----- 8 files changed, 57 insertions(+), 61 deletions(-) (limited to 'tradeshow') diff --git a/tradeshow/iot-sensortag/bluetoothdataprovider.cpp b/tradeshow/iot-sensortag/bluetoothdataprovider.cpp index b84bb84..1f0cbf5 100644 --- a/tradeshow/iot-sensortag/bluetoothdataprovider.cpp +++ b/tradeshow/iot-sensortag/bluetoothdataprovider.cpp @@ -176,10 +176,10 @@ void BluetoothDataProvider::motionReceived(MotionSensorData &data) emit rotationXChanged(); emit rotationYChanged(); emit rotationZChanged(); - accelometer_mG_xAxis = data.accelometer_x; - accelometer_mG_yAxis = data.accelometer_y; - accelometer_mG_zAxis = data.accelometer_z; - emit accelometerGChanged(); + accelometerX = data.accelometer_x; + accelometerY = data.accelometer_y; + accelometerZ = data.accelometer_z; + emit accelometerChanged(); magnetometerMicroT_xAxis = data.magnetometer_x; magnetometerMicroT_yAxis = data.magnetometer_y; magnetometerMicroT_zAxis = data.magnetometer_z; diff --git a/tradeshow/iot-sensortag/clouddataprovider.cpp b/tradeshow/iot-sensortag/clouddataprovider.cpp index f4a24aa..d45d79f 100644 --- a/tradeshow/iot-sensortag/clouddataprovider.cpp +++ b/tradeshow/iot-sensortag/clouddataprovider.cpp @@ -146,13 +146,13 @@ void CloudDataProvider::parseReceivedText() gyroscopeZ_degPerSec = floatValue; } else if ("AccX:" == headerText) { accelometerReadingGot = true; - accelometer_mG_xAxis = doubleValue; + accelometerX = floatValue; } else if ("AccY:" == headerText) { accelometerReadingGot = true; - accelometer_mG_yAxis = doubleValue; + accelometerY = floatValue; } else if ("AccZ:" == headerText) { accelometerReadingGot = true; - accelometer_mG_zAxis = doubleValue; + accelometerZ = floatValue; } else if ("MagnX:" == headerText) { magnetometerReadingGot = true; magnetometerMicroT_xAxis = floatValue; @@ -178,7 +178,7 @@ void CloudDataProvider::parseReceivedText() if (gyroscopeReadingGot) emit gyroscopeDegPerSecChanged(); if (accelometerReadingGot) - emit accelometerGChanged(); + emit accelometerChanged(); if (magnetometerReadingGot) emit magnetometerMicroTChanged(); } diff --git a/tradeshow/iot-sensortag/cloudupdate.cpp b/tradeshow/iot-sensortag/cloudupdate.cpp index 505b0d3..122fd9e 100644 --- a/tradeshow/iot-sensortag/cloudupdate.cpp +++ b/tradeshow/iot-sensortag/cloudupdate.cpp @@ -172,9 +172,9 @@ QString CloudUpdate::buildString() const exportString += QString("gyroX:\n%1\n").arg(m_provider->getGyroscopeX_degPerSec(), 0, 'f', ROUNDING_DECIMALS); exportString += QString("gyroY:\n%1\n").arg(m_provider->getGyroscopeY_degPerSec(), 0, 'f', ROUNDING_DECIMALS); exportString += QString("gyroZ:\n%1\n").arg(m_provider->getGyroscopeZ_degPerSec(), 0, 'f', ROUNDING_DECIMALS); - exportString += QString("AccX:\n%1\n").arg(m_provider->getAccelometer_mG_xAxis()); - exportString += QString("AccY:\n%1\n").arg(m_provider->getAccelometer_mG_yAxis()); - exportString += QString("AccZ:\n%1\n").arg(m_provider->getAccelometer_mG_zAxis()); + exportString += QString("AccX:\n%1\n").arg(m_provider->getAccelometer_xAxis(), 0, 'f', ROUNDING_DECIMALS); + exportString += QString("AccY:\n%1\n").arg(m_provider->getAccelometer_yAxis(), 0, 'f', ROUNDING_DECIMALS); + exportString += QString("AccZ:\n%1\n").arg(m_provider->getAccelometer_zAxis(), 0, 'f', ROUNDING_DECIMALS); exportString += QString("MagnX:\n%1\n").arg(m_provider->getMagnetometerMicroT_xAxis(), 0, 'f', ROUNDING_DECIMALS); exportString += QString("MagnY:\n%1\n").arg(m_provider->getMagnetometerMicroT_yAxis(), 0, 'f', ROUNDING_DECIMALS); exportString += QString("MagnZ:\n%1\n").arg(m_provider->getMagnetometerMicroT_zAxis(), 0, 'f', ROUNDING_DECIMALS); diff --git a/tradeshow/iot-sensortag/mockdataprovider.cpp b/tradeshow/iot-sensortag/mockdataprovider.cpp index ad56c28..f081c30 100644 --- a/tradeshow/iot-sensortag/mockdataprovider.cpp +++ b/tradeshow/iot-sensortag/mockdataprovider.cpp @@ -52,9 +52,8 @@ MockDataProvider::MockDataProvider(QString id, QObject* parent) : SensorTagDataProvider(id, parent), - xAxisG(-10), - yAxisG(10), - zAxisG(0), + xAxisG(-0.02), + zAxisG(0.02), luxIncrease(100), rotationDegPerSecXIncrease(5), rotationDegPerSecYIncrease(7), @@ -66,6 +65,8 @@ MockDataProvider::MockDataProvider(QString id, QObject* parent) irObjectTemperature = 25; barometerCelsiusTemperature = 25; barometerHPa = 1040; + accelometerX = 1; + accelometerZ = 0; magnetometerMicroT_xAxis = 333; magnetometerMicroT_yAxis = 666; magnetometerMicroT_zAxis = 999; @@ -171,28 +172,23 @@ void MockDataProvider::oneSecondTimerExpired() void MockDataProvider::twentyMsTimerExpired() { //Rotate counter-clockwise around Z axis - if ((zAxisG > -10) && - (xAxisG <= 0)) { - if (zAxisG <= 0) { - xAxisG += 2; - zAxisG -= 2; - } else { - xAxisG -= 2; - zAxisG -= 2; - } - } else { - if (zAxisG < 0) { - xAxisG += 2; - zAxisG += 2; - } else { - xAxisG -= 2; - zAxisG += 2; - } + accelometerX += xAxisG; + if (accelometerX < -1) { + xAxisG = xAxisG * -1; + accelometerX = -1; + } else if (accelometerX > 1) { + xAxisG = xAxisG * -1; + accelometerX = 1; } - accelometer_mG_xAxis = xAxisG * 100; - accelometer_mG_yAxis = yAxisG * 100; - accelometer_mG_zAxis = zAxisG * 100; - emit accelometerGChanged(); + accelometerZ += zAxisG; + if (accelometerZ < -1) { + zAxisG = zAxisG * -1; + accelometerZ = -1; + } else if (accelometerZ > 1) { + zAxisG = zAxisG * -1; + accelometerZ = 1; + } + emit accelometerChanged(); magnetometerMicroT_xAxis += 50; magnetometerMicroT_yAxis += 50; magnetometerMicroT_zAxis += 50; diff --git a/tradeshow/iot-sensortag/mockdataprovider.h b/tradeshow/iot-sensortag/mockdataprovider.h index 5f1f1e3..18b238a 100644 --- a/tradeshow/iot-sensortag/mockdataprovider.h +++ b/tradeshow/iot-sensortag/mockdataprovider.h @@ -75,9 +75,9 @@ public slots: private: QTimer *oneSecondTimer; QTimer *twentyMillisecondTimer; - int xAxisG; - int yAxisG; - int zAxisG; + float xAxisG; + float yAxisG; + float zAxisG; int luxIncrease; int rotationDegPerSecXIncrease; int rotationDegPerSecYIncrease; diff --git a/tradeshow/iot-sensortag/resources/base/AccelChart.qml b/tradeshow/iot-sensortag/resources/base/AccelChart.qml index 6b7d240..9beca22 100644 --- a/tradeshow/iot-sensortag/resources/base/AccelChart.qml +++ b/tradeshow/iot-sensortag/resources/base/AccelChart.qml @@ -61,16 +61,16 @@ BaseChart { rightSide: true onSensorChanged: if (sensor) { - sensor.accelometerGChanged.connect(contentItem.updateAcceValues) + sensor.accelometerChanged.connect(contentItem.updateAcceValues) } content: Item { anchors.fill: parent function updateAcceValues() { - acceXValue = sensor.accelometer_mG_xAxis.toFixed(1) - acceYValue = sensor.accelometer_mG_yAxis.toFixed(1) - acceZValue = sensor.accelometer_mG_zAxis.toFixed(1) + acceXValue = sensor.accelometer_xAxis.toFixed(1) + acceYValue = sensor.accelometer_yAxis.toFixed(1) + acceZValue = sensor.accelometer_zAxis.toFixed(1) } Row { diff --git a/tradeshow/iot-sensortag/sensortagdataprovider.cpp b/tradeshow/iot-sensortag/sensortagdataprovider.cpp index c41cf19..4d1abcd 100644 --- a/tradeshow/iot-sensortag/sensortagdataprovider.cpp +++ b/tradeshow/iot-sensortag/sensortagdataprovider.cpp @@ -71,9 +71,9 @@ SensorTagDataProvider::SensorTagDataProvider(QString id, QObject* parent) gyroscopeX_degPerSec(0), gyroscopeY_degPerSec(0), gyroscopeZ_degPerSec(0), - accelometer_mG_xAxis(0), - accelometer_mG_yAxis(0), - accelometer_mG_zAxis(0), + accelometerX(0), + accelometerY(0), + accelometerZ(0), /* Object is not "walking in the air" so have one axis at 1G */ magnetometerMicroT_xAxis(-1000), magnetometerMicroT_yAxis(0), @@ -156,19 +156,19 @@ float SensorTagDataProvider::getGyroscopeZ_degPerSec() return gyroscopeZ_degPerSec; } -float SensorTagDataProvider::getAccelometer_mG_xAxis() +float SensorTagDataProvider::getAccelometer_xAxis() { - return accelometer_mG_xAxis; + return accelometerX; } -float SensorTagDataProvider::getAccelometer_mG_yAxis() +float SensorTagDataProvider::getAccelometer_yAxis() { - return accelometer_mG_yAxis; + return accelometerY; } -float SensorTagDataProvider::getAccelometer_mG_zAxis() +float SensorTagDataProvider::getAccelometer_zAxis() { - return accelometer_mG_zAxis; + return accelometerZ; } float SensorTagDataProvider::getMagnetometerMicroT_xAxis() diff --git a/tradeshow/iot-sensortag/sensortagdataprovider.h b/tradeshow/iot-sensortag/sensortagdataprovider.h index 3880578..43dda8e 100644 --- a/tradeshow/iot-sensortag/sensortagdataprovider.h +++ b/tradeshow/iot-sensortag/sensortagdataprovider.h @@ -76,9 +76,9 @@ class SensorTagDataProvider : public QObject Q_PROPERTY(float gyroscopeX_degPerSec READ getGyroscopeX_degPerSec NOTIFY gyroscopeDegPerSecChanged) Q_PROPERTY(float gyroscopeY_degPerSec READ getGyroscopeY_degPerSec NOTIFY gyroscopeDegPerSecChanged) Q_PROPERTY(float gyroscopeZ_degPerSec READ getGyroscopeZ_degPerSec NOTIFY gyroscopeDegPerSecChanged) - Q_PROPERTY(int accelometer_mG_xAxis READ getAccelometer_mG_xAxis NOTIFY accelometerGChanged) - Q_PROPERTY(int accelometer_mG_yAxis READ getAccelometer_mG_yAxis NOTIFY accelometerGChanged) - Q_PROPERTY(int accelometer_mG_zAxis READ getAccelometer_mG_zAxis NOTIFY accelometerGChanged) + Q_PROPERTY(float accelometer_xAxis READ getAccelometer_xAxis NOTIFY accelometerChanged) + Q_PROPERTY(float accelometer_yAxis READ getAccelometer_yAxis NOTIFY accelometerChanged) + Q_PROPERTY(float accelometer_zAxis READ getAccelometer_zAxis NOTIFY accelometerChanged) Q_PROPERTY(float magnetometerMicroT_xAxis READ getMagnetometerMicroT_xAxis NOTIFY magnetometerMicroTChanged) Q_PROPERTY(float magnetometerMicroT_yAxis READ getMagnetometerMicroT_yAxis NOTIFY magnetometerMicroTChanged) Q_PROPERTY(float magnetometerMicroT_zAxis READ getMagnetometerMicroT_zAxis NOTIFY magnetometerMicroTChanged) @@ -116,9 +116,9 @@ public: float getGyroscopeX_degPerSec(); float getGyroscopeY_degPerSec(); float getGyroscopeZ_degPerSec(); - float getAccelometer_mG_xAxis(); - float getAccelometer_mG_yAxis(); - float getAccelometer_mG_zAxis(); + float getAccelometer_xAxis(); + float getAccelometer_yAxis(); + float getAccelometer_zAxis(); float getMagnetometerMicroT_xAxis(); float getMagnetometerMicroT_yAxis(); float getMagnetometerMicroT_zAxis(); @@ -146,7 +146,7 @@ signals: void barometerCelsiusTemperatureAverageChanged(); void barometer_hPaChanged(); void gyroscopeDegPerSecChanged(); - void accelometerGChanged(); + void accelometerChanged(); void magnetometerMicroTChanged(); void rotationXChanged(); void rotationYChanged(); @@ -165,9 +165,9 @@ protected: float gyroscopeX_degPerSec; float gyroscopeY_degPerSec; float gyroscopeZ_degPerSec; - int accelometer_mG_xAxis; - int accelometer_mG_yAxis; - int accelometer_mG_zAxis; + float accelometerX; + float accelometerY; + float accelometerZ; float magnetometerMicroT_xAxis; float magnetometerMicroT_yAxis; float magnetometerMicroT_zAxis; -- cgit v1.2.3