CanGrow/include/Sensor/Sensor_Common.h

152 lines
5 KiB
C

/*
*
* include/Sensor/Common.h - common sensor header file
*
*
*
*/
/*
* Common used consts and variables, used within the Sensor header for example
*/
// for bme280 and bme680
#define SEALEVELPRESSURE_HPA (1013.25)
/* sensor types, int ADC, i2c, one wire , two wire, ...*/
const byte SENSOR_TYPE__TOTAL = 5;
const byte SENSOR_TYPE_INTADC = 0;
const byte SENSOR_TYPE_I2C = 1;
const byte SENSOR_TYPE_ONEWIRE = 2;
const byte SENSOR_TYPE_TWOWIRE = 3;
const byte SENSOR_TYPE_I2C_WITH_GPIO = 4;
/* How many different read types exists */
const byte SENSOR_READ_TYPE__TOTAL = 14;
const byte SENSOR_READ_TYPE_RAW = 1;
const char SENSOR_READ_TYPE_RAW_descr[] PROGMEM = {"Raw value"};
const char SENSOR_READ_TYPE_RAW_unit[] PROGMEM = {""};
const byte SENSOR_READ_TYPE_TEMP = 2;
const char SENSOR_READ_TYPE_TEMP_descr[] PROGMEM = {"Temperature"};
const char SENSOR_READ_TYPE_TEMP_unit[] PROGMEM = {"°C"};
const byte SENSOR_READ_TYPE_HUMIDITY = 3;
const char SENSOR_READ_TYPE_HUMIDITY_descr[] PROGMEM = {"Humidity"};
const char SENSOR_READ_TYPE_HUMIDITY_unit[] PROGMEM = {"%"};
const byte SENSOR_READ_TYPE_SOILMOISTURE = 4;
const char SENSOR_READ_TYPE_SOILMOISTURE_descr[] PROGMEM = {"Moisture"};
const char SENSOR_READ_TYPE_SOILMOISTURE_unit[] PROGMEM = {"%"};
const byte SENSOR_READ_TYPE_PRESSURE = 5;
const char SENSOR_READ_TYPE_PRESSURE_descr[] PROGMEM = {"Pressure"};
const char SENSOR_READ_TYPE_PRESSURE_unit[] PROGMEM = {"Pa"};
const byte SENSOR_READ_TYPE_ALTITUDE = 6;
const char SENSOR_READ_TYPE_ALTITUDE_descr[] PROGMEM = {"Altitude"};
const char SENSOR_READ_TYPE_ALTITUDE_unit[] PROGMEM = {"m"};
const byte SENSOR_READ_TYPE_GAS_RESISTANCE = 7;
const char SENSOR_READ_TYPE_GAS_RESISTANCE_descr[] PROGMEM = {"Gas resistance"};
const char SENSOR_READ_TYPE_GAS_RESISTANCE_unit[] PROGMEM = {"KOhm"};
const byte SENSOR_READ_TYPE_COLOR_TEMP = 8;
const char SENSOR_READ_TYPE_COLOR_TEMP_descr[] PROGMEM = {"Color temperature"};
const char SENSOR_READ_TYPE_COLOR_TEMP_unit[] PROGMEM = {"K"};
const byte SENSOR_READ_TYPE_LUX = 9;
const char SENSOR_READ_TYPE_LUX_descr[] PROGMEM = {"Lux"};
const char SENSOR_READ_TYPE_LUX_unit[] PROGMEM = {"lx"};
const byte SENSOR_READ_TYPE_COLOR_RED = 10;
const char SENSOR_READ_TYPE_COLOR_RED_descr[] PROGMEM = {"Color red"};
const char SENSOR_READ_TYPE_COLOR_RED_unit[] PROGMEM = {""};
const byte SENSOR_READ_TYPE_COLOR_GREEN = 11;
const char SENSOR_READ_TYPE_COLOR_GREEN_descr[] PROGMEM = {"Color green"};
const char SENSOR_READ_TYPE_COLOR_GREEN_unit[] PROGMEM = {""};
const byte SENSOR_READ_TYPE_COLOR_BLUE = 12;
const char SENSOR_READ_TYPE_COLOR_BLUE_descr[] PROGMEM = {"Color blue"};
const char SENSOR_READ_TYPE_COLOR_BLUE_unit[] PROGMEM = {""};
const byte SENSOR_READ_TYPE_PARTS_PER_MILLION = 13;
const char SENSOR_READ_TYPE_PARTS_PER_MILLION_descr[] PROGMEM = {"Part per million"};
const char SENSOR_READ_TYPE_PARTS_PER_MILLION_unit[] PROGMEM = {"ppm"};
const byte SENSOR_READ_TYPE_TVOC = 14;
const char SENSOR_READ_TYPE_TVOC_descr[] PROGMEM = {"TVOC"};
const char SENSOR_READ_TYPE_TVOC_unit[] PROGMEM = {""};
const char * Sensor_Read_descr[] = {
NULL, // 0 is unset
SENSOR_READ_TYPE_RAW_descr,
SENSOR_READ_TYPE_TEMP_descr,
SENSOR_READ_TYPE_HUMIDITY_descr,
SENSOR_READ_TYPE_SOILMOISTURE_descr,
SENSOR_READ_TYPE_PRESSURE_descr,
SENSOR_READ_TYPE_ALTITUDE_descr,
SENSOR_READ_TYPE_GAS_RESISTANCE_descr,
SENSOR_READ_TYPE_COLOR_TEMP_descr,
SENSOR_READ_TYPE_LUX_descr,
SENSOR_READ_TYPE_COLOR_RED_descr,
SENSOR_READ_TYPE_COLOR_GREEN_descr,
SENSOR_READ_TYPE_COLOR_BLUE_descr,
SENSOR_READ_TYPE_PARTS_PER_MILLION_descr,
SENSOR_READ_TYPE_TVOC_descr
};
const char * Sensor_Read_unit[] = {
NULL, // 0 is unset
SENSOR_READ_TYPE_RAW_unit,
SENSOR_READ_TYPE_TEMP_unit,
SENSOR_READ_TYPE_HUMIDITY_unit,
SENSOR_READ_TYPE_SOILMOISTURE_unit,
SENSOR_READ_TYPE_PRESSURE_unit,
SENSOR_READ_TYPE_ALTITUDE_unit,
SENSOR_READ_TYPE_GAS_RESISTANCE_unit,
SENSOR_READ_TYPE_COLOR_TEMP_unit,
SENSOR_READ_TYPE_LUX_unit,
SENSOR_READ_TYPE_COLOR_RED_unit,
SENSOR_READ_TYPE_COLOR_GREEN_unit,
SENSOR_READ_TYPE_COLOR_BLUE_unit,
SENSOR_READ_TYPE_PARTS_PER_MILLION_unit,
SENSOR_READ_TYPE_TVOC_unit
};
/* How many different read convert types exists */
const byte SENSOR_CONVERT_RAW_TYPE__TOTAL = 1;
const byte SENSOR_CONVERT_RAW_TYPE_SOILMOISTURE = 1;
const char SENSOR_CONVERT_RAW_TYPE_SOILMOISTURE_descr[] PROGMEM = {"Soilmoisture"};
const char SENSOR_CONVERT_RAW_TYPE_SOILMOISTURE_unit[] PROGMEM = {"%"};
//const byte SENSOR_CONVERT_RAW_TYPE_OTHER = 2;
//const char SENSOR_CONVERT_RAW_TYPE_OTHER_descr[] PROGMEM = {"Other"};
//const char SENSOR_CONVERT_RAW_TYPE_OTHER_unit[] PROGMEM = {"n/a"};
const char * Sensor_Convert_Raw_descr[] = {
NULL, // 0 is unset
SENSOR_CONVERT_RAW_TYPE_SOILMOISTURE_descr,
//SENSOR_CONVERT_RAW_TYPE_OTHER_descr
};
const char * Sensor_Convert_Raw_unit[] = {
NULL, // 0 is unset
SENSOR_CONVERT_RAW_TYPE_SOILMOISTURE_unit,
//SENSOR_CONVERT_RAW_TYPE_OTHER_unit
};
// Addr_Init_Update modes
const byte SENSOR_AIU_MODE_ADDR = 0;
const byte SENSOR_AIU_MODE_INIT = 1;
const byte SENSOR_AIU_MODE_UPDATE = 2;