mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-06-30 10:10:58 +02:00
Check value sensor value
This commit is contained in:
@ -1,49 +1,85 @@
|
||||
#include "utils.h"
|
||||
|
||||
utils::utils(/* args */)
|
||||
{
|
||||
#define VALID_TEMPERATURE_MAX (125)
|
||||
#define VALID_TEMPERATURE_MIN (-40)
|
||||
#define INVALID_TEMPERATURE (-41)
|
||||
|
||||
#define VALID_HUMIDITY_MAX (100)
|
||||
#define VALID_HUMIDITY_MIN (0)
|
||||
#define INVALID_HUMIDITY (-1)
|
||||
|
||||
#define VALID_PMS_MAX (1000)
|
||||
#define VALID_PMS_MIN (0)
|
||||
#define INVALID_PMS (-1)
|
||||
|
||||
#define VALID_CO2_MAX (10000)
|
||||
#define VALID_CO2_MIN (0)
|
||||
#define INVALID_CO2 (-1)
|
||||
|
||||
#define INVALID_NOX (-1)
|
||||
#define INVALID_VOC (-1)
|
||||
|
||||
utils::utils(/* args */) {}
|
||||
|
||||
utils::~utils() {}
|
||||
|
||||
bool utils::isValidTemperature(float value) {
|
||||
if (value >= VALID_TEMPERATURE_MIN && value <= VALID_TEMPERATURE_MAX) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
utils::~utils()
|
||||
{
|
||||
bool utils::isValidHumidity(float value) {
|
||||
if (value >= VALID_HUMIDITY_MIN && value <= VALID_HUMIDITY_MAX) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
float utils::correctTemperature(float value) {
|
||||
if (value < -40) {
|
||||
return -40;
|
||||
bool utils::isValidCO2(int16_t value) {
|
||||
if (value >= VALID_CO2_MIN && value <= VALID_CO2_MAX) {
|
||||
return true;
|
||||
}
|
||||
if (value > 100) {
|
||||
return 125;
|
||||
}
|
||||
return value;
|
||||
return false;
|
||||
}
|
||||
|
||||
float utils::correctHumidity(float value) {
|
||||
if (value < 0) {
|
||||
return 0;
|
||||
bool utils::isValidPMS(int value) {
|
||||
if (value >= VALID_PMS_MIN && value <= VALID_PMS_MAX) {
|
||||
return true;
|
||||
}
|
||||
if (value > 100) {
|
||||
return 100;
|
||||
}
|
||||
return value;
|
||||
return false;
|
||||
}
|
||||
|
||||
int16_t utils::correctCO2(int16_t value) {
|
||||
if (value < 0) {
|
||||
return 0;
|
||||
bool utils::isValidPMS03Count(int value) {
|
||||
if (value >= 0) {
|
||||
return true;
|
||||
}
|
||||
if (value > 10000) {
|
||||
return 10000;
|
||||
}
|
||||
return value;
|
||||
return false;
|
||||
}
|
||||
|
||||
int utils::correctPMS(int value) {
|
||||
if (value < 10) {
|
||||
return 10;
|
||||
bool utils::isValidNOx(int value) {
|
||||
if (value > INVALID_NOX) {
|
||||
return true;
|
||||
}
|
||||
if (value > 1000) {
|
||||
return 1000;
|
||||
}
|
||||
return value;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool utils::isValidVOC(int value) {
|
||||
if (value > INVALID_VOC) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
float utils::getInvalidTemperature(void) { return INVALID_TEMPERATURE; }
|
||||
|
||||
float utils::getInvalidHumidity(void) { return INVALID_HUMIDITY; }
|
||||
|
||||
int utils::getInvalidCO2(void) { return INVALID_CO2; }
|
||||
|
||||
int utils::getInvalidPMS(void) { return INVALID_PMS; }
|
||||
|
||||
int utils::getInvalidNOx(void) { return INVALID_NOX; }
|
||||
|
||||
int utils::getInvalidVOC(void) { return INVALID_VOC; }
|
||||
|
Reference in New Issue
Block a user