diff options
author | Mike Fiore <mfiore@multitech.com> | 2015-11-20 08:13:35 -0600 |
---|---|---|
committer | Mike Fiore <mfiore@multitech.com> | 2015-11-20 08:13:35 -0600 |
commit | 674cdb5c13bad3598381b81d843b5aeee5798d1f (patch) | |
tree | 1d18d592b5df2513036838bc94530648ad36631e /Layout/LayoutSurveySuccess.cpp | |
parent | 11412cbac7021dd8aee14ac4f1dc25994c9ab45b (diff) | |
download | mtdot-box-evb-factory-firmware-674cdb5c13bad3598381b81d843b5aeee5798d1f.tar.gz mtdot-box-evb-factory-firmware-674cdb5c13bad3598381b81d843b5aeee5798d1f.tar.bz2 mtdot-box-evb-factory-firmware-674cdb5c13bad3598381b81d843b5aeee5798d1f.zip |
implement basic single survey mode - still needs sending data packet and data survey file
Diffstat (limited to 'Layout/LayoutSurveySuccess.cpp')
-rw-r--r-- | Layout/LayoutSurveySuccess.cpp | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/Layout/LayoutSurveySuccess.cpp b/Layout/LayoutSurveySuccess.cpp new file mode 100644 index 0000000..7bcc56b --- /dev/null +++ b/Layout/LayoutSurveySuccess.cpp @@ -0,0 +1,101 @@ +#include "LayoutSurveySuccess.h" + +LayoutSurveySuccess::LayoutSurveySuccess(DOGS102* lcd) + : Layout(lcd), + _lId(0, 0, "ID"), + _lDr(8, 0, "DR"), + _lPwr(13, 0, "P"), + _lUp(0, 1, "UP"), + _lDown(0, 2, "DWN"), + _lSw1(12, 7, "Power"), + _fId(2, 0, 5), + _fDr(10, 0, 2), + _fPwr(14, 0, 2), + _fUpRssi(3, 1, 7), + _fUpSnr(11, 1, 5), + _fDownRssi(4, 2, 7), + _fDownSnr(12, 2, 5), + _fGpsLat(0, 4, 17), + _fGpsLon(0, 3, 17), + _fGpsTime(0, 5, 17), + _fInfo(0, 6, 17), + _fSw2(0, 7, 8) +{} + +LayoutSurveySuccess::~LayoutSurveySuccess() {} + +void LayoutSurveySuccess::display() { + clear(); + startUpdate(); + + writeLabel(_lId); + writeLabel(_lDr); + writeLabel(_lPwr); + writeLabel(_lUp); + writeLabel(_lDown); + writeLabel(_lSw1); + + endUpdate(); +} + +void LayoutSurveySuccess::updateId(uint32_t id) { + char buf[16]; + size_t size; + + size = snprintf(buf, sizeof(buf), "%lu", id); + writeField(_fId, buf, size, true); +} + +void LayoutSurveySuccess::updateRate(std::string rate) { + writeField(_fDr, rate, true); +} + +void LayoutSurveySuccess::updatePower(uint32_t power) { + char buf[16]; + size_t size; + + size = snprintf(buf, sizeof(buf), "%lu", power); + writeField(_fPwr, buf, size, true); +} + +void LayoutSurveySuccess::updateStats(LoRaHandler::LoRaPing ping) { + char buf[16]; + size_t size; + + startUpdate(); + + size = snprintf(buf, sizeof(buf), "%3d dbm", ping.up.rssi); + writeField(_fUpRssi, buf, size); + + memset(buf, 0, sizeof(buf)); + size = snprintf(buf, sizeof(buf), "%2d.%1d", ping.up.snr / 10, abs(ping.up.snr) % 10); + writeField(_fUpSnr, buf, size); + + memset(buf, 0, sizeof(buf)); + size = snprintf(buf, sizeof(buf), "%3d dbm", ping.down.rssi); + writeField(_fDownRssi, buf, size); + + memset(buf, 0, sizeof(buf)); + size = snprintf(buf, sizeof(buf), "%2d.%1d", ping.down.snr / 4, abs(ping.up.snr) % 10 * 25); + writeField(_fDownSnr, buf, size); + + endUpdate(); +} + +void LayoutSurveySuccess::updateGpsLatitude(GPSPARSER::latitude lat) { +} + +void LayoutSurveySuccess::updateGpsLongitude(GPSPARSER::longitude lon) { +} + +void LayoutSurveySuccess::updateGpsTime(struct tm time) { +} + +void LayoutSurveySuccess::updateInfo(std::string info) { + writeField(_fInfo, info, true); +} + +void LayoutSurveySuccess::updateSw2(std::string sw2) { + writeField(_fSw2, sw2, true); +} + |