diff --git a/Controller.cpp b/Controller.cpp index 5b6f52d..c9725b5 100644 --- a/Controller.cpp +++ b/Controller.cpp @@ -81,7 +81,7 @@ Controller::Controller() { // create the main window mainWindow = new MainWindow(); - sl = new StepLoggerWrapperAndroid(scaler); + //sl = new StepLoggerWrapperAndroid(scaler); //sl = new StepLoggerWrapper(scaler, mainWindow); @@ -253,7 +253,7 @@ void Controller::onLoadButton() { getMapView3D()->setVisible(false); // attach ipin step logger - nav->addListener(sl); + //nav->addListener(sl); } diff --git a/Controller.h b/Controller.h index 3e1be79..9ea7d3d 100644 --- a/Controller.h +++ b/Controller.h @@ -2,9 +2,9 @@ #define CONTROLLER_H #include "misc/fixc11.h" -#include "ipin/Scaler.h" -#include "ipin/StepLoggerWrapper.h" -#include "ipin/StepLoggerWrapperAndroid.h" +//#include "ipin/Scaler.h" +//#include "ipin/StepLoggerWrapper.h" +//#include "ipin/StepLoggerWrapperAndroid.h" class MainWindow; class MainMenu; @@ -42,11 +42,11 @@ public: protected: - // scaling for the UAH building - IPINScaler scaler = IPINScaler(1869, 1869, 40.51312440, -3.34959080, -40.73112000, 0.07596002); +// // scaling for the UAH building +// IPINScaler scaler = IPINScaler(1869, 1869, 40.51312440, -3.34959080, -40.73112000, 0.07596002); - //StepLoggerWrapper* sl = nullptr; - StepLoggerWrapperAndroid* sl = nullptr; +// //StepLoggerWrapper* sl = nullptr; +// StepLoggerWrapperAndroid* sl = nullptr; private slots: diff --git a/_android/src/WiFi.java b/_android/src/WiFi.java index 66c34f2..a35e7be 100644 --- a/_android/src/WiFi.java +++ b/_android/src/WiFi.java @@ -11,6 +11,7 @@ import android.os.Debug; import android.util.Log; import java.util.List; import java.io.ByteArrayOutputStream; +import java.lang.reflect.Method; public class WiFi { @@ -51,7 +52,19 @@ public class WiFi { // start the first scan triggerOneScan(); - + //this is a very nice hack. do not try this at home. + Method m = null; + try { + m = manager.getClass().getDeclaredMethod("setFrequencyBand", int.class, boolean.class); + m.setAccessible(true); + m.invoke(manager, 2, true); + m.invoke(manager, 2, true); + m.invoke(manager, 2, true); + Log.d("wifi", "HACK IS RUNNING, BIAAAATCH"); + } catch (Exception e) { + Log.d("wifi", "HACK HAS FAILED >.<"); + e.printStackTrace(); + } // if the scan result takes longer than X milliseconds, // trigger another-scan to ensure nothing is stuck diff --git a/nav/Filter.h b/nav/Filter.h index eb3db90..df1298a 100644 --- a/nav/Filter.h +++ b/nav/Filter.h @@ -167,20 +167,21 @@ public: } - double getStairProb(const K::Particle& p, const ActivityButterPressure::Activity act) { + double getStairProb(const K::Particle& p, const Activity act) { const float kappa = 0.75; const MyGridNode& gn = grid->getNodeFor(p.state.position); switch (act) { - case ActivityButterPressure::Activity::STAY: + case Activity::STANDING: + case Activity::WALKING: if (gn.getType() == GridNode::TYPE_FLOOR) {return kappa;} if (gn.getType() == GridNode::TYPE_DOOR) {return kappa;} {return 1-kappa;} - case ActivityButterPressure::Activity::UP: - case ActivityButterPressure::Activity::DOWN: + case Activity::WALKING_UP: + case Activity::WALKING_DOWN: if (gn.getType() == GridNode::TYPE_STAIR) {return kappa;} if (gn.getType() == GridNode::TYPE_ELEVATOR) {return kappa;} {return 1-kappa;} diff --git a/nav/NavController.h b/nav/NavController.h index b9827bf..b98f249 100644 --- a/nav/NavController.h +++ b/nav/NavController.h @@ -45,8 +45,9 @@ class NavController : public SensorListener, public SensorListener, public SensorListener, - public SensorListener, - public SensorListener { + public SensorListener + //public SensorListener + { private: @@ -116,7 +117,7 @@ public: SensorFactory::get().getWiFi().addListener(this); SensorFactory::get().getSteps().addListener(this); SensorFactory::get().getTurns().addListener(this); - SensorFactory::get().getActivity().addListener(this); + //SensorFactory::get().getActivity().addListener(this); // hacky.. but we need to call this one from the main thread! //mainController->getMapView()->showParticles(pf->getParticles()); @@ -211,14 +212,14 @@ public: gotSensorData(ts); } - void onSensorData(Sensor* sensor, const Timestamp ts, const ActivityData& data) override { - (void) sensor; - (void) ts; - curCtrl.activity = data.curActivity; - curObs.activity = data.curActivity; - debugActivity(data.curActivity); - gotSensorData(ts); - } +// void onSensorData(Sensor* sensor, const Timestamp ts, const ActivityData& data) override { +// (void) sensor; +// (void) ts; +// curCtrl.activity = data.curActivity; +// curObs.activity = data.curActivity; +// debugActivity(data.curActivity); +// gotSensorData(ts); +// } int cameraMode = 0; void toggleCamera() { @@ -234,16 +235,16 @@ private: } - void debugActivity(const ActivityData& activity) { - QString act; - switch(activity.curActivity) { - case ActivityButterPressure::Activity::STAY: act = "STAY"; break; - case ActivityButterPressure::Activity::DOWN: act = "DOWN"; break; - case ActivityButterPressure::Activity::UP: act = "UP"; break; - default: act = "???"; break; - } - Assert::isTrue(QMetaObject::invokeMethod(mainController->getInfoWidget(), "showActivity", Qt::QueuedConnection, Q_ARG(const QString&, act)), "call failed"); - } +// void debugActivity(const ActivityData& activity) { +// QString act; +// switch(activity.curActivity) { +// case ActivityButterPressure::Activity::STAY: act = "STAY"; break; +// case ActivityButterPressure::Activity::DOWN: act = "DOWN"; break; +// case ActivityButterPressure::Activity::UP: act = "UP"; break; +// default: act = "???"; break; +// } +// Assert::isTrue(QMetaObject::invokeMethod(mainController->getInfoWidget(), "showActivity", Qt::QueuedConnection, Q_ARG(const QString&, act)), "call failed"); +// } /** particle-filter update loop */ void filterUpdateLoop() { diff --git a/nav/State.h b/nav/State.h index 726307a..9b95b39 100644 --- a/nav/State.h +++ b/nav/State.h @@ -54,7 +54,7 @@ struct MyObservation { // TODO: switch to a general activity enum/detector for barometer + accelerometer + ...? /** detected activity */ - ActivityButterPressure::Activity activity; + Activity activity; /** time of evaluation */ Timestamp currentTime; @@ -72,7 +72,7 @@ struct MyControl { // TODO: switch to a general activity enum/detector using barometer + accelerometer? /** currently detected activity */ - ActivityButterPressure::Activity activity; + Activity activity; /** reset the control-data after each transition */ void resetAfterTransition() { diff --git a/sensors/SensorFactory.h b/sensors/SensorFactory.h index 4bdcb18..b613844 100644 --- a/sensors/SensorFactory.h +++ b/sensors/SensorFactory.h @@ -30,7 +30,7 @@ #include "StepSensor.h" #include "TurnSensor.h" -#include "ActivitySensor.h" +//#include "ActivitySensor.h" class SensorFactory { @@ -90,11 +90,11 @@ public: return turns; } - /** get the Activity sensor */ - ActivitySensor& getActivity() { - static ActivitySensor activity(getBarometer(), getAccelerometer()); - return activity; - } +// /** get the Activity sensor */ +// ActivitySensor& getActivity() { +// static ActivitySensor activity(getBarometer(), getAccelerometer()); +// return activity; +// } }; diff --git a/sensors/SensorWriter.h b/sensors/SensorWriter.h index 9a686ec..b1c2279 100644 --- a/sensors/SensorWriter.h +++ b/sensors/SensorWriter.h @@ -7,7 +7,7 @@ #include "StepSensor.h" #include "TurnSensor.h" #include "WiFiSensor.h" -#include "ActivitySensor.h" +//#include "ActivitySensor.h" #include "GPSSensor.h" #include "CompassSensor.h" #include "SensorFactory.h" diff --git a/sensors/TurnSensor.h b/sensors/TurnSensor.h index fde34bd..2075b20 100644 --- a/sensors/TurnSensor.h +++ b/sensors/TurnSensor.h @@ -18,6 +18,7 @@ class TurnSensor : private: + PoseDetection pose; TurnDetection turn; TurnData data; @@ -27,7 +28,7 @@ private: public: /** ctor */ - TurnSensor(AccelerometerSensor& acc, GyroscopeSensor& gyro) : acc(acc), gyro(gyro) { + TurnSensor(AccelerometerSensor& acc, GyroscopeSensor& gyro) : acc(acc), gyro(gyro), turn(&pose) { acc.addListener(this); gyro.addListener(this); } @@ -46,7 +47,8 @@ public: virtual void onSensorData(Sensor* sensor, const Timestamp ts, const AccelerometerData& data) override { (void) sensor; - turn.addAccelerometer(ts, data); + //turn.addAccelerometer(ts, data); + pose.addAccelerometer(ts, data); } virtual void onSensorData(Sensor* sensor, const Timestamp ts, const GyroscopeData& data) override { diff --git a/sensors/offline/AllInOneSensor.h b/sensors/offline/AllInOneSensor.h index 956a993..2b09158 100644 --- a/sensors/offline/AllInOneSensor.h +++ b/sensors/offline/AllInOneSensor.h @@ -60,7 +60,12 @@ protected: AccelerometerSensor::informListeners(ts, data); } - virtual void onGravity(const Timestamp ts, const AccelerometerData data) override { + virtual void onGravity(const Timestamp ts, const GravityData data) override { + (void) ts; + (void) data; + } + + virtual void onMagnetometer(const Timestamp ts, const MagnetometerData data) override { (void) ts; (void) data; } diff --git a/ui/MainWindow.cpp b/ui/MainWindow.cpp index 7bcb1f4..f1f42ec 100644 --- a/ui/MainWindow.cpp +++ b/ui/MainWindow.cpp @@ -27,7 +27,7 @@ MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { // ensure we are fullscreen showMaximized(); - sleep(1); +// sleep(1); emit resizeEvent(nullptr); // important! must be called AFTER window is visible diff --git a/ui/debug/PlotGPS.cpp b/ui/debug/PlotGPS.cpp index 49c1c57..5427d44 100644 --- a/ui/debug/PlotGPS.cpp +++ b/ui/debug/PlotGPS.cpp @@ -1,3 +1,4 @@ +#include "../misc/fixc11.h" #include "PlotGPS.h" #include diff --git a/ui/debug/PlotGPS.h b/ui/debug/PlotGPS.h index cdafffb..d812217 100644 --- a/ui/debug/PlotGPS.h +++ b/ui/debug/PlotGPS.h @@ -3,6 +3,7 @@ #include +#include "../misc/fixc11.h" #include "../sensors/GPSSensor.h" #include diff --git a/ui/debug/PlotTurns.cpp b/ui/debug/PlotTurns.cpp index d3966af..6f58a47 100644 --- a/ui/debug/PlotTurns.cpp +++ b/ui/debug/PlotTurns.cpp @@ -1,3 +1,4 @@ +#include "../misc/fixc11.h" #include "PlotTurns.h" #include diff --git a/ui/debug/PlotTurns.h b/ui/debug/PlotTurns.h index cf23b06..15a8747 100644 --- a/ui/debug/PlotTurns.h +++ b/ui/debug/PlotTurns.h @@ -2,6 +2,7 @@ #define PLOTTURNS_H #include +#include "../misc/fixc11.h" #include "../sensors/TurnSensor.h" #include "../sensors/CompassSensor.h" diff --git a/ui/debug/SensorDataWidget.cpp b/ui/debug/SensorDataWidget.cpp index 52037b9..da9e316 100644 --- a/ui/debug/SensorDataWidget.cpp +++ b/ui/debug/SensorDataWidget.cpp @@ -156,25 +156,25 @@ public: } - void add(const Timestamp ts, const ActivityData& data) { +// void add(const Timestamp ts, const ActivityData& data) { - static int skip = 0; - if ((++skip % 8) != 0) {return;} +// static int skip = 0; +// if ((++skip % 8) != 0) {return;} - float offset = 0; - switch(data.curActivity) { - case ActivityButterPressure::Activity::DOWN: offset = -0.5; break; - case ActivityButterPressure::Activity::UP: offset = +0.5; break; - case ActivityButterPressure::Activity::STAY: offset = +0.1; break; - } +// float offset = 0; +// switch(data.curActivity) { +// case ActivityButterPressure::Activity::DOWN: offset = -0.5; break; +// case ActivityButterPressure::Activity::UP: offset = +0.5; break; +// case ActivityButterPressure::Activity::STAY: offset = +0.1; break; +// } - addLineNode(ts, line[0].getData().front().val + offset, 1); - if (needsRefresh(ts)) { - limit(); - refresh(ts); - } +// addLineNode(ts, line[0].getData().front().val + offset, 1); +// if (needsRefresh(ts)) { +// limit(); +// refresh(ts); +// } - } +// } void limit() { @@ -224,8 +224,8 @@ SensorDataWidget::SensorDataWidget(QWidget* parent) : QWidget(parent) { SensorFactory::get().getSteps().addListener(this); SensorFactory::get().getTurns().addListener(this); SensorFactory::get().getWiFi().addListener(this); - SensorFactory::get().getActivity().addListener(this); - SensorFactory::get().getCompass().addListener(this); +// SensorFactory::get().getActivity().addListener(this); +// SensorFactory::get().getCompass().addListener(this); SensorFactory::get().getGPS().addListener(this); } @@ -253,20 +253,20 @@ void SensorDataWidget::onSensorData(Sensor* sensor, const Timesta ((PlotBaro*)plotBaro)->add(ts, data); } -void SensorDataWidget::onSensorData(Sensor* sensor, const Timestamp ts, const ActivityData& data) { - (void) sensor; - ((PlotBaro*)plotBaro)->add(ts, data); -} +//void SensorDataWidget::onSensorData(Sensor* sensor, const Timestamp ts, const ActivityData& data) { +// (void) sensor; +// ((PlotBaro*)plotBaro)->add(ts, data); +//} void SensorDataWidget::onSensorData(Sensor* sensor, const Timestamp ts, const TurnData& data) { (void) sensor; ((PlotTurns*)plotTurn)->add(ts, data); } -void SensorDataWidget::onSensorData(Sensor* sensor, const Timestamp ts, const CompassData& data) { - (void) sensor; - ((PlotTurns*)plotTurn)->add(ts, data); -} +//void SensorDataWidget::onSensorData(Sensor* sensor, const Timestamp ts, const CompassData& data) { +// (void) sensor; +// ((PlotTurns*)plotTurn)->add(ts, data); +//} void SensorDataWidget::onSensorData(Sensor* sensor, const Timestamp ts, const GPSData& data) { (void) sensor; diff --git a/ui/debug/SensorDataWidget.h b/ui/debug/SensorDataWidget.h index 61e8b22..db6c718 100644 --- a/ui/debug/SensorDataWidget.h +++ b/ui/debug/SensorDataWidget.h @@ -12,7 +12,7 @@ #include "../sensors/StepSensor.h" #include "../sensors/TurnSensor.h" #include "../sensors/WiFiSensor.h" -#include "../sensors/ActivitySensor.h" +//#include "../sensors/ActivitySensor.h" #include "../sensors/GPSSensor.h" #include "../sensors/CompassSensor.h" @@ -25,12 +25,13 @@ class SensorDataWidget : public SensorListener, public SensorListener, public SensorListener, - public SensorListener, + //public SensorListener, public SensorListener, public SensorListener, public SensorListener, - public SensorListener, - public SensorListener { + public SensorListener + //public SensorListener + { Q_OBJECT @@ -46,9 +47,9 @@ public: void onSensorData(Sensor* sensor, const Timestamp ts, const StepData& data) override; void onSensorData(Sensor* sensor, const Timestamp ts, const TurnData& data) override; void onSensorData(Sensor* sensor, const Timestamp ts, const WiFiMeasurements& data) override; - void onSensorData(Sensor* sensor, const Timestamp ts, const ActivityData& data) override; + //void onSensorData(Sensor* sensor, const Timestamp ts, const ActivityData& data) override; void onSensorData(Sensor* sensor, const Timestamp ts, const GPSData& data) override; - void onSensorData(Sensor* sensor, const Timestamp ts, const CompassData& data) override; + //void onSensorData(Sensor* sensor, const Timestamp ts, const CompassData& data) override; private: diff --git a/yasmin.pro b/yasmin.pro index 2c74380..6d9dc33 100644 --- a/yasmin.pro +++ b/yasmin.pro @@ -5,7 +5,7 @@ QT += qml opengl svg # android? -# CONFIG+=ANDROID DEFINES+=ANDROID +CONFIG+=ANDROID DEFINES+=ANDROID ANDROID { QT += androidextras QT += sensors