current revision

This commit is contained in:
2016-09-28 12:16:45 +02:00
parent 075d8bb633
commit d47322e73b
90 changed files with 8228 additions and 606 deletions

View File

@@ -11,17 +11,23 @@ struct TurnData {
TurnData() : radSinceLastEvent(0), radSinceStart(0) {;}
};
class TurnSensor : public SensorListener<AccelerometerData>, public SensorListener<GyroscopeData>, public Sensor<TurnData> {
class TurnSensor :
public SensorListener<AccelerometerData>, // << takes
public SensorListener<GyroscopeData>, // << takes
public Sensor<TurnData> { // << provides
private:
TurnDetection turn;
TurnData data;
AccelerometerSensor& acc;
GyroscopeSensor& gyro;
public:
/** ctor */
TurnSensor(AccelerometerSensor& acc, GyroscopeSensor& gyro) {
TurnSensor(AccelerometerSensor& acc, GyroscopeSensor& gyro) : acc(acc), gyro(gyro) {
acc.addListener(this);
gyro.addListener(this);
}
@@ -34,6 +40,10 @@ public:
//
}
bool isRunning() const override {
return acc.isRunning() && gyro.isRunning();
}
virtual void onSensorData(Sensor<AccelerometerData>* sensor, const Timestamp ts, const AccelerometerData& data) override {
(void) sensor;
turn.addAccelerometer(ts, data);