From b91a3058fce9f950ae34b447ed2311960a30cdd8 Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Mon, 22 Apr 2024 16:30:57 +0700 Subject: [PATCH] Move common function to separate file --- src/PMS/PMS5003T.cpp | 15 --------------- src/PMS/PMS5003T.h | 5 ++--- src/PMS/PMS5003TBase.cpp | 21 +++++++++++++++++++++ src/PMS/PMS5003TBase.h | 15 +++++++++++++++ 4 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 src/PMS/PMS5003TBase.cpp create mode 100644 src/PMS/PMS5003TBase.h diff --git a/src/PMS/PMS5003T.cpp b/src/PMS/PMS5003T.cpp index 838ab7d..f0f9a1d 100644 --- a/src/PMS/PMS5003T.cpp +++ b/src/PMS/PMS5003T.cpp @@ -202,18 +202,3 @@ void PMS5003T::handle(void) { pms.handle(); } */ bool PMS5003T::isFailed(void) { return pms.isFailed(); } -float PMS5003T::temperatureCompensated(float temp) { - if (temp < 10.0f) { - return temp * 1.327f - 6.738f; - } - return temp * 1.181f - 5.113f; -} - -float PMS5003T::humidityCompensated(float hum) { - hum = hum * 1.259f + 7.34f; - - if (hum > 100.0f) { - hum = 100.0f; - } - return hum; -} diff --git a/src/PMS/PMS5003T.h b/src/PMS/PMS5003T.h index f3787a8..2c99b7e 100644 --- a/src/PMS/PMS5003T.h +++ b/src/PMS/PMS5003T.h @@ -3,13 +3,14 @@ #include "../Main/BoardDef.h" #include "PMS.h" +#include "PMS5003TBase.h" #include "Stream.h" #include /** * @brief The class define how to handle PMS5003T sensor bas on @ref PMS class */ -class PMS5003T { +class PMS5003T: public PMS5003TBase { public: PMS5003T(BoardType def); #if defined(ESP8266) @@ -28,8 +29,6 @@ public: int convertPm25ToUsAqi(int pm25); float getTemperature(void); float getRelativeHumidity(void); - float temperatureCompensated(float temp); - float humidityCompensated(float hum); private: bool _isBegin = false; diff --git a/src/PMS/PMS5003TBase.cpp b/src/PMS/PMS5003TBase.cpp new file mode 100644 index 0000000..7d7fdbe --- /dev/null +++ b/src/PMS/PMS5003TBase.cpp @@ -0,0 +1,21 @@ +#include "PMS5003TBase.h" + +PMS5003TBase::PMS5003TBase() {} + +PMS5003TBase::~PMS5003TBase() {} + +float PMS5003TBase::temperatureCompensated(float temp) { + if (temp < 10.0f) { + return temp * 1.327f - 6.738f; + } + return temp * 1.181f - 5.113f; +} + +float PMS5003TBase::humidityCompensated(float hum) { + hum = hum * 1.259f + 7.34f; + + if (hum > 100.0f) { + hum = 100.0f; + } + return hum; +} diff --git a/src/PMS/PMS5003TBase.h b/src/PMS/PMS5003TBase.h new file mode 100644 index 0000000..0b50449 --- /dev/null +++ b/src/PMS/PMS5003TBase.h @@ -0,0 +1,15 @@ +#ifndef _PMS5003T_BASE_H_ +#define _PMS5003T_BASE_H_ + +class PMS5003TBase +{ +private: + +public: + PMS5003TBase(); + ~PMS5003TBase(); + float temperatureCompensated(float temp); + float humidityCompensated(float hum); +}; + +#endif