Parent class for sensor objects. More...
#include <Sensor.h>
Public Member Functions | |
Sensor (String sensor_name, String csv_header, unsigned long minimum_period) | |
Sensor (String sensor_name, String csv_header) | |
Sensor (String sensor_name, String csv_header, int fields) | |
Construct a new Sensor object with default minimum_period of 0 (depreciated) | |
Sensor (String sensor_name, String csv_header, int fields, unsigned long minimum_period) | |
Construct a new Sensor object (Depreciated) | |
unsigned long | getPeriod () const |
Get the minimum minimum_period between sensor reads in ms. | |
void | setPeriod (int minimum_period) |
Set the minimum minimum_period between sensor reads in ms. | |
unsigned long | getLastExecution () const |
Get the system time of the last execution in ms. | |
void | setLastExecution (int last_execution) |
Set the system time of the last execution in ms. | |
const String & | getSensorCSVHeader () const |
Get the csv header string associated with this sensor. | |
virtual bool | verify ()=0 |
Verifies if the sensor is connected and working. | |
virtual String | readData ()=0 |
Returns the collected data from the sensor in CSV format. | |
virtual void | readDataPacket (uint8_t *&packet) |
Used for creating packets, reads data from the sensor and appends it to the passed uint8_t array pointer, incrementing it while doing so. | |
virtual String | decodeToCSV (uint8_t *&packet) |
Used for onboard decoding of packets. | |
void | getDataPacket (uint32_t &sensor_id, uint8_t *&packet) |
Append the data from a sensor to the packet if the minium period is satisfied. | |
String | readEmpty () const |
Returns CSV line in the same format as readData() but with "-" instead of data. | |
String | getDataCSV () |
Uses readData and readEmpty to get the data-filled or empty-celled CSV line for the sensor. | |
![]() | |
Device (String device_name) | |
Default constructor, sets a max_attempt of 1 (device recovery won't be attempted) | |
Device (String device_name, int max_attempts, int wait_factor) | |
const String & | getDeviceName () |
bool | getVerified () |
Get if the Device is Verified. | |
void | recoveryConfig (int max_attempts, int wait_factor) |
Set recovery config (used keep default constructor) | |
void | setWaitFactor (int wait_factor) |
Set wait_factor. | |
void | setMaxAttempts (int max_attempts) |
Set max_attempts. | |
bool | attemptConnection () |
If the sensor is verified, return true, if not and it has been long enough since the last attempt (decided by wait_factor and attempt_number), attempt to reverify (reinitialize) it. | |
Protected Attributes | |
int | num_fields |
![]() | |
bool | verified |
String | device_name |
Private Attributes | |
unsigned long | minimum_period |
unsigned long | last_execution |
String | csv_header |
String | empty_csv |
Parent class for sensor objects.
|
inline |
|
inline |
Construct a new Sensor object with default minimum_period of 0 (depreciated)
sensor_name | The name of the sensor |
csv_header | The header for the sensor's csv cells |
fields | number of csv cells the sensor will return |
|
inline |
Construct a new Sensor object (Depreciated)
sensor_name | The name of the sensor |
csv_header | The header for the sensor's csv cells |
fields | number of csv cells the sensor will return |
minimum_period | Set the minimum time between sensor reads in ms |
|
inlinevirtual |
Used for onboard decoding of packets.
packet | Pointer to the packet byte array |
Reimplemented in TMP117Sensor, AS7331Sensor, BME280Sensor, BME680Sensor, BMP390Sensor, DS3231Sensor, ENS160Sensor, ICM20948Sensor, INA260Sensor, LSM9DS1Sensor, MTK3339Sensor, OzoneSensor, PCF8523Sensor, SCD40Sensor, SGP30Sensor, SHTC3Sensor, and TempSensor.
|
inline |
Uses readData and readEmpty to get the data-filled or empty-celled CSV line for the sensor.
|
inline |
Append the data from a sensor to the packet if the minium period is satisfied.
sensor_id | Header sensor packet section |
packet | Pointer to the packet byte array |
Get the system time of the last execution in ms.
Get the minimum minimum_period between sensor reads in ms.
|
inline |
Get the csv header string associated with this sensor.
|
pure virtual |
Returns the collected data from the sensor in CSV format.
Implemented in TMP117Sensor, AS7331Sensor, BME280Sensor, BME680Sensor, BMP390Sensor, DS3231Sensor, ENS160Sensor, ICM20948Sensor, INA260Sensor, LSM9DS1Sensor, MTK3339Sensor, OzoneSensor, PCF8523Sensor, SCD40Sensor, SGP30Sensor, SHTC3Sensor, and TempSensor.
Used for creating packets, reads data from the sensor and appends it to the passed uint8_t array pointer, incrementing it while doing so.
packet | Pointer to the packet byte array |
Reimplemented in TMP117Sensor, AS7331Sensor, BME280Sensor, BME680Sensor, BMP390Sensor, DS3231Sensor, ENS160Sensor, ICM20948Sensor, INA260Sensor, LSM9DS1Sensor, MTK3339Sensor, OzoneSensor, PCF8523Sensor, SCD40Sensor, SGP30Sensor, SHTC3Sensor, and TempSensor.
|
inline |
Returns CSV line in the same format as readData() but with "-" instead of data.
|
inline |
Set the system time of the last execution in ms.
last_execution | System time of last execution in ms |
|
inline |
Set the minimum minimum_period between sensor reads in ms.
minimum_period | The new minimum_period in ms |
|
pure virtual |
Verifies if the sensor is connected and working.
Implements Device.
Implemented in TMP117Sensor, AS7331Sensor, BME280Sensor, BME680Sensor, BMP390Sensor, DS3231Sensor, ENS160Sensor, ICM20948Sensor, INA260Sensor, LSM9DS1Sensor, MTK3339Sensor, OzoneSensor, PCF8523Sensor, SCD40Sensor, SGP30Sensor, SHTC3Sensor, and TempSensor.
|
private |
|
private |
|
protected |