summaryrefslogtreecommitdiff
path: root/Layout/LayoutSurveySuccess.cpp
diff options
context:
space:
mode:
authorMike Fiore <mfiore@multitech.com>2015-11-20 08:13:35 -0600
committerMike Fiore <mfiore@multitech.com>2015-11-20 08:13:35 -0600
commit674cdb5c13bad3598381b81d843b5aeee5798d1f (patch)
tree1d18d592b5df2513036838bc94530648ad36631e /Layout/LayoutSurveySuccess.cpp
parent11412cbac7021dd8aee14ac4f1dc25994c9ab45b (diff)
downloadmtdot-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.cpp101
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);
+}
+