Skip to content

Commit

Permalink
move filter to utils namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
rtlopez committed Nov 2, 2024
1 parent dbdd69d commit 42aad6a
Show file tree
Hide file tree
Showing 14 changed files with 48 additions and 39 deletions.
2 changes: 1 addition & 1 deletion lib/Espfc/src/Control/Controller.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class Controller
private:
Model& _model;
Rates _rates;
Filter _speedFilter;
Utils::Filter _speedFilter;
};

}
Expand Down
14 changes: 7 additions & 7 deletions lib/Espfc/src/Control/Pid.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include <cstdint>
#include "Filter.h"
#include "Utils/Filter.h"
#include "Math/Utils.h"

namespace Espfc {
Expand Down Expand Up @@ -64,12 +64,12 @@ class Pid
float dTerm;
float fTerm;

Filter dtermFilter;
Filter dtermFilter2;
Filter dtermNotchFilter;
Filter ptermFilter;
Filter ftermFilter;
Filter itermRelaxFilter;
Utils::Filter dtermFilter;
Utils::Filter dtermFilter2;
Utils::Filter dtermNotchFilter;
Utils::Filter ptermFilter;
Utils::Filter ftermFilter;
Utils::Filter itermRelaxFilter;

float prevMeasurement;
float prevError;
Expand Down
2 changes: 1 addition & 1 deletion lib/Espfc/src/Input.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class Input
Model& _model;
TelemetryManager& _telemetry;
Device::InputDevice * _device;
Filter _filter[INPUT_CHANNELS];
Utils::Filter _filter[INPUT_CHANNELS];
float _step;
Device::InputPPM _ppm;
Device::InputSBUS _sbus;
Expand Down
2 changes: 1 addition & 1 deletion lib/Espfc/src/Math/FFTAnalyzer.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// https://github.com/espressif/esp-dsp/blob/5f2bfe1f3ee7c9b024350557445b32baf6407a08/examples/fft4real/main/dsps_fft4real_main.c

#include "Math/Utils.h"
#include "Filter.h"
#include "Utils/Filter.h"
#include "dsps_fft4r.h"
#include "dsps_wind_hann.h"
#include <algorithm>
Expand Down
4 changes: 2 additions & 2 deletions lib/Espfc/src/Math/FreqAnalyzer.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define _ESPFC_MATH_FREQ_ANALYZER_H_

#include "Math/Utils.h"
#include "Filter.h"
#include "Utils/Filter.h"

namespace Espfc {

Expand Down Expand Up @@ -57,7 +57,7 @@ class FreqAnalyzer
float noise;

private:
Filter _bpf;
Utils::Filter _bpf;
float _rate;

float _freq_min;
Expand Down
2 changes: 1 addition & 1 deletion lib/Espfc/src/ModelConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include "Target/Target.h"
#include "EscDriver.h"
#include "Filter.h"
#include "Utils/Filter.h"
#include "Device/BusDevice.h"
#include "Device/GyroDevice.h"
#include "Device/MagDevice.h"
Expand Down
26 changes: 13 additions & 13 deletions lib/Espfc/src/ModelState.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "helper_3dmath.h"
#include "Control/Pid.h"
#include "Kalman.h"
#include "Filter.h"
#include "Utils/Filter.h"
#include "Stats.h"
#include "Timer.h"
#include "Device/SerialDevice.h"
Expand Down Expand Up @@ -194,7 +194,7 @@ struct InputState
float us[INPUT_CHANNELS];
float ch[INPUT_CHANNELS];

Filter filter[AXIS_COUNT_RPYT];
Utils::Filter filter[AXIS_COUNT_RPYT];

Timer timer;
};
Expand All @@ -218,7 +218,7 @@ struct MagState

VectorInt16 raw;
VectorFloat adc;
Filter filter[3];
Utils::Filter filter[3];
Timer timer;

int calibrationSamples;
Expand Down Expand Up @@ -268,14 +268,14 @@ struct GyroState
int calibrationState;
int calibrationRate;

Filter filter[AXIS_COUNT_RPY];
Filter filter2[AXIS_COUNT_RPY];
Filter filter3[AXIS_COUNT_RPY];
Filter notch1Filter[AXIS_COUNT_RPY];
Filter notch2Filter[AXIS_COUNT_RPY];
Filter dynNotchFilter[DYN_NOTCH_COUNT_MAX][AXIS_COUNT_RPY];
Filter rpmFilter[RPM_FILTER_MOTOR_MAX][RPM_FILTER_HARMONICS_MAX][AXIS_COUNT_RPY];
Filter rpmFreqFilter[RPM_FILTER_MOTOR_MAX];
Utils::Filter filter[AXIS_COUNT_RPY];
Utils::Filter filter2[AXIS_COUNT_RPY];
Utils::Filter filter3[AXIS_COUNT_RPY];
Utils::Filter notch1Filter[AXIS_COUNT_RPY];
Utils::Filter notch2Filter[AXIS_COUNT_RPY];
Utils::Filter dynNotchFilter[DYN_NOTCH_COUNT_MAX][AXIS_COUNT_RPY];
Utils::Filter rpmFilter[RPM_FILTER_MOTOR_MAX][RPM_FILTER_HARMONICS_MAX][AXIS_COUNT_RPY];
Utils::Filter rpmFreqFilter[RPM_FILTER_MOTOR_MAX];

Timer timer;
Timer dynamicFilterTimer;
Expand All @@ -287,7 +287,7 @@ struct AccelState
VectorInt16 raw;
VectorFloat adc;
VectorFloat prev;
Filter filter[AXIS_COUNT_RPY];
Utils::Filter filter[AXIS_COUNT_RPY];
Timer timer;

float scale;
Expand All @@ -300,7 +300,7 @@ struct AccelState
struct AttitudeState
{
VectorFloat rate;
Filter filter[AXIS_COUNT_RPY];
Utils::Filter filter[AXIS_COUNT_RPY];
VectorFloat euler;
Quaternion quaternion;
};
Expand Down
2 changes: 1 addition & 1 deletion lib/Espfc/src/Sensor/AccelSensor.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class AccelSensor: public BaseSensor

Model& _model;
Device::GyroDevice * _gyro;
Filter _filter[AXIS_COUNT_RPY];
Utils::Filter _filter[AXIS_COUNT_RPY];
};

}
Expand Down
8 changes: 4 additions & 4 deletions lib/Espfc/src/Sensor/BaroSensor.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "BaseSensor.h"
#include "Model.h"
#include "Device/BaroDevice.h"
#include "Filter.h"
#include "Utils/Filter.h"

namespace Espfc {

Expand Down Expand Up @@ -34,9 +34,9 @@ class BaroSensor: public BaseSensor
Model& _model;
Device::BaroDevice * _baro;
BaroState _state;
Filter _temperatureFilter;
Filter _pressureFilter;
Filter _altitudeFilter;
Utils::Filter _temperatureFilter;
Utils::Filter _pressureFilter;
Utils::Filter _altitudeFilter;
uint32_t _wait;
int32_t _counter;
};
Expand Down
10 changes: 5 additions & 5 deletions lib/Espfc/src/Sensor/VoltageSensor.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "Model.h"
#include "BaseSensor.h"
#include "Filter.h"
#include "Utils/Filter.h"

namespace Espfc {

Expand All @@ -23,10 +23,10 @@ class VoltageSensor: public BaseSensor

private:
Model& _model;
Filter _vFilterFast;
Filter _vFilter;
Filter _iFilterFast;
Filter _iFilter;
Utils::Filter _vFilterFast;
Utils::Filter _vFilter;
Utils::Filter _iFilterFast;
Utils::Filter _iFilter;
State _state;
};

Expand Down
6 changes: 5 additions & 1 deletion lib/Espfc/src/Filter.cpp → lib/Espfc/src/Utils/Filter.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <cmath>
#include "Filter.h"
#include "Utils/Filter.h"
#include "Math/Utils.h"
#include "Utils/MemoryHelper.h"

Expand Down Expand Up @@ -28,6 +28,8 @@ FilterConfig FAST_CODE_ATTR FilterConfig::sanitize(int rate) const
return FilterConfig(t, f, c);
}

namespace Utils {

void FilterStatePt1::reset()
{
v = 0.f;
Expand Down Expand Up @@ -480,3 +482,5 @@ float FAST_CODE_ATTR Filter::getNotchQ(float freq, float cutoff)
}

}

}
4 changes: 4 additions & 0 deletions lib/Espfc/src/Filter.h → lib/Espfc/src/Utils/Filter.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ class DynamicFilterConfig {
static const int MIN_FREQ = 1000;
};

namespace Utils {

class FilterStatePt1 {
public:
void reset();
Expand Down Expand Up @@ -165,3 +167,5 @@ class Filter
};

}

}
2 changes: 1 addition & 1 deletion lib/Espfc/src/Utils/FilterHelper.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include "Filter.h"
#include "Utils/Filter.h"
#include <helper_3dmath.h>

namespace Espfc {
Expand Down
3 changes: 2 additions & 1 deletion test/test_math/test_math.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "msp/msp_protocol.h"
#include "Math/Utils.h"
#include "Math/Bits.h"
#include "Filter.h"
#include "Utils/Filter.h"
#include "Control/Pid.h"
#include "Target/QueueAtomic.h"
#include "Utils/RingBuf.h"
Expand All @@ -21,6 +21,7 @@

using namespace Espfc;
using namespace Espfc::Control;
using namespace Espfc::Utils;

void test_math_map()
{
Expand Down

0 comments on commit 42aad6a

Please sign in to comment.