summaryrefslogtreecommitdiff
path: root/Layout
diff options
context:
space:
mode:
authorMike Fiore <mfiore@multitech.com>2016-08-16 13:43:09 -0500
committerMike Fiore <mfiore@multitech.com>2016-08-16 13:43:09 -0500
commit3b6a9751bed0f75a12fae4cb356f7f9a1faf13a2 (patch)
treeba29f863ea8302990f7a002ae5f15d931e9ac6ee /Layout
parent8697ebad4fa5cc1b223cd8bc6c7ebd833dfcee79 (diff)
parent5d9f1f7f1863c7c92d7aa29c37ced672b2946118 (diff)
downloadmtdot-box-evb-factory-firmware-3b6a9751bed0f75a12fae4cb356f7f9a1faf13a2.tar.gz
mtdot-box-evb-factory-firmware-3b6a9751bed0f75a12fae4cb356f7f9a1faf13a2.tar.bz2
mtdot-box-evb-factory-firmware-3b6a9751bed0f75a12fae4cb356f7f9a1faf13a2.zip
Merge branch 'SurveyDataMode' into 'master'
Survey data mode Write a comment or drag your files here... See merge request !5
Diffstat (limited to 'Layout')
-rw-r--r--Layout/LayoutData.cpp104
-rw-r--r--Layout/LayoutData.h77
2 files changed, 181 insertions, 0 deletions
diff --git a/Layout/LayoutData.cpp b/Layout/LayoutData.cpp
new file mode 100644
index 0000000..02e29fd
--- /dev/null
+++ b/Layout/LayoutData.cpp
@@ -0,0 +1,104 @@
+/* Copyright (c) <2016> <MultiTech Systems>, MIT License
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or
+ * substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "LayoutData.h"
+
+LayoutData::LayoutData(DOGS102* lcd)
+ : Layout(lcd),
+ _lDr(8, 0, "DR"),
+ _lPwr(13, 0, "P"),
+ _lUp(0, 1, "UP Mgn"),
+ _lGw(10, 1, "Gw"),
+ _lDown(0, 2, "DWN -"),
+ _lSurveyFailed(0, 1, "Survey Failed"),
+ _lDbm(9, 2, "dbm"),
+ _lAlt(0, 6, "Alt"),
+ _fId(0, 0, 5),
+ _fDr(10, 0, 2),
+ _fPwr(14, 0, 2),
+ _fUpMargin(7, 1, 2),
+ _fGw(13, 1, 2),
+ _fRssiDown(5, 2, 3),
+ _fSnrDown(13, 2, 4),
+ _fGpsLat(0, 4, 17),
+ _fGpsLong(0, 3, 17),
+ _fGpsTime(0, 5, 17),
+ _fAlt(4,6,13),
+ _fSw1(12, 7, 4),
+ _fSw2(0, 7, 4)
+{}
+
+LayoutData::~LayoutData() {}
+
+void LayoutData::display(){
+ clear();
+ startUpdate();
+ writeLabel(_lDr);
+ writeLabel(_lPwr);
+ endUpdate();
+}
+
+void LayoutData::noData(){
+ clear();
+ writeField(_fGpsLong, string(" No Survey Data"), true);
+}
+
+void LayoutData::errorData(){
+ clear();
+ writeField(_fGpsLong, string(" Error opening,"), true);
+ writeField(_fGpsLat, string("survey data file."), true);
+}
+
+void LayoutData::updateSw1(string str){
+ writeField(_fSw1, str, true);
+}
+
+void LayoutData::updateSw2(string str){
+ writeField(_fSw2, str, true);
+}
+
+bool LayoutData::updateAll(singleLine& line){
+ clear();
+ startUpdate();
+ //this data should always exist
+ writeLabel(_lDr);
+ writeLabel(_lPwr);
+ writeField(_fId, line.id, true);
+ writeField(_fDr, line.dataRate, true);
+ writeField(_fPwr, line.power, true);
+ //check if survey pass/fail
+ if(line.status=="S") {
+ writeLabel(_lUp);
+ writeLabel(_lDown);
+ writeLabel(_lGw);
+ writeLabel(_lDbm);
+ writeField(_fGw, line.gateways, true);
+ writeField(_fUpMargin, line.margin, true);
+ writeField(_fRssiDown, line.rssiD, true);
+ writeField(_fSnrDown, line.snrD, true);
+ } else writeLabel(_lSurveyFailed);
+ //check if gps data exists
+ if(line.lock!="0") {
+ writeLabel(_lAlt);
+ writeField(_fGpsLat, line.lat, true);
+ writeField(_fGpsLong, line.lng, true);
+ writeField(_fGpsTime, line.time, true);
+ writeField(_fAlt, line.alt + " m", true);
+ } else writeField(_fGpsLong, string("No GPS Data"), true);
+ endUpdate();
+}
diff --git a/Layout/LayoutData.h b/Layout/LayoutData.h
new file mode 100644
index 0000000..ec91583
--- /dev/null
+++ b/Layout/LayoutData.h
@@ -0,0 +1,77 @@
+/* Copyright (c) <2016> <MultiTech Systems>, MIT License
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or
+ * substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef __LAYOUTDATA_H__
+#define __LAYOUTDATA_H__
+
+#include "Layout.h"
+
+class LayoutData : public Layout{
+public:
+ LayoutData(DOGS102* lcd);
+ ~LayoutData();
+
+ struct singleLine {
+ string id,
+ status,
+ lock,
+ lat,
+ lng,
+ alt,
+ time,
+ gateways,
+ margin,
+ rssiD,
+ snrD,
+ dataRate,
+ power;
+ } ;
+
+ void display();
+ void noData();
+ void noGps();
+ void errorData();
+ void updateSw1(string str);
+ void updateSw2(string str);
+ bool updateAll(singleLine& line);
+
+private:
+ Label _lDr;
+ Label _lPwr;
+ Label _lUp;
+ Label _lGw;
+ Label _lDown;
+ Label _lDbm;
+ Label _lSurveyFailed;
+ Label _lAlt;
+
+ Field _fId;
+ Field _fDr;
+ Field _fPwr;
+ Field _fUpMargin;
+ Field _fRssiDown;
+ Field _fSnrDown;
+ Field _fGpsLat;
+ Field _fGpsLong;
+ Field _fGpsTime;
+ Field _fGw;
+ Field _fAlt;
+ Field _fSw1;
+ Field _fSw2;
+};
+#endif