brentru
2023-03-03 11:18:00 -05:00
parent 2af7609456
commit a902f89d35
3 changed files with 20 additions and 11 deletions

View File

@ -94,6 +94,9 @@ void Adafruit_Sensor::printSensorDetails(void) {
case SENSOR_TYPE_PM100_ENV: case SENSOR_TYPE_PM100_ENV:
Serial.print(F("Environmental Particulate Matter 100 (ppm)")); Serial.print(F("Environmental Particulate Matter 100 (ppm)"));
break; break;
case SENSOR_TYPE_GAS_RESISTANCE:
Serial.print(F("Gas Resistance (ohms)"));
break;
} }
Serial.println(); Serial.println();

View File

@ -77,7 +77,8 @@ typedef enum {
SENSOR_TYPE_PM100_STD = (25), SENSOR_TYPE_PM100_STD = (25),
SENSOR_TYPE_PM10_ENV = (26), SENSOR_TYPE_PM10_ENV = (26),
SENSOR_TYPE_PM25_ENV = (27), SENSOR_TYPE_PM25_ENV = (27),
SENSOR_TYPE_PM100_ENV = (28) SENSOR_TYPE_PM100_ENV = (28),
SENSOR_TYPE_GAS_RESISTANCE = (29),
} sensors_type_t; } sensors_type_t;
/** struct sensors_vec_s is used to return a vector in a common format. */ /** struct sensors_vec_s is used to return a vector in a common format. */
@ -163,8 +164,10 @@ typedef struct {
million (ppm) */ million (ppm) */
float pm25_env; /**< Environmental Particulate Matter 2.5 in parts per float pm25_env; /**< Environmental Particulate Matter 2.5 in parts per
million (ppm) */ million (ppm) */
float pm100_env; /**< EnvironmentalParticulate Matter 100 in parts per float pm100_env; /**< Environmental Particulate Matter 100 in parts per
million (ppm) */ million (ppm) */
float gas_resistance; /**< Proportional to the amount of VOC particles in
the air (Ohms) */
sensors_color_t color; /**< color in RGB component values */ sensors_color_t color; /**< color in RGB component values */
}; ///< Union for the wide ranges of data we can carry }; ///< Union for the wide ranges of data we can carry
} sensors_event_t; } sensors_event_t;

View File

@ -85,7 +85,8 @@ typedef enum
SENSOR_TYPE_PM100_STD = (25), SENSOR_TYPE_PM100_STD = (25),
SENSOR_TYPE_PM10_ENV = (26), SENSOR_TYPE_PM10_ENV = (26),
SENSOR_TYPE_PM25_ENV = (27), SENSOR_TYPE_PM25_ENV = (27),
SENSOR_TYPE_PM100_ENV = (28) SENSOR_TYPE_PM100_ENV = (28),
SENSOR_TYPE_GAS_RESISTANCE = (29)
} sensors_type_t; } sensors_type_t;
``` ```
@ -159,6 +160,7 @@ typedef struct
float pm10_env, float pm10_env,
float pm25_env, float pm25_env,
float pm100_env, float pm100_env,
float gas_resistance,
sensors_color_t color; sensors_color_t color;
}; };
} sensors_event_t; } sensors_event_t;
@ -204,14 +206,15 @@ A key part of the abstraction layer is the standardisation of values on SI units
- **tvoc**: values are in **parts per billion** (ppb) - **tvoc**: values are in **parts per billion** (ppb)
- **voc_index**: values are an **index** from 1-500 with 100 being normal - **voc_index**: values are an **index** from 1-500 with 100 being normal
- **nox_index**: values are an **index** from 1-500 with 100 being normal - **nox_index**: values are an **index** from 1-500 with 100 being normal
- **CO2**: values are in **parts per million*** (ppm) - **CO2**: values are in **parts per million** (ppm)
- **eCO2**: values are in **parts per million*** (ppm) - **eCO2**: values are in **parts per million** (ppm)
- **pm10_std**: values are in **parts per million*** (ppm) - **pm10_std**: values are in **parts per million** (ppm)
- **pm25_std**: values are in **parts per million*** (ppm) - **pm25_std**: values are in **parts per million** (ppm)
- **pm100_std**: values are in **parts per million*** (ppm) - **pm100_std**: values are in **parts per million** (ppm)
- **pm10_env**: values are in **parts per million*** (ppm) - **pm10_env**: values are in **parts per million** (ppm)
- **pm25_env**: values are in **parts per million*** (ppm) - **pm25_env**: values are in **parts per million** (ppm)
- **pm100_env**: values are in **parts per million*** (ppm) - **pm100_env**: values are in **parts per million** (ppm)
- **gas_resistance**: values are in **ohms**
## The Unified Driver Abstraction Layer in Practice ## ## The Unified Driver Abstraction Layer in Practice ##