From cef0e023623fd814f04c4fb68d7bf21d5433fb18 Mon Sep 17 00:00:00 2001 From: Mike Fiore Date: Thu, 10 Dec 2015 08:54:03 -0600 Subject: remove extra GPS and Sensor objects from Mode class --- Mode/Mode.cpp | 24 +++++++++++------------- Mode/Mode.h | 8 +++----- Mode/ModeConfig.cpp | 4 ++-- Mode/ModeConfig.h | 4 +--- Mode/ModeDemo.cpp | 4 ++-- Mode/ModeDemo.h | 2 +- Mode/ModeJoin.cpp | 4 ++-- Mode/ModeJoin.h | 2 +- Mode/ModeSingle.cpp | 4 ++-- Mode/ModeSingle.h | 2 +- Mode/ModeSweep.cpp | 4 ++-- Mode/ModeSweep.h | 2 +- main.cpp | 16 +++++++++++----- 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 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 "); -- cgit v1.2.3