summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Fiore <mfiore@multitech.com>2015-11-17 13:37:39 -0600
committerMike Fiore <mfiore@multitech.com>2015-11-17 13:37:39 -0600
commit32194e901049ddd4f9d954720583363e05b762e2 (patch)
tree1167ed15709216db808784826d01c34311cb1bd9
parenta2dd1624ef3fec296578289268973b7c00eb1ad1 (diff)
downloadmtdot-box-evb-factory-firmware-32194e901049ddd4f9d954720583363e05b762e2.tar.gz
mtdot-box-evb-factory-firmware-32194e901049ddd4f9d954720583363e05b762e2.tar.bz2
mtdot-box-evb-factory-firmware-32194e901049ddd4f9d954720583363e05b762e2.zip
add config layout, remove lots of logging
-rw-r--r--ButtonHandler/ButtonHandler.cpp2
-rw-r--r--Layout/LayoutConfig.cpp23
-rw-r--r--Layout/LayoutConfig.h20
-rw-r--r--LoRaHandler/LoRaHandler.cpp8
-rw-r--r--main.cpp29
5 files changed, 53 insertions, 29 deletions
diff --git a/ButtonHandler/ButtonHandler.cpp b/ButtonHandler/ButtonHandler.cpp
index 25cf08e..edc9ea1 100644
--- a/ButtonHandler/ButtonHandler.cpp
+++ b/ButtonHandler/ButtonHandler.cpp
@@ -1,5 +1,4 @@
#include "ButtonHandler.h"
-#include "MTSLog.h"
#define signal (int32_t)0xA0
@@ -21,7 +20,6 @@ void b_worker(void const* argument) {
while (true) {
e = Thread::signal_wait(signal, 250);
if (e.status == osEventSignal) {
- logInfo("button worker received signal");
switch (event) {
case b_sw1_fall:
if (! b->_sw1_running) {
diff --git a/Layout/LayoutConfig.cpp b/Layout/LayoutConfig.cpp
new file mode 100644
index 0000000..dc28738
--- /dev/null
+++ b/Layout/LayoutConfig.cpp
@@ -0,0 +1,23 @@
+#include "LayoutConfig.h"
+
+LayoutConfig::LayoutConfig(DOGS102* lcd)
+ : Layout(lcd),
+ _lMode(0, 0, "Configuration"),
+ _lHelp1(0, 2, "Connect USB debug"),
+ _lHelp2(0, 3, "to PC at 115200"),
+ _lHelp3(0, 4, "baud to configure")
+{}
+
+LayoutConfig::~LayoutConfig() {}
+
+void LayoutConfig::display() {
+ clear();
+ startUpdate();
+
+ writeLabel(_lMode);
+ writeLabel(_lHelp1);
+ writeLabel(_lHelp2);
+ writeLabel(_lHelp3);
+
+ endUpdate();
+}
diff --git a/Layout/LayoutConfig.h b/Layout/LayoutConfig.h
new file mode 100644
index 0000000..0fdba1c
--- /dev/null
+++ b/Layout/LayoutConfig.h
@@ -0,0 +1,20 @@
+#ifndef __LAYOUTCONFIG_H__
+#define __LAYOUTCONFIG_H__
+
+#include "Layout.h"
+
+class LayoutConfig : public Layout {
+ public:
+ LayoutConfig(DOGS102* lcd);
+ ~LayoutConfig();
+
+ void display();
+
+ private:
+ Label _lMode;
+ Label _lHelp1;
+ Label _lHelp2;
+ Label _lHelp3;
+};
+
+#endif
diff --git a/LoRaHandler/LoRaHandler.cpp b/LoRaHandler/LoRaHandler.cpp
index 3e28782..0ecb59e 100644
--- a/LoRaHandler/LoRaHandler.cpp
+++ b/LoRaHandler/LoRaHandler.cpp
@@ -1,5 +1,4 @@
#include "LoRaHandler.h"
-#include "MTSLog.h"
#define signal (int32_t)0xA0
@@ -26,7 +25,6 @@ void l_worker(void const* argument) {
while (true) {
e = Thread::signal_wait(signal);
if (e.status == osEventSignal) {
- logInfo("LoRa worker received signal");
switch (cmd) {
case l_ping:
l->_mutex.lock();
@@ -44,7 +42,6 @@ void l_worker(void const* argument) {
} else {
l->_status = LoRaHandler::ping_failure;
}
- logInfo("LoRa worker signaling main");
osSignalSet(l->_main, loraSignal);
break;
@@ -56,20 +53,16 @@ void l_worker(void const* argument) {
l->_status = LoRaHandler::send_success;
else
l->_status = LoRaHandler::send_failure;
- logInfo("LoRa worker signaling main");
osSignalSet(l->_main, loraSignal);
break;
case l_join:
- logInfo("LoRa worker joining");
l->_mutex.lock();
ret = l->_dot->joinNetworkOnce();
l->_mutex.unlock();
if (ret == mDot::MDOT_OK) {
- logInfo("LoRa worker signaling main - success");
l->_status = LoRaHandler::join_success;
} else {
- logInfo("LoRa worker signaling main - failure");
l->_status = LoRaHandler::join_failure;
}
osSignalSet(l->_main, loraSignal);
@@ -87,7 +80,6 @@ LoRaHandler::LoRaHandler(osThreadId main)
_thread(l_worker, (void*)this),
_status(none)
{
- logInfo("starting");
_ping.status = false;
}
diff --git a/main.cpp b/main.cpp
index 3ed6de8..2cbdb53 100644
--- a/main.cpp
+++ b/main.cpp
@@ -16,6 +16,7 @@
#include "LayoutStartup.h"
#include "LayoutScrollSelect.h"
#include "LayoutJoin.h"
+#include "LayoutConfig.h"
// button header
#include "ButtonHandler.h"
// LoRa header
@@ -104,22 +105,17 @@ void mainMenu() {
while (! mode_selected) {
osEvent e = Thread::signal_wait(buttonSignal);
- logInfo("main - received signal %#X", e.value.signals);
if (e.status == osEventSignal) {
ButtonHandler::ButtonEvent ev = buttons->getButtonEvent();
switch (ev) {
case ButtonHandler::sw1_press:
- logInfo("sw1 press");
selected = menu.select();
- logInfo("selected %s", selected.c_str());
mode_selected = true;
break;
case ButtonHandler::sw2_press:
- logInfo("sw2 press");
menu.scroll();
break;
case ButtonHandler::sw1_hold:
- logInfo("sw1 hold - already in main menu");
break;
default:
break;
@@ -183,8 +179,11 @@ void join() {
lj.updateRate(dot->DataRateStr(rate));
lj.updatePower(power);
- if (! lora)
+ if (! lora) {
lora = new LoRaHandler(main_id);
+ // give the LoRa worker thread some time to start up
+ osDelay(100);
+ }
lora->setDataRate(rate);
lora->setPower(power);
@@ -193,45 +192,38 @@ void join() {
if (next_tx) {
lj.updateCountdown(next_tx * 1000);
} else {
- logInfo("main joining");
lj.updateStatus("Joining...");
if (! lora->join())
logError("cannot join - LoRa layer busy");
}
osEvent e = Thread::signal_wait(0, 250);
- logInfo("main - received signal %#X", e.value.signals);
if (e.status == osEventSignal) {
if (e.value.signals & buttonSignal) {
- logInfo("main - button signal");
ev = buttons->getButtonEvent();
switch (ev) {
case ButtonHandler::sw1_press:
- logInfo("sw1 press");
return;
case ButtonHandler::sw2_press:
- logInfo("sw2 press");
break;
case ButtonHandler::sw1_hold:
- logInfo("sw1 hold");
return;
}
}
if (e.value.signals & loraSignal) {
- logInfo("main - LoRa signal");
status = lora->getStatus();
switch (status) {
case LoRaHandler::join_success:
- logInfo("main - join success");
lj.updateStatus("Join Success!");
lj.displayCancel(false);
+ logInfo("joined");
joined = true;
osDelay(2000);
break;
case LoRaHandler::join_failure:
- logInfo("main - join failure");
lj.updateStatus("Join Failure!");
+ logInfo("failed to join");
osDelay(2000);
break;
}
@@ -241,22 +233,21 @@ void join() {
}
void configuration() {
+ LayoutConfig lc(lcd);
+ lc.display();
+
logInfo("config mode");
while (true) {
osEvent e = Thread::signal_wait(buttonSignal);
- logInfo("main - received signal %#X", e.value.signals);
if (e.status == osEventSignal) {
ButtonHandler::ButtonEvent ev = buttons->getButtonEvent();
switch (ev) {
case ButtonHandler::sw1_press:
- logInfo("sw1 press");
break;
case ButtonHandler::sw2_press:
- logInfo("sw2 press");
break;
case ButtonHandler::sw1_hold:
- logInfo("sw1 hold");
return;
default:
break;