summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Layout/LayoutData.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/Layout/LayoutData.cpp b/Layout/LayoutData.cpp
new file mode 100644
index 0000000..7cfb2ac
--- /dev/null
+++ b/Layout/LayoutData.cpp
@@ -0,0 +1,120 @@
+/* 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 -"),
+ _lNoData(1,3,"No Survey Data"),
+ _lErrorData1(1,3,"Error opening,"),
+ _lErrorData2(0,4,"survey data file."),
+ _lSurveyFailed(0,1,"Survey Failed"),
+ _lNoGps(0,3,"No GPS Data"),
+ _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();
+ writeLabel(_lNoData);
+}
+
+void LayoutData::errorData()
+{
+ clear();
+ writeLabel(_lErrorData1);
+ writeLabel(_lErrorData2);
+}
+
+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.gateways!="") {
+ 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.lat!="") {
+ writeLabel(_lAlt);
+ writeField(_fGpsLat,line.lat,true);
+ writeField(_fGpsLong,line.lng,true);
+ writeField(_fGpsTime,line.time,true);
+ writeField(_fAlt,line.alt + " m",true);
+ } else writeLabel(_lNoGps);
+
+ endUpdate();
+}
+
+
+
+