From 8f3d5d0a8e9539ebcc203f5dd7c3661cad101a35 Mon Sep 17 00:00:00 2001 From: Leon Lindenfelser Date: Thu, 10 Dec 2015 16:28:45 -0600 Subject: Fixed acceleration values... use int16_t not uint16_t. Added a timer to sensor read loops so they can't get stuck in eternal loops. Changed light sensor data rate from 1.56 to 6.25. --- Layout/LayoutDemoSampling.cpp | 41 ++++++++++++++++++++++++----------------- Layout/LayoutDemoSampling.h | 6 +++--- 2 files changed, 27 insertions(+), 20 deletions(-) (limited to 'Layout') diff --git a/Layout/LayoutDemoSampling.cpp b/Layout/LayoutDemoSampling.cpp index 52c1493..aea80ac 100644 --- a/Layout/LayoutDemoSampling.cpp +++ b/Layout/LayoutDemoSampling.cpp @@ -80,51 +80,58 @@ void LayoutDemoSampling::updateInterval(uint32_t seconds) { writeField(_fInfo, buf, size, true); } -void LayoutDemoSampling::updateAccelerationX(uint16_t x) { +void LayoutDemoSampling::updateAccelerationX(int16_t x) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%d", x); - writeField(_fAccx, buf, true); + size = snprintf(buf, sizeof(buf), "%d", x); + writeField(_fAccx, buf, size, true); } -void LayoutDemoSampling::updateAccelerationY(uint16_t y) { +void LayoutDemoSampling::updateAccelerationY(int16_t y) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%d", y); - writeField(_fAccy, buf, true); + size = snprintf(buf, sizeof(buf), "%d", y); + writeField(_fAccy, buf, size, true); } -void LayoutDemoSampling::updateAccelerationZ(uint16_t z) { +void LayoutDemoSampling::updateAccelerationZ(int16_t z) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%d", z); - writeField(_fAccz, buf, true); + size = snprintf(buf, sizeof(buf), "%d", z); + writeField(_fAccz, buf, size, true); } void LayoutDemoSampling::updatePressure(float pressure) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%3.2f KPa", pressure/1000); - writeField(_fPres, buf, true); + size = snprintf(buf, sizeof(buf), "%3.2f KPa", pressure/1000); + writeField(_fPres, buf, size, true); } void LayoutDemoSampling::updateAltitude(float altitude) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%5.2f m", altitude); - writeField(_fAlt, buf, true); + size = snprintf(buf, sizeof(buf), "%5.2f m", altitude); + writeField(_fAlt, buf, size, true); } void LayoutDemoSampling::updateTemperature(float temperature) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%3.2f C", temperature); - writeField(_fTemp, buf, true); + size = snprintf(buf, sizeof(buf), "%3.2f C", temperature); + writeField(_fTemp, buf, size, true); } void LayoutDemoSampling::updateLight(float light) { char buf[16]; + size_t size; memset(buf, ' ', sizeof(buf)); - snprintf(buf, sizeof(buf), "%4.2f lux", light); - writeField(_fLight, buf, true); + size = snprintf(buf, sizeof(buf), "%4.2f lux", light); + writeField(_fLight, buf, size, true); } diff --git a/Layout/LayoutDemoSampling.h b/Layout/LayoutDemoSampling.h index f3faceb..a590966 100644 --- a/Layout/LayoutDemoSampling.h +++ b/Layout/LayoutDemoSampling.h @@ -15,9 +15,9 @@ class LayoutDemoSampling : public Layout { void updateSw2(std::string sw2); void updateCountdown(uint32_t seconds); void updateInterval(uint32_t seconds); - void updateAccelerationX(uint16_t x); - void updateAccelerationY(uint16_t y); - void updateAccelerationZ(uint16_t z); + void updateAccelerationX(int16_t x); + void updateAccelerationY(int16_t y); + void updateAccelerationZ(int16_t z); void updatePressure(float pressure); void updateAltitude(float altitude); void updateTemperature(float temperature); -- cgit v1.2.3