Switch from double to float
authorLukáš Jiřiště <jiriste@icpf.cas.cz>
Wed, 23 Oct 2024 08:53:24 +0000 (10:53 +0200)
committerLukáš Jiřiště <jiriste@icpf.cas.cz>
Wed, 23 Oct 2024 08:53:24 +0000 (10:53 +0200)
Float has 24bit significant so it has plenty of precision for the 10bit
AD conversion and should take less space.

PressureSensor.h
PressureSensor.ino

index 1a849ae489f4ac5232284fcb4d4063be71f5ea68..b3347f9d5ff50334deac63b16a78e73a113c6464 100644 (file)
@@ -8,7 +8,7 @@ class PressureSensor
 
                const pin       m_analog_pin;
 
-               static double   signal_to_pressure(int ad_signal);
+               static float    signal_to_pressure(int ad_signal);
 
        public:
                PressureSensor() = delete;
@@ -18,7 +18,7 @@ class PressureSensor
 
                PressureSensor  &operator=(const PressureSensor &other) = delete;
 
-               double  get_pressure();
+               float   get_pressure();
 };
 
 #endif // PRESSURESENSOR_H
index eae698eace6ad70b8b45e8ac40f481e63fb157a5..a645a3c56ef05430ffc06507648d866eb0da3ffb 100644 (file)
@@ -17,12 +17,12 @@ PressureSensor::~PressureSensor()
 // of 0 V to 5 V.
 // Hence signal = (2^10 - 1) / (5 V) * U = 1023 / 5 * (0.96 + 0.384 * p/bar)
 // And p/bar = 1 / 0.384 * (5 / (2^10 - 1) * signal - 0.96)
-double PressureSensor::signal_to_pressure(int ad_signal)
+float  PressureSensor::signal_to_pressure(int ad_signal)
 {
-       return (((static_cast<double>(ad_signal) * 5) / (2 << 10 - 1) - 0.96) / 0.384);
+       return (((static_cast<float>(ad_signal) * 5) / (2 << 10 - 1) - 0.96) / 0.384);
 }
 
-double PressureSensor::get_pressure()
+float  PressureSensor::get_pressure()
 {
        return (signal_to_pressure(analogRead(m_analog_pin)));
 }