Update comment

This commit is contained in:
Phat Nguyen
2024-03-16 08:21:14 +07:00
parent be1a9778e6
commit 87f2463233
3 changed files with 38 additions and 9 deletions

View File

@ -1,6 +1,13 @@
#include "PMS.h"
#include "../Main/BoardDef.h"
/**
* @brief Init and check that sensor has connected
*
* @param stream UART stream
* @return true Sucecss
* @return false Failure
*/
bool PMSBase::begin(Stream *stream) {
this->stream = stream;
@ -26,7 +33,8 @@ bool PMSBase::begin(Stream *stream) {
}
/**
* @brief Read PMS data as 1.5sec period
* @brief Check and read sensor data then update variable.
* Check result from method @isFailed before get value
*/
void PMSBase::handle() {
uint32_t ms;
@ -37,8 +45,12 @@ void PMSBase::handle() {
}
} else {
ms = (uint32_t)(millis() - lastRead);
/** Ignore read data if two time call less then 1sec. In active mode the
* data sync perido is 1sec. Two times read must be large or equal 2.5sec */
/**
* The PMS in Active mode sends an update data every 1 second. If we read
* exactly every 1 sec then we may or may not get an update (depending on
* timing tolerances). Hence we read every 2.5 seconds and expect 2 ..3
* updates,
*/
if (ms < 2500) {
return;
}
@ -109,7 +121,7 @@ void PMSBase::handle() {
// Reduce core panic: delay 1 ms each 32bytes data
bcount++;
if((bcount % 32) == 0){
if ((bcount % 32) == 0) {
delay(1);
}
}

View File

@ -148,6 +148,16 @@ void PMS5003::end(void) {
AgLog("De-initialize");
}
/**
* @brief Check and read PMS sensor data. This method should be callack from
* loop process to continoue check sensor data if it's available
*/
void PMS5003::handle(void) { pms.handle(); }
/**
* @brief Get sensor status
*
* @return true No problem
* @return false Communication timeout or sensor has removed
*/
bool PMS5003::isFailed(void) { return pms.isFailed(); }

View File

@ -198,18 +198,25 @@ void PMS5003T::end(void) {
}
/**
* @brief Read PMS on loop
*
* @brief Check and read PMS sensor data. This method should be callack from
* loop process to continoue check sensor data if it's available
*/
void PMS5003T::handle(void) { pms.handle(); }
/**
* @brief Get PMS status
* @return true Failed
* @return false No Problem
* @brief Get sensor status
*
* @return true No problem
* @return false Communication timeout or sensor has removed
*/
bool PMS5003T::isFailed(void) { return pms.isFailed(); }
/**
* @brief Correct the PMS5003T relactive humidity
*
* @param inHum Input humidity
* @return float Corrected humidity
*/
float PMS5003T::correctionRelativeHumidity(float inHum) {
float hum = inHum * 1.259 + 7.34;
if (hum > 100.0f) {