summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp54
1 files changed, 33 insertions, 21 deletions
diff --git a/main.cpp b/main.cpp
index 4810095..71ac376 100644
--- a/main.cpp
+++ b/main.cpp
@@ -41,7 +41,8 @@
#include "ModeSweep.h"
#include "ModeDemo.h"
#include "ModeConfig.h"
-#include "ModeSemtech.h"
+#include "ModeGps.h"
+#include "ModeData.h"
// misc heders
#include "FileName.h"
#include <string>
@@ -64,7 +65,8 @@ osThreadId main_id;
ButtonHandler* buttons;
// LoRa controller
-LoRaHandler* loraHandler;
+LoRaHandler* lora_handler;
+
mDot* dot;
// GPS
@@ -80,7 +82,8 @@ ModeSingle* modeSingle;
ModeSweep* modeSweep;
ModeDemo* modeDemo;
ModeConfig* modeConfig;
-ModeSemtech* modeSemtech;
+ModeGps* modeGps;
+ModeData* modeData;
// Serial debug port
Serial debug(USBTX, USBRX);
@@ -102,13 +105,15 @@ int main() {
main_id = Thread::gettid();
buttons = new ButtonHandler(main_id);
dot = mDot::getInstance();
+ lora_handler = new LoRaHandler(main_id);
dot->setDisableDutyCycle(DISABLE_DUTY_CYCLE);
+ dot->setLinkCheckThreshold(0);
+ dot->setLinkCheckCount(0);
// Seed the RNG
srand(dot->getRadioRandom());
- loraHandler = new LoRaHandler(main_id);
gps = new GPSPARSER(&gps_serial, led_cont);
sensors = new SensorHandler();
@@ -116,13 +121,14 @@ int main() {
MTSLog::setLogLevel(MTSLog::TRACE_LEVEL);
+ modeJoin = new ModeJoin(lcd, buttons, dot, lora_handler, gps, sensors);
+ modeSingle = new ModeSingle(lcd, buttons, dot, lora_handler, gps, sensors);
+ modeSweep = new ModeSweep(lcd, buttons, dot, lora_handler, gps, sensors);
+ modeDemo = new ModeDemo(lcd, buttons, dot, lora_handler, gps, sensors);
+ modeConfig = new ModeConfig(lcd, buttons, dot, lora_handler, gps, sensors);
+ modeGps = new ModeGps(lcd, buttons, dot, lora_handler, gps, sensors, modeJoin);
+ modeData = new ModeData(lcd, buttons, dot, lora_handler, gps, sensors);
- modeJoin = new ModeJoin(lcd, buttons, dot, loraHandler, gps, sensors);
- modeSingle = new ModeSingle(lcd, buttons, dot, loraHandler, gps, sensors);
- modeSweep = new ModeSweep(lcd, buttons, dot, loraHandler, gps, sensors);
- modeDemo = new ModeDemo(lcd, buttons, dot, loraHandler, gps, sensors);
- modeConfig = new ModeConfig(lcd, buttons, dot, loraHandler, gps, sensors);
- modeSemtech = new ModeSemtech(lcd, buttons, dot, loraHandler, gps, sensors);
osDelay(1000);
logInfo("%sGPS detected", gps->gpsDetected() ? "" : "no ");
@@ -149,7 +155,9 @@ void mainMenu() {
config,
single,
sweep,
- semtech
+ gps,
+ data
+
} menu_items;
std::string menu_strings[] = {
@@ -158,15 +166,16 @@ void mainMenu() {
"Configuration",
"Survey Single",
"Survey Sweep",
- "Semtech"
+ "Survey GPS",
+ "View Data"
};
-
std::vector<std::string> items;
items.push_back(menu_strings[demo]);
items.push_back(menu_strings[config]);
items.push_back(menu_strings[single]);
items.push_back(menu_strings[sweep]);
- items.push_back(menu_strings[semtech]);
+ items.push_back(menu_strings[gps]);
+ items.push_back(menu_strings[data]);
while (true) {
product = "MTDOT-BOX/EVB ";
@@ -174,7 +183,8 @@ void mainMenu() {
// reset session between modes
dot->resetNetworkSession();
- loraHandler->resetActivityLed();
+ lora_handler->resetActivityLed();
+
LayoutScrollSelect menu(lcd, items, product, menu_strings[0]);
menu.display();
@@ -197,7 +207,6 @@ void mainMenu() {
}
}
}
-
if (selected == menu_strings[demo]) {
if (modeJoin->start())
modeDemo->start();
@@ -209,11 +218,14 @@ void mainMenu() {
} else if (selected == menu_strings[sweep]) {
if (modeJoin->start())
modeSweep->start();
- }
- else if (selected == menu_strings[semtech]) {
- if(dot->getFrequencyBand()==mDot::FB_868)modeJoin->start();
- modeSemtech->start();
- }
+ } else if (selected == menu_strings[gps]) {
+ if(dot->getFrequencyBand() == mDot::FB_EU868) {
+ modeJoin->start();
+ }
+ modeGps->start();
+ } else if (selected == menu_strings[data]) {
+ modeData->start();
+ }
mode_selected = false;
}