diff --git a/src/shared/sensors/analog/AnalogLoadCell.h b/src/shared/sensors/analog/AnalogLoadCell.h index 24287b8b07ea9fa8609be3bc1228afd87bf59371..54586d200abaad8d4ad1c46d59789908086e5efc 100644 --- a/src/shared/sensors/analog/AnalogLoadCell.h +++ b/src/shared/sensors/analog/AnalogLoadCell.h @@ -52,6 +52,7 @@ public: void updateOffset(float offset) { this->offset += offset; } +protected: AnalogLoadCellData sampleImpl() override { ADCData adcData = getVoltage(); diff --git a/src/shared/sensors/analog/BatteryVoltageSensor.h b/src/shared/sensors/analog/BatteryVoltageSensor.h index 54c34d35456ae06fb7c9d54b3558b029bc10c835..cc5153ef47c72628a21bb7cfb6394d8120ca80b8 100644 --- a/src/shared/sensors/analog/BatteryVoltageSensor.h +++ b/src/shared/sensors/analog/BatteryVoltageSensor.h @@ -53,6 +53,7 @@ public: bool selfTest() override { return true; }; +protected: ///< Converts the adc voltage value to battery voltage BatteryVoltageSensorData sampleImpl() override { diff --git a/src/shared/sensors/analog/CurrentSensor.h b/src/shared/sensors/analog/CurrentSensor.h index 035e2bbf7db011fb2b73dbd7f1e7717cef06654b..d871b9182391327d71a9e8313cd15b8fd3d63464 100644 --- a/src/shared/sensors/analog/CurrentSensor.h +++ b/src/shared/sensors/analog/CurrentSensor.h @@ -50,6 +50,7 @@ public: bool selfTest() override { return true; }; +protected: ///< Converts the voltage value to pressure CurrentData sampleImpl() override { diff --git a/src/shared/sensors/analog/Pitot/Pitot.h b/src/shared/sensors/analog/Pitot/Pitot.h index bbcacee528b179cfd339dd3448a142b74e19a73b..97e32249e0e0f14600d95fc87ef56bea4c87c8e2 100644 --- a/src/shared/sensors/analog/Pitot/Pitot.h +++ b/src/shared/sensors/analog/Pitot/Pitot.h @@ -55,6 +55,7 @@ public: ReferenceValues getReferenceValues() { return reference; } +protected: PitotData sampleImpl() override { float totalPressure = getTotalPressure(); diff --git a/src/shared/sensors/analog/TrafagPressureSensor.h b/src/shared/sensors/analog/TrafagPressureSensor.h index 7292b70de3591234e73e3bd95818029deaac2cd7..730b421169d6b403f75c67a0544e7101d602e544 100644 --- a/src/shared/sensors/analog/TrafagPressureSensor.h +++ b/src/shared/sensors/analog/TrafagPressureSensor.h @@ -58,13 +58,14 @@ public: bool selfTest() override { return true; } -private: +protected: PressureData sampleImpl() override { auto voltage = getVoltage(); return {voltage.voltageTimestamp, voltageToPressure(voltage.voltage)}; } +private: float voltageToPressure(float voltage) { // First convert voltage to current diff --git a/src/shared/sensors/analog/TwoPointAnalogLoadCell.h b/src/shared/sensors/analog/TwoPointAnalogLoadCell.h index e2efa14dcf9a40f60a258c7ab712b94db13ccad8..107a6164f3bd06c9f3be197dcf5c51ddbb13a162 100644 --- a/src/shared/sensors/analog/TwoPointAnalogLoadCell.h +++ b/src/shared/sensors/analog/TwoPointAnalogLoadCell.h @@ -76,7 +76,7 @@ public: dynamicOffset += value; } -private: +protected: LoadCellData sampleImpl() override { auto voltage = getVoltage(); @@ -86,6 +86,7 @@ private: return {voltage.voltageTimestamp, mass - dynamicOffset}; } +private: std::function<ADCData()> getVoltage; // std::atomic<float> does not support += diff --git a/src/shared/sensors/analog/pressure/AnalogPressureSensor.h b/src/shared/sensors/analog/pressure/AnalogPressureSensor.h index f13d5159be816a40777c45c3083c859579871dab..d2af62c5910027e83cc3a1e99403344445fe0b0c 100644 --- a/src/shared/sensors/analog/pressure/AnalogPressureSensor.h +++ b/src/shared/sensors/analog/pressure/AnalogPressureSensor.h @@ -59,6 +59,7 @@ public: void updateOffset(float offset) { this->offset += offset; } +protected: AnalogPressureData sampleImpl() override { AnalogPressureData pressure; @@ -81,7 +82,6 @@ public: return pressure; } -protected: ///< Conversion function from volts to pascals. virtual float voltageToPressure(float voltage) = 0; diff --git a/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h b/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h index 84c9bf2e4b897b4c3b63b5488383977fc390d99c..2b5c840fa9c3d96a0d12ea0ffb759e3e9cd973e5 100644 --- a/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h +++ b/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h @@ -60,6 +60,7 @@ public: bool selfTest() override { return true; }; +protected: /** * @return the difference between the two pressure values */