summaryrefslogtreecommitdiff
path: root/main.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 /main.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 'main.cpp')
-rw-r--r--main.cpp56
1 files changed, 15 insertions, 41 deletions
diff --git a/main.cpp b/main.cpp
index 856127c..d18b1bc 100644
--- a/main.cpp
+++ b/main.cpp
@@ -22,6 +22,7 @@
#include "LoRaHandler.h"
// mode objects
#include "ModeJoin.h"
+#include "ModeSingle.h"
// misc heders
#include <string>
@@ -45,6 +46,7 @@ mDot* dot;
// Modes
ModeJoin* modeJoin;
+ModeSingle* modeSingle;
// Serial debug port
Serial debug(USBTX, USBRX);
@@ -59,7 +61,7 @@ void surveySingle();
void surveySweep();
int main() {
- debug.baud(115200);
+ debug.baud(460800);
lcd = new DOGS102(lcd_spi, lcd_spi_cs, lcd_cd);
lcd_backlight = new NCP5623B(backlight_i2c);
@@ -69,14 +71,8 @@ int main() {
dot = mDot::getInstance();
lora = new LoRaHandler(main_id);
- modeJoin = new ModeJoin(lcd, buttons, dot, lora, dot->getFrequencyBand());
-
- // display startup screen for 3 seconds
- LayoutStartup ls(lcd);
- ls.display();
- osDelay(3000);
-
// start of temporary stuff!
+ dot->setFrequencyBand(mDot::FB_868);
if (dot->getFrequencyBand() == mDot::FB_915)
dot->setFrequencySubBand(mDot::FSB_7);
dot->setJoinMode(mDot::OTA);
@@ -85,6 +81,14 @@ int main() {
dot->setAck(1);
// end of temporary stuff!
+ modeJoin = new ModeJoin(lcd, buttons, dot, lora, dot->getFrequencyBand());
+ modeSingle = new ModeSingle(lcd, buttons, dot, lora);
+
+ // display startup screen for 3 seconds
+ LayoutStartup ls(lcd);
+ ls.display();
+ osDelay(3000);
+
//MTSLog::setLogLevel(MTSLog::TRACE_LEVEL);
MTSLog::setLogLevel(MTSLog::INFO_LEVEL);
logInfo("displaying main menu");
@@ -120,6 +124,8 @@ void mainMenu() {
items.push_back(menu_strings[sweep]);
while (true) {
+ // reset session between modes
+ dot->resetNetworkSession();
LayoutScrollSelect menu(lcd, items, menu_strings[0], menu_strings[1]);
menu.display();
@@ -150,7 +156,7 @@ void mainMenu() {
configuration();
} else if (selected == menu_strings[single]) {
if (modeJoin->start())
- surveySingle();
+ modeSingle->start();
} else if (selected == menu_strings[sweep]) {
if (modeJoin->start())
surveySweep();
@@ -220,38 +226,6 @@ void loraDemo() {
}
}
-void surveySingle() {
- LayoutHelp lh(lcd);
- lh.display();
- lh.updateMode("Survey Single");
- lh.updateSw1(" DR/PWR");
- lh.updateSw2("Survey");
-
- // clear any stale signals
- osSignalClear(main_id, buttonSignal | loraSignal);
-
- logInfo("survey single mode");
-
- while (true) {
- osEvent e = Thread::signal_wait(buttonSignal);
- if (e.status == osEventSignal) {
- ButtonHandler::ButtonEvent ev = buttons->getButtonEvent();
- switch (ev) {
- case ButtonHandler::sw1_press:
- logInfo("datarate/power");
- break;
- case ButtonHandler::sw2_press:
- logInfo("start survey");
- break;
- case ButtonHandler::sw1_hold:
- return;
- default:
- break;
- }
- }
- }
-}
-
void surveySweep() {
LayoutHelp lh(lcd);
lh.display();