Loading services/sensorservice/GravitySensor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ namespace android { GravitySensor::GravitySensor(sensor_t const* list, size_t count) : mSensorDevice(SensorDevice::getInstance()), mEnabled(false), mAccTime(0), mLowPass(M_SQRT1_2, 1), mLowPass(M_SQRT1_2, 1.5f), mX(mLowPass), mY(mLowPass), mZ(mLowPass) { Loading services/sensorservice/GravitySensor.h +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ class GravitySensor : public SensorInterface { double mAccTime; SecondOrderLowPassFilter mLowPass; BiquadFilter mX, mY, mZ; CascadedBiquadFilter mX, mY, mZ; public: GravitySensor(sensor_t const* list, size_t count); Loading services/sensorservice/SecondOrderLowPassFilter.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -66,5 +66,24 @@ float BiquadFilter::operator()(float x) return y; } // --------------------------------------------------------------------------- CascadedBiquadFilter::CascadedBiquadFilter(const SecondOrderLowPassFilter& s) : mA(s), mB(s) { } float CascadedBiquadFilter::init(float x) { mA.init(x); mB.init(x); return x; } float CascadedBiquadFilter::operator()(float x) { return mB(mA(x)); } // --------------------------------------------------------------------------- }; // namespace android services/sensorservice/SecondOrderLowPassFilter.h +12 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,18 @@ public: float operator()(float in); }; /* * Two cascaded biquad IIR filters * (4-poles IIR) */ class CascadedBiquadFilter { BiquadFilter mA; BiquadFilter mB; public: CascadedBiquadFilter(const SecondOrderLowPassFilter& s); float init(float in); float operator()(float in); }; // --------------------------------------------------------------------------- }; // namespace android Loading Loading
services/sensorservice/GravitySensor.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ namespace android { GravitySensor::GravitySensor(sensor_t const* list, size_t count) : mSensorDevice(SensorDevice::getInstance()), mEnabled(false), mAccTime(0), mLowPass(M_SQRT1_2, 1), mLowPass(M_SQRT1_2, 1.5f), mX(mLowPass), mY(mLowPass), mZ(mLowPass) { Loading
services/sensorservice/GravitySensor.h +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ class GravitySensor : public SensorInterface { double mAccTime; SecondOrderLowPassFilter mLowPass; BiquadFilter mX, mY, mZ; CascadedBiquadFilter mX, mY, mZ; public: GravitySensor(sensor_t const* list, size_t count); Loading
services/sensorservice/SecondOrderLowPassFilter.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -66,5 +66,24 @@ float BiquadFilter::operator()(float x) return y; } // --------------------------------------------------------------------------- CascadedBiquadFilter::CascadedBiquadFilter(const SecondOrderLowPassFilter& s) : mA(s), mB(s) { } float CascadedBiquadFilter::init(float x) { mA.init(x); mB.init(x); return x; } float CascadedBiquadFilter::operator()(float x) { return mB(mA(x)); } // --------------------------------------------------------------------------- }; // namespace android
services/sensorservice/SecondOrderLowPassFilter.h +12 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,18 @@ public: float operator()(float in); }; /* * Two cascaded biquad IIR filters * (4-poles IIR) */ class CascadedBiquadFilter { BiquadFilter mA; BiquadFilter mB; public: CascadedBiquadFilter(const SecondOrderLowPassFilter& s); float init(float in); float operator()(float in); }; // --------------------------------------------------------------------------- }; // namespace android Loading