summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Klaassen <ryan.klaassen@multitech.com>2016-07-28 10:35:58 -0500
committerRyan Klaassen <ryan.klaassen@multitech.com>2016-07-28 10:35:58 -0500
commit2e2fd69055e52853eaf489ccd3454ac30a0f70ce (patch)
tree762787e4313ff26e230d5f34dfa3e75c822935cf
parenta431bf590dfe3360abdda47df4e9808c4064b8dc (diff)
downloadmtdot-box-evb-factory-firmware-2e2fd69055e52853eaf489ccd3454ac30a0f70ce.tar.gz
mtdot-box-evb-factory-firmware-2e2fd69055e52853eaf489ccd3454ac30a0f70ce.tar.bz2
mtdot-box-evb-factory-firmware-2e2fd69055e52853eaf489ccd3454ac30a0f70ce.zip
Upload new file
-rw-r--r--Layout/LayoutSemtechJoin.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/Layout/LayoutSemtechJoin.cpp b/Layout/LayoutSemtechJoin.cpp
new file mode 100644
index 0000000..f7dbf80
--- /dev/null
+++ b/Layout/LayoutSemtechJoin.cpp
@@ -0,0 +1,91 @@
+/* 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 "LayoutSemtechJoin.h"
+
+LayoutSemtechJoin::LayoutSemtechJoin(DOGS102* lcd, uint8_t band)
+ : Layout(lcd),
+ _lId(0, 1, "NI="),
+ _lKey(0, 2, "NK="),
+ _lFsb(0, 3, "FSB="),
+ _lRate(0, 5, "DR="),
+ _lPower(6, 5, "P="),
+ _lJoin(0, 7, "Join"),
+ _fId(3, 1, 14),
+ _fFsb(4, 3, 2),
+ _fKey(3, 2, 14),
+ _fRate(3, 5, 2),
+ _fPower(8, 5, 2),
+ _fSubBand(16,7,1),
+ _fStatus(0, 0, 17),
+ _band(band)
+{}
+
+LayoutSemtechJoin::~LayoutSemtechJoin() {}
+
+void LayoutSemtechJoin::display()
+{
+ clear();
+ startUpdate();
+
+ writeLabel(_lId);
+ writeLabel(_lKey);
+ if (_band == mDot::FB_915) {
+ writeLabel(_lFsb);
+ }
+ writeLabel(_lRate);
+ writeLabel(_lPower);
+ writeLabel(_lJoin);
+
+ endUpdate();
+}
+
+void LayoutSemtechJoin::updateId(std::string id)
+{
+ writeField(_fId, id, true);
+}
+
+void LayoutSemtechJoin::updateKey(std::string key)
+{
+ writeField(_fKey, key, true);
+}
+
+void LayoutSemtechJoin::updateFsb(uint8_t band)
+{
+ if (_band == mDot::FB_915) {
+ char buf[8];
+ size_t size;
+ size = snprintf(buf, sizeof(buf), "%u", band);
+ writeField(_fFsb, buf, size, true);
+ writeField(_fSubBand, buf, size, true);
+ }
+}
+
+void LayoutSemtechJoin::updateRate(std::string rate)
+{
+ writeField(_fRate, rate, true);
+}
+
+void LayoutSemtechJoin::updatePower(uint32_t power)
+{
+ char buf[16];
+ size_t size;
+
+ size = snprintf(buf, sizeof(buf), "%lu", power);
+ writeField(_fPower, buf, size, true);
+}