added c++11 fixes

removed old components
disabled activity (for compiling reasons)
added wifi 2.4ghz hack
This commit is contained in:
k-a-z-u
2018-07-11 13:23:18 +02:00
parent b0712ec005
commit bb974d3871
18 changed files with 107 additions and 80 deletions

View File

@@ -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);
}

View File

@@ -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:

View File

@@ -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

View File

@@ -167,20 +167,21 @@ public:
}
double getStairProb(const K::Particle<MyState>& p, const ActivityButterPressure::Activity act) {
double getStairProb(const K::Particle<MyState>& 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;}

View File

@@ -45,8 +45,9 @@ class NavController :
public SensorListener<WiFiMeasurements>,
public SensorListener<GPSData>,
public SensorListener<StepData>,
public SensorListener<TurnData>,
public SensorListener<ActivityData> {
public SensorListener<TurnData>
//public SensorListener<ActivityData>
{
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<ActivityData>* 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<ActivityData>* 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() {

View File

@@ -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() {

View File

@@ -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;
// }
};

View File

@@ -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"

View File

@@ -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<AccelerometerData>* 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<GyroscopeData>* sensor, const Timestamp ts, const GyroscopeData& data) override {

View File

@@ -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;
}

View File

@@ -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

View File

@@ -1,3 +1,4 @@
#include "../misc/fixc11.h"
#include "PlotGPS.h"
#include <QPainter>

View File

@@ -3,6 +3,7 @@
#include <QWidget>
#include "../misc/fixc11.h"
#include "../sensors/GPSSensor.h"
#include <Indoor/data/Timestamp.h>

View File

@@ -1,3 +1,4 @@
#include "../misc/fixc11.h"
#include "PlotTurns.h"
#include <QPainter>

View File

@@ -2,6 +2,7 @@
#define PLOTTURNS_H
#include <QWidget>
#include "../misc/fixc11.h"
#include "../sensors/TurnSensor.h"
#include "../sensors/CompassSensor.h"

View File

@@ -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<BarometerData>* sensor, const Timesta
((PlotBaro*)plotBaro)->add(ts, data);
}
void SensorDataWidget::onSensorData(Sensor<ActivityData>* sensor, const Timestamp ts, const ActivityData& data) {
(void) sensor;
((PlotBaro*)plotBaro)->add(ts, data);
}
//void SensorDataWidget::onSensorData(Sensor<ActivityData>* sensor, const Timestamp ts, const ActivityData& data) {
// (void) sensor;
// ((PlotBaro*)plotBaro)->add(ts, data);
//}
void SensorDataWidget::onSensorData(Sensor<TurnData>* sensor, const Timestamp ts, const TurnData& data) {
(void) sensor;
((PlotTurns*)plotTurn)->add(ts, data);
}
void SensorDataWidget::onSensorData(Sensor<CompassData>* sensor, const Timestamp ts, const CompassData& data) {
(void) sensor;
((PlotTurns*)plotTurn)->add(ts, data);
}
//void SensorDataWidget::onSensorData(Sensor<CompassData>* sensor, const Timestamp ts, const CompassData& data) {
// (void) sensor;
// ((PlotTurns*)plotTurn)->add(ts, data);
//}
void SensorDataWidget::onSensorData(Sensor<GPSData>* sensor, const Timestamp ts, const GPSData& data) {
(void) sensor;

View File

@@ -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<AccelerometerData>,
public SensorListener<GyroscopeData>,
public SensorListener<BarometerData>,
public SensorListener<ActivityData>,
//public SensorListener<ActivityData>,
public SensorListener<StepData>,
public SensorListener<TurnData>,
public SensorListener<WiFiMeasurements>,
public SensorListener<GPSData>,
public SensorListener<CompassData> {
public SensorListener<GPSData>
//public SensorListener<CompassData>
{
Q_OBJECT
@@ -46,9 +47,9 @@ public:
void onSensorData(Sensor<StepData>* sensor, const Timestamp ts, const StepData& data) override;
void onSensorData(Sensor<TurnData>* sensor, const Timestamp ts, const TurnData& data) override;
void onSensorData(Sensor<WiFiMeasurements>* sensor, const Timestamp ts, const WiFiMeasurements& data) override;
void onSensorData(Sensor<ActivityData>* sensor, const Timestamp ts, const ActivityData& data) override;
//void onSensorData(Sensor<ActivityData>* sensor, const Timestamp ts, const ActivityData& data) override;
void onSensorData(Sensor<GPSData>* sensor, const Timestamp ts, const GPSData& data) override;
void onSensorData(Sensor<CompassData>* sensor, const Timestamp ts, const CompassData& data) override;
//void onSensorData(Sensor<CompassData>* sensor, const Timestamp ts, const CompassData& data) override;
private:

View File

@@ -5,7 +5,7 @@ QT += qml opengl svg
# android?
# CONFIG+=ANDROID DEFINES+=ANDROID
CONFIG+=ANDROID DEFINES+=ANDROID
ANDROID {
QT += androidextras
QT += sensors