Merge pull request #205 from airgradienthq/feature/send-pms-sensor-fw-version-to-ag-cloud

Send PMS5003T firmware version to Ag Cloud
This commit is contained in:
nick-4711
2024-08-30 10:54:36 +07:00
committed by GitHub
8 changed files with 120 additions and 2 deletions

View File

@ -267,6 +267,20 @@ int16_t PMSBase::getTemp(void) { return toI16(&package[24]); }
*/
uint16_t PMSBase::getHum(void) { return toU16(&package[26]); }
/**
* @brief Get firmware version code
*
* @return uint8_t
*/
uint8_t PMSBase::getFirmwareVersion(void) { return package[28]; }
/**
* @brief Ge PMS5003 error code
*
* @return uint8_t
*/
uint8_t PMSBase::getErrorCode(void) { return package[29]; }
/**
* @brief Convert PMS2.5 to US AQI unit
*

View File

@ -32,6 +32,8 @@ public:
/** For PMS5003T*/
int16_t getTemp(void);
uint16_t getHum(void);
uint8_t getFirmwareVersion(void);
uint8_t getErrorCode(void);
int pm25ToAQI(int pm02);
int compensated(int pm25, float humidity);

View File

@ -78,7 +78,7 @@ bool PMS5003::begin(void) {
return false;
}
#endif
_ver = pms.getFirmwareVersion();
this->_isBegin = true;
return true;
}
@ -132,6 +132,20 @@ int PMS5003::compensated(int pm25, float humidity) {
return pms.compensated(pm25, humidity);
}
/**
* @brief Get sensor firmware version
*
* @return int
*/
int PMS5003::getFirmwareVersion(void) { return _ver; }
/**
* @brief Get sensor error code
*
* @return uint8_t
*/
uint8_t PMS5003::getErrorCode(void) { return pms.getErrorCode(); }
/**
* @brief Check device initialized or not
*

View File

@ -29,9 +29,12 @@ public:
int getPm03ParticleCount(void);
int convertPm25ToUsAqi(int pm25);
int compensated(int pm25, float humidity);
int getFirmwareVersion(void);
uint8_t getErrorCode(void);
private:
bool _isBegin = false;
int _ver;
BoardType _boardDef;
PMSBase pms;
const BoardDef *bsp;

View File

@ -103,7 +103,7 @@ bool PMS5003T::begin(void) {
return false;
}
#endif
_ver = pms.getFirmwareVersion();
this->_isBegin = true;
return true;
}
@ -175,6 +175,20 @@ float PMS5003T::compensated(int pm25, float humidity) {
return pms.compensated(pm25, humidity);
}
/**
* @brief Get module(s) firmware version
*
* @return int Version code
*/
int PMS5003T::getFirmwareVersion(void) { return _ver; }
/**
* @brief Get sensor error code
*
* @return uint8_t
*/
uint8_t PMS5003T::getErrorCode(void) { return pms.getErrorCode(); }
/**
* @brief Check device initialized or not
*

View File

@ -34,10 +34,13 @@ public:
float getTemperature(void);
float getRelativeHumidity(void);
float compensated(int pm25, float humidity);
int getFirmwareVersion(void);
uint8_t getErrorCode(void);
private:
bool _isBegin = false;
bool _isSleep = false;
int _ver; /** Firmware version code */
BoardType _boardDef;
const BoardDef *bsp;