summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mode/Mode.cpp24
-rw-r--r--Mode/Mode.h8
-rw-r--r--Mode/ModeConfig.cpp4
-rw-r--r--Mode/ModeConfig.h4
-rw-r--r--Mode/ModeDemo.cpp4
-rw-r--r--Mode/ModeDemo.h2
-rw-r--r--Mode/ModeJoin.cpp4
-rw-r--r--Mode/ModeJoin.h2
-rw-r--r--Mode/ModeSingle.cpp4
-rw-r--r--Mode/ModeSingle.h2
-rw-r--r--Mode/ModeSweep.cpp4
-rw-r--r--Mode/ModeSweep.h2
-rw-r--r--main.cpp16
13 files changed, 40 insertions, 40 deletions
diff --git a/Mode/Mode.cpp b/Mode/Mode.cpp
index 47dbc29..30a96e3 100644
--- a/Mode/Mode.cpp
+++ b/Mode/Mode.cpp
@@ -20,12 +20,13 @@ union convert16 {
} convertS;
-Mode::Mode(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps)
+Mode::Mode(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors)
: _lcd(lcd),
_buttons(buttons),
_dot(dot),
_lora(lora),
_gps(gps),
+ _sensors(sensors),
_main_id(Thread::gettid()),
_index(0),
_band(_dot->getFrequencyBand()),
@@ -34,10 +35,7 @@ Mode::Mode(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, G
_power(2),
_next_tx(0),
_send_data(false),
- _gps_available(_gps->gpsDetected()),
- _gpsUART(PA_2, PA_3),
- _mdot_gps(&_gpsUART),
- _mdot_sensors()
+ _gps_available(_gps->gpsDetected())
{}
Mode::~Mode() {}
@@ -156,14 +154,14 @@ void Mode::updateData(DataItem& data, DataType type, bool status) {
}
void Mode::updateSensorData(SensorItem& data) {
- data.accel_data = _mdot_sensors.getAcceleration();
- data.baro_data = _mdot_sensors.getBarometer();
- data.lux_data_raw = _mdot_sensors.getLightRaw();
- data.pressure_raw = _mdot_sensors.getPressureRaw();
- data.light = _mdot_sensors.getLight();
- data.pressure = _mdot_sensors.getPressure();
- data.altitude = _mdot_sensors.getAltitude();
- data.temperature = _mdot_sensors.getTemp(SensorHandler::CELSIUS);
+ data.accel_data = _sensors->getAcceleration();
+ data.baro_data = _sensors->getBarometer();
+ data.lux_data_raw = _sensors->getLightRaw();
+ data.pressure_raw = _sensors->getPressureRaw();
+ data.light = _sensors->getLight();
+ data.pressure = _sensors->getPressure();
+ data.altitude = _sensors->getAltitude();
+ data.temperature = _sensors->getTemp(SensorHandler::CELSIUS);
}
uint32_t Mode::getIndex(DataType type) {
diff --git a/Mode/Mode.h b/Mode/Mode.h
index 6b4e24f..d647b88 100644
--- a/Mode/Mode.h
+++ b/Mode/Mode.h
@@ -6,11 +6,11 @@
#include "mDot.h"
#include "LoRaHandler.h"
#include "GPSPARSER.h"
+#include "SensorHandler.h"
#include "ISL29011.h"
#include "MMA845x.h"
#include "MPL3115A2.h"
#include "FileName.h"
-#include "SensorHandler.h"
class Mode {
public:
@@ -45,7 +45,7 @@ class Mode {
float temperature;
} SensorItem;
- Mode(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps);
+ Mode(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors);
~Mode();
virtual bool start() = 0;
@@ -65,6 +65,7 @@ class Mode {
mDot* _dot;
LoRaHandler* _lora;
GPSPARSER* _gps;
+ SensorHandler* _sensors;
osThreadId _main_id;
uint32_t _index;
uint8_t _band;
@@ -78,9 +79,6 @@ class Mode {
uint8_t _state;
bool _send_data;
bool _gps_available;
- mts::MTSSerial _gpsUART;
- GPSPARSER _mdot_gps;
- SensorHandler _mdot_sensors;
};
#endif
diff --git a/Mode/ModeConfig.cpp b/Mode/ModeConfig.cpp
index babd898..3758e38 100644
--- a/Mode/ModeConfig.cpp
+++ b/Mode/ModeConfig.cpp
@@ -19,8 +19,8 @@ void ModeConfig::addCommand(Command* cmd) {
_commands.push_back(cmd);
}
-ModeConfig::ModeConfig(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps)
-: Mode(lcd, buttons, dot, lora, gps),
+ModeConfig::ModeConfig(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors)
+: Mode(lcd, buttons, dot, lora, gps, sensors),
_lc(lcd),
_serial(USBTX, USBRX, 512, 512)
{
diff --git a/Mode/ModeConfig.h b/Mode/ModeConfig.h
index 6c0ac73..d0730c7 100644
--- a/Mode/ModeConfig.h
+++ b/Mode/ModeConfig.h
@@ -6,14 +6,12 @@
#include "mbed.h"
#include "MTSSerial.h"
#include "Commands.h"
-#include "mDot.h"
-#include "ButtonHandler.h"
class ModeConfig : public Mode {
public:
- ModeConfig(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps);
+ ModeConfig(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors);
// Command error text...
static const char command_error[];
diff --git a/Mode/ModeDemo.cpp b/Mode/ModeDemo.cpp
index dcc06e6..8448de8 100644
--- a/Mode/ModeDemo.cpp
+++ b/Mode/ModeDemo.cpp
@@ -4,8 +4,8 @@
// 10 s, 30 s, 1 min, 5 min, 10 min, 15 min, 30 min 1 hour
const uint32_t ModeDemo::_intervals[] = { 10, 30, 60, 5 * 60, 10 * 60, 15 * 60, 30 * 60, 60 * 60 };
-ModeDemo::ModeDemo(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps)
- : Mode(lcd, buttons, dot, lora, gps),
+ModeDemo::ModeDemo(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors)
+ : Mode(lcd, buttons, dot, lora, gps, sensors),
_help(lcd),
_sam(lcd),
_interval(0)
diff --git a/Mode/ModeDemo.h b/Mode/ModeDemo.h
index b2aaf21..cf469e0 100644
--- a/Mode/ModeDemo.h
+++ b/Mode/ModeDemo.h
@@ -7,7 +7,7 @@
class ModeDemo : public Mode {
public:
- ModeDemo(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps);
+ ModeDemo(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors);
~ModeDemo();
bool start();
diff --git a/Mode/ModeJoin.cpp b/Mode/ModeJoin.cpp
index 5b0a7ed..18d18bc 100644
--- a/Mode/ModeJoin.cpp
+++ b/Mode/ModeJoin.cpp
@@ -2,8 +2,8 @@
#include "MTSLog.h"
#include "MTSText.h"
-ModeJoin::ModeJoin(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps)
- : Mode(lcd, buttons, dot, lora, gps),
+ModeJoin::ModeJoin(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors)
+ : Mode(lcd, buttons, dot, lora, gps, sensors),
_join(lcd, _band),
_joined(false)
{}
diff --git a/Mode/ModeJoin.h b/Mode/ModeJoin.h
index cad3f61..88c0cd2 100644
--- a/Mode/ModeJoin.h
+++ b/Mode/ModeJoin.h
@@ -6,7 +6,7 @@
class ModeJoin : public Mode {
public:
- ModeJoin(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps);
+ ModeJoin(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors);
~ModeJoin();
bool start();
diff --git a/Mode/ModeSingle.cpp b/Mode/ModeSingle.cpp
index 737301f..98284be 100644
--- a/Mode/ModeSingle.cpp
+++ b/Mode/ModeSingle.cpp
@@ -1,8 +1,8 @@
#include "ModeSingle.h"
#include "MTSLog.h"
-ModeSingle::ModeSingle(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps)
- : Mode(lcd, buttons, dot, lora, gps),
+ModeSingle::ModeSingle(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors)
+ : Mode(lcd, buttons, dot, lora, gps, sensors),
_help(lcd),
_file(lcd),
_confirm(lcd),
diff --git a/Mode/ModeSingle.h b/Mode/ModeSingle.h
index 1ddfc33..1c48a49 100644
--- a/Mode/ModeSingle.h
+++ b/Mode/ModeSingle.h
@@ -11,7 +11,7 @@
class ModeSingle : public Mode {
public:
- ModeSingle(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps);
+ ModeSingle(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors);
~ModeSingle();
bool start();
diff --git a/Mode/ModeSweep.cpp b/Mode/ModeSweep.cpp
index 17047b3..d6da12e 100644
--- a/Mode/ModeSweep.cpp
+++ b/Mode/ModeSweep.cpp
@@ -1,8 +1,8 @@
#include "ModeSweep.h"
#include "MTSLog.h"
-ModeSweep::ModeSweep(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps)
- : Mode(lcd, buttons, dot, lora, gps),
+ModeSweep::ModeSweep(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors)
+ : Mode(lcd, buttons, dot, lora, gps, sensors),
_help(lcd),
_file(lcd),
_confirm(lcd),
diff --git a/Mode/ModeSweep.h b/Mode/ModeSweep.h
index f7522aa..4c95b63 100644
--- a/Mode/ModeSweep.h
+++ b/Mode/ModeSweep.h
@@ -14,7 +14,7 @@ typedef std::pair<uint8_t, uint32_t> point;
class ModeSweep : public Mode {
public:
- ModeSweep(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps);
+ ModeSweep(DOGS102* lcd, ButtonHandler* buttons, mDot* dot, LoRaHandler* lora, GPSPARSER* gps, SensorHandler* sensors);
~ModeSweep();
bool start();
diff --git a/main.cpp b/main.cpp
index d75f821..340f567 100644
--- a/main.cpp
+++ b/main.cpp
@@ -15,6 +15,8 @@
#include "ButtonHandler.h"
// LoRa header
#include "LoRaHandler.h"
+// Sensor header
+#include "SensorHandler.h"
// mode objects
#include "ModeJoin.h"
#include "ModeSingle.h"
@@ -47,6 +49,9 @@ mDot* dot;
GPSPARSER* gps;
MTSSerial gps_serial(XBEE_DOUT, XBEE_DIN, 256, 2048);
+// Sensors
+SensorHandler* sensors;
+
// Modes
ModeJoin* modeJoin;
ModeSingle* modeSingle;
@@ -77,16 +82,17 @@ int main() {
dot = mDot::getInstance();
lora = new LoRaHandler(main_id);
gps = new GPSPARSER(&gps_serial, led_cont);
+ sensors = new SensorHandler();
led_cont->setLEDCurrent(16);
MTSLog::setLogLevel(MTSLog::TRACE_LEVEL);
- modeJoin = new ModeJoin(lcd, buttons, dot, lora, gps);
- modeSingle = new ModeSingle(lcd, buttons, dot, lora, gps);
- modeSweep = new ModeSweep(lcd, buttons, dot, lora, gps);
- modeDemo = new ModeDemo(lcd, buttons, dot, lora, gps);
- modeConfig = new ModeConfig(lcd, buttons, dot, lora, gps);
+ modeJoin = new ModeJoin(lcd, buttons, dot, lora, gps, sensors);
+ modeSingle = new ModeSingle(lcd, buttons, dot, lora, gps, sensors);
+ modeSweep = new ModeSweep(lcd, buttons, dot, lora, gps, sensors);
+ modeDemo = new ModeDemo(lcd, buttons, dot, lora, gps, sensors);
+ modeConfig = new ModeConfig(lcd, buttons, dot, lora, gps, sensors);
osDelay(1000);
logInfo("%sGPS detected", gps->gpsDetected() ? "" : "no ");