From 812c2ab803556ea76f64bc034751b7a96dc8d4bb Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Sat, 20 Jul 2024 08:53:19 +0700 Subject: [PATCH] add PMS5003T get module firmware version code --- src/PMS/PMS.cpp | 7 +++++++ src/PMS/PMS.h | 1 + src/PMS/PMS5003T.cpp | 9 ++++++++- src/PMS/PMS5003T.h | 2 ++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/PMS/PMS.cpp b/src/PMS/PMS.cpp index e9a1527..8d7c957 100644 --- a/src/PMS/PMS.cpp +++ b/src/PMS/PMS.cpp @@ -245,6 +245,13 @@ uint16_t PMSBase::getTemp(void) { return toValue(&package[24]); } */ uint16_t PMSBase::getHum(void) { return toValue(&package[26]); } +/** + * @brief Get PMS500T firmware version code + * + * @return uint8_t + */ +uint8_t PMSBase::getFirmwareVersion(void) { return package[28]; } + /** * @brief Convert PMS2.5 to US AQI unit * diff --git a/src/PMS/PMS.h b/src/PMS/PMS.h index 4fa086a..6131390 100644 --- a/src/PMS/PMS.h +++ b/src/PMS/PMS.h @@ -26,6 +26,7 @@ public: /** For PMS5003T*/ uint16_t getTemp(void); uint16_t getHum(void); + uint8_t getFirmwareVersion(void); int pm25ToAQI(int pm02); diff --git a/src/PMS/PMS5003T.cpp b/src/PMS/PMS5003T.cpp index f0f9a1d..296023d 100644 --- a/src/PMS/PMS5003T.cpp +++ b/src/PMS/PMS5003T.cpp @@ -102,7 +102,7 @@ bool PMS5003T::begin(void) { return false; } #endif - + _ver = pms.getFirmwareVersion(); this->_isBegin = true; return true; } @@ -161,6 +161,13 @@ float PMS5003T::getRelativeHumidity(void) { return pms.getHum()/10.0f; } +/** + * @brief Get module(s) firmware version + * + * @return int Version code + */ +int PMS5003T::getFirmwareVersion(void) { return _ver; } + /** * @brief Check device initialized or not * diff --git a/src/PMS/PMS5003T.h b/src/PMS/PMS5003T.h index 2c99b7e..821d946 100644 --- a/src/PMS/PMS5003T.h +++ b/src/PMS/PMS5003T.h @@ -29,10 +29,12 @@ public: int convertPm25ToUsAqi(int pm25); float getTemperature(void); float getRelativeHumidity(void); + int getFirmwareVersion(void); private: bool _isBegin = false; bool _isSleep = false; + int _ver; /** Firmware version code */ BoardType _boardDef; const BoardDef *bsp;