This commit is contained in:
samuelbles07
2024-10-11 22:11:26 +07:00
parent 2a5cf78b68
commit 467b3e8637
2 changed files with 81 additions and 73 deletions

View File

@ -5,79 +5,7 @@
#define json_prop_pmFirmware "firmware"
/**
* @brief Get PMS5003 firmware version string
*
* @param fwCode
* @return String
*/
String Measurements::pms5003FirmwareVersion(int fwCode) {
return pms5003FirmwareVersionBase("PMS5003x", fwCode);
}
/**
* @brief Get PMS5003T firmware version string
*
* @param fwCode
* @return String
*/
String Measurements::pms5003TFirmwareVersion(int fwCode) {
return pms5003FirmwareVersionBase("PMS5003x", fwCode);
}
/**
* @brief Get firmware version string
*
* @param prefix Prefix firmware string
* @param fwCode Version code
* @return string
*/
String Measurements::pms5003FirmwareVersionBase(String prefix, int fwCode) {
return prefix + String("-") + String(fwCode);
}
String Measurements::agValueTypeStr(AgValueType type) {
String str;
switch (type) {
case AgValueType::Temperature:
str = "Temperature";
break;
case AgValueType::Humidity:
str = "Humidity";
break;
case AgValueType::CO2:
str = "CO2";
break;
case AgValueType::TVOC:
str = "TVOC";
break;
case AgValueType::TVOCRaw:
str = "TVOCRaw";
break;
case AgValueType::NOx:
str = "NOx";
break;
case AgValueType::NOxRaw:
str = "NOxRaw";
break;
case AgValueType::PM25:
str = "PM25";
break;
case AgValueType::PM01:
str = "PM01";
break;
case AgValueType::PM10:
str = "PM10";
break;
case AgValueType::PM03:
str = "PM03";
break;
default:
break;
};
return str;
}
void Measurements::init() {}
bool Measurements::updateValue(AgValueType type, int val) {
// Define data point source
@ -594,3 +522,58 @@ String Measurements::toString(bool localServer, AgFirmwareMode fwMode, int rssi,
return JSON.stringify(root);
}
String Measurements::pms5003FirmwareVersion(int fwCode) {
return pms5003FirmwareVersionBase("PMS5003x", fwCode);
}
String Measurements::pms5003TFirmwareVersion(int fwCode) {
return pms5003FirmwareVersionBase("PMS5003x", fwCode);
}
String Measurements::pms5003FirmwareVersionBase(String prefix, int fwCode) {
return prefix + String("-") + String(fwCode);
}
String Measurements::agValueTypeStr(AgValueType type) {
String str;
switch (type) {
case AgValueType::Temperature:
str = "Temperature";
break;
case AgValueType::Humidity:
str = "Humidity";
break;
case AgValueType::CO2:
str = "CO2";
break;
case AgValueType::TVOC:
str = "TVOC";
break;
case AgValueType::TVOCRaw:
str = "TVOCRaw";
break;
case AgValueType::NOx:
str = "NOx";
break;
case AgValueType::NOxRaw:
str = "NOxRaw";
break;
case AgValueType::PM25:
str = "PM25";
break;
case AgValueType::PM01:
str = "PM01";
break;
case AgValueType::PM10:
str = "PM10";
break;
case AgValueType::PM03:
str = "PM03";
break;
default:
break;
};
return str;
}

View File

@ -71,6 +71,8 @@ public:
PM03,
};
void init();
/**
* @brief update target type value with new value.
* Each AgValueType has last raw value and last average that are calculated based on max number of
@ -148,9 +150,32 @@ private:
IntegerValue _pm_10;
IntegerValue _pm_03_pc; // particle count 0.3
/**
* @brief Get PMS5003 firmware version string
*
* @param fwCode
* @return String
*/
String pms5003FirmwareVersion(int fwCode);
/**
* @brief Get PMS5003T firmware version string
*
* @param fwCode
* @return String
*/
String pms5003TFirmwareVersion(int fwCode);
/**
* @brief Get firmware version string
*
* @param prefix Prefix firmware string
* @param fwCode Version code
* @return string
*/
String pms5003FirmwareVersionBase(String prefix, int fwCode);
/**
* Convert AgValue Type to string representation of the value
*/
String agValueTypeStr(AgValueType type);
};