From f5cef7d2ade7ec14179fd2dfeea2bece193e46b5 Mon Sep 17 00:00:00 2001 From: flashmark <15078748+flashmark@users.noreply.github.com> Date: Fri, 17 Mar 2023 22:00:53 +0100 Subject: [PATCH 01/23] P145 Minor changes sensor definition struct --- src/src/PluginStructs/P145_data_struct.cpp | 262 ++++++++++----------- src/src/PluginStructs/P145_data_struct.h | 4 +- 2 files changed, 133 insertions(+), 133 deletions(-) diff --git a/src/src/PluginStructs/P145_data_struct.cpp b/src/src/PluginStructs/P145_data_struct.cpp index 2f3ebce68..d02fe0181 100644 --- a/src/src/PluginStructs/P145_data_struct.cpp +++ b/src/src/PluginStructs/P145_data_struct.cpp @@ -47,167 +47,167 @@ // This table is stored in PROGMEM to save space in RAM // The data for the selected sensor type is copied to RAM, see P145_data_struct /******************************************************************************/ -const struct P145_SENSORDEF sensorDefs[] PROGMEM = +const P145_SENSORDEF sensorDefs[] PROGMEM { // User defined, output plain ratio (Rsensor/Rzero) { - 0.0f, // cleanRatio - 0.0f, // PARA scaling factor value - 0.0f, // PARB exponent value - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgNone, // preferred/tuned algorithm - P145_SENSUSER, // Name - P145_GASUSER, // gas + .cleanRatio = 0.0f, // cleanRatio + .para = 0.0f, // PARA scaling factor value + .parb = 0.0f, // PARB exponent value + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgNone, // preferred/tuned algorithm + .name = P145_SENSUSER, // Name + .gas = P145_GASUSER, // gas }, // *** MQ-135 - CO2 *** { - 0.0f, // cleanRatio - 116.6020682f, // PARA scaling factor value - 2.769034857f, // PARB exponent value - 0.00035f, // CORA - 0.02718f, // CORB - 1.39538f, // CORC - 0.0018f, // CORD - -0.003333333f,// CORE - -0.001923077f,// CORF - 1.130128205f, // CORG - p145AlgA, // preferred/tuned algorithm - P145_SENSMQ135, // Name - P145_GASCO2, // gas + .cleanRatio = 0.0f, // cleanRatio + .para = 116.6020682f, // PARA scaling factor value + .parb = 2.769034857f, // PARB exponent value + .cora = 0.00035f, // CORA + .corb = 0.02718f, // CORB + .corc = 1.39538f, // CORC + .cord = 0.0018f, // CORD + .core = -0.003333333f,// CORE + .corf = -0.001923077f,// CORF + .corg = 1.130128205f, // CORG + .alg = p145AlgA, // preferred/tuned algorithm + .name = P145_SENSMQ135, // Name + .gas = P145_GASCO2, // gas }, // *** MQ-2 - H2 *** { - 9.83f, // cleanRatio - 987.99f, // PARA scaling factor - -2.162f, // PARB exponent value - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ2, // Name - P145_GASH2, // gas + .cleanRatio = 9.83f, // cleanRatio + .para = 987.99f, // PARA scaling factor + .parb = -2.162f, // PARB exponent value + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ2, // Name + .gas = P145_GASH2, // gas }, // *** MQ-3 - alcohol *** { - 60.0f, // cleanRatio - 0.3934f, // PARA scaling factor - -1.504f, // PARB exponent value - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ3, // Name - P145_GASALCOHOL, // gas + .cleanRatio = 60.0f, // cleanRatio + .para = 0.3934f, // PARA scaling factor + .parb = -1.504f, // PARB exponent value + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ3, // Name + .gas = P145_GASALCOHOL, // gas }, // *** MQ-4 - CH4 *** { - 4.4f, // cleanRatio - 1012.7f, // PARA scaling - -2.786f, // PARB exponent - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ4, // Name - P145_GASCH4, // gas + .cleanRatio = 4.4f, // cleanRatio + .para = 1012.7f, // PARA scaling + .parb = -2.786f, // PARB exponent + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ4, // Name + .gas = P145_GASCH4, // gas }, // *** MQ-5 - H2 *** { - 5.5f, // cleanRatio - 1163.8f, // PARA scaling - -3.874f, // PARB exponent - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ5, // Name - P145_GASCH4, // gas + .cleanRatio = 5.5f, // cleanRatio + .para = 1163.8f, // PARA scaling + .parb = -3.874f, // PARB exponent + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ5, // Name + .gas = P145_GASCH4, // gas }, // *** MQ-5 - LPG *** { - 5.5f, // cleanRatio - 80.897f, // PARA scaling - -2.431f, // PARB exponent - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ5, // Name - P145_GASLPG, // gas + .cleanRatio = 5.5f, // cleanRatio + .para = 80.897f, // PARA scaling + .parb = -2.431f, // PARB exponent + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ5, // Name + .gas = P145_GASLPG, // gas }, // *** MQ-6 - LPG *** { - 10.0f, // cleanRatio - 1009.2f, // PARA scaling - -2.35f, // PARB exponent - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ6, // Name - P145_GASLPG, // gas + .cleanRatio = 10.0f, // cleanRatio + .para = 1009.2f, // PARA scaling + .parb = -2.35f, // PARB exponent + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ6, // Name + .gas = P145_GASLPG, // gas }, // *** MQ-7 - CO *** { - 27.5f, // cleanRatio - 491204.0f, // PARA scaling - -5.826f, // PARB exponent - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ7, // Name - P145_GASCO, // gas + .cleanRatio = 27.5f, // cleanRatio + .para = 491204.0f, // PARA scaling + .parb = -5.826f, // PARB exponent + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ7, // Name + .gas = P145_GASCO, // gas }, // *** MQ-8 - H2 *** { - 70.0f, // cleanRatio - 976.97f, // PARA scaling - -0.688f, // PARB exponent - 0.0f, // CORA - 0.0f, // CORB - 0.0f, // CORC - 0.0f, // CORD - 0.0f, // CORE - 0.0f, // CORF - 0.0f, // CORG - p145AlgB, // preferred/tuned algorithm - P145_SENSMQ8, // Name - P145_GASH2, // gas + .cleanRatio = 70.0f, // cleanRatio + .para = 976.97f, // PARA scaling + .parb = -0.688f, // PARB exponent + .cora = 0.0f, // CORA + .corb = 0.0f, // CORB + .corc = 0.0f, // CORC + .cord = 0.0f, // CORD + .core = 0.0f, // CORE + .corf = 0.0f, // CORF + .corg = 0.0f, // CORG + .alg = p145AlgB, // preferred/tuned algorithm + .name = P145_SENSMQ8, // Name + .gas = P145_GASH2, // gas } }; /// @brief The number of types stored in the sensorDefs[] table diff --git a/src/src/PluginStructs/P145_data_struct.h b/src/src/PluginStructs/P145_data_struct.h index 42f29e6ad..ec4385de5 100644 --- a/src/src/PluginStructs/P145_data_struct.h +++ b/src/src/PluginStructs/P145_data_struct.h @@ -51,8 +51,8 @@ struct P145_SENSORDEF float corf; // CORF float corg; // CORG P145_algorithm alg; // Preferred/tuned algorithm - int name; // Sensor type name - int gas; // Measured gas + int name; // Sensor type name + int gas; // Measured gas }; // State for heater control algorithm From 82a3e76d68961ff7c211ccfe14923f95c7ff1fd3 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 8 Apr 2023 23:11:57 +0200 Subject: [PATCH 02/23] [P150] Add plugin Environment - TMP117 Temperature --- src/_P150_TMP117.ino | 188 +++++++++++++++++++++ src/src/CustomBuild/define_plugin_sets.h | 9 + src/src/PluginStructs/P150_data_struct.cpp | 95 +++++++++++ src/src/PluginStructs/P150_data_struct.h | 84 +++++++++ src/src/WebServer/I2C_Scanner.cpp | 4 +- 5 files changed, 378 insertions(+), 2 deletions(-) create mode 100644 src/_P150_TMP117.ino create mode 100644 src/src/PluginStructs/P150_data_struct.cpp create mode 100644 src/src/PluginStructs/P150_data_struct.h diff --git a/src/_P150_TMP117.ino b/src/_P150_TMP117.ino new file mode 100644 index 000000000..7454c2447 --- /dev/null +++ b/src/_P150_TMP117.ino @@ -0,0 +1,188 @@ +#include "_Plugin_Helper.h" +#ifdef USES_P150 + +// ####################################################################################################### +// ######################## Plugin-150: TMP117 High precision temperature sensor I2C #################### +// ####################################################################################################### + +/** Changelog: + * 2023-04-08 tonhuisman: Basic workings for setting configuration and temperature offset, then reading the temperature + * only when data is available. + * 2023-04-08 tonhuisman: Initial work on new plugin for TMP117, available in Collection F, Climate and MAX builds + */ +# include "src/PluginStructs/P150_data_struct.h" + +# define PLUGIN_150 +# define PLUGIN_ID_150 150 +# define PLUGIN_NAME_150 "Environment - TMP117 Temperature" +# define PLUGIN_VALUENAME1_150 "Temperature" +# define PLUGIN_VALUENAME2_150 "Raw" + +boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) +{ + boolean success = false; + + switch (function) + { + case PLUGIN_DEVICE_ADD: + { + Device[++deviceCount].Number = PLUGIN_ID_150; + Device[deviceCount].Type = DEVICE_TYPE_I2C; + Device[deviceCount].VType = Sensor_VType::SENSOR_TYPE_SINGLE; // Only send first value to controllers + Device[deviceCount].Ports = 0; + Device[deviceCount].PullUpOption = false; + Device[deviceCount].InverseLogicOption = false; + Device[deviceCount].FormulaOption = true; + Device[deviceCount].ValueCount = 2; + Device[deviceCount].SendDataOption = true; + Device[deviceCount].TimerOption = true; + Device[deviceCount].GlobalSyncOption = true; + Device[deviceCount].PluginStats = true; + break; + } + + case PLUGIN_GET_DEVICENAME: + { + string = F(PLUGIN_NAME_150); + break; + } + + case PLUGIN_GET_DEVICEVALUENAMES: + { + strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[0], PSTR(PLUGIN_VALUENAME1_150)); + strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[1], PSTR(PLUGIN_VALUENAME2_150)); + break; + } + + case PLUGIN_I2C_HAS_ADDRESS: + case PLUGIN_WEBFORM_SHOW_I2C_PARAMS: + { + const uint8_t i2cAddressValues[] = { 0x48, 0x49, 0x4A, 0x4B }; + + if (function == PLUGIN_WEBFORM_SHOW_I2C_PARAMS) { + addFormSelectorI2C(F("i2c_addr"), 4, i2cAddressValues, P150_I2C_ADDRESS); + } else { + success = intArrayContains(4, i2cAddressValues, event->Par1); + } + break; + } + + # if FEATURE_I2C_GET_ADDRESS + case PLUGIN_I2C_GET_ADDRESS: + { + event->Par1 = P150_I2C_ADDRESS; + success = true; + break; + } + # endif // if FEATURE_I2C_GET_ADDRESS + + case PLUGIN_SET_DEFAULTS: + { + P150_SET_FLAG_AVERAGING(P150_AVERAGING_8_SAMPLES); + P150_SET_FLAG_CONVERSION_MODE(P150_CONVERSION_CONTINUOUS); + P150_SET_FLAG_CYCLE_BITS(P150_CYCLE_1_SEC); + ExtraTaskSettings.TaskDeviceValueDecimals[1] = 0; // No decimals for the Raw value + break; + } + + case PLUGIN_WEBFORM_LOAD: + { + addFormNumericBox(F("Temperature offset"), F("offset"), P150_TEMPERATURE_OFFSET); + addUnit(F("x 0.1C")); + addFormNote(F("Offset in units of 0.1 degree Celsius")); + + { + const __FlashStringHelper *averagingCaptions[] = { + F("No averaging"), + F("8 sample average"), + F("32 sample average"), + F("64 sample average"), + }; + const int averagingOptions[] = { + P150_AVERAGING_NONE, + P150_AVERAGING_8_SAMPLES, + P150_AVERAGING_32_SAMPLES, + P150_AVERAGING_64_SAMPLES, + }; + addFormSelector(F("Averaging"), F("avg"), 4, averagingCaptions, averagingOptions, P150_GET_FLAG_AVERAGING); + } + + { + const __FlashStringHelper *conversionCaptions[] = { + F("Continuous"), + F("One-shot"), + }; + const int conversionOptions[] = { + P150_CONVERSION_CONTINUOUS, + P150_CONVERSION_ONE_SHOT, + }; + addFormSelector(F("Conversion mode"), F("conv"), 2, conversionCaptions, conversionOptions, P150_GET_FLAG_CONVERSION_MODE); + } + { + const __FlashStringHelper *cycleCaptions[] = { + F("15.5 msec (continuous)"), + F("125 msec (continuous)"), + F("250 msec (continuous)"), + F("500 msec"), + F("1 sec"), + F("4 sec"), + F("8 sec"), + F("16 sec"), + }; + const int cycleOptions[] = { + P150_CYCLE_15_5_MSEC, + P150_CYCLE_125_MSEC, + P150_CYCLE_250_MSEC, + P150_CYCLE_500_MSEC, + P150_CYCLE_1_SEC, + P150_CYCLE_4_SEC, + P150_CYCLE_8_SEC, + P150_CYCLE_16_SEC, + }; + addFormSelector(F("Conversion cycle time"), F("cycle"), 8, cycleCaptions, cycleOptions, P150_GET_FLAG_CYCLE_BITS); + addFormNote(F("Not all Cycle time options are available for One-shot mode!")); + } + + success = true; + break; + } + + case PLUGIN_WEBFORM_SAVE: + { + P150_I2C_ADDRESS = getFormItemInt(F("i2c_addr")); + P150_TEMPERATURE_OFFSET = getFormItemInt(F("offset")); + P150_SET_FLAG_AVERAGING(getFormItemInt(F("avg"))); + P150_SET_FLAG_CONVERSION_MODE(getFormItemInt(F("conv"))); + P150_SET_FLAG_CYCLE_BITS(getFormItemInt(F("cycle"))); + + // P150_ERROR_STATE_OUTPUT = getFormItemInt(F("err")); + success = true; + break; + } + + case PLUGIN_INIT: + { + initPluginTaskData(event->TaskIndex, new (std::nothrow) P150_data_struct(event)); + P150_data_struct *P150_data = + static_cast(getPluginTaskData(event->TaskIndex)); + + success = (nullptr != P150_data && P150_data->init(event)); + break; + } + + case PLUGIN_READ: + { + P150_data_struct *P150_data = + static_cast(getPluginTaskData(event->TaskIndex)); + + if (nullptr != P150_data) { + success = P150_data->plugin_read(event); + } + + break; + } + } + return success; +} + +#endif // ifdef USES_P150 diff --git a/src/src/CustomBuild/define_plugin_sets.h b/src/src/CustomBuild/define_plugin_sets.h index 75ad2b06e..aa5856837 100644 --- a/src/src/CustomBuild/define_plugin_sets.h +++ b/src/src/CustomBuild/define_plugin_sets.h @@ -1577,6 +1577,9 @@ To create/register a plugin, you have to : #ifndef USES_P148 #define USES_P148 // Sonoff POWR3xxD and THR3xxD display #endif + #ifndef USES_P150 + #define USES_P150 // TMP117 Temperature + #endif #endif @@ -1770,6 +1773,9 @@ To create/register a plugin, you have to : #ifndef USES_P148 #define USES_P148 // Sonoff POWR3xxD and THR3xxD display #endif + #ifndef USES_P150 + #define USES_P150 // TMP117 Temperature + #endif // Controllers #ifndef USES_C011 #define USES_C011 // HTTP Advanced @@ -2115,6 +2121,9 @@ To create/register a plugin, you have to : #ifndef USES_P146 #define USES_P146 // Cache Controller Reader #endif + #ifndef USES_P150 + #define USES_P150 // TMP117 Temperature + #endif // Controllers #ifndef USES_C015 diff --git a/src/src/PluginStructs/P150_data_struct.cpp b/src/src/PluginStructs/P150_data_struct.cpp new file mode 100644 index 000000000..4c45a8007 --- /dev/null +++ b/src/src/PluginStructs/P150_data_struct.cpp @@ -0,0 +1,95 @@ +#include "../PluginStructs/P150_data_struct.h" + +#ifdef USES_P150 + +P150_data_struct::P150_data_struct(struct EventStruct *event) { + _deviceAddress = P150_I2C_ADDRESS; + _config = P150_FLAGS; + _temperatureOffset = P150_TEMPERATURE_OFFSET / 10.0f; // Per 0.1 degree +} + +/** + * init(): Initialize sensor + * - Set config + * - Set temperature offset if <> 0 + * Will fail if no sensor is found, or the device id doesn't match (0x0117) + */ +bool P150_data_struct::init(struct EventStruct *event) { + // make sure the TMP will acknowledge over I2C + Wire.beginTransmission(_deviceAddress); + + if (Wire.endTransmission() != 0) { + return false; + } + + uint16_t deviceID = I2C_read16_reg(_deviceAddress, TMP117_DEVICE_ID); // reads registers into rawData + + // make sure the device ID reported by the TMP is correct + // should always be 0x0117 + if (deviceID != TMP117_DEVICE_ID_VALUE) { + addLog(LOG_LEVEL_ERROR, concat(F("TMP117: Device ID mismatch: "), formatToHex(deviceID, 4))); + return false; + } + + uint16_t config = I2C_read16_reg(_deviceAddress, TMP117_CONFIGURATION); // Read current configuration + + config |= _config; // Apply config settings + I2C_write16_reg(_deviceAddress, TMP117_CONFIGURATION, config); // Update config + + if (!essentiallyZero(_temperatureOffset)) { + setTemperatureOffset(_temperatureOffset); // set offset + } + + return true; // returns true if all the checks pass +} + +/** + * plugin_read(): Read sensor if data is available + * Will only return true if data is actually available and valid + */ +bool P150_data_struct::plugin_read(struct EventStruct *event) { + if (dataReady()) { + readTemp(); + + if (definitelyGreaterThan(_finalTempC, -256)) { + UserVar[event->BaseVarIndex] = _finalTempC; + UserVar[event->BaseVarIndex + 1] = _digitalTempC; + return true; + } + } + return false; +} + +/** + * Private: readTemp() + * Read raw temperature value and calculate final temperature + */ +float P150_data_struct::readTemp() { + _digitalTempC = I2C_read16_reg(_deviceAddress, TMP117_TEMP_RESULT); + + _finalTempC = _digitalTempC * TMP117_RESOLUTION; // Multiplied by the resolution for digital to final temp + + return _finalTempC; +} + +void P150_data_struct::setTemperatureOffset(float offset) { + int16_t resolutionOffset = offset / TMP117_RESOLUTION; // Divides by the resolution to send the correct value to the + + // sensor + + I2C_write16_reg(_deviceAddress, TMP117_TEMP_OFFSET, resolutionOffset); // Writes to the offset temperature register with the new offset + // value +} + +/** + * Private: dataReady() + * Check if sensor os ready processing the measurement(s) + */ +bool P150_data_struct::dataReady() { + uint16_t response = I2C_read16_reg(_deviceAddress, TMP117_CONFIGURATION); + + // If statement to see if the 13th bit of the register is 1 or not + return response & 1 << 13; +} + +#endif // ifdef USES_P150 diff --git a/src/src/PluginStructs/P150_data_struct.h b/src/src/PluginStructs/P150_data_struct.h new file mode 100644 index 000000000..f7413fb81 --- /dev/null +++ b/src/src/PluginStructs/P150_data_struct.h @@ -0,0 +1,84 @@ +#ifndef PLUGINSTRUCTS_P150_DATA_STRUCT_H +#define PLUGINSTRUCTS_P150_DATA_STRUCT_H + +#include "../../_Plugin_Helper.h" +#ifdef USES_P150 + +# define P150_I2C_ADDRESS PCONFIG(0) +# define P150_TEMPERATURE_OFFSET PCONFIG(1) +# define P150_FLAGS PCONFIG_ULONG(0) + +# define P150_FLAG_CONVERSION_MODE 10 // Conversion mode 00/10 = Continuous, 01 = Shutdown, 11 = One Shot +# define P150_CONVERSION_CONTINUOUS 0b00 +# define P150_CONVERSION_SHUTDOWN 0b01 // Not available in settings +# define P150_CONVERSION_ONE_SHOT 0b11 + +# define P150_FLAG_CYCLE_BITS 7 // 3 bits: Cycle mode 000 = 15.5 msec, 001 = 125 msec, 010 = 250 msec, + // 011 = 500 msec, 100 = 1 sec, 101 = 4 sec, 110 = 8 sec, 111 = 16 sec +# define P150_CYCLE_15_5_MSEC 0b000 +# define P150_CYCLE_125_MSEC 0b001 +# define P150_CYCLE_250_MSEC 0b010 +# define P150_CYCLE_500_MSEC 0b011 +# define P150_CYCLE_1_SEC 0b100 +# define P150_CYCLE_4_SEC 0b101 +# define P150_CYCLE_8_SEC 0b110 +# define P150_CYCLE_16_SEC 0b111 + +# define P150_FLAG_AVERAGING 5 // 2 bits: Averaging mode 00 = None, 01 = 8 samples, 10 = 32 samples 11 = 64 samples +# define P150_AVERAGING_NONE 0b00 +# define P150_AVERAGING_8_SAMPLES 0b01 +# define P150_AVERAGING_32_SAMPLES 0b10 +# define P150_AVERAGING_64_SAMPLES 0b11 + +# define P150_GET_FLAG_CONVERSION_MODE get2BitFromUL(P150_FLAGS, P150_FLAG_CONVERSION_MODE) +# define P150_SET_FLAG_CONVERSION_MODE(x) set2BitToUL(P150_FLAGS, \ + P150_FLAG_CONVERSION_MODE, \ + x ? P150_CONVERSION_ONE_SHOT : P150_CONVERSION_CONTINUOUS) +# define P150_GET_FLAG_CYCLE_BITS get3BitFromUL(P150_FLAGS, P150_FLAG_CYCLE_BITS) +# define P150_SET_FLAG_CYCLE_BITS(x) set3BitToUL(P150_FLAGS, P150_FLAG_CYCLE_BITS, x) +# define P150_GET_FLAG_AVERAGING get2BitFromUL(P150_FLAGS, P150_FLAG_AVERAGING) +# define P150_SET_FLAG_AVERAGING(x) set2BitToUL(P150_FLAGS, P150_FLAG_AVERAGING, x) + +# define TMP117_RESOLUTION 0.0078125f // Resolution of the device, see specifications +# define TMP117_DEVICE_ID_VALUE 0x0117 // Value found in the device ID register on reset + +enum TMP117_register { + TMP117_TEMP_RESULT = 0x00, + TMP117_CONFIGURATION = 0x01, + + // TMP117_T_HIGH_LIMIT = 0x02, + // TMP117_T_LOW_LIMIT = 0x03, + // TMP117_EEPROM_UL = 0x04, + // TMP117_EEPROM1 = 0x05, + // TMP117_EEPROM2 = 0x06, + TMP117_TEMP_OFFSET = 0x07, + + // TMP117_EEPROM3 = 0x08, + TMP117_DEVICE_ID = 0x0F, +}; + +struct P150_data_struct : public PluginTaskData_base { + P150_data_struct() = delete; + P150_data_struct(struct EventStruct *event); + + virtual ~P150_data_struct() = default; + + bool init(struct EventStruct *event); + bool plugin_read(struct EventStruct *event); + +private: + + float readTemp(); + void setTemperatureOffset(float offset); + bool dataReady(); + + int8_t _deviceAddress = -1; + uint16_t _config = 0; + float _temperatureOffset = 0.0f; + + int16_t _digitalTempC = 0; + float _finalTempC = 0.0f; +}; + +#endif // ifdef USES_P150 +#endif // ifndef PLUGINSTRUCTS_P150_DATA_STRUCT_H diff --git a/src/src/WebServer/I2C_Scanner.cpp b/src/src/WebServer/I2C_Scanner.cpp index b7de1f5f0..fb273cffe 100644 --- a/src/src/WebServer/I2C_Scanner.cpp +++ b/src/src/WebServer/I2C_Scanner.cpp @@ -260,10 +260,10 @@ String getKnownI2Cdevice(uint8_t address) { case 0x48: case 0x4A: case 0x4B: - result += F("PCF8591,ADS1115,LM75A,INA219"); + result += F("PCF8591,ADS1115,LM75A,INA219,TMP117"); break; case 0x49: - result += F("PCF8591,ADS1115,TSL2561,LM75A,INA219"); + result += F("PCF8591,ADS1115,TSL2561,LM75A,INA219,TMP117"); break; case 0x4C: case 0x4E: From f022d596624114da52395eab03272eae805b29db Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 8 Apr 2023 23:14:16 +0200 Subject: [PATCH 03/23] [Build] Correct compiler warning --- src/src/Helpers/Convert.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/Helpers/Convert.cpp b/src/src/Helpers/Convert.cpp index acd414595..617024483 100644 --- a/src/src/Helpers/Convert.cpp +++ b/src/src/Helpers/Convert.cpp @@ -33,7 +33,7 @@ const __FlashStringHelper * getBearing(int degrees) F("NNW") }; constexpr size_t nrStrings = sizeof(strings) / sizeof(strings[0]); - if (bearing_idx < nrStrings) { + if (static_cast(bearing_idx) < nrStrings) { return strings[bearing_idx]; } } From 200215b53ed5d138e345fa24a176240be9172671 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sun, 9 Apr 2023 15:05:03 +0200 Subject: [PATCH 04/23] [P150] Add opt. Raw, add opt. logging, add opt. Fahrenheit, resolve feedback --- src/_P150_TMP117.ino | 80 ++++++++++++++++++---- src/src/PluginStructs/P150_data_struct.cpp | 34 ++++++--- src/src/PluginStructs/P150_data_struct.h | 49 ++++++++----- 3 files changed, 123 insertions(+), 40 deletions(-) diff --git a/src/_P150_TMP117.ino b/src/_P150_TMP117.ino index 7454c2447..1ba0b8478 100644 --- a/src/_P150_TMP117.ino +++ b/src/_P150_TMP117.ino @@ -6,10 +6,14 @@ // ####################################################################################################### /** Changelog: + * 2023-04-09 tonhuisman: Rename configuration options (compile-time), add optional output logging (default on), + * use more I2C_access functions, make Raw value optional (default on), + * add optional output temperature in Fahrenheit * 2023-04-08 tonhuisman: Basic workings for setting configuration and temperature offset, then reading the temperature * only when data is available. * 2023-04-08 tonhuisman: Initial work on new plugin for TMP117, available in Collection F, Climate and MAX builds */ + # include "src/PluginStructs/P150_data_struct.h" # define PLUGIN_150 @@ -28,7 +32,7 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) { Device[++deviceCount].Number = PLUGIN_ID_150; Device[deviceCount].Type = DEVICE_TYPE_I2C; - Device[deviceCount].VType = Sensor_VType::SENSOR_TYPE_SINGLE; // Only send first value to controllers + Device[deviceCount].VType = Sensor_VType::SENSOR_TYPE_DUAL; Device[deviceCount].Ports = 0; Device[deviceCount].PullUpOption = false; Device[deviceCount].InverseLogicOption = false; @@ -38,12 +42,14 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) Device[deviceCount].TimerOption = true; Device[deviceCount].GlobalSyncOption = true; Device[deviceCount].PluginStats = true; + break; } case PLUGIN_GET_DEVICENAME: { string = F(PLUGIN_NAME_150); + break; } @@ -51,6 +57,24 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) { strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[0], PSTR(PLUGIN_VALUENAME1_150)); strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[1], PSTR(PLUGIN_VALUENAME2_150)); + + break; + } + + case PLUGIN_GET_DEVICEVALUECOUNT: + { + event->Par1 = P150_GET_OPT_ENABLE_RAW ? 2 : 1; + success = true; + + break; + } + + case PLUGIN_GET_DEVICEVTYPE: + { + event->sensorType = P150_GET_OPT_ENABLE_RAW ? Sensor_VType::SENSOR_TYPE_DUAL : Sensor_VType::SENSOR_TYPE_SINGLE; + event->idx = P150_GET_OPT_ENABLE_RAW ? 2 : 1; + success = true; + break; } @@ -59,11 +83,12 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) { const uint8_t i2cAddressValues[] = { 0x48, 0x49, 0x4A, 0x4B }; - if (function == PLUGIN_WEBFORM_SHOW_I2C_PARAMS) { + if (PLUGIN_WEBFORM_SHOW_I2C_PARAMS == function) { addFormSelectorI2C(F("i2c_addr"), 4, i2cAddressValues, P150_I2C_ADDRESS); } else { success = intArrayContains(4, i2cAddressValues, event->Par1); } + break; } @@ -72,16 +97,21 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) { event->Par1 = P150_I2C_ADDRESS; success = true; + break; } # endif // if FEATURE_I2C_GET_ADDRESS case PLUGIN_SET_DEFAULTS: { - P150_SET_FLAG_AVERAGING(P150_AVERAGING_8_SAMPLES); - P150_SET_FLAG_CONVERSION_MODE(P150_CONVERSION_CONTINUOUS); - P150_SET_FLAG_CYCLE_BITS(P150_CYCLE_1_SEC); + P150_SET_CONF_AVERAGING(P150_AVERAGING_8_SAMPLES); + P150_SET_CONF_CONVERSION_MODE(P150_CONVERSION_CONTINUOUS); + P150_SET_CONF_CYCLE_BITS(P150_CYCLE_1_SEC); + P150_SET_OPT_ENABLE_RAW(1); // Enable Raw by default + P150_SET_OPT_ENABLE_LOG(1); // Enable logging by default + P150_SET_OPT_FAHRENHEIT(0); // Show output in degrees Celcius ExtraTaskSettings.TaskDeviceValueDecimals[1] = 0; // No decimals for the Raw value + break; } @@ -89,7 +119,7 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) { addFormNumericBox(F("Temperature offset"), F("offset"), P150_TEMPERATURE_OFFSET); addUnit(F("x 0.1C")); - addFormNote(F("Offset in units of 0.1 degree Celsius")); + addFormNote(F("Offset in units of 0.1 degree Celsius!")); { const __FlashStringHelper *averagingCaptions[] = { @@ -104,7 +134,7 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_AVERAGING_32_SAMPLES, P150_AVERAGING_64_SAMPLES, }; - addFormSelector(F("Averaging"), F("avg"), 4, averagingCaptions, averagingOptions, P150_GET_FLAG_AVERAGING); + addFormSelector(F("Averaging"), F("avg"), 4, averagingCaptions, averagingOptions, P150_GET_CONF_AVERAGING); } { @@ -116,7 +146,7 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_CONVERSION_CONTINUOUS, P150_CONVERSION_ONE_SHOT, }; - addFormSelector(F("Conversion mode"), F("conv"), 2, conversionCaptions, conversionOptions, P150_GET_FLAG_CONVERSION_MODE); + addFormSelector(F("Conversion mode"), F("conv"), 2, conversionCaptions, conversionOptions, P150_GET_CONF_CONVERSION_MODE); } { const __FlashStringHelper *cycleCaptions[] = { @@ -139,11 +169,21 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_CYCLE_8_SEC, P150_CYCLE_16_SEC, }; - addFormSelector(F("Conversion cycle time"), F("cycle"), 8, cycleCaptions, cycleOptions, P150_GET_FLAG_CYCLE_BITS); + addFormSelector(F("Conversion cycle time"), F("cycle"), 8, cycleCaptions, cycleOptions, P150_GET_CONF_CYCLE_BITS); addFormNote(F("Not all Cycle time options are available for One-shot mode!")); } + addFormSubHeader(F("Output")); + + addFormCheckBox(F("Temperature in Fahrenheit"), F("fahr"), P150_GET_OPT_FAHRENHEIT); + + addFormSelector_YesNo(F("Enable 'Raw' value"), F("raw"), P150_GET_OPT_ENABLE_RAW ? 1 : 0, true); + addFormNote(F("Changing this setting will save and reload this page.")); + + addFormCheckBox(F("Log measured values (INFO)"), F("log"), P150_GET_OPT_ENABLE_LOG); + success = true; + break; } @@ -151,12 +191,25 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) { P150_I2C_ADDRESS = getFormItemInt(F("i2c_addr")); P150_TEMPERATURE_OFFSET = getFormItemInt(F("offset")); - P150_SET_FLAG_AVERAGING(getFormItemInt(F("avg"))); - P150_SET_FLAG_CONVERSION_MODE(getFormItemInt(F("conv"))); - P150_SET_FLAG_CYCLE_BITS(getFormItemInt(F("cycle"))); + P150_SET_CONF_AVERAGING(getFormItemInt(F("avg"))); + P150_SET_CONF_CONVERSION_MODE(getFormItemInt(F("conv"))); + P150_SET_CONF_CYCLE_BITS(getFormItemInt(F("cycle"))); + + P150_SET_OPT_FAHRENHEIT(isFormItemChecked(F("fahr"))); + uint8_t raw = getFormItemInt(F("raw")); + + if (P150_GET_OPT_ENABLE_RAW != raw) { + if (raw) { + strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[1], PSTR(PLUGIN_VALUENAME2_150)); + ExtraTaskSettings.TaskDeviceValueDecimals[1] = 0; // No decimals for the Raw value + } + P150_SET_OPT_ENABLE_RAW(raw); + } + P150_SET_OPT_ENABLE_LOG(isFormItemChecked(F("log"))); // P150_ERROR_STATE_OUTPUT = getFormItemInt(F("err")); success = true; + break; } @@ -166,7 +219,8 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_data_struct *P150_data = static_cast(getPluginTaskData(event->TaskIndex)); - success = (nullptr != P150_data && P150_data->init(event)); + success = (nullptr != P150_data && P150_data->init()); + break; } diff --git a/src/src/PluginStructs/P150_data_struct.cpp b/src/src/PluginStructs/P150_data_struct.cpp index 4c45a8007..20cac4016 100644 --- a/src/src/PluginStructs/P150_data_struct.cpp +++ b/src/src/PluginStructs/P150_data_struct.cpp @@ -4,8 +4,11 @@ P150_data_struct::P150_data_struct(struct EventStruct *event) { _deviceAddress = P150_I2C_ADDRESS; - _config = P150_FLAGS; + _config = P150_CONFIG; _temperatureOffset = P150_TEMPERATURE_OFFSET / 10.0f; // Per 0.1 degree + _outputFahrenheit = P150_GET_OPT_FAHRENHEIT; + _rawEnabled = P150_GET_OPT_ENABLE_RAW; + _logEnabled = P150_GET_OPT_ENABLE_LOG; } /** @@ -14,11 +17,9 @@ P150_data_struct::P150_data_struct(struct EventStruct *event) { * - Set temperature offset if <> 0 * Will fail if no sensor is found, or the device id doesn't match (0x0117) */ -bool P150_data_struct::init(struct EventStruct *event) { +bool P150_data_struct::init() { // make sure the TMP will acknowledge over I2C - Wire.beginTransmission(_deviceAddress); - - if (Wire.endTransmission() != 0) { + if ((_deviceAddress < 0) || (I2C_wakeup(_deviceAddress) != 0)) { return false; } @@ -54,6 +55,16 @@ bool P150_data_struct::plugin_read(struct EventStruct *event) { if (definitelyGreaterThan(_finalTempC, -256)) { UserVar[event->BaseVarIndex] = _finalTempC; UserVar[event->BaseVarIndex + 1] = _digitalTempC; + + if (_logEnabled && loglevelActiveFor(LOG_LEVEL_INFO)) { + String log = concat(F("TMP117: Temperature: "), formatUserVarNoCheck(event, 0)); + log += _outputFahrenheit ? 'F' : 'C'; + + if (_rawEnabled) { + log += concat(F(", Raw: "), formatUserVarNoCheck(event, 1)); + } + addLogMove(LOG_LEVEL_INFO, log); + } return true; } } @@ -69,16 +80,17 @@ float P150_data_struct::readTemp() { _finalTempC = _digitalTempC * TMP117_RESOLUTION; // Multiplied by the resolution for digital to final temp + if (_outputFahrenheit) { + _finalTempC = CelsiusToFahrenheit(_finalTempC); + } + return _finalTempC; } void P150_data_struct::setTemperatureOffset(float offset) { - int16_t resolutionOffset = offset / TMP117_RESOLUTION; // Divides by the resolution to send the correct value to the + int16_t resolutionOffset = offset / TMP117_RESOLUTION; // Divide by resolution to send to the sensor - // sensor - - I2C_write16_reg(_deviceAddress, TMP117_TEMP_OFFSET, resolutionOffset); // Writes to the offset temperature register with the new offset - // value + I2C_write16_reg(_deviceAddress, TMP117_TEMP_OFFSET, resolutionOffset); // Write to the offset temperature register } /** @@ -89,7 +101,7 @@ bool P150_data_struct::dataReady() { uint16_t response = I2C_read16_reg(_deviceAddress, TMP117_CONFIGURATION); // If statement to see if the 13th bit of the register is 1 or not - return response & 1 << 13; + return bitRead(response, 13); } #endif // ifdef USES_P150 diff --git a/src/src/PluginStructs/P150_data_struct.h b/src/src/PluginStructs/P150_data_struct.h index f7413fb81..323ef105c 100644 --- a/src/src/PluginStructs/P150_data_struct.h +++ b/src/src/PluginStructs/P150_data_struct.h @@ -6,15 +6,17 @@ # define P150_I2C_ADDRESS PCONFIG(0) # define P150_TEMPERATURE_OFFSET PCONFIG(1) -# define P150_FLAGS PCONFIG_ULONG(0) +# define P150_CONFIG PCONFIG_ULONG(0) // Sensor config +# define P150_OPTIONS PCONFIG_ULONG(1) // Plugin options -# define P150_FLAG_CONVERSION_MODE 10 // Conversion mode 00/10 = Continuous, 01 = Shutdown, 11 = One Shot +// Sensor configuration: +# define P150_CONF_CONVERSION_MODE 10 // Conversion mode 00/10 = Continuous, 01 = Shutdown, 11 = One Shot # define P150_CONVERSION_CONTINUOUS 0b00 -# define P150_CONVERSION_SHUTDOWN 0b01 // Not available in settings +# define P150_CONVERSION_SHUTDOWN 0b01 // Not available in settings # define P150_CONVERSION_ONE_SHOT 0b11 -# define P150_FLAG_CYCLE_BITS 7 // 3 bits: Cycle mode 000 = 15.5 msec, 001 = 125 msec, 010 = 250 msec, - // 011 = 500 msec, 100 = 1 sec, 101 = 4 sec, 110 = 8 sec, 111 = 16 sec +# define P150_CONF_CYCLE_BITS 7 // 3 bits: Cycle mode 000 = 15.5 msec, 001 = 125 msec, 010 = 250 msec, + // 011 = 500 msec, 100 = 1 sec, 101 = 4 sec, 110 = 8 sec, 111 = 16 sec # define P150_CYCLE_15_5_MSEC 0b000 # define P150_CYCLE_125_MSEC 0b001 # define P150_CYCLE_250_MSEC 0b010 @@ -24,20 +26,32 @@ # define P150_CYCLE_8_SEC 0b110 # define P150_CYCLE_16_SEC 0b111 -# define P150_FLAG_AVERAGING 5 // 2 bits: Averaging mode 00 = None, 01 = 8 samples, 10 = 32 samples 11 = 64 samples +# define P150_CONF_AVERAGING 5 // 2 bits: Averaging mode 00 = None, 01 = 8 samples, 10 = 32 samples 11 = 64 samples # define P150_AVERAGING_NONE 0b00 # define P150_AVERAGING_8_SAMPLES 0b01 # define P150_AVERAGING_32_SAMPLES 0b10 # define P150_AVERAGING_64_SAMPLES 0b11 -# define P150_GET_FLAG_CONVERSION_MODE get2BitFromUL(P150_FLAGS, P150_FLAG_CONVERSION_MODE) -# define P150_SET_FLAG_CONVERSION_MODE(x) set2BitToUL(P150_FLAGS, \ - P150_FLAG_CONVERSION_MODE, \ +# define P150_GET_CONF_CONVERSION_MODE get2BitFromUL(P150_CONFIG, P150_CONF_CONVERSION_MODE) +# define P150_SET_CONF_CONVERSION_MODE(x) set2BitToUL(P150_CONFIG, \ + P150_CONF_CONVERSION_MODE, \ x ? P150_CONVERSION_ONE_SHOT : P150_CONVERSION_CONTINUOUS) -# define P150_GET_FLAG_CYCLE_BITS get3BitFromUL(P150_FLAGS, P150_FLAG_CYCLE_BITS) -# define P150_SET_FLAG_CYCLE_BITS(x) set3BitToUL(P150_FLAGS, P150_FLAG_CYCLE_BITS, x) -# define P150_GET_FLAG_AVERAGING get2BitFromUL(P150_FLAGS, P150_FLAG_AVERAGING) -# define P150_SET_FLAG_AVERAGING(x) set2BitToUL(P150_FLAGS, P150_FLAG_AVERAGING, x) +# define P150_GET_CONF_CYCLE_BITS get3BitFromUL(P150_CONFIG, P150_CONF_CYCLE_BITS) +# define P150_SET_CONF_CYCLE_BITS(x) set3BitToUL(P150_CONFIG, P150_CONF_CYCLE_BITS, x) +# define P150_GET_CONF_AVERAGING get2BitFromUL(P150_CONFIG, P150_CONF_AVERAGING) +# define P150_SET_CONF_AVERAGING(x) set2BitToUL(P150_CONFIG, P150_CONF_AVERAGING, x) + +// Plugin options: +# define P150_OPT_ENABLE_RAW 0 // Use Raw value, default on +# define P150_OPT_ENABLE_LOG 1 // Log measured values, default on +# define P150_OPT_OUTPUT_FAHRENHEIT 2 // Output converted to Fahrenheit + +# define P150_GET_OPT_ENABLE_RAW bitRead(P150_OPTIONS, P150_OPT_ENABLE_RAW) +# define P150_SET_OPT_ENABLE_RAW(x) bitWrite(P150_OPTIONS, P150_OPT_ENABLE_RAW, x) +# define P150_GET_OPT_ENABLE_LOG bitRead(P150_OPTIONS, P150_OPT_ENABLE_LOG) +# define P150_SET_OPT_ENABLE_LOG(x) bitWrite(P150_OPTIONS, P150_OPT_ENABLE_LOG, x) +# define P150_GET_OPT_FAHRENHEIT bitRead(P150_OPTIONS, P150_OPT_OUTPUT_FAHRENHEIT) +# define P150_SET_OPT_FAHRENHEIT(x) bitWrite(P150_OPTIONS, P150_OPT_OUTPUT_FAHRENHEIT, x) # define TMP117_RESOLUTION 0.0078125f // Resolution of the device, see specifications # define TMP117_DEVICE_ID_VALUE 0x0117 // Value found in the device ID register on reset @@ -46,7 +60,7 @@ enum TMP117_register { TMP117_TEMP_RESULT = 0x00, TMP117_CONFIGURATION = 0x01, - // TMP117_T_HIGH_LIMIT = 0x02, + // TMP117_T_HIGH_LIMIT = 0x02, // Unused // TMP117_T_LOW_LIMIT = 0x03, // TMP117_EEPROM_UL = 0x04, // TMP117_EEPROM1 = 0x05, @@ -63,7 +77,7 @@ struct P150_data_struct : public PluginTaskData_base { virtual ~P150_data_struct() = default; - bool init(struct EventStruct *event); + bool init(); bool plugin_read(struct EventStruct *event); private: @@ -72,9 +86,12 @@ private: void setTemperatureOffset(float offset); bool dataReady(); - int8_t _deviceAddress = -1; uint16_t _config = 0; float _temperatureOffset = 0.0f; + int8_t _deviceAddress = -1; + bool _rawEnabled = false; + bool _logEnabled = false; + bool _outputFahrenheit = false; int16_t _digitalTempC = 0; float _finalTempC = 0.0f; From d2f6f81a44dfa24397f8a739a3ea4b44e9000be5 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sun, 9 Apr 2023 20:15:49 +0200 Subject: [PATCH 05/23] [P150] Remove opt. Fahrenheit output --- src/_P150_TMP117.ino | 5 ----- src/src/PluginStructs/P150_data_struct.cpp | 7 +------ src/src/PluginStructs/P150_data_struct.h | 4 ---- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/src/_P150_TMP117.ino b/src/_P150_TMP117.ino index 1ba0b8478..e5d14527e 100644 --- a/src/_P150_TMP117.ino +++ b/src/_P150_TMP117.ino @@ -8,7 +8,6 @@ /** Changelog: * 2023-04-09 tonhuisman: Rename configuration options (compile-time), add optional output logging (default on), * use more I2C_access functions, make Raw value optional (default on), - * add optional output temperature in Fahrenheit * 2023-04-08 tonhuisman: Basic workings for setting configuration and temperature offset, then reading the temperature * only when data is available. * 2023-04-08 tonhuisman: Initial work on new plugin for TMP117, available in Collection F, Climate and MAX builds @@ -109,7 +108,6 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_SET_CONF_CYCLE_BITS(P150_CYCLE_1_SEC); P150_SET_OPT_ENABLE_RAW(1); // Enable Raw by default P150_SET_OPT_ENABLE_LOG(1); // Enable logging by default - P150_SET_OPT_FAHRENHEIT(0); // Show output in degrees Celcius ExtraTaskSettings.TaskDeviceValueDecimals[1] = 0; // No decimals for the Raw value break; @@ -175,8 +173,6 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) addFormSubHeader(F("Output")); - addFormCheckBox(F("Temperature in Fahrenheit"), F("fahr"), P150_GET_OPT_FAHRENHEIT); - addFormSelector_YesNo(F("Enable 'Raw' value"), F("raw"), P150_GET_OPT_ENABLE_RAW ? 1 : 0, true); addFormNote(F("Changing this setting will save and reload this page.")); @@ -195,7 +191,6 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_SET_CONF_CONVERSION_MODE(getFormItemInt(F("conv"))); P150_SET_CONF_CYCLE_BITS(getFormItemInt(F("cycle"))); - P150_SET_OPT_FAHRENHEIT(isFormItemChecked(F("fahr"))); uint8_t raw = getFormItemInt(F("raw")); if (P150_GET_OPT_ENABLE_RAW != raw) { diff --git a/src/src/PluginStructs/P150_data_struct.cpp b/src/src/PluginStructs/P150_data_struct.cpp index 20cac4016..e03b742eb 100644 --- a/src/src/PluginStructs/P150_data_struct.cpp +++ b/src/src/PluginStructs/P150_data_struct.cpp @@ -6,7 +6,6 @@ P150_data_struct::P150_data_struct(struct EventStruct *event) { _deviceAddress = P150_I2C_ADDRESS; _config = P150_CONFIG; _temperatureOffset = P150_TEMPERATURE_OFFSET / 10.0f; // Per 0.1 degree - _outputFahrenheit = P150_GET_OPT_FAHRENHEIT; _rawEnabled = P150_GET_OPT_ENABLE_RAW; _logEnabled = P150_GET_OPT_ENABLE_LOG; } @@ -58,7 +57,7 @@ bool P150_data_struct::plugin_read(struct EventStruct *event) { if (_logEnabled && loglevelActiveFor(LOG_LEVEL_INFO)) { String log = concat(F("TMP117: Temperature: "), formatUserVarNoCheck(event, 0)); - log += _outputFahrenheit ? 'F' : 'C'; + log += 'C'; if (_rawEnabled) { log += concat(F(", Raw: "), formatUserVarNoCheck(event, 1)); @@ -80,10 +79,6 @@ float P150_data_struct::readTemp() { _finalTempC = _digitalTempC * TMP117_RESOLUTION; // Multiplied by the resolution for digital to final temp - if (_outputFahrenheit) { - _finalTempC = CelsiusToFahrenheit(_finalTempC); - } - return _finalTempC; } diff --git a/src/src/PluginStructs/P150_data_struct.h b/src/src/PluginStructs/P150_data_struct.h index 323ef105c..9b5d724b7 100644 --- a/src/src/PluginStructs/P150_data_struct.h +++ b/src/src/PluginStructs/P150_data_struct.h @@ -44,14 +44,11 @@ // Plugin options: # define P150_OPT_ENABLE_RAW 0 // Use Raw value, default on # define P150_OPT_ENABLE_LOG 1 // Log measured values, default on -# define P150_OPT_OUTPUT_FAHRENHEIT 2 // Output converted to Fahrenheit # define P150_GET_OPT_ENABLE_RAW bitRead(P150_OPTIONS, P150_OPT_ENABLE_RAW) # define P150_SET_OPT_ENABLE_RAW(x) bitWrite(P150_OPTIONS, P150_OPT_ENABLE_RAW, x) # define P150_GET_OPT_ENABLE_LOG bitRead(P150_OPTIONS, P150_OPT_ENABLE_LOG) # define P150_SET_OPT_ENABLE_LOG(x) bitWrite(P150_OPTIONS, P150_OPT_ENABLE_LOG, x) -# define P150_GET_OPT_FAHRENHEIT bitRead(P150_OPTIONS, P150_OPT_OUTPUT_FAHRENHEIT) -# define P150_SET_OPT_FAHRENHEIT(x) bitWrite(P150_OPTIONS, P150_OPT_OUTPUT_FAHRENHEIT, x) # define TMP117_RESOLUTION 0.0078125f // Resolution of the device, see specifications # define TMP117_DEVICE_ID_VALUE 0x0117 // Value found in the device ID register on reset @@ -91,7 +88,6 @@ private: int8_t _deviceAddress = -1; bool _rawEnabled = false; bool _logEnabled = false; - bool _outputFahrenheit = false; int16_t _digitalTempC = 0; float _finalTempC = 0.0f; From 3e33276be2f593377d073764d9de180c6cb8267d Mon Sep 17 00:00:00 2001 From: flashmark <15078748+flashmark@users.noreply.github.com> Date: Thu, 13 Apr 2023 22:23:26 +0200 Subject: [PATCH 06/23] P144 small review fix --- src/src/PluginStructs/P145_data_struct.cpp | 260 ++++++++++----------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/src/src/PluginStructs/P145_data_struct.cpp b/src/src/PluginStructs/P145_data_struct.cpp index c9a6d8703..b3ca1ca00 100644 --- a/src/src/PluginStructs/P145_data_struct.cpp +++ b/src/src/PluginStructs/P145_data_struct.cpp @@ -51,163 +51,163 @@ const P145_SENSORDEF sensorDefs[] PROGMEM { // User defined, output plain ratio (Rsensor/Rzero) { - .cleanRatio = 0.0f, // cleanRatio - .para = 0.0f, // PARA scaling factor value - .parb = 0.0f, // PARB exponent value - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgNone, // preferred/tuned algorithm - .name = P145_SENSUSER, // Name - .gas = P145_GASUSER, // gas + .cleanRatio = 0.0f, + .para = 0.0f, + .parb = 0.0f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgNone, + .name = P145_SENSUSER, + .gas = P145_GASUSER, }, // *** MQ-135 - CO2 *** { - .cleanRatio = 0.0f, // cleanRatio - .para = 116.6020682f, // PARA scaling factor value - .parb = 2.769034857f, // PARB exponent value - .cora = 0.00035f, // CORA - .corb = 0.02718f, // CORB - .corc = 1.39538f, // CORC - .cord = 0.0018f, // CORD - .core = -0.003333333f,// CORE - .corf = -0.001923077f,// CORF - .corg = 1.130128205f, // CORG - .alg = p145AlgA, // preferred/tuned algorithm - .name = P145_SENSMQ135, // Name - .gas = P145_GASCO2, // gas + .cleanRatio = 0.0f, + .para = 116.6020682f, + .parb = 2.769034857f, + .cora = 0.00035f, + .corb = 0.02718f, + .corc = 1.39538f, + .cord = 0.0018f, + .core = -0.003333333f, + .corf = -0.001923077f, + .corg = 1.130128205f, + .alg = p145AlgA, + .name = P145_SENSMQ135, + .gas = P145_GASCO2, }, // *** MQ-2 - H2 *** { - .cleanRatio = 9.83f, // cleanRatio - .para = 987.99f, // PARA scaling factor - .parb = -2.162f, // PARB exponent value - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ2, // Name - .gas = P145_GASH2, // gas + .cleanRatio = 9.83f, + .para = 987.99f, + .parb = -2.162f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ2, + .gas = P145_GASH2, }, // *** MQ-3 - alcohol *** { - .cleanRatio = 60.0f, // cleanRatio - .para = 0.3934f, // PARA scaling factor - .parb = -1.504f, // PARB exponent value - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ3, // Name - .gas = P145_GASALCOHOL, // gas + .cleanRatio = 60.0f, + .para = 0.3934f, + .parb = -1.504f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ3, + .gas = P145_GASALCOHOL, }, // *** MQ-4 - CH4 *** { - .cleanRatio = 4.4f, // cleanRatio - .para = 1012.7f, // PARA scaling - .parb = -2.786f, // PARB exponent - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ4, // Name - .gas = P145_GASCH4, // gas + .cleanRatio = 4.4f, + .para = 1012.7f, + .parb = -2.786f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ4, + .gas = P145_GASCH4, }, // *** MQ-5 - H2 *** { - .cleanRatio = 5.5f, // cleanRatio - .para = 1163.8f, // PARA scaling - .parb = -3.874f, // PARB exponent - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ5, // Name - .gas = P145_GASCH4, // gas + .cleanRatio = 5.5f, + .para = 1163.8f, + .parb = -3.874f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ5, + .gas = P145_GASCH4, }, // *** MQ-5 - LPG *** { - .cleanRatio = 5.5f, // cleanRatio - .para = 80.897f, // PARA scaling - .parb = -2.431f, // PARB exponent - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ5, // Name - .gas = P145_GASLPG, // gas + .cleanRatio = 5.5f, + .para = 80.897f, + .parb = -2.431f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ5, + .gas = P145_GASLPG, }, // *** MQ-6 - LPG *** { - .cleanRatio = 10.0f, // cleanRatio - .para = 1009.2f, // PARA scaling - .parb = -2.35f, // PARB exponent - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ6, // Name - .gas = P145_GASLPG, // gas + .cleanRatio = 10.0f, + .para = 1009.2f, + .parb = -2.35f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ6, + .gas = P145_GASLPG, }, // *** MQ-7 - CO *** { - .cleanRatio = 27.5f, // cleanRatio - .para = 491204.0f, // PARA scaling - .parb = -5.826f, // PARB exponent - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ7, // Name - .gas = P145_GASCO, // gas + .cleanRatio = 27.5f, + .para = 491204.0f, + .parb = -5.826f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ7, + .gas = P145_GASCO, }, // *** MQ-8 - H2 *** { - .cleanRatio = 70.0f, // cleanRatio - .para = 976.97f, // PARA scaling - .parb = -0.688f, // PARB exponent - .cora = 0.0f, // CORA - .corb = 0.0f, // CORB - .corc = 0.0f, // CORC - .cord = 0.0f, // CORD - .core = 0.0f, // CORE - .corf = 0.0f, // CORF - .corg = 0.0f, // CORG - .alg = p145AlgB, // preferred/tuned algorithm - .name = P145_SENSMQ8, // Name - .gas = P145_GASH2, // gas + .cleanRatio = 70.0f, + .para = 976.97f, + .parb = -0.688f, + .cora = 0.0f, + .corb = 0.0f, + .corc = 0.0f, + .cord = 0.0f, + .core = 0.0f, + .corf = 0.0f, + .corg = 0.0f, + .alg = p145AlgB, + .name = P145_SENSMQ8, + .gas = P145_GASH2, } }; /// @brief The number of types stored in the sensorDefs[] table From b23537e5b6e2e68c3a4c3f3d80e0760b2acc4e40 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Thu, 13 Apr 2023 23:08:13 +0200 Subject: [PATCH 07/23] [P150] Make one-shot mode work, fix interval reading --- src/_P150_TMP117.ino | 24 ++++++-- src/src/PluginStructs/P150_data_struct.cpp | 70 +++++++++++++++------- src/src/PluginStructs/P150_data_struct.h | 3 + 3 files changed, 70 insertions(+), 27 deletions(-) diff --git a/src/_P150_TMP117.ino b/src/_P150_TMP117.ino index e5d14527e..2ab4bf23d 100644 --- a/src/_P150_TMP117.ino +++ b/src/_P150_TMP117.ino @@ -6,6 +6,8 @@ // ####################################################################################################### /** Changelog: + * 2023-04-13 tonhuisman: Switch to check the sensor once a second, and read when data is available, return last value every interval + * Make one-shot mode work as intended, one-shot is started from last read, so based on the interval * 2023-04-09 tonhuisman: Rename configuration options (compile-time), add optional output logging (default on), * use more I2C_access functions, make Raw value optional (default on), * 2023-04-08 tonhuisman: Basic workings for setting configuration and temperature offset, then reading the temperature @@ -148,9 +150,9 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) } { const __FlashStringHelper *cycleCaptions[] = { - F("15.5 msec (continuous)"), - F("125 msec (continuous)"), - F("250 msec (continuous)"), + F("15.5 msec"), + F("125 msec"), + F("250 msec"), F("500 msec"), F("1 sec"), F("4 sec"), @@ -167,8 +169,7 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_CYCLE_8_SEC, P150_CYCLE_16_SEC, }; - addFormSelector(F("Conversion cycle time"), F("cycle"), 8, cycleCaptions, cycleOptions, P150_GET_CONF_CYCLE_BITS); - addFormNote(F("Not all Cycle time options are available for One-shot mode!")); + addFormSelector(F("Continuous conversion cycle time"), F("cycle"), 8, cycleCaptions, cycleOptions, P150_GET_CONF_CYCLE_BITS); } addFormSubHeader(F("Output")); @@ -202,7 +203,6 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) } P150_SET_OPT_ENABLE_LOG(isFormItemChecked(F("log"))); - // P150_ERROR_STATE_OUTPUT = getFormItemInt(F("err")); success = true; break; @@ -230,6 +230,18 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) break; } + + case PLUGIN_ONCE_A_SECOND: + { + P150_data_struct *P150_data = + static_cast(getPluginTaskData(event->TaskIndex)); + + if (nullptr != P150_data) { + success = P150_data->plugin_once_a_second(event); + } + + break; + } } return success; } diff --git a/src/src/PluginStructs/P150_data_struct.cpp b/src/src/PluginStructs/P150_data_struct.cpp index e03b742eb..49a7a7edb 100644 --- a/src/src/PluginStructs/P150_data_struct.cpp +++ b/src/src/PluginStructs/P150_data_struct.cpp @@ -31,41 +31,69 @@ bool P150_data_struct::init() { return false; } + setConfig(); + + if (!essentiallyZero(_temperatureOffset)) { + setTemperatureOffset(_temperatureOffset); // set offset + } + + return true; // returns true if all the checks pass +} + +/** + * Set configuration, also used to start a one-shot conversion + */ +void P150_data_struct::setConfig() { uint16_t config = I2C_read16_reg(_deviceAddress, TMP117_CONFIGURATION); // Read current configuration config |= _config; // Apply config settings I2C_write16_reg(_deviceAddress, TMP117_CONFIGURATION, config); // Update config - - if (!essentiallyZero(_temperatureOffset)) { - setTemperatureOffset(_temperatureOffset); // set offset - } - - return true; // returns true if all the checks pass } /** - * plugin_read(): Read sensor if data is available - * Will only return true if data is actually available and valid + * plugin_read(): Fetch last read values */ bool P150_data_struct::plugin_read(struct EventStruct *event) { + if (_readValid && definitelyGreaterThan(_finalTempC, -256.0f)) { + UserVar[event->BaseVarIndex] = _finalTempC; + UserVar[event->BaseVarIndex + 1] = _digitalTempC; + + if (_logEnabled && loglevelActiveFor(LOG_LEVEL_INFO)) { + String log = concat(F("TMP117: Temperature: "), formatUserVarNoCheck(event, 0)); + log += 'C'; + + if (_rawEnabled) { + log += concat(F(", Raw: "), formatUserVarNoCheck(event, 1)); + } + addLogMove(LOG_LEVEL_INFO, log); + } + + if (P150_GET_CONF_CONVERSION_MODE == P150_CONVERSION_ONE_SHOT) { + setConfig(); // Start the next one-shot measurement + } + return true; + } + return false; +} + +/** + * plugin_once_a_second(): Read sensor if data is available + * Will return true if data is actually available and valid + */ +bool P150_data_struct::plugin_once_a_second(struct EventStruct *event) { if (dataReady()) { readTemp(); + _readValid = true; - if (definitelyGreaterThan(_finalTempC, -256)) { - UserVar[event->BaseVarIndex] = _finalTempC; - UserVar[event->BaseVarIndex + 1] = _digitalTempC; + # ifndef BUILD_NO_DEBUG - if (_logEnabled && loglevelActiveFor(LOG_LEVEL_INFO)) { - String log = concat(F("TMP117: Temperature: "), formatUserVarNoCheck(event, 0)); - log += 'C'; - - if (_rawEnabled) { - log += concat(F(", Raw: "), formatUserVarNoCheck(event, 1)); - } - addLogMove(LOG_LEVEL_INFO, log); - } - return true; + if (loglevelActiveFor(LOG_LEVEL_DEBUG)) { + String log = concat(F("TMP117: Read temp: "), toString(_finalTempC, 2)); + log += 'C'; + log += concat(F(", raw: "), static_cast(_digitalTempC)); + addLog(LOG_LEVEL_DEBUG, log); } + # endif // ifndef BUILD_NO_DEBUG } return false; } diff --git a/src/src/PluginStructs/P150_data_struct.h b/src/src/PluginStructs/P150_data_struct.h index 9b5d724b7..ceab42096 100644 --- a/src/src/PluginStructs/P150_data_struct.h +++ b/src/src/PluginStructs/P150_data_struct.h @@ -75,7 +75,9 @@ struct P150_data_struct : public PluginTaskData_base { virtual ~P150_data_struct() = default; bool init(); + void setConfig(); bool plugin_read(struct EventStruct *event); + bool plugin_once_a_second(struct EventStruct *event); private: @@ -91,6 +93,7 @@ private: int16_t _digitalTempC = 0; float _finalTempC = 0.0f; + bool _readValid = false; }; #endif // ifdef USES_P150 From 24f77596f8dc1fde0758833ee8b20ead455999ca Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 11:41:30 +0200 Subject: [PATCH 08/23] [P150] Correctly apply config bits, improve configuration screen --- src/_P150_TMP117.ino | 24 ++++++++++++++++++---- src/src/PluginStructs/P150_data_struct.cpp | 18 +++++++++++----- src/src/PluginStructs/P150_data_struct.h | 14 +++++++++++++ 3 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/_P150_TMP117.ino b/src/_P150_TMP117.ino index 2ab4bf23d..3cb0f3edb 100644 --- a/src/_P150_TMP117.ino +++ b/src/_P150_TMP117.ino @@ -6,6 +6,7 @@ // ####################################################################################################### /** Changelog: + * 2023-04-15 tonhuisman: Correctly apply configuration bits (clear first), add optional low-level logging, improve configuration page * 2023-04-13 tonhuisman: Switch to check the sensor once a second, and read when data is available, return last value every interval * Make one-shot mode work as intended, one-shot is started from last read, so based on the interval * 2023-04-09 tonhuisman: Rename configuration options (compile-time), add optional output logging (default on), @@ -146,9 +147,11 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_CONVERSION_CONTINUOUS, P150_CONVERSION_ONE_SHOT, }; - addFormSelector(F("Conversion mode"), F("conv"), 2, conversionCaptions, conversionOptions, P150_GET_CONF_CONVERSION_MODE); + addFormSelector(F("Conversion mode"), F("conv"), 2, conversionCaptions, conversionOptions, P150_GET_CONF_CONVERSION_MODE, true); + addFormNote(F("Changing this setting will save and reload this page.")); } - { + + if (P150_GET_CONF_CONVERSION_MODE == P150_CONVERSION_CONTINUOUS) { const __FlashStringHelper *cycleCaptions[] = { F("15.5 msec"), F("125 msec"), @@ -177,7 +180,11 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) addFormSelector_YesNo(F("Enable 'Raw' value"), F("raw"), P150_GET_OPT_ENABLE_RAW ? 1 : 0, true); addFormNote(F("Changing this setting will save and reload this page.")); - addFormCheckBox(F("Log measured values (INFO)"), F("log"), P150_GET_OPT_ENABLE_LOG); + addFormCheckBox(F("Log measured values (INFO)"), F("log"), P150_GET_OPT_ENABLE_LOG); + + # if P150_USE_EXTRA_LOG + addFormCheckBox(F("Log low-level values (INFO)"), F("xlog"), P150_GET_OPT_EXTRA_LOG); + # endif // if P150_USE_EXTRA_LOG success = true; @@ -189,8 +196,14 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_I2C_ADDRESS = getFormItemInt(F("i2c_addr")); P150_TEMPERATURE_OFFSET = getFormItemInt(F("offset")); P150_SET_CONF_AVERAGING(getFormItemInt(F("avg"))); + uint8_t prvConv = P150_GET_CONF_CONVERSION_MODE; P150_SET_CONF_CONVERSION_MODE(getFormItemInt(F("conv"))); - P150_SET_CONF_CYCLE_BITS(getFormItemInt(F("cycle"))); + + if ((P150_GET_CONF_CONVERSION_MODE == P150_CONVERSION_CONTINUOUS) && (prvConv == P150_CONVERSION_CONTINUOUS)) { + P150_SET_CONF_CYCLE_BITS(getFormItemInt(F("cycle"))); + } else { + P150_SET_CONF_CYCLE_BITS(P150_CYCLE_1_SEC); // Default + } uint8_t raw = getFormItemInt(F("raw")); @@ -202,6 +215,9 @@ boolean Plugin_150(uint8_t function, struct EventStruct *event, String& string) P150_SET_OPT_ENABLE_RAW(raw); } P150_SET_OPT_ENABLE_LOG(isFormItemChecked(F("log"))); + # if P150_USE_EXTRA_LOG + P150_SET_OPT_EXTRA_LOG(isFormItemChecked(F("xlog"))); + # endif // if P150_USE_EXTRA_LOG success = true; diff --git a/src/src/PluginStructs/P150_data_struct.cpp b/src/src/PluginStructs/P150_data_struct.cpp index 49a7a7edb..b48b5206e 100644 --- a/src/src/PluginStructs/P150_data_struct.cpp +++ b/src/src/PluginStructs/P150_data_struct.cpp @@ -8,6 +8,9 @@ P150_data_struct::P150_data_struct(struct EventStruct *event) { _temperatureOffset = P150_TEMPERATURE_OFFSET / 10.0f; // Per 0.1 degree _rawEnabled = P150_GET_OPT_ENABLE_RAW; _logEnabled = P150_GET_OPT_ENABLE_LOG; + # if P150_USE_EXTRA_LOG + _extraLog = P150_GET_OPT_EXTRA_LOG; + # endif // if P150_USE_EXTRA_LOG } /** @@ -46,7 +49,8 @@ bool P150_data_struct::init() { void P150_data_struct::setConfig() { uint16_t config = I2C_read16_reg(_deviceAddress, TMP117_CONFIGURATION); // Read current configuration - config |= _config; // Apply config settings + config &= P150_CONFIG_RESET_MASK; // Reset the bits we want to update + config |= _config; // Apply (new) config settings I2C_write16_reg(_deviceAddress, TMP117_CONFIGURATION, config); // Update config } @@ -85,15 +89,19 @@ bool P150_data_struct::plugin_once_a_second(struct EventStruct *event) { readTemp(); _readValid = true; - # ifndef BUILD_NO_DEBUG + # if P150_USE_EXTRA_LOG - if (loglevelActiveFor(LOG_LEVEL_DEBUG)) { + if (_extraLog && loglevelActiveFor(LOG_LEVEL_INFO)) { String log = concat(F("TMP117: Read temp: "), toString(_finalTempC, 2)); log += 'C'; log += concat(F(", raw: "), static_cast(_digitalTempC)); - addLog(LOG_LEVEL_DEBUG, log); + + if (P150_GET_CONF_CONVERSION_MODE == P150_CONVERSION_ONE_SHOT) { + log += F(" (one-shot)"); + } + addLog(LOG_LEVEL_INFO, log); } - # endif // ifndef BUILD_NO_DEBUG + # endif // if P150_USE_EXTRA_LOG } return false; } diff --git a/src/src/PluginStructs/P150_data_struct.h b/src/src/PluginStructs/P150_data_struct.h index ceab42096..2061126e9 100644 --- a/src/src/PluginStructs/P150_data_struct.h +++ b/src/src/PluginStructs/P150_data_struct.h @@ -9,6 +9,10 @@ # define P150_CONFIG PCONFIG_ULONG(0) // Sensor config # define P150_OPTIONS PCONFIG_ULONG(1) // Plugin options +# define P150_USE_EXTRA_LOG 1 // Enable(1)/disable(0) low-level logging + +# define P150_CONFIG_RESET_MASK 0b1111000000011111 // Reset the bits we need to overwrite + // Sensor configuration: # define P150_CONF_CONVERSION_MODE 10 // Conversion mode 00/10 = Continuous, 01 = Shutdown, 11 = One Shot # define P150_CONVERSION_CONTINUOUS 0b00 @@ -44,11 +48,18 @@ // Plugin options: # define P150_OPT_ENABLE_RAW 0 // Use Raw value, default on # define P150_OPT_ENABLE_LOG 1 // Log measured values, default on +# if P150_USE_EXTRA_LOG +# define P150_OPT_EXTRA_LOG 2 // Log low-level measured values, default off +# endif // if P150_USE_EXTRA_LOG # define P150_GET_OPT_ENABLE_RAW bitRead(P150_OPTIONS, P150_OPT_ENABLE_RAW) # define P150_SET_OPT_ENABLE_RAW(x) bitWrite(P150_OPTIONS, P150_OPT_ENABLE_RAW, x) # define P150_GET_OPT_ENABLE_LOG bitRead(P150_OPTIONS, P150_OPT_ENABLE_LOG) # define P150_SET_OPT_ENABLE_LOG(x) bitWrite(P150_OPTIONS, P150_OPT_ENABLE_LOG, x) +# if P150_USE_EXTRA_LOG +# define P150_GET_OPT_EXTRA_LOG bitRead(P150_OPTIONS, P150_OPT_EXTRA_LOG) +# define P150_SET_OPT_EXTRA_LOG(x) bitWrite(P150_OPTIONS, P150_OPT_EXTRA_LOG, x) +# endif // if P150_USE_EXTRA_LOG # define TMP117_RESOLUTION 0.0078125f // Resolution of the device, see specifications # define TMP117_DEVICE_ID_VALUE 0x0117 // Value found in the device ID register on reset @@ -90,6 +101,9 @@ private: int8_t _deviceAddress = -1; bool _rawEnabled = false; bool _logEnabled = false; + # if P150_USE_EXTRA_LOG + bool _extraLog = false; + # endif // if P150_USE_EXTRA_LOG int16_t _digitalTempC = 0; float _finalTempC = 0.0f; From 124a1fbe503b56b013b88e2d7172c95645721c60 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 14:27:31 +0200 Subject: [PATCH 09/23] [P150] Correctly put in `Collection F` set --- src/src/CustomBuild/define_plugin_sets.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/src/CustomBuild/define_plugin_sets.h b/src/src/CustomBuild/define_plugin_sets.h index 3dc56d4f7..8356ebaa0 100644 --- a/src/src/CustomBuild/define_plugin_sets.h +++ b/src/src/CustomBuild/define_plugin_sets.h @@ -1518,6 +1518,9 @@ To create/register a plugin, you have to : #ifndef USES_P145 #define USES_P145 // gasses MQxxx (MQ135, MQ3, etc) #endif + #ifndef USES_P150 + #define USES_P150 // TMP117 Temperature + #endif #ifndef USES_P151 #define USES_P151 // Environment - I2C Honeywell Pressure #endif @@ -1581,9 +1584,6 @@ To create/register a plugin, you have to : #ifndef USES_P148 #define USES_P148 // Sonoff POWR3xxD and THR3xxD display #endif - #ifndef USES_P150 - #define USES_P150 // TMP117 Temperature - #endif #endif From 470b48d8451fb005f9e3c98510fbc07c9ccdd726 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 14:28:05 +0200 Subject: [PATCH 10/23] [P150] Add documentation --- docs/source/Plugin/P150.rst | 155 ++++++++++++++++++ docs/source/Plugin/P150_AdafruitTMP117.png | Bin 0 -> 510165 bytes docs/source/Plugin/P150_AveragingOptions.png | Bin 0 -> 18857 bytes .../Plugin/P150_ConversionModeOptions.png | Bin 0 -> 9299 bytes docs/source/Plugin/P150_CycleTimeOptions.png | Bin 0 -> 36343 bytes .../Plugin/P150_DeviceConfiguration.png | Bin 0 -> 60520 bytes .../Plugin/P150_EnableRawValueOptions.png | Bin 0 -> 8344 bytes docs/source/Plugin/P150_SparkfunTMP117.png | Bin 0 -> 340754 bytes docs/source/Plugin/_Plugin.rst | 1 + docs/source/Plugin/_plugin_categories.repl | 2 +- .../Plugin/_plugin_substitutions_p15x.repl | 13 ++ 11 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 docs/source/Plugin/P150.rst create mode 100644 docs/source/Plugin/P150_AdafruitTMP117.png create mode 100644 docs/source/Plugin/P150_AveragingOptions.png create mode 100644 docs/source/Plugin/P150_ConversionModeOptions.png create mode 100644 docs/source/Plugin/P150_CycleTimeOptions.png create mode 100644 docs/source/Plugin/P150_DeviceConfiguration.png create mode 100644 docs/source/Plugin/P150_EnableRawValueOptions.png create mode 100644 docs/source/Plugin/P150_SparkfunTMP117.png diff --git a/docs/source/Plugin/P150.rst b/docs/source/Plugin/P150.rst new file mode 100644 index 000000000..a13450f8d --- /dev/null +++ b/docs/source/Plugin/P150.rst @@ -0,0 +1,155 @@ +.. include:: ../Plugin/_plugin_substitutions_p15x.repl +.. _P150_page: + +|P150_typename| +================================================== + +|P150_shortinfo| + +Plugin details +-------------- + +Type: |P150_type| + +Name: |P150_name| + +Status: |P150_status| + +GitHub: |P150_github|_ + +Maintainer: |P150_maintainer| + +Used libraries: |P150_usedlibraries| + +Description +----------- + +The Texas Instruments TMP117 High-accuracy temperature sensor offers an accuracy of 0.1°C in the range of -20°C to 50°C, and requires very low power when in shutdown mode. + +The low/high alarm options and accompanying ``INT`` pin, as provided by the sensor, are *not* implemented in this plugin. + +The datasheet offers the most up to date information: `Texas Instruments TMP117 Datasheet (online) `_ + +Hardware +-------- + +.. image:: P150_AdafruitTMP117.png + :height: 200 + +Adafruit TMP117 board. + +.. image:: P150_SparkfunTMP117.png + :height: 200 + +SparkFun TMP117 board. + +Configuration +------------- + +.. image:: P150_DeviceConfiguration.png + +* **Name**: Required by ESPEasy, must be unique among the list of available devices/tasks. + +* **Enabled**: The device can be disabled or enabled. When not enabled the device should not use any resources. + +I2C options +^^^^^^^^^^^ + +* **I2C Address**: The device supports up to 4 addresses, that can be configured using the ``ADDR`` pin: (not all boards have the ADDR pin directly available, but use soldering-pads to configure the address) + +.. csv-table:: + :header: "Address", "ADDR pin to:", "Remark" + :widths: 10, 10, 40 + + "0x48", "GND", "Default, also when not connected." + "0x49", "VCC / VIN", "" + "0x4A", "SDA", "" + "0x4B", "SCL", "" + +The available I2C settings here depend on the build used. At least the **Force Slow I2C speed** option is available, but selections for the I2C Multiplexer can also be shown. For details see the :ref:`Hardware_page` + +Device Settings +^^^^^^^^^^^^^^^ + +* **Temperature offset**: An offset from the current temperature can be applied in 0.1°C steps. The number of steps can be set here. + +* **Averaging**: The sensor supports several averaging options, to stabilize the measurement. By default the average of 8 measurements is used. + +.. image:: P150_AveragingOptions.png + +*No averaging*: This turns off averaging. + +*8 sample averaging*: Average the last 8 measured samples (default). + +*32 sample averaging*: Average the last 32 measured samples. + +*64 sample averaging*: Average the last 64 measured samples. + +.. .. separator + +* **Conversion mode**: The default measuring conversion mode is to continuously perform measurements. + +.. image:: P150_ConversionModeOptions.png + +*Continuous*: Continuously perform measurements, with a configurable cycle-time (see below). + +*One-shot*: Perform a single measurement, then go into shutdown mode to conserve power. When the values are retrieved by the Interval event cycle, the One-shot mode is started, and read as soon as available (once per second). This value is returned on the next Interval, and a new One-shot measurement is started. + +.. warning:: When changing this setting, the current settings are saved, and the page is reloaded, to show or hide the **Continuous conversion cycle time** setting, as that is only available/applicable for Continuous mode. + +* **Continuous conversion cycle time**: The delay between actual measurements in Continuous conversion mode. When this is set to a value longer than the **Interval** time, some of the Interval readings will return the previous values, as no new value has been read yet. It is advised to set the **Interval** higher than the configured cycle time. + +.. image:: P150_CycleTimeOptions.png + +*15.5 msec*: A new measurement is performed every 15.5 milliseconds. + +*125 msec*: A new measurement is performed every 125 milliseconds. + +*250 msec*: A new measurement is performed every 250 milliseconds. + +*500 msec*: A new measurement is performed every 500 milliseconds. + +*1 sec*: A new measurement is performed every second. + +*4 sec*: A new measurement is performed every 4 seconds. + +*8 sec*: A new measurement is performed every 8 seconds. + +*16 sec*: A new measurement is performed every 16 seconds. + +This option is only available if **Conversion mode** is set to **Continuous**. + +Output +^^^^^^ + +* **Enable 'Raw' value**: Select Yes if you want to include the **Raw** value on the Devices overview page, and when sent to controllers. This contains the raw digital value read from the sensor. + +.. warning:: When changing this setting, the current settings are saved, and the page is reloaded, to show or hide the **Raw** Value (bottom of the page). + +* **Log measured values (INFO)**: When checked, the values will be included in the serial log, when that is enabled, on INFO level. + +* **Log low-level values (INFO)**: When checked, the values during the actual read (max. 1 per second) will be output to the serial log, on INFO level. This can be used for debugging purposes. May not be available in all builds to save space in the bin file. + +Data Acquisition +^^^^^^^^^^^^^^^^ + +This group of settings, **Single event with all values** and **Send to Controller** settings are standard available configuration items. Send to Controller is only visible when one or more Controllers are configured. + +* **Interval** By default, Interval will be set to 60 sec. The data will be collected and optionally sent to any configured controllers using this interval. If the Interval is set lower than the **Continuous conversion cycle time**, the interval will return the previously measured value until an actual measurement has been retrieved from the sensor. + +Values +^^^^^^ + +The plugin provides the ``Temperature`` and ``Raw`` values. Raw can be disabled, see above. A formula can be set to recalculate. The number of decimals can be set as desired, and defaults to 2 for Temperature, and 0 for Raw. + +Per Value is a **Stats** checkbox available, that when checked, gathers the data and presents recent data in a graph, as described here: :ref:`Task Value Statistics: ` + +Change log +---------- + +.. versionchanged:: 2.0 + ... + + |added| + 2023-04-15 Initial release version. + diff --git a/docs/source/Plugin/P150_AdafruitTMP117.png b/docs/source/Plugin/P150_AdafruitTMP117.png new file mode 100644 index 0000000000000000000000000000000000000000..5db0d29c5c298c8eab217cff36191ddfd54bfe2d GIT binary patch literal 510165 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

G(8j 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%0A*eeRnT2y~0M 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

a-aeG;DClA8#;I!mR0J%0C-Q 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%0Dfi9sC!@$@Y@H5-`P?<%>T>qhXVWRgWE^cAK`q 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 literal 0 HcmV?d00001 diff --git a/docs/source/Plugin/P150_AveragingOptions.png b/docs/source/Plugin/P150_AveragingOptions.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb32b71835ae68911363e86bba1eaee33685799 GIT binary patch literal 18857 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 z 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 N002ovPDHLkV1oDKHnso& literal 0 HcmV?d00001 diff --git a/docs/source/Plugin/P150_DeviceConfiguration.png b/docs/source/Plugin/P150_DeviceConfiguration.png new file mode 100644 index 0000000000000000000000000000000000000000..e157da6f22544735fccb2ab31b5f3a90ba74f71c GIT binary patch literal 60520 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 z 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 Scrf-q1ORoY4%Px~!u}tnx$~O< literal 0 HcmV?d00001 diff --git a/docs/source/Plugin/P150_SparkfunTMP117.png b/docs/source/Plugin/P150_SparkfunTMP117.png new file mode 100644 index 0000000000000000000000000000000000000000..bba3e13d269dc665f3de2a57fa4bd4d9b4cfbe86 GIT binary patch literal 340754 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ɒau z5(K}UkHB|};r~_7BsUl?zSJvl&Xbanl zdmD(E%JucRYTe^vjo7 z1jlk#4yP8H{{H8SPA`RjcRh&CP!!2XLS!0FvkW)3z<>QO;3XG6oJ|)q0Z8rB5(RWM*|;tNr?Xdde3&P8y^GDLdM>FZZmDf4+jkj1_vClI zmK4CJJOD?ZcaGEDCqJe=hy<)S5Ga+gns3elKxT_3^F)m9i34CynTf>aGIYf{v=xFK zkm^|OY#DrWJpxzU0ejI6h&=FnBzD(G_Dz(7vz%}5)0K7lbifxGC*Vb7Zw-7`-HBj7 zB0FEx#%o5BNu{td^A-=q=<<53TF|CU{EG%bj@6NZ(!t( zNvh5>E`W!Auj~o%tO#y4$hr7_y7s)wE=D_f*3I<2HBOq2#tAdf$`a13>1dflxAW)2 zvt%*aRxE+%@}&q~zmkCc3Iy)`34)K_3j3+MVE^epSg$>fz^hNf|N7JLzVpK`WeMW0UDZ-Dfz~91+_~h>(!uX-i0Y2D?jzb?H+*F6aCi*Sy{Vftt+ybkRh(K>n z*(^cq;^{c>{=@jdQ!cF-4sm5|kl4JB$S?Do71NNLZu{W@h=URek;? z0}%h-<#RM`c^7-Hy$sb$77)Jq&2_>r~^`3z#oPx8k-t({?~PrIBkP zjcZH{xN;VSTfv(yBkAW-fOfNW*wf%Rg63em28EC5Oz})o>3ZUo7=SlAyBqYARlqy_ zF$3(*{?m+sF)q4I1MK?xZoy_@z~@RI9ZmVmA@;5rFbX)#AUW8m9*1=zJ-6aYbhNfh zN6Q$o`lJKe5ifyyix1#5}*~S#>**~o)q8<+jj!AHr-le9D*xv zCFV8;_WuwF^vHv&z3ZyLY$O%;yH%;huw~vV?^XZ+AOJ~3K~!br2G}LOk!A$+T(Er8 z-AK4{k3MFAIt9+MKcn>OkwmQ-H1eESUeXX zs$9bvY|7pZ=xZu-h^{C9Dfx1(1r{%XZ~3KYT(AW7Gv}gl`ZP36nu^wGGtn}C7MhmK zMDy~+XkNJ-ZC5Nu`wc7L`PnM?etj$aFF%Ih+ULpBdKdP-?J~mgU`MCSx9#XiNN;@p z-oj1$5!|yK?eF~=z89ZB;1Bo1dgx~e-a>}rs;da&u7JIqJcC6`5S%|3*7Su4j+z61 z@i@Z05fY;e%^rnA+n*w!Cq{qpFrwUcxwAt$Y$lU)fnuy-TEn;%4C!$XKHnFafN z@>u%kAiiWW4!!vRjzaJg`CL}yWhTAHnh0LM2?>`6joSx1zXv3@Mz=w`O zpomyK0e&ENgr+&seIB{yx&9&qcdkcQR|JWc3Qf86>=cIIX(`xCK^5KquK;^Z`$3?3 z7xvt84Jwz+Ma87?*f)6^S{E)tXvkEAh0$k9_Km+MXWwwk<7|11J7IEh4g-s(U~>Be z$4wUYrr_%8+8kgsVDA8MN+Ul*08}z+QViFCV>(b8us1+&WElgvMhkadC;N8TbsFfp z%$)O`nF%Xst2e-4&ljQt$h-#rHNncVn5y7yqbgYK&WehTdQ z^Et<40EmO+k*^mCyJvuB@Ha+QTNBXpXAYN?y2O3IMwcCx(RxYC78yqZt^v-O_Y%vu zQq{Amv3UWNaSYg}ufq1pAcQ<^h*#``z48_WPAifie)M>45zP{Y3$%tU8z44WN-Bk< zGIa#-mGz4;aJHc!tgrtf*c;X^|7V;g|GQwX^%Cki_U>jpOe}!klWvGokEdSao^u!U z)iC%oekAoJVqnD}D^q81R~=p@Prg<-gUy%GTUJvLCsODsC8C|P-X2)A42^RZ5XjF! z!?dYrnm!v%Gp3_?-V8J^nuFF$E=KE>E6{N5QZy3CH$3q(1m1fV;rbmio41odlIPTZ z@(B+B;mcb);Rl0=X>C7mbs9XS|xaq3?zM+fZx?gmbI zEMaij9BGMQm5hczpEGer!k;|^cHwaN$B#k#jTa$Q_Gf8s7H{KeHaie$*@7tF_g4$p zbEBXGRxJ+L%`&0ozhMbB?L*Cdx1ws5Sfdmh}IP z+{DHu(@7mQ2Eb$!@qV;eNzbL~;+$X4{c)rSh*JWkTc+mQ%j>>bh)zc!oA1(qu^KNSP zF%7dl2e2J4Af4UoW4ccRut{_8j z^$OJAcnRtsxf$&nUqYm<3LP;o4jzgVIP##7Xc~b`FQn`~-@+{X2urye}| zXnf{j1Rwk&nZe8!m&swRi#S1s5YUcOhaoFT}^b9XRsICpvM9hprH#=ljWy z2)Yg=5Vb=HYV810``Gh7Q?st5hR+n zkXurQSkpFG4I5xL?NG1}t7gw&-x+M|mW}hDTzDXI_5HV@dg(&!nlu4bW5%I*;S%Wv zX#b#CI$*L^FQA^m`P7<0Aca*uO(iY6s{8|1{a69h0ey$18Vx?hj2RS!VH*~!(g?pt zFS3(TAgch*7pnn(qid%Fr~wrt`KV;z0=3b<4Ul$!%ou=_fpT7FimnV`r31AAWRqSP zp$j_pH7fuMz@xVRXKnC z5&d?y^fu{u?axSb#2vjpDASK(;Q*5Upj69BY9+CFHUPZF12!Uow9Fd<{s>pp63`p4 zkF^rRZ)`{S%{B0knTPOqb76fwSC6-+n+q?;lJZLQyD&hTI=5U?AV!so@)Tg@IRS44 zYCZSr8Kgj5j#B|%-q-VF2bdYOPf0!QGIf4!+Urwb&K`iujtcy)WTV?X)ioYshz!#| zlSq$x7Jj-7WSpZQPuuX(@yc~U*9(JvfQ&Kg@~qQyVuOdy6HkK+%$$qnIRx}m=b(Pl z6x5HKh^FzAmEF&sj)p~Zv47>oXuN7E_T9D;jjuk6So3Zi$a)fW0hwb`G`F!GGx-_(qLJV30C< zZYty%I0&9x0{qd#;k|A?yl>N&L0}(k-i$D^>+ap0*2K%H{C(Y3m?9--G zrL{9KcKF}9@Lo6o&4Z3BAGi}W%NL+x@>uK{F#?TqXCW|$T(@3>C8bVf8y?P)sj?1h zjXfFonen@s1*tBWJ-B+287Z^f?s?<}SPj@JfHNSc%N+(-zW|T|-m2~EtXZv`OjV;g z0O5kOsaiE4>S*FU+!Rg)b!KS#zj?i|Z706q8X4UVzgLHj>oEi~9IxYqEZ9F9<`fRO zKyCm>K}63-ikb2@Qu}7$=E5wMHuU|j z9~&6XNYQhfu5q(8$6$V%9J?G_>U^5-${ddxZ}&Mh2yF1wkg!Bz0GiJWf4^!_%sDn* zq6_E_drt%T6szy4RnIA}!Z9KoT$OW39*RHXRQmrE*|&PG1njKU%Pj|KO^T(n_T=E~ zx%56RjM6L{|1mrWsFz$r+(giOYCinK#-MH99PFPt6Lmx)_YEI|`jO*MKXw}GXUq_w zuUokkb=R#x)je0hyZsFuh_Rk+i`2pGgIV_AY?eEAH#>A{SBQ5xl3{(wZn!TW@vy~z}Ykl6F~og^Iipc23=*q%IXwAo!6#Vx&H5hin(u| zi*ap-wf8Am@Gujk98D_`C)B>()n=(C-nu;}&Nx>$hQ3AUyePZ_Xx z0iRzJKqSb)Sq1u#r&SuH#cKDHH+!edVUE#nB6JO$=a1mc zP~xCHpJ+Y4FOuIa75RlNM06*{Zo>9;&Xt1l12;2fJpoNE=5IL1_WZY@YjVG0=C*>Pyq+ zztrM%2#|&0z!{Cov#b40&1ik?DMTN;2a%uNguqpoA+mfa?Bz=k{nc_DiPzu=y;ijP zctmu2*6X{-ScIy!!CL)u#9zJvA)d(9k63-?FxaIf=(>A34ph7?VBhJfmjG>7q+No_ zU4cfC!MV@4^;XX>8kE+#>IA#*4fz4WyaX3y`Q*FNVP}7|I+CXmCpfX3VCa4R6C?(ax$y z$N-8OsMP*bGKpgl1bkdj;@3$)kU__hqO|7=59&BWvpiD!)P0B%a?%MEq#a`*hD#e_ z$+RbFbHMvPONNyzxT_9s7`!q}6F2Cc>K89wipe2AF-tD8*rQM2V1(zB+Kxs~VD96h zC_kcJ&a6?X#$?Z_cdK#YmaR{B1FQxQcL?p2a2}0^| zY6r=556wL%26SCX&XM|3-kC9IT0CX4cMRC;%3~n;afg*V235ga!M{7Go9rC}@cO#$ z+f*YF$WTv_8{-M+XVA93uIZKhJbwqu>XqGda)SP^DX^^Fdo%i=osPSm_AAm3r(vFw z3m;3RvxvEmn~d7gqp)x61iC*J`=`xB?SeU|S+)p!Zd!`{&)fe9U-H_W2R|0YfxZ4X{A*r9^yvp--+m*)S6vDF zl1t%VIUDg8ufd0jdK~)vV{{(=8x9=#0EZ5LfKbaG1lQh=*!#C5a^rjg`2sD@$|kTM zR)UUuSE8$a19_G$NVHW8=rgnD6ik-4IYpgk(0_|AFmTj=x%jrU?A!byIn75Md??G3nO{}QV z+0u&$+zyrhzJTuy{9yLqtW+B&%{a3C07u28NPy`$(>L2q>(03Y5IQ3AUHu< zhYd=GjR2%dEoQsjLEGr$#>f~DSI~DKbHOS7^UD4*n9-jtjk5&U9Ck0kNztJ-gU5Vc z0WdZKA~P7~YGMq`+<6$dqstrC%AbJ%l#QgEy9}Obo0U3`nj&h>u?EMveFEp)bIHEd zs}QkAel6fGjGdTzBw$IvHRAE6t?mDib;H_x$nTN&@_iGm<+RNB&fN$sUMj75+3S-z zy##RDlg24zV&f*qujkgBKQYKXjXs}VZ{QeF2Y}`L2=FWT8$ece?|`xx3?~CeUZ)zm zg1iB9BheT@cUZrCKCY5Y3&P6#+@LOhCic|KHdxN#TLya5{7+I{<-Rg|W%HVG!?7+V zL(1yu@#Ff!H)sUf=g$>juNgN1wPQ!4ZsKIrPnj*L&y|;6j9u4UgnfVfxv<<14@V_k zyCYaDgOE5Eoh$G^`&cL3r8-_YkfFfuUg!U8Nr61y8Z6SyiSgja;?Wp_o8LtI*{rU_agq+yOF%-5?BR=uujiHFtbGZ z?}tYXMaQGp;sbvbc_=}In=8=i=O$>)bgT_X`uEFB?*Ay*A88?Gf9X8!DZ%NM#Oire z7&jnl&mAIQ@0mIl-n%cyrYCR1zAdjw$4dr$yJ0iJt=mP;VfluceZpTUU!*&Y#c20t zpZ|WaH%pw{sInVYVHW}Y&T%8KXUK5W<`lwnHhodwDM0XeVs07P(sM0gitueO(>EcR=6Gfp;`{0afDxXf}(qy-f%EG!~t{ zKb32o>>GKV3C?zBp)U9UB~oQ>$Ntvhuw1e_I>~mmC2QvnC=-~b zvSt`a9b;#J)_|+78n;p4<&2w?Q-(Pm?Dc(anxp}41N>i1<1~gqjf4htT_d26$!9d5 zBkghh+}Z_`WgQvNlfmi5Ka$*fm*AK--{(opiuHQFE<70n9I3Of1Z252La@&ecqh$5 z)0}yzn>+9n*lw3qg@XYdY08YA z2X*V>#QGe(a8#VMJO5-!mvEe96tg(yBlVhSB!s|*R|(wjLHLHN5nizpp(RUUEuV`J zvG>TMmm>DeHL#z$67eUmLgcy&VGkMv>+BrZXXi`beVhB{4==^R-`Edj1^dF`G9R*K_#k+1xEMQsb0@aH z^E+~Nw<6rQMF3wwfByzC0BoVTD<-EJ8EwjF_g}{SI%HY#a3yWblV0{}?@- z+v!G5E`p?b_B2L9jTD0vSJg^OV`BK$fT0M#{2~&OsN~Xfi()O9Vrhm!{0kt@x%KpT z#H+VSuNUEV50RC2MB4pG?%f0LjW@t|9vKtb57$|6O9t!MYymmmzvkGh2Ci`o7mO8v z9pE;ADxj(wzGl?0X73UM^PUtCr?!y}_C~K)kD~kbjbTai2zn^<=an^iVd}C?6QtGn z3x5tNp5oPE@qBz7lVBFl1jiIhxy4kPtl-Vy=la8UOkcFqds=@m5WaD<;hnhzb(4tI zkDrX13FA>UeJZMFOheVeIjFc~5q93Pgn;!$nc&2|v?K@JS0g>O4p?=99g6MRzTC~K zaRHk-`M+G4xf?aXVew|sVDBg5`3vKx`yA_uZ+!>h$A1p%+G`QIbOo#nmm{)hG3+G^ z5MDA1q4`r`)A4Y}&0wDb1bP)Ca7K;{RtXOrEF%vOK65)d+jonM!_pM@$LR{T3fQxD z&w&5Y!LK^?5-B{yk;Y15_6xwBBlY*}CymbvFyA`xo}_UieGoJ-2Rp3*~fd+sBN+ zj*?RBEhr(d&xiGWvc?&?(#M{sAaQGi0QXTpHcx)cnqSYXMze9a<$)<)(SjK~2^O#f30efgL*3_VQ`;doq`LzgK zbt@WXEfV>L!M=LpcvMWEgvz-yQGL;TY+E%SRnOcefX+2JoWXY}ST938WUxn|LL?4F zi1efmb5WaT{`x%YbDn{ zX*UVje{kTdE~+wa4&5H9-;2P~x$q4i10S*YwyeSM5#W3J50(J}p6o(24lP0J^s#8Z z=LWq0%sr^y`jTYk*bQ3+?86+m-M?O|YTL_kAh1`YoR2=#R>vvn=I>v{^eSCG`Rr5d zd-XRcUpO5*#*M-5A)~Q3D-Vt5)0cDtF*X99(0N1Y3oDfrGL~`z#P;<^t{~KXB%ym> zn7xeA(+X7s_%6_z^$U#Iuxr-8nRzpir2yY(_WU}|PH~1ja9(#$PRmn}R@UrDK@PwQ zU^}wTKhC%{#=v|IBh@Hlca4gXe;g(+9t>;z`kb_jNErvd)$O_f#m_s^kz@Q6=rkpf z1GHN4$&vx<+IkF9EcIRTXih7Ua~qf3dVW89CC+DbR`ssvyZGin*h9vlT2Xm9H&4_PUjll912z;MF{lr{ty2gRx9vnO1?^)$K zFCUK>X;*%64S-`vdvJSeO&?WOf3mDxS0TX8RjobwG0oQD=geu1*Y8DpWb1vLogI63rgx}^bn&cHDej*ln0(J``4 z&*vmCWdV|R`~qz&u0Z9a>8KhrMzU~frc6Nd}Cboq8mv;Hsa z@aQb^WpT!h^RE+-b)N$cA4y{GW4B^E8L3^PMqu~wk=RRKO7oA1#h<`MAz28WOic2u zp-6SSOk*#B9@>w^r2FZrtXHc@dD@OCuyV6q1ONp9G?mWi@p|!TU{e8HHE9M0eoTX7 z3=rzBYw9I^MxK%+AkK_f_iu`}6u4PhF_MnH-+;WZblIjU_)2Hu3fL~#yPkl4MklXa zqyjB=(#l}tDHw^$@eCyRs*;Q8=aZ`XbsjSYFaG@@i2ZO#3czFEEJ5UieA!p(vt;mW zRE=k_HmoyNok1DL_eXHjOmuGCBx#okOY`d$66%)*aU%`sgnZ zd-@SXe)}s#e|abD>xjXPnSj7K#mAksI;#EC_f1A11=u}*n99mAo`Cxvm0(PEj)MOef!=KM6xptR@21_d z>jAj`yPkw}vJ_81fnT$4w1u&xTc%b{vrH>AL4P&jMkS6MW-Z%g^#9JqNXtwp)=b%LqMm7p%*#fVFff?0HKNoG}-HiL+pjnhA@5J$P;jf+uB312yh8z+Pr- z8j+6|e=fkD2)3ZpTSFLGg9PDgr>6oPT#Lla{;Lkqx|Z&99BkMF-_ltUp!F7wfM-A{ z+Ir{1*Q*FE7ZjjzU_M$)hM}RP6fKLUq3(BgV%zJFqpj*4#M^dAMoySq7jAtlP0@(a zbMAeoRV7(EAM@aGXMaaa#?h@fZl2uzyA;=%5^DZGX|-a&M&34`O;RoOyITpcF`_pea zie6xS4wz^(!L*p*#?y+enf zV$wwHnmGwu7EHw28|NZa@t(8`;Q6eb-d!U3vQ95;(ye`x&>{HnWdgAO+eLWd-v#W= z1B@NKd(WQT@c-c#qv#nBk{IHJy>5dqy4e`C=9U61AJG5Eua0JLolD9dBf`{U%3c7#|+1=Awy7}or~(s zVnmj$L~`sxt(ZN=6jW)dr8K${FlPW$fL7gJC-*2=Gt(y^&oBW@9sI2WklJ5GCoFNF8YlZkfJCJlW>W?7+vY)J+h+K#zY3u#lM&7tgy{Eq@JTi}jZ%B{Xj=@MzJDXz zNRuxK#v3n1&!c3j^w6vz32L$dmt#|g@2(D`7l2k-OF`HLRC8Wkwr_&2{~s)#U+;jv z@x;^vFuC{txVqAhF$%^5=$_rvebv_+uvfs>|5?8A^-y_-Z#6)x{cr^A>3i^D|&??(CRXArDgizC6kD(UQB zPvBpJ!&bfMa18paQw1BgYa=7ZXWrr8k3vUGN5)C%Z>fm8g8#w8QB*x~7k12XI1_VS=*Jy?F*BHHz*(g%H?5St7&Qjv$XgtG|&Kox->rdXmi<*tYL&UX{r4PwHRR~^nH3EI@cYyW)qp7eWVpl2f`9+7}F8$370VWbuV_|L^I;v zYMK1RaXp?@&9hlqyZ;~&NWZ%O{fm)-^`De|;S3!8q0;8wF8a!Sy7Xt%^z}IiE1a89<2v?rH6$f}ymDNh*qYm-rN_6?OUl>pLW7XsE z;e*cJ{`GQHz}{FfUJo=>!?%0^0%OJtv-kBIf>^KN@SK~6#y+`dCa`bFEEN5|F{cRi z;|8Je_KQ&Y<`dXUUt+j^wXl26xwi=X4_Vdd@K#9P?14xlv3oKmO*_d=({v~IB>(Rg z2kz6DfXX+#25QQ&N2WN&&1ZJyn%)G;+(A%V4~rhp13H*p9-j;AIF^$b z@N*?C)cTh8)tA>eOkZ?s30!h2q-Jf1tm1eE8c<}=asf;;L^SBh;AM_Qq?$BuK!L}R zA{^k?eQ8lqDs~~U3jGYi=H)p(Pp&+~_l*HzBdOU&+63(k@t8s3;AHQnP;aCbqRgR(}JVTP}gPWmig4dkApug^G5JvRQH9CqIw;M0Nn zA6Hk}F`)1M9^LnuZL0U;N;sO0BSBeS1?U}+?`g7g^nV|Lee0>2s6Mkl%FgYB^7H$n zyiXRk<`-bo@IhEVa||}!b&+`fhdP6Fy9e=>EjqiJ8NEXcKRN8S5cpE5l}BZ9l!kPL zKoI2=!?UZ{-RE7tM#wV9za^M^06+A2<~L%%O5CjnIY{A@R(u=p=&{ zZ>mMSu>!Gr@?e_wO0ORd&hkXRj}HF_m^~jB+p)uK`{;lcpncR>v=P_``wv09_i$+x zR(D>uu=|Gog$nv~zp1DQ)eA?V@eg;PdeaN2+58-=n)e0ZTXz2if!cR)*sem-znj** z(i|NExo;t}E8lfEdQ(~*pN@Z>D@HjHGUMvG+yM~X_lmd};L z_|1EqqB6tkMbh7J>a){ZQU_psbs7 z^RQuf30BV?iK^%CCZM;_8Er?jakJ|6zP$qS+yjSGF+cs}Z*o1GES#@oaWVtleQNP1 z|MwaFYgg=q_2``l{`fNZ7tSM~pNYWWaq#Dl)Z)|rr83u+Tfy@P*YN0Ji2w0t=xV7z zqNN7W{d*8?*o9=2dhx*aOQGd+>w7m6Ov{k%~mYuJ{Zrlie?fcmL%6$md ztwW-18v^y~q`H`3e= z9g6boLe%ytg74H^x!}22N@mP*3MT8u-y(MZwJh+|9ezIYgJA?H1@Z$I7A@@50NDV! zXi`jAp3}?|0RRUOVk}jNB)~?&WY!SK{vaRT>8p@@{%v$sv>;hWR=>fAWGyk%suo0d z)grN_5{Y-p5P9Seu*S|q==+7lJadG3@@MA&bFkM?gumewVSO_jHZfyiuk<`m;j({F z2>_KrnhL4r^#c>kW z`orHYfOps|*uQ!T@g4h+sP`jY*^JoMYQ%o`8vHYVjNlK7<=8Z)!p2FnvN-6jAkGY3 zJvkTX-TMNn47hx5CEb)WUKns4a8BL-qL!{;pOSZa8oghOpbRtD#~mY)#`aUe+Z34V zHq*0rTw~#GBRvyG<(pHKz4zc478h12uuEGJ2mGZ)0-e*QlX9^890L0@`eN4wS=iAx z3tO`Dv1VuiRxcd`Z~0p|M9e+uuS24BE0S%yh#2k?z5YF1`T@lB^9Nz?#9^rY`DO5K|1+9)(z@$q0`x6t*!dbN z)<1_p%^K8if0+!x8YJ5HNTscB-x?h1`tn5u|F?yI6cS)bi>80}_s_{i>caNNeu2&N zClj+MMtM;owq+KhB7ZPiPuEF9%qSW3bf9=1e8+Pkl?G0EW@hO40s+&|w~Lh-GGL2l z@95VKxEUSVWz2k`Yu_6U1RAM?0h6;l$e^5E4Eu^3(6yrh$w&uckvNjk7@{#-+VsW< zw0Py79bMrF4g~1_hH|veCs*?HB1FEE5Bu0Yh?P!9=S>g7KWaX)jalRs+=$qf_rM;$ z0D%k0P)+(V5?B5lp{pN2;;LUEborg)K?E~rA^1PVh;e2Mr=E(TGONj&aeDSMNM-aB zBf-Xkja29?Vld|qk(dI5C>t=AV2lT$OxE=LcRU`)Kyqe{X==u)jM6!jb$OPs=sX8b zCE#Cm6FPQO5&$G{Fq&|tPH`v85W;W02Ve0-M9wIH|GXkZfAKInTePuRtacCV>#q}y zK74Gx1YM=20vkT|$hdX&cXHt`o`CSOn-F_r4Z6HGo%@g!WO2&{Da>jQ!g}~m@O`gD zeWJa)IWG%4&mMrC z=MKbnB7<9s2IKuPMcDY$g$R49ao~_nxa;ujkhPQ3vK<-cU|=6);HzH7U&)fn3Uq)y zmCc`)gMZ}kNASP*ngnVC7cGHr{4|;5$Elazfx|??ks_;Xm2sluhDkP#^uh79D64PU zDbfu$Lpu;>u=nG$54G>lmsySq*z-x1kR}~m$F7a=E}RPQ(6MMO9tEpt3_`sK=)Xf3 z^!M}7dTKrzd*z}jyBPHZ_WS9;>T-%uQ!)q@Ge)B3;p}YrYYcV{^e|&lnLfw@2C3Q zXCK3}_El`Vd?q%H8-lH+#n?%ow|qbjs`7~Gom3zI!|a4xBye9G|1nvr-)Cs*rAfbJ zjhy?JGmDITvrqwvvp^*4CQF`Ipk%geBn}2Q0(F)nm{IbDl)>P@fj|PAV+nW`U5d_{ zCMg8!2wBpWml=e%+vVJFZpG`g!gu4ubj95Ik=T>@x<5?k(+|8SrI0 znMgX-vJ4s$Fy=T(PtBD#hJdwqZhRIe4N(rZ~!*= z@|y_ck4Kb%K12+w^Tn5NkbBavT?hZ7xv)>=psRW){2j6vWMnS>oZ%%`(tB1T(Lm?H zj)`&QHEwI3KCjVsKkR2-LGXgHa&A<%((h3^jb@xF0cG**Seg^?b{RS|c4o!;yi*7# zUZ4xu{5XRv&j~QVuFtbxuFPIvs|8k^Ri&N*2jiX0DhK4#S$(<@=pLj!Q-iwlm}>W? zs@BLj@|egs{P}rkj5Ch2CmR6;d?VrTeU@>8LI~@$Y~>AwKWl_!;rNN&^KD=tT~AX-TL~`w?xdlo_;~tRj>A zl7auH!A?g7>;)^uo_&ta-J9TBG9B&1#tPtv3dbOJ-XIB(MNiCwhd^@wx!I_{AP-Ib zOVE%r2>S-)p)Ri&Rm7aj=ZwJKM}LZ%O|PJ}@*T;_iFtMrz^@~4-vYb73=QRffz`Gf z!L|zQC+6Q;{XSyB=9C-drs_C1Vg%A2aAX_4tE*|Qru{ScrEFyO-m?l@ClAA>p~UKQ zizNkYXHEfHPR*3S9D}i3#9u3vDOK!-a)4CEsIgw}WZ-D$KQqulQ!9<$ZkWA-yBmx& z`gW?|N!)%%)?kK7ARYbfA8;so0I?{sc-u>WrXbH1oy;yfqDf->Jo?N+N07iL&?bPN z2!;@N;7Rxg4o9@_U_@_y6mbs$U5tzd2Po;iJcTLYBLMS8h&l0iKBr$yL}#BH&r3FelH@c zw;{&s^Y0*h>q7{PSqS^&LS_G)QhK~<Dvt$}6@XdyR>0>bati7SxJH68{b@9%R$CP- zOLy77b1O_-t6$R%LdtvS>9$rdh9>1vNNWVm!eOwN&+oiOTN*o>y~sGuU=q1i8OJbu z&9m<%El2$Mqfv1|t}yytoQ2arkC=TH))yD!?FmCs_RwXBHI<2k6KUHnb~UlFzc7mHvF!K2+!4eO7Oz`FWs$;R;y8%IP(K|VOJR5Ee6X{2``UE4E9 z*QR?X5cTi`HW1|_sYTkKE&*^2Mfcm?UzrWpNr~}JnWr24mFS6f$G)IqNVyBMA~=C zD6RkjFb_6Kc&p&4-XQLb)n19loo`|Pj@RMYUycty{J?2Wq#wzRj(>4=7GwRH)ico3 zT~2Lk`0d@;GJgyiYbM%jx1 zz2m~`#mqrby>KK@E3C1pyg7(Y*K((TC54%^lak!#D~n|~ofr*W=1_nBusp6;JA82))H5qsrrbW}H@qn!*& zAS}JVlNQ|%N92B|6%iRK(MASp^KOK0ycdDI$q1iZfY@op2%S<$#-s?r0mS}?b0)(T z2w#2&LRa4oD{CSm^csr;)RQho?52kiy5(_17T<#4jEfQd>)Yh{kijC>-6^95oxb#2 zcfgvyOj0TN+y{>*!~4VjQlJ$h!yWrhF5<@x5YT5&jhm&(?YHs}?q7-n&;OB(tR90J zP)pc+YD6J_7j5kb{r+V-mWlHFV6R7IKTT6*P}S5`W%H>*F_!uqO`U%q3Z4qe67+T$ zJ->$8v*`?Kz}Lio*prZ2iwx~JYQWt9yz4=zu`xie;I76aWhmsm`kOTM5M~?c+vU}0 z^={RyTYHk8fums0x_xhWGkOyV%*CF*dDwN{0Bk?MAGQq4#HOrFtQk~@w{^1j)e;9We zVEKmI$^^0oBals=$Hu$7X|x6NiRPBoWGK1Cb8Fkn;j3CrjDD@0fMCN8v{bHxr*0$K z_ivGE*S~+FL(0XfI@m9ZL|~m&A8=O4qP`3GbNUGA*ZL;~Fsv z%tBKGvzg^S^$LQ6CnNsguSL^OM8ewKi@;n!QRE<9xxh%kOr#=W_(6|Oa@$@~PP(Yx(Of~al7n1P=c@7Z)MK&5@m}K=!#j1?{W56Wvk2m^Y-~Xg& z;*qmT5IvXJ`r;oW_QIQpZrp=dSsjwKULqDvu&%oo{-JXbx#tOVY$rF@OANc60Jy9H z;d_3Ej+g!_Ef8dutQ;G;#NGg`ch({>Y__CSa%!r?S-wF=>WmQx^_ze|zp)6OH3HTd zbPmrPp)rON^N~1xkPJErJ@}AR+sZ_%AU8(i;^Sw&V1WPOQoogQ<1#~WalT^l@+WVem9{nxlf}5%_peo=xfzgaJoY9X) z&o?>!3f2nx+SSq+00n!NYfesktpdCn07uU0VVJ%W5My-Gx6S)AMO4}$lSdbtZkJ4a zy64z4v-kB-&$sD}TuHYqJF5@MF6f8N{Rr@Lvaz}}A8$`BLiH>6({G79rsh48iNhc- zg;hMt)K@8l@NlFpb*ZOIxBv0wbDmVyg}~ddAoR0a5SYD~et#2XLK^oF3zUw6HEgWN zI#!kg_J1X?_c!8zj~Km&hm|xV+PaT^-!Tx*1VE@4v_w;{Vjt`e@ODL-|)s$|YH9yZ9 zul9G*G(~IDd>p9TPaxVMU@SU4vHJ)Ca-@16JU84a~U0nxLLEBg` zhSnYpS=o*A%69xUe&u*-ANhz1|&HQE`H_Gbm&3sI%Z|!^n=5g`J??U1b>6(BPE5+r{A3c`=Sg6OaQgy@}5)B0QaEdG%*5I(mM z_Rz_Q{P`{Iqr)IiD^IK9&X>`K76ktM2JE}2U5GloiFD|8zF@ae+hk$peNLv62YV)fam%PB!^b}?$mjpMZ{rvR0O z1=u-pICkB*9F2c@0-l=p2*9g|r8U56--A#~8T|X!)4Gv>el7OzeG83y-$8KyE(BY5 zp|y4m0=1iAH|~)pY7G2*az6Wv3$onc&1WBdfFQkZ`_EQl-Td*`Fm4dG4lj^mjX;AGZ4A=A<^GEqP74o2Q#C=p!8~wwY3t9+K=ek z_h7&F0unnmk-JO`HWrgOL8^}ov+}xT_%69wz|Ah5g6LbT(b;i`KsX=+ycyKP0Z(d3 zx5!H58FWNL(nFp>lf4cuXyPeR;Wyr=i(on;nZpr(^NrLnaOp^C^VmP_U(-PVFQ3Cw z_RjBTLlAu9T}0krk4{^4^$wmqWpQ&eKf?6ctg#CaIlTnovx^YU9*fXr*CV-M8@(<> z`ylVYACrJ|tbvZRtQOIqKaSv}#faVWYjhH*9|+ju-H69S#*xogsHP6y=U#{X(_h10 za3is``LM?>A*Oa6c|MoI%AW&Y_7nt990Ja&Qm?PCq@PO4s1qaL{z@zfN~$OS?lQQT zi&^#nsUeWxR|Xg5saL>&sq)|j>Ou5WZ_;GMq*o^EYNljqmJhFPH%tZXl#Js9V~vcX zuRTeP1A8p;oU7YwVAfsJ^?S|KIm>CAz^tE1k@m@H`tCsNKJNl-J-d&{IAsGfu^}rH z@0aG_mGOnx`MVp5kZnVxtxRTMaHm}EjLUM4fPH|gOZUt5{ok~xjPrMV__t3H*!Uj8 zcike>%lu=eDA;EcvoEIGf}tX-1_=x8d1KJ^?(e~)2a|2w7e|MV3*h_eMb18$@JUU< zmtBqu*vs;{vgTy%c6e9J7dOQ-moAK%^AOG%jmW7(wCL#cA_RU&?C7|BZEbo&7V6H< zMs;Q(F?<62e#G#J?e8ldjM}_X>>)R9$LJz#Tr?g#?!N}@>;Hs!GkwXyJ!H{$B1WJe zXxuKW-$#tUrD`=AE8nI28xU+HFQax7nyXjCTf;_SGkF3#5b*3HhUfv0FtckmV&Aj( zW7E}(ux`d!Y#A{UTS^MCIWH62b8}FZmxsMMd1(A0Gbx^V%E4L9D`%kBemC5!o&&NR znAPB{HaOE&vuLcxHA^n_=!j!@$q24tRgO+P#Yqf9_cv z>^dMp({x!xG~*CUGI4aY5D@NZMCh3};9q$S0uyH-IC(0<dY?SO&0DmCWkfv_6MwK@`3nL=ry+7qsr)`e zx88?jlUH1A0dV$y*r4z>TRmjt%E@?bM#q|6nvKLka5|=N$dRAeqw*5qH?<;C+l)j_ z8{%6l5qWt%LT_zBw7i16kX?wpy9MD_-huVw+YvaSRE)kq;{pLZE_f5Y{_Ijj=3Rx* zqU#YFzY@U-7b4h;T>fLSq=Gl}KLiFp93jPfoD{%DL9@Fw2|x>&dP}_o2edU?MkN)) z++E-|tUN9AhE~qFN$-tgg1Uz3rw4Ai(OLSoQbSCfK(XrfylQ_Om(_D7&e`zLXXQNm z))O;P(W^hUoOJ=p&*_7$z4~Bd=0L11&Bd$Z^0DK$Hxiq#kXaYurnOQ@8*k+xZMk&H zWhsZVatzr2w`AiOu;;eN{;fnZ?!E>71sB0LYN`}f`M7d6mvik0BS2v9&!X>j?g%8; z{7!n;GqY#;CgE+6V$v7^e%!ww2jhNx^6^(Jb3EGkX!jv*#f) zU~1L3Q6O0r}d@64VSVMs?m`R2B?E<-lC*X3#Au z!shA2u<6n%sQl$MXnE&x*p+{kfhWQvDD&sf{>gU5)6qB-w}z>^D$wkk=u!#j#>bJ z-(j#X7%V@s*rUG@Nri)$ti>~MnE+#O{dxr0IGmF!a-4N;9=tMhF2}7*VZG!a*qR^ zynmVg^vvrBjG2kpQ-44w>;44VoOP7o>?4+%oWUaOkwin@R0<@Yi_rTUk$iiN$SuZu z5M$uCV86Q#fzfkd_b)-<+B0NtE=QJOPsuSVe)4vz>fwL(6*;!fP#lr4Eg&zl z6B#?1Y!!3@+dPBT7n0Zj&!mlc)uUiz+G){u;ET{>w9WU+5S)D#f?QO_DY(aRMKb~a zvE&sly9@_*?nXyt6T;i*LVtG`V!wP2p`!V)zLx{<*qKN?`5eM`J_-LYG6X*w1p9jh z2otymPso&@bAbB-aopkL0<980mSa6kDD?NGze)a$I+}hu`AC7fS+(%W$Twy+k7;_P zzV{!4vZ!&<$k2M3`0%40qve*4bN!uB(JW6SC1VDou>v2nlvtR9qyS4I;C z5VPk1CAUei8`cWTk2Y^sW=|MkwEI-YOOa>)J9K;g7$1N9v4Fk*7XWIDS~GYf^{f1>M`iyU)Qug7>Y+oidq6g-GILQmARoK)3b1R)U~DZd!iI6h*syp!%5PbQy}$h_ zD&Ke*O`D%XpqjwHaU()ao1`y(w5d#b;Rorlw!LqXi@g@!_0MDbL$_kXb(dk|#dEM> z`gm*|I~dzWmY}StP=LNXvk2QV^Rc&20b0MGt@+$NwR+MF4OeE*a*j4R<6ADEvXAE$ zwi<}z=K~q4)0_4Ka-oTYquC5vK%y0>ch}t4b!!Is-aYDcMGBbyGEBSN$BpywR}ehZcS6DVfkDg;+d>kBtR^ zRkWcA{(J9-)vuVqo>=G^WUNmk@aR{7$OHGudpcw6L8v#ux_i9Ai|8E>!9R2Y;=g_f z2ltVi-9)UUiCpZu8pPMV2hY6u2$BaE9z@}dnJg=;Avt8QDW!uwc8M! zH3zZBA43;QM^Rfn1t+~x0?1?(WZ&(?diK*k_Eiz9Cd2>0{RqGKvb>K|FEyad?~5Q> zR)Mw!%MrNb3ds~YkWip!<0Z_VLEobHR93?O;*0V*I+{I_M=#z9dkbOpMEHD%gX#sa zgd~|v{Q12+bX+Aa27Ep)HcaA?)HcGp{uc;;zfgwNN4YYYep~+D#Yp`59Xhv3MEN@* zV=aYR9JIdkDRTQqA$;FM=xiYa*G%8hx;=Tpb_y&%lYp__;S2@rxu_e{Z$R=P84Ya;nn2VQ348*!$ zTuQ`k2f{5o73^C!%7nXE8-afN4n%yrk!&x+-wr1QTvb~B?~!yq{^)afH@%18?bpIP za}L@EjX`_od)XgK`lVX< z%PvO|>~+p#a>rVD7ED3=7;-yjOou&gD&l=cBGzXVu|f^h+H@QER+bb}1kN5JIn$i7 z*LGqKs!r*Ts@!7Kj~8~ACiq+Fb;Qhs; zvF6I@SbNg~Y`OO`Y#w*7>z2&K`gt?4Zt?_d z8d@Zh&GzC#Y#UT4l1+JEau+YiMAd*Cw4F`B)|0&tm0%RqwRp(%sh9N2o?2Wbjn5=d z>-2b$lsMH--Tp7>da09$`kQ=g>NvJc)&~(edu9 zIN)s;2Ahmn!ZsO*7+^Rc8nSt!k}XT39#Thv?I(64)RRc!z4qkX~~q0w?83+NZQ&V6Trz(t*9ZkW6;Ue)xT|9r}Es zKfVcT>E-C!wvEn(%1lyE;U|x&j`scLc7*>AbMFCWS6y|Dr_novp5CVSKIwswLJ|m_ z1b6`{ii(ONRzQjfC{3CKP&x@6LVBO{o=h)y=Jq<10*JmZ;QIF3`~2okeE;A3>Hp)= z?>^6Y=FTnWoO{aJYp>m&dL4-mR%n2m@>6_QJvvwJLSm_S2k$IJiT z8ncm^%JLPYP3I@U-~jP7h4 zjwh@gkdO6)1?+|0ug%QH%7Q#BDlNwRaryY@M*@&L775^QM5ul_BC;eJS1Z`F$cmCK z!T!_EHiM-9M`RqQeEj9FU&6m?Awoa76~6Olp>_0RlW|HWDx>GDZhzrum2+YjPebS1 zk0I5v714SjFU`9&1vA0E_L_RxiUY}ZeEH=+?zwzzV6W4izWPsmvT-TeubPFX@srRp zc^V>kvI$|RyATnq){DZ2{AxmV$L_{*DB6!9)v>k2PIRRlfZO7$c@1Sh#98rXw z*+tkUZvNJsLd}NRmc?$9<=9v<8taQoP*YZfHRYvPIkp;0CRX9&^TuM~w24?aYZ?|` zasifIJPS)_O~v9V=U~Z{@mM~2B9@OGhc%$RSiY1g{#F?UMpbLPRZz1$M>=*SoYtO%`4ca^-T-X(xrB#^N!h@ zn{62vtXj0jUkvIodqeZS2MM5NPeyRmI7{97&J9Ss{v!76-faQNSj_V0JxRhCCj*-V zQUU!1A0aShHo`x>3;TunlQmngv0WvI=$h3CU40W0#ZwVEvsAl7Mo%e~b60`rL=O8{ zrXB?|UAm&Seh%FZKKB9w=bn#P**WSF1jk<@Z2vLD{`9_rdumgyveJFQDE3EFnrCmC zzk#U&r3Rb>hQiy_~Yo9exVL;rq>WJ9go=9 z^ALafIS=fkUYck~8F#dyQM?T=w!sV@E}9ZbH#v&I^EL5ZP!#IE(`*>{& z!asiyVYZAoRgUS=rFyM|&zXwkrnT7Lb-;qxUXd1y+(PpgBP?D}r@Ws?CA~~0iyf%3 z4buq8`3NPo$V;Uq8gMNt+o$a`x_n6lpPi5Pim3=6SD@D~uQQb;m4tW&S{~S^0p5bI z-OSxf#dH#nlYr8J+(WhcZm^ear314zp{k>gr781y{V6%vFf0S>hh$*wsBD#SmJ}CY z!I%QPd&3meu6q;V#`Os7S)v7(^x~P4t$&+p(ABX)+b4Xby8Ztf897>T`qkg?*`NOt z?TZ$ONB3>`rcFcJm~*`u-DL=5mZKxPN@sO5&pt6{20mT>vTF3_$3D}2* zk5SO~A6ty}lgr>APz?VN`LU-IqV?2#)XTCrr$oR#7h4L7u(hZhn`I&EW`Wa2R7~~F(QDe&bB=7!;tBZhTt{d zL169;2;cSt#2)!I67SDP*LDspHXv1&&-{7;C9>PD-NJ6a`x69z_AAXSVZc?HwHE*l z&3_aAb7vzlaxCHl#LGFMNLxO{hn6E)Jq7VM=c`1*!XnBS315eTZ|JdS5vUepUV0un zuD?x~B^y;GtgS#KruwxOWYLT8*soUSYHDPMF=%GDv_4S@a9|4e#1B9b8lc@Jgz;9RNIf(Z;duIBlOFM;6JVqku$0gJ!1?)hs${#e;$%+ zmunnG4V!ub7H5cjuoA&<+#<(wu>g2Vi{Nyh>0x-sgB}OZZ>qx#o2I(bSkNf3$y+#u zXmb#OM_+)iV7ews==elRNWCqPtDa{!z?1E#$%%ry=bfhi?+Nk-^v*+Yiz7=eFq_V~ z=lx}`vu#4taoN~7d=%CS;Ma&pzgz%+ab7k)s4m7Ev#YW0wFfl&jw4K&f=!8*J+vs> z#v0eiH7J1Jwhmu>{)xw^|NVgP;s#8;Y+vvK{NKA7E$5vF-9N`IJ6I8&i!bFhmTWc6Fku}bOHh@{xd7J=>M-Y+Z+n4R=F;o` z1bhMZljM6xvR{iacviVuiX<1iF}lItTU?H_D~s2{D$T97W?#mX%nMLf--qdWS-Nj* z+uQm2y8?cnp)++*8=a{uzqtvK-#h_-)da*xmLOO;5%DXo5C;F6>iJATG$}#=gmOb; zD?09Z2%%p;g8fW=q|~8+=T}x3dh1<8CtreS?nH!#2#AVN=4{vaz#@ds6C4LX z_wdR!XuI?qh-S-8TOc0a{dd~-<@oa$a3APdMfTLf|FioM7$D5Pe}xsH9aV(j=t)Se zT4I51uN8xyuYiF4`^(UA)pgka@dw(9ncHRzA{MqRB%TAxNc?RoN6{E~)x8WVYetfv z23D?vU1IERxLZ8xa{Ya-@|(cyg0$>+Lsss({rEjg9i`I3y@mr*K! zUnUH{1o11U;qx_bVm}iRe0Acjw4k%2QSRXuW%f)ZKbQ>v>zO@|YImOfnvdYSd={Ff zOh@3dxrk4_2(iL*5gjoO5jMIyOBl?MNr;{`9)8}OCzK$3vRv$^3X3`-Ux#e4171iN zTIev|XmSyXF{nQ)54#IWRnlQE`JH3NW1BF1vii*>RoY{IodEd;@d7rKR-i^0Sk0(B z{eR=M$*Rk*9F?O$&rW(9MwDRvup(^BDZ|d9O0*7R4;IQcWb4+1Of`94m`r8!Tu{rQ zXI75Ar)ieQ$?rJQsxX;#;AX^HL6ucZ_GIFjzO zJmW`0#OmYVW;uRW+=N8-7(~ymRO3dVXQMR+=;Oy1>dl#Y`wbjqwQrQi)H7b!7n$Dc4MMUJo48VIYWGVKrQ)L zHT!)6&=yektCtgdYq9Lx6-d4HvKkrvvcXu(a^+W0`6hY z0|+yi+<^%9^|6=XA34dSNbeeTfUlanR}l5z*}J7HNK%lg_R8+9r4e$z|pA zlti75-`sBqwh60WH)5owUalUMg=M+f_^>1oZ;s2y`?p`JO%Z)NK0=7am0REQGIBO5 zvuB_-)ghjwf1Bl?cUQ{)`yZj!Ciot`7yc_RL&x|jXf3XSFR!|LVPMuT*G(X+2whj5 zkI&aFuyKTeM(pSP8Eo}}v(4b}l7pSme`+l2*8}#Tf@2k`oohcp+hymYaq4vVFP)>z zK3Q-s5*d@Uk9zQAxp{^P%RgN#T3PU4>vU z!uq!rRiSoxHCoOpf&Zie8xY->7rgZ((ZCdI0D2qia9IQj?3!C&Nv&PDK?%MrQvF#!YSj)w*Kd?vXtxVdcyfy7^QDb?CF<&!!;0mM&lp&5avo^R!iis19FBY5t`8V?E|Riblc<3q+GQ9T8*qH##v^J}f9RhH`o zQnfb@jfw)l0ewmgjmjl;J_LU8TN@2GNLcrY?CW2k6|cd5a@>zDLr4rk{H1yLgvN*L zo0&MWznwnuhTd6*;1oILWM`vgKmPcl29|kjX{gjl$@XJgcOr1(_YoRZt=(Wb;Vg7g zKEmgV7qf1icxx#;A6~9MTRa5bS_1zimm~SobLy$7q47Klf_O{}CkyJ5+jb-P%o7Mc zbT>LTuMl_NwoT8DMQsHAAUl69+8~Bg$Uev2im5e z51)A7%>|Y4zXH>zTBc$c(^YQ80H#G}K8=ytxp4Gyty>c(x!mgM9 zOc45O0ejQy`GdYf*XsAseCaeaPoDw*<<}s3@myi{=PA=tWr43n z03ZNKL_t&m{DUxZyVXJYH5bFp=_F#jmXU?n!7iI}W3>%0LB|;dniFr`C)s1% zW7G`BvVAZCwYN*H%u`?|z?-Yfi_-)4UI3UtXTR3>M)ym*GG^$0GqZ>{jqbN=VCHF{ zF3ZNT`?O~7Rm^%|PgmFlX}J!T!E;G+-^Al#*Sv$<*WD{|ld(0b`JRZ*FL*fi~pYms>U zPYD0&7x2q960DSqd*XRWeE2a^sV?(8n3Y3MArL}%{(G9YpL#=F+LX0(Fotg3Dy7x^ENh1QMBUyoeot14FIp?x z6n39A4&nZl)&Pyy3IpTxMhmMDd)DhGB*v9SLJf(q}%<0fDva5Sa5V?eNLrDB&~Z@0oJ#TzM__*Egu)qhzIqgl!nw+7W(Z5dw3sN7wuB z$@@vK1w}w*9R3~-N00AmMDVev(O!KH0-0hw{$mb0w{1kKi)|*X{y?Q9N=`d!5xD6m z2psFp&?SNCGZ<_|Ot3ZpcP$gRSnvFFL6tKAhqC=cnY}F}K9+%Fu`Va)boa>dg0wUW zJ5R~Px?v-*X6Pua7&1b8_I_a=o*$o&Wxx9l8aKX;#?A9JNE@zQEP%gQ2-ufSlN)D(u*31H(}&KghW}^*^P?>lp+L942n< z;liRcoiX1t4kZf4WLcD4BBzf=$8ceE8N$K}&PSwrCL+@>QjM2cChfDYMEls8XdPCH zj+2YLnWWYxSan$a>uK|BUCZsUn4u#L#oe_re>P69dq_!dudler=zA_Mebd%MqeT5!_T}ti1ipPU z4z@LG&l@L4xV8yQ9b~2pgQA+J?FC&mrIDJod?xzZE5b5nBJuQ#s{1qBMS;L;mKJU8 z&|LfYqSabGnp(C4@po4uzH9^bw;9lwN5RTizk+XS;bQSBeuU(jt*R?q^DzrDCR_dJ zc=R#&#!l7|Y~fP59xBEnaO>^p+PYhrr-Cl^b?VI2lGw1zHT|GSDpB z3%~FZ0@(uWgE?udR0#wBMg~@BPo2~s<|#uav!@Z$3?9u!YBi5YjK_XY7NW zIv#im!GcMM(-ZB(^Ur?v1q%Lgb|rk~_g0&ro{a@)$-ZOr7s|CKo<^<^8)0to-#w(i z%Qd0nv55M`16Z>W!P(a%(!WUCA;izFMr2445_80`HSJZfx4^N1c}$LX@YN3xyy_cb z#Ftx-A|6{BMbGes>zfdI_IZ^EVg=%j4X+fISSW^4yo;_B4nz`aOjQj)tP!5`j> zz@RaDy=#1^H~Zocl&#f)BPnSa$G||VisSa*)S`@gL> z4b2cV_Zo;zCk?_%@yuCRwQ6K0mSkt)!~AT#R+fbYH%>*(M~|a^!&`{#S%P5gLPYA8 zAlxW`-(G`HB6Zjw+JRK-I((Y)dl=__N@pVf)U-js>)y=rS($_`nLU6S zurKDr!Or+URVDnjfIT0sKMrM_)=Q_O;oK=`n|&Fg(=SD`Y^tX3G2j&%O3hyWo>+x; z0oMS7Y5nEKJW>F;Hv!*VT7rGMfM<}Pe;9{-$aAlMJV9C;j|ux`|8#bXbPc394T;sI z)c>Q$i1Cp1rM#SC*Aty>8bbV>fGBgcb*1?fY0@?Aj}m?S@sR* zkn*pUs_PJH{jTNEyQxI(e+TH?W_s$9fxTA9Y6gx?C^8-2tE$!hIP8qb#h5;4tw!Vq zVL&H(_s?;lsX<&iFFS+z>Oq1SZ)%^{?U6ul)uyVKlWFeR4*xfA5%xJ1sdqnCus23c zz_TE2v_%+jYpY5hE|Z3gQpfgr`aAV!P4jD)?=-a`a{q$}TzVP0Hg40DM;aZKN$5?q zbRhWLYY1HRJtV(j>xU|pmXtBVPd8~JK!X%4F%f~TDb!L>u*Bxowsq2?Gn5o zvi6IYZ3drt9>Ls6%H}DtFo?|YiqSJG#rU6tra@Pi!K4OMJP4+jhR0rj*r+P) zagv<(4ED#Yl3CA7&^)H7te-vp*?cW}j9hyI#Df@Eh}dOwk=nIQo6@N_BKsVb^A>Fl zXl7FI@~hOKrsRFiN(xxZ2>zzf`mJcY{<{c`D7P3(hIkgj7E=%1*S!xqyd}h@ZGHv& zz%9Q-@NDsl`qFddwe1S5hH62eUyG`|tQ!aX-I+Q)C7m?z_hj^zWADJX5=M zHycBr+LRCZ+q7mCn(w*;Ei=wXOVv05`)afbi*L`bRDf@l^TfX`*@B71Rft?a3#pIi zX#=!G(@wc2n-FQ*jaZ`x_R&^+O3mIQ+W*MoYXf`tNG*Q{O&3o`lep%svo1ko>TD$P z&p~{^ScFfmLj1%EO^stfHhhfSkVnanJFX1DqskHNSE1}WaCE7FKQ(=^a))s!hA^wX z@)-|cZ2}Yln*rQx)l?ZkBSX-csbtxGt-XPc!t2B8Rm+378KMMz$}=1%$jMU02Hav$ zICMibd2!h}kVIeS{Mb|Fh9GnAC$3g6wx~6rC#zR>Pj7?zJ^R*p+hdnXV?>s|=JMt( z^TvjDJI&q=7k7PeOwzHwq>{fiZs!SCOQeN5L21vSl&LEAVBs|d6K zwh4&nbFx>>q2IX~k>CDWJM6{BUxL(#nFFRR9DBd7GDOJ!9mrg|I zA74`ju11gE2e;!7A-HN4+V8s;`#=6jn0Lr(1sLe0cHiN{K3@cZM_$yqps|xI%O`fs zXq~tfA2$uLg&(OgQ?H3egrLm8>x*wAST+sup_K^9_Emmj)=tFQIIEEou#YUOLGX&3 z5gt?}>nsN2A+a;_k+|vxr0O_>AZpFsq6X-(CLcO}|AK1vv5yy7Cs8lpOK&C8+J?ZZ zZ>d+oDrcrNGr$}kD)+(nzAcQm)rPou**#HN!drI3f8CG8OO$KgBQ7r2-r92vRmQHs z?oF%u@0m9a=zIQ8>Blj8$MDnIy=CUO&X<&KMySW^(m!cr8svG+@k6niGEQa|mS)M4 zoiFS@7ta@EV8P8ZP`Bba&B|H5;8ARR=Y9qG#Np_^d1PuLpbGoOdAO%icos zWi!w?Nx+^r{<*UdA6A9b;RSNTlqiGXgrU%hCCb1E)C0*?hN7Z^2oDyB1O%A^R`;ZZlP_jjb&P z_T6(xJ(g~PTNYnsruF@9Nyh@Y1bz+T>T^ynV#TH1oJks;{=$x?3E(~U06N#K*7gLQ zz9wNdED*9znETqAkleNr$(QCKaP^hiGdnD9J_nGeR@ErjGrNO;NXaGI)`Hj$VHAzj zkG+z821W_SEIv{h#ixdVSspd*`q(k9rFp&{C6+va4jo zs#fK%Rg;AI%$~@;s$#96b&>~DHeY`i{wXsMyy{AHZCKo{)+pWx9vu&bgd=pK6_#b%=k!!A(bG%k7 ziB)n6SpYZE;z#hY=ix76B1EB0@e+?AIz;Zb8?P6ysvcdP76-7{ff$^P+pU`U>AQ=p_<8rb1$eCq+o98|jM=+B_f}ZNhG=|` z%$_}`cE~lqYT$6J%Fe{{QJGkgk%vXO*?6lk3olMAz^W&1NAtFK(YoU!YPAE?vv$;c6f z+N_DQSP9Yu;oxC~I>b46w8<$1^xz5dx#KGgoQ1syj~0;cOJ<(0nLO=B=Ii$eQHfc z-85VSTgpN#^(OH1yK!Nal#Z-Fj@N0>v2#i{E)A0!z8V0_(y^TU9#ys)%q75cz_>|3 zdINfGZB+*9&3$EHP1bXyxWS`J;h#Dgkz1}u=qI-!bk8pkefGBqKm8CwKl>3PSI&Vi zSB}LQ`5F)mjHuR_O6U3wCPzfA1pu}3m`|AE3oj!2;5|6dSc|Syr&WPQV+zvRB7qf~ z@?P}SXA!vaN*%lq8(OW^w!!noV_5!y1~KVrxVVA#o^csB3XnEEi-BeB9;u#!^_bE0 z%eNOIIOisGzV)7ft2IK?05ateUn|1De-6QnG0MKfr&a5`TLw~NC&&$xGZwMOAG1st z0Z;9_Pmh6Vr}N%KaKZ(MiW?oi^QZWvtz9c;34+crb#{oi^7bMGC(af?6wj{zXp@J= zO-5?zhg#TVP1lSmt8V_>8=j{j*LB4N9QfdEF;dAx2Ayc&dBr9KF25O}QL^u+i-$FI zf*Rj21F!=2G`^ZP88PFlZ73f9BZ4>FjLywl_4m;5X`vQ}*7yYMpL_}as_8niQZvks z5hKDlz;|v@}WIG(M$t(}K07OZtaRSUWjynANjaN%`H_HXT! z9n0^j@w+zP#^(Pn@4k0BGlyW$b_p~BJ~15JZmW3e>rWnr)mhn^Hch}^BEbJq_6WRE zFboT>nS$C?FKM^ij&1M5w|PFg+EyXBcPWzf%do$FJw6R>)d^Oq*0uP{C!Ia;s)wfj zH9T~EJ?3WEi(g{jfiBd)BCP(#n^1qwxoE5$i^jZi)#;gI-#Vfk&4crV%~zqlbi6S8 zO8AO}*?;RY#5c?rBflH*x^1f4li7coBq3_keEZM$Cp@P8k3GH?uy+q0#IAK8qV4io zXgqJ4_Owq-o`qC~FsxI=O+BGh`-jH{jZav{?ut0&XYR>FsSvt3m# z$+G}1vv`D26SxiJt?XNMb_HR|Ggc_VLEtP!H;Kl!r%b<>$wFlGy3jLV{ye<`20&$< zG#J4niZs5Ub7s{*m^L4z;ZRw|q#H}Y^fY`f%!hY6eK(+U=(J<*Jr@g(8PosoI=>F2 z=$jri;Rc+rc*`2BnE~N8<3}=eH4FZeau7aC_H&^8-VFIY!^DURNTQx6~ljQmZU6SugCfW;r4c+>iFE z3PeuN(LDF~F=9-39?!@{c-Bn09+u-^Jf#wh8i)uD3grpQ&DTCR+E^@LO}`kJ4W~1P z!Yei){Ounh_1*_M@yfMyu!e1Z1YVtwaP}na_{fPLyEDWTrp;Uc(%I{nx%+( zGRo`k!GF$Whz^(QZk$}7AHJgojqMX$)((5vBgAB#i*brR`x*kp6Xo;bvF4N_{>ZO!AQ7^dNH`4k=FtH0mOA)ve*kUy)3gSK zqYlG4qY=CJelvbCj&Jl>IKR^tLGY1z2;X*_>{Fdh{qiIpm2t#aM#ZZLR!l?S)Iz;S zf+x$l7$Tm?_rI?xx2eupcdkDTdUV@v1aAJ3c*`VE^ic8gJNTde`xaKj4x<+J_W zSak>s|G#+XdI<8&dG|aAuJ^CJ#I&FKt-iDVU5@0m*+`9=h`4}eLI9qiA332+b#raiD`2hxSWgb2e$D_YS+b@< zYMNu7<~XyZaJM|;$v65P>h{#l)ez(>NE6hlu~QOKCNJBe;h-^LoPhF?PMYd%%%0%x z3`a*F+ZP4)cE~% z-IX%J%RYjMc5|{R13Q(3wiAW zx>_2vr9kMF=di!EPW#Ds#jFK`PSjdaqf>o4-+o&MwZvjJD_6%aG9K~zJMd>uP=f7b+cRaw=fOU%x!3Um(KZ6zF`Fh+!H(iedO?CEJ#wJ2mK}!uj zzHkj!?s|?V+PGEl_H0 z6YRQk*KE3Kwx@P)Ef$)v?M zFsvP#h1J6DS7zpFkNbt$*;tS@0`safQ1kTd2<%vhmM!n0VY6Hh+ula3VI9KtYtXS% z$mix)a4@h5e~#`E@LaB1w})8&6f^#x9@_r~G#>UJACZG@W8cc!ogwJW0T5nJKHD6q5y;nV1QfK>t%%it zkhvdC21?+j&MyYwh)VS^_<3XO1WPj%lyTzyXrP#u>E+?8hVBJTDXTE0QioH!x&YHZ zT^5b@5$~314h8!|-%DphIKX#$eT+ArX6M-F`95E>*uY55FrtxUFC86j?HL|c-fCf* z=NZNOcz}O~0QiJy=vuS_2a-wCwpCLOYF>Bb(Z{SmO#c!s_z9gU=k9DV(kIeLW|%H4 z0LXnw^rBI*fVlSB?^9~+m`{_}NKmD;bO>3{N zMC87oqjUKpq;{>>9^PGhgw;Ixdj!T!MB?EG@rmqPXDVhzO7Tu%aP0{E`d)+vm&vw^ zjn(s5aJ$D8X!UUNxq0Z?zfWbV?)C!0YT4^PGVL0~M+l=HP>w*!7<9g7gFvJ@rBl$nkRB94E*9vdhr5 zb+e^@dd7wlQOM`hs@Tr0Er>kvD*QM91koq|q;rKecEJoL#x?jIri<3Mqx~oMB7DPj zI9SW!J5kwB&&cretpNm|m?xgtR7A7J>$wRZE9Y4}m*{WrvjQy|SYh^>m(SP>Mo3%)$FPxp+BeIObiDhuV*R3xC}*G_8MITb*0G z^YuEMJY2sHyO%zL=-zj5uw#?5ex_s|5={NScy#OLUm56gt(5L+U-<(XzjFf`&YO&e zYRkZB$P-qdDFkv@skUZmIjaaw0}IhKI8WGqDVnp35G<)g>W**Xz>cMIeKm`L+No9M zNg+cF%pOd%<3LQn{y^8iUbFv#KabIE*>K|BKcVTOY0B(7F1Z|$=@%k4O4$5a;`$y_ zp@7dyM~+rg{hJ0rTy6$7sfBAWmH|>~^ps7s*orKjjFpCRN-ydPcS|+aT~IS~JoZE{z$RSLTW|$f>6QwXli$Mw(Czn>e`qAq zXCY5Jn`QkT?Q&tpPA*jNq;cjk zq?g8AfBt4;(+uuq>uU^<_Wb?vepyH!FX#58Jng?9;jj<^R)3LrOXA9gIM?@dIqzqQ z0nR9eziJ{vLK4E)UyH~^a}X{VCrov;u<)sf-F*jQ;sHe8dIj;@CJ;>S@jx2?8W(FfG$$7kDM&Pc&dDV&gJ+_Sa_oI zpdJI2n;3xRfRbHJIyEbDc8NBDqh`-zMsLXV8;bhFh(7narGkpL!SFAkM1d##Y4k)FD;hsHv_@|D++K7rha-C+u^_NJ392GbNdd}>}`E*Drv=< zS`oPa3H1;-lHs>1hxw`=+D!SzwWt^_Mb9hu&$rWr9_xyW*B zF4K{Pd)Lj!+W8Nlt>#rZr(%3tYH%R1vwN(c18K#65`NY74`u${pYa|fx9pd%ulE4m zPd`0~h7aCC(~rN4Ju_yap=tse3ae3@TY~zGLin--1Ba9&dRiqq&d5WH=d<>sJu&#VTQD@33b$kAWF1HuVbim*Y8lh5#4SBvTeZ^fX;& ztc0I>7J)oDK1Z1c<%YMIOvLsQHbC2g#hz!wY$MOexP^vR89$#>YdmIJ001BWNklgt!PlbL836r}s*BYv2*iPqPJ6^BpA(NdZgXF>mNUd3nuI(F;+PDURpZya490B^X%d7{J?2}(^wyr-s zf&;0zb+k+g6Hf5B$PyA3|IF(GrUIbjCgZ^RwdmZ}Wwi|qShEnVBaY}3e?(}gTu1U7 z{FG5-pA$d(AwH91nu>O+?4m=}8Ji&JvI8iOx3*CbU~g~LznW#kocLf^4R3T~E!waC z9-=pX3;XJ7EoVMtX{}nQwYLs!j4hm6q+XVKx2Ma#7L7&t_V1vxu}-}Koddw^sE(kH zNeo_kBf|Yl^}Kbb4l7Y0Tld->cZ0mejO;JL-T<8h#IkKn+vj!9_bkWW)8{>1KF#d; zKG}VbMuVQL(=%|(=hX3c$>-LbJxqs?ugWUW*2l|Bi?FyTA8!lrzgRdNulI~ zI&a=cEn)xfjRTi2|MnIB{O7-*W%Uv?-v2YyUU(_$swbhgMD{DQ414oR&{D)WN}+nn zLBYcIvx?DhW&wNyi_w}>{ud(svhyyy>i}~ElBIzB_3y^Hbdi( zmVf5)^?V+bN;p0-|~ z)wImKAqerNCD=RNotZH-00ek-(fe8&qyZ3FHMM0tt#7T8s--b=|;*+&_cTdW_xv8lB5#s#n) z;Ol;HvKNgVi`p18=eit7Q;wn6ARY*_tyE9$P2l(X7>PlkaY*#0mqJO8l1Zf%(W$W! zW7a1NDQ=&P^;97bCDrf?0f}9AEy6RdK&)a05(CDXXDR#07)bcYT(nOZi_~-XqjS{< zNN!(;&fVLQXxOD0GO?%Tp?ydd{MqH``d~gj<^117r?rhpbZJY9@O_V><236|s`A+p za^5CQ#=&(vDsRpFm8Eg$%VVpLKvtcp{&W%3!e{>%rx7~pQZ9a`@ zX!>a&teHTu2034MJ_7$BOFz{bl%vHX6R?lpb2s+2G<(5quZDp^-NozCJpC#Jj_0*+ z-k8(tRl@PoCV6dj7ggzVms3xv#Tzg#?4AW!?lTV1?YWb2dgj^l^L)+jMH*YS8FA^D zJ;9$@KdrKC77t;~kW8!|nV~I^3H&Q_@>SA#H$M-5EX&06msVichmXNuzZAY*A8IE| z|L(7+3$?X^_SD%b?=`MN>$Zgm?s#9>KeKfR>r;SJW+j4|Vtb6!mlGfHOTBipOfJ_J&bh3YDlt&lX~OOun{;X_ae}V9(K~te|Zj zS%i+!)kxfX3-;Ho2ItL2+x8;fUaxa#W6e92-FHS?@aIob-hTXJkFN#n`7mbxB@!RJ zjE0NPNB#5*(0;{#ATj%DBs0%J@+<-S!DGatl`62a(OH1=H;=EHR9(SdS7j8U$I($9K%#ZAXi)4lx$#KKS;(?F-X4`9HUTfV^km!+kB?RgHm?1b)tSaO66zx|*{I^#9|E zEild0-@%oLojF!BvG{wqpGj{2SlQ<3Vz8>lBRFLyA{SqR;Pu}?_?tH&Hf1(qdfnzA zb;Gsj`uI(Bu6Q5u6(1ofY%cZIOFC7HBtyNJzBGbz4GorS|C`sT0XfJ3HH({6KM(7o z>8$M2)7FMAVfOnND~P5mUbUZ2O8|j8?nUaJ2XKHxN!&0L7HYB8Lwg5;kNyFE4nyf} zjm@-g(*QXxci)Nqtg?-nS3%i_Es*0|_MqdcTXb$Mj}!M*fw+%dV+3Rp4F~X!)%Oh0 zlD&sLk5;9h-e;=;F#SHgIN8VY^{s-|3_z}d{bAX9yfjeTi`h7y#3Kvy?)kkYd2P#) zBe8bi2&@^EiIt=BuwrCBmSyE*QFadAE6&BdvMkJ-RgCQ~-H8ri^&DLoZCa%a-@kV; z{B(#-YBphO{~|OFD?;;# zGPDdWKobMBW5>xk`xXxDS_SsS2@A+aTkDnOvt`zN`(EHK5vG=WC;R@ z6_^-9r1YUPXFYar0Byl0l_%7ASgyNc)%M(huLFK#v~Hld1&i(G3NpinOum=xi?L;X z&RQEAQ%`I4-3-1L;|1>j9$J03VQ_4JqyejX6vItI;t-Nk#a%o}j@=b=bUrNEsdic9 z(jZ`e-vfw@ptR*lGu(bJOUct7L*A11SWIT>27T}M8nD}EjJh#14?jaIGw@P9CCSIjfd*_WpeI|EEB9xu^M?N zc{yWa*Bd91Wy615o?KT}pvTXtN6Ai=Ib#tj8jncXByD>f%&630rv<1zk|5iNomhpC z-0YDnW+U~|ljz#B5eEWodaS!z8=oUyzvhBPcSm%VjgzA+O^}Vz#XA5Nyk;nrmJEtJ<|nh*#*;5G_Bpj-)HF=XYo|vaKe-lYkC3t^VfI~r55oWB<7)$Zx;Dedtt(S)em+5J6|9esXaZKLi7RT!Oy0KmZTpfzi%d!p}XsKMIZnFWkZiB$mE#KIU zXkhN?^B#!1Or5lGNrQd&cfI|0k`U#ExE7~*25@*Wk`LdHgTf%=9E!ml^VU`beswQ` zrx|!TLzmvJWAtVK^tgGyz2`nSuy;NB(}uzGLbzV9hCqLBACq1zqljLB9V5yzcKn^B zW-$+@mBtxx*55eF0`O`CoUD|sbqbo6+Q;Gw%)WB*26s*@uED-Txf+n?_S6gN&21ES zpC|5@)_-`{0u+CGxOsS)WX-#K2c<-u~iXJ3TaBX=YEn|X_;E#yE^*X}$-H$-|c*HNe99_#7BH6GD``a3{ z@JjpW1fq!C|F{5mx!yB+?B%xyP8@~gy}!W0&V*G-GsA~EKU-03-Gk6|-$nEU^KLZr zMz3#YwA1k+otLcVjKFWzvIKOMc{qURSl)9y2LnA;Z(6@S_kz0K`uN1PthGN;Ep;#?Ix->gi8UC`&EPPxr3U3!> zVgBTDEVy1*qrG;mcu(x5WKGCu1R{;wvGe`cvGx8tvE%A1v3vS7>=IU9 zS6+c#C8es-*A2-hn+c!K9>r?D4gMJ=+`8(sh0GnkVDTMEhlP z5SctvM-me3*&AHjxspAz4RGIV1K)n^D4DC-FZ^FYx1VcS;00CPUzJ%*cCjF==f*Rb zdsvZW&@ec~o05h=E*Rc$nuf{ZtUkPPEl$8#fM(vXKTdB-L!RsF0gA1k7oFt?+fWi~ zX`BuSI|gmQWq@ZlivwTF?qMcQS{JqEXYyULV={Vvh5*3;Vn4hx%6KGodQx{YwK)YlpP0VZv@LKka+odoqod%6OOhEKm0ocPB+h`Czvav z*L9nI@7R6X8}Vc-&l_=Ukp_*U9tnzE(uTmmS&a$%3VFYklezd^$_hG?ky1ksAXk8< zm!SH-7mM(`AxcLM#CZ;tkrT}Ly(252au4G+y=VaJJoA{_`Q&1~i=1abgVE84K%S1< zP#)3_rrz&%zn5}^84h|dX1r|bnMqfnqjEL-sH49aqO;_^LFIbAt5@33%i^jQdBbqyl7--50M&mpyQ4HAprNANN+8vV?`Y2`JIl^Cw* zw{OCyVi*`uPOwi;BBu2U%*OH0nA4q_YnftBUa^IM>|~g<$LJXW?Q|*EC#TSzRPA}i z*7!_Wyw?fSB`!F2Z})_Oyluk;gIzG!jI5J!_*%OsE0O(Ex@?v2ZaQXw0RAxTd%q?l z8!NL5Rli@HpNT~!IapYkkNK6^cxh}N-nwooRz31f)GmG$p`Gs`(Y!`mAQSZCAp!pO zortt=M~8sFzi~5s4I5>tLA!VY9ZehIZ{8$Ke-m0ai$PfOI<~*~2)5k+6Kws#x3J}s z^Rav4Wb7V43A?JQvAetydx|Rr!99}1z%d14+)GTxVaxU* zd1xG-i`EkP>|Hk^vV936d$%L7TRgwES~D^c&NOZkFRdMa`Sbvh_wS+jfBX1az~0GO zUwrYO=zRAjv|KO)^_)R_;bn-OHv^rS6SP4U^?LSVS8%7!PUgiMo7om*`5xPHAgk$; z%!%*iG)TJ$EYN4{o7py|znkmL8__ao%p*`xqt1Ugr5mqMOV>la*Zy)n>K*iEZoX-V z2EKV-DyJv)XxgUNXsx&Hzpmc{d}F_9_HB&a)4M%z)6s_V9=mm_*Kuk&LKCk05^((*`BXe4Hw`Q$?Ou)0WP%Xw1@L^z+ zM$ZPA=W4A3J1z#tj6>p;KWP7VHU*3PX&yp@sy)E+g1uaSA4|_uW2Q~tEVWY&fO;lb zD#67MHwJ8)y#a~sGh0CP+($ElwtkQGd*@g`+uOV%SJi31(Rv9fd-fzEJI+?@=F(J+ zvAf{%2=yYPM^~Dm)9;(Haw8?x$n;{s)*9$JkTye-?Ri9e?$vwHYoI}(3`Ijkfc1Va zuK~-dvfrp)hIcL4IkX};GZ^M^@wr~3-PgH!Gi-g3IJ!b(EfFyWq2mNBj?G3#j$DgV zXCP2@o;FmYv7>Qx23GsT7mP*x!8@>T**i$ATMo{+O)gu6(1Q=lc|TXLYwjD5ZA_0h z_t(iTUf#Uw^^VvWxl#R{Mu5lKOBGhoc7a+-I+QyP(fj$olYlH}+YR(yu-Bfa(=d7b zwcttvy2EsYA-~fmpWAVCCRX?NdgxHrk>jySz;>xH>m_;FSX7*c4@!jLk1oZl=a%Bl zxf8MEjw?~~+|PuSKZ%BQFQH@CB1Bu(A=J7N!IljI{F@OE?1I0(2F+VPM#F{=#7Ml1 z9dA5=_0QagHTT?(_20b-o3FS8TV_qcHo0$h6qjR1K_PY*m1B2yxdMG-Rx#QJ6d}Mg zTn5bhSuF#v8=st4Vp8kb#i%_a3ylMdHAqWczqPy+zB{i+`^p7~)Ui%rCz8#3#EbLk z0CFx}@gV;E*(Zkr@&DoRwSc|$gkb8C7@5?Y&!X+(nP{3e6D_l5BRcIOB+92DmUFI- zi(~H_vJcfYkK{oxU}pN8_M(xCUfDgtno^0EdvDnq2Hq|(N<(0b-&m?KGglbmx%CR* zwr+df83G3T46M~V=tbtw;x4Zbj~WAKWX#3qO-F`qpkn)EKwzxb-2{g&wjTxnUf=v) zWQKBqA61ORb>BnRl6BZ$Csupic0^xz6OlXagMZ8=@QaZQvt_Tg0w^|3n;s7}&Azrh z?hj=U1qp%!Bh&;s6@Pfo=ORc=YEd^ zb+t(T=0VNWpt0a@H`Z;kib+n!%n1+#43ja;s8Oemp2$p>3^NYe%*~5CC^#5kI%DYS z6Uh9XT;hzR83b?LG;BToc7wcU@YJL7ya?T<{N;PvJdQ@G7n%Mb510$pkQr!EMv`OQ ze3{v;;488ll8aj9F+4aEV$m4AWnR23e!ojmL#2{25aK0FZDU)?NQs5+SUPN#6 znAP}rfX-v$^6d%M?swaJJ(<2^>peAjFNo{0`E+pBBpj1?EKQi7b25%&`rQ?_y`7|E zQmgZ_HAi2wf2i?iVDk~fuwuX{EFU}^tA}S`L)93pDXmbZzdSD&i}UgX{EM-$vo!IcuPq6+M z-^KDhfu3cxBGeLHove(W!8&Co#%ir6h}TEo-NYUMIj}eH!SqQd z<0ufwZ($qS$Tii*v&xo|yFFMo{S9S^cIBX{t)4F zE=6E)1rq&Bg^kO37+j9njW;5C`PJG&!q_gs(hR0!s?NwUxXhLg{EVK{ekPar`;p0- zv_xQ|QBanz`{)gE>Blw{E=$R>cN~*;-hwR#uJ)Sg>D>~L_uSH3t!BaAbB2X2CdgPB zU&+uEOZA-kkJb7QGc@w~0p}u?HCe7b8Xz-1E)&UllFoxOgEPdo(QRa`C3Uw~;r$-% zXVeYsE|bay)a|qGc=nX+TvnE*&C&x=1MYc4o|ojn-u>Ux7}$2~Sn9Q|DXu2hI0K~~ z4TIN*(JOF0n#@S)b*|U48L6K8?Bp2kk9+PIy909lju+UqtQ@N&={f1jv46+%UC`En zJ;6LJ=NKNO`{@w;hoe>2zxkw*+76kr4y$e11AlcEXHFMlb!Hw`drHBlk zfY6yGI*V38S3x<~EZ}kSy4;MxBl5g*YHH8UwYF>vdI=89oy5ZT6rkPf-C$26zzeA- z*b~Gvv~a_KJ=Z2^u_BkA13iwuCLif{6}Vk?0@uTB*~OY>Z652U#;5@+(>ck;om-j^ zwjDUD0v+G~DN=PUNW`Po@XF`YS*F?{G8nfq_{W|`p!gj1imZpffe_Ov2>{GFrxx!d zDt(QBL7-;Mf*k*@qEptHM5-mIV+#{&x1(!)9rk^=0)g9pj*f~8wcTyBzidYU zk3mIB8cuGr6h<<2%h%^H7=o?lsQ0B#&h0WqGECm#j$?pO*jKJQkgrmy~vj1z00&$ zeR9AgBu*ZU1Y2i#>*YB#4L@zfZJiF>)3XTDKrg`D$Bc`Uj*KO9{|17Rl=BGEVDAC6 zXHXntcH2-Et=l%E=wu-KjFZ&Nh`3{t2K%92hgELJ%kI+k80hnQ;W^^5Fknx|pWOA_ zlcA>>xdF8^2JUw{mT&7x8-O&pr-zd}_OJQ+y{Of@qAQn+?}1`(lW7g?`8U^I^A@h7 zxzAASIW_}Z`e$J6fZ2BC)C2<_d5P}5!{I%;)rNvAM;wmbe$VfO!Wu)fjl6VQ+4P14q|49+rGs)I)4hcoM@I}}nQ zK)~;~?{^5~j@PyYEF9B-S|4WcWGQ%Y(id-H0y1v~)!9Ac=RaG1&)ok&=R2>Wi{p%KDXoTX5B#AA8TF7&R7@G`aye z-6-zR#X!}nl2!}(b4G#%i@9!kBM#6^x^T?dfvd6a zH1Jb)@fbf@d9Smfo`q)+%oF2pwT5=wca=9((>7M!9S`Yc*-UA`HP6LIyZMQFO-6rX{p7kDh>p&AeH)CVZy-Hj69q)Pi z-mn0^g1tAa+`K5;F9Z3WVDBUx2lQ4fX$+s~nM}D9Oy5!})i7vL7TYXa#*X&Z=lY#NP}age-F727jnTQrX$i;H>p)3as!Abw z@Q;~-{VUcYb>LHUamHwSz=me**n-67)!@V=7Td6*RSRtD8`1HdA83VSxPLjqhZF3E zD^n)hS6QN$ffUP;HJtn^001BWNkl<~37o{{9DAguZD_M4QElYxtYOy2Y(B>wm| z5>LO0@Li81@}plPc+;JTTzV_QGp|Kt#&w8Hyb6J$^E6ML#+2)})I>H^Gw;de**odR zz{$32!BGD7G;}TmU+=lGerCb+lz=>tBO&mNJ!2WM6UQJfgdx&@G~%a?wR792)Qm}Q z#sHW-lxM$}eTzIM%Jo=`zyoFlOvVYADdNQ@G+@aJXXgPJ2)l`7Jq-l^8i=w=m4?9? z1oyp+Zcujy!deoWhOgI~g1R-$bJCUjPWQemGamq#Kxn@xz-U87%$V43&||7KBWBoo zGVyM(?lvs8Jy#_4{|)RtKktINJzn#^Z+~fEyp&A6Z`{Ir%cMc)bt~xWJ!hW2YlYnX z874r8VP`Y7+T*ja_0&;Vf9eRV8!7-lGD}(h8vUD(^_3OaHhvN|lnJ=!h- z#VCkj*ibqe8;dHivAPOd#!bY=oFZ8Yu&uBZJ1eWPtE3z|ib_!{pJm5Nk{gwc6<5qq zX#z<<;$4>RFaOuyB)_HOc+>1_2WF#gm^{xYMct@E_$G}-V&45oG;Tw@wH}c+0(~8l z!A4!k@RQ*t{N?k{{tk)%=f~Fq_Ixn$l7$Dcc@LxU!s%!bkoV8M28qk(AbHLuh?Gr3 zv`}vHfn%&^$dQarGe2I~^XYP3}Ui$NYcB542_Sk?gC_w8Rpvx}=d|@YaIJrbAkl zpEWP*&IsuNJ_h#g!Zpc4L7!<@0*w0v;8`@o2}hjI8ejSm{NKA79hb~T_~CnXx)kS} z>Nvn?9FfIK;hTI30wuyiFZvE5<1a^O;5hA3&tCGulS|Qlc9j~>SkV;3MomV9GgD=W z$?@_J5r+P=AIo}Mw2f|J^%?~4x({6&H)*=1w)Ne;9sZe@dmfFkJ?9lU_n&`_T^rlB zmIq>lue=WXx7VU8zE9Urk0jOL6Qk0A#Ks+nEnSb);u^%>d>k-PC zqN%ye60%^ptAe$dgkz#kw|4B_n5b#-#!PwaEvMcxjjVcBgZr9sLt|}{gZ1$-4PVzs zBf;Z1_#FGqeF)-1^>?uVOZ998OOr0t6Cu#*|DI<-Aomsna|irGO}^=V-3)*Qkm(87 z>#RggGk$`k84CxL?s%xTLSx2bpkPm9<87~d8#cd~-y`^`l+?X#8UhdeJs@_+)_~hQ z3Cpo}eVBSOcH5=_wO1kQ?dKr|!aH8>Gu@x{0N>;-Z(X`x^Ju!|QW6&>XO^tt;%A4l zeTxg3JW9#Lk|;Fj+jo>O{Y*3*JrX-k9*&y+!?A8q7HS4&VU7GWb3R-`3#Li zHv+&stNdxE`M+-|@(*O0GMOH*J!rBYwl!0!>i8HoMwfgZ69Y!k<})=&*7G3ab%& z{uv!V$3|QH45vZ`Z@UwT-#m}~wH-*+Y(w~#+YuUGjbQl+r3KMf<{?m8jp*TC z$|iMfg0I(Srsr>S>57Muw(9xM0ynQ2 zf^%B;ch4R3cCiQbI27CscnxT26g-K?>zCBipeV5Gy3F%&+cF^bVoho&>8YA0kp_H| zY#h+{Wb1s7g;hNbOV7_6u=fP|p4xqy*}HZ2l#Q&ymUR#Y;w~}3y!b=)du7skpW8jJ zGO^y@Bw}_B+hl(m<@xr*hGF|D!?81`5SvEjVC#@9Y#y40ErYYM@vKoQ)ojSlSN6WG zyc*j_70XhH-J^<7Kcon4!z$n#Sc;C5OEj*?V`ZtbBs}?MY&;{>F4ts-;Do9J9`4W( zX#XE3sGM3ZU@xA*&^*)$$k!KEpsA<|?NcTQX}(uwoKW*_1^RH~E`(clE3=RJtf)!{ zssF3No)6t9TO7aoB42$(jgiwqd3d4yZy%*mCeh8=pqY z7d)M96ReEbe^{RN#p&mPEt&l>Mfx6FDKLA$f24r_X`^*ct#&u;ZB3NSqMEK}ZH@ffNJE% zJF#!wE~GZ^Lge9R5S(zn7@m3P>=4gk?OL?YzFgb=QfH5zAjja0V(sG|%s3bRGpqF? zC6KzB1nTQ1Bgya08;8WwkFo#2XGq3V+P{UxS=zFfT^~6qicP*a#5@w#5rs4iu{Swv$C>&$`>You=xJEG8NV}5G+172skc?erq}NUbv;?eY3ylc z-$Rb!w)uS;C(l!GKyF}vwn|3svuTibL0glp9KgHR9q?PQc9@gQ zL3wC6TL4^uy0b}tqM^bI5dZv+C!8qSB`I>=K zJ51R9hypYeRG_hFG<;JhBKfBW5U$&x0oq{w4q0{~*svAJ_PyFVp)=ycUq1i00-|SfKB=(A%t;8HRc);NFoL2rF{2d> zF!QCK6*;M^(>Gsb2pu#o2Z;wzje%y$2m?N$R4dWc5cFl2ybSxU25Rl(ce_st%slu8 z_|6bm#jT}VTB;XaLw4OPQowiXu-tnqcyT>E%zbq60;ktGkhk}A{VL;F#)E%I6%udE zN7w$O4WSkw554{h0%NBlmLbP!ST#bzApC`s5&z@sI@p>`ufh%W2>js%B$ltzPKz8z zm)x`s?Z0|Zd(v|zsG{JXFop-@5CjE2os)$OPOumHINHn){+@dz!3>L}-Q@*v&M`}f0dxPt{Z#M z{_@$3HyF5?WaS2Hx4kK4k zWAQ1n-6V&MQL)ctwEWf?J4&+X0qA}0dh*7i zGpU*V^|+b-Ps6}{r}4=UJU5P`M1Y`v+;FS#cN7MbUyX3M%77MLI_KEU4%8HJ9%nXV zJgES_4z0Zq?wkD|>Y8h0wIc_X6ro~xp=$M&g9=p2shuXo=jl7OCr+TgQm0hKeR6LK z%TEL<x&^H^Ek{vFP4lesKHzYXIaqIDc``Fx%}EVt<}Zkg1yEHiu6Rg z7o-^gv-W)5r|u>h@DP=ryJVBS_tyP)ACG+Bm4)0^$j0o= zFu1yX>tW?I1a4KWBNMf(*BbauVzPt>-dirI)^@_JdT-eWJr^__M(B9$D>iUmHL;1LucI||Bw5uZ z+tSB1zSz#0%h7o#4xYsA_aTz>`93H@lI{69jHElq^AO@m=`gBrOG$S zU=?EC3jFym-~TfV|Brt^8Q804|Kpz#+xQ@=W=uoXr0MW3T#D#~IfxIQjCenjZ!`ef ztr-3j^Hsjll*=~O#gd>MYR7Dsfd=H1Ym`k7*4$L>ag$|knlWe=V%fAR24h^HrQ61v zi#M^`%Gd?t zuSEey443z;Ttx4=7l#C3$?8-7Fp|5!MPSu>aDollJ?ET;rwLfT|1p|lN!9FQbsqTd zyhGUd6=xOi+0M2v5tz3M(R&}p;dryMZ}wH^*u5C%mx^&}@c9tF@)j+UV@n5R*V&d& zuiCyCff#%0^cEI=;|*dc;w{5AQWaJ3UA_Unkwq%|M0yr!!B}|G3dFC!ABo3bN9xHp zk-p_YgqEyBcyKuqr`n{m@W2U(6wgCsz!Wv|yeY$SP1#Ii_PJ+ARkzxApjByS+YDYd zKXbE)l%+c!0hz8_kY@6ZNkp1CMZ?g>SY=CmK;;~(1z-;x16`|*HR;8G+N2{(={06* zQWre}H%QzP-%+DM@V7vzo9?M>UcsE1NETeS+5^kL(N+bz9T)JAl#r|n*(3)7o*UG) zG)yOsp#Qh>Sh6kC$g+(b@NY2$uEgV}XBt2s3HX`dYzEZb%$|^OFJU%Lde&0JhE7E6j8TYm7p8nd2_nY{s~51>Ik21# zb#x(u%zjacg;i!bT5U#GhpmVM92(C45^^vt+HLvp?qG5TMKW$)YY=uX0&ACQ*1t82 zxA!ee!;y4!n~tkSi`+5aUT=|uctN?}VHqoCNElGE?X{M2$m$6yT$e#YveUq+BM@A6 zE*dH-RI^sV7GRD%^AhUD&OkJOBK)IgA$sQ@G-F4Hig2*BF#EvmcfcoxwBh~t6o?hj zsfBae5ofeI!$%bS`5u`*hmpwo!3!=%>XXmV(Acct9^bnc;g?=h*+&Ol%M$ z7ef+@iNV_bEqsetA=a-LiC(1&^q~dp4gVRMeK9lylSs-Vvv`u9eS^sQn-Dv*9HHTp zkht|;Z7q>_>?MRRy&lnD-igEmPb2ZG-yl46I^x~LaP%)nVEkOfmaK<=*i@w37lJJ} zG?kVaLv1Z9iV{hhQck;ED+X)J^Tc=%M;vlsiWQW(5{d?GnSJC)Ke{bSMgod77<#@L zq}Q&S<`KB^gMxosr*WHtvH==F*?`vAtLsfzAm3q+UBs*GNMlBlV?b`7b+vtCy$Zq( zFt!AyoqeEuLon6$!vvf*ydQdK?S~o&jY&9xYz2GsfXo2U;AM=4{$AF|aG&)xCvDO( zJo=q3XglC>-QQVHGDC0sp~l& z1+NEpKa>D!pt!&3_72{7yXT@}&`4AbEkNafkvKRY50%3TQM+IgYM#Co{yp2^+5NQ! zXUXgvlS0};b?_eiR@){pK>NS>`$@pw{rlVD6vDr~2{m)(pmOG1c$ch1V%8!ghfUA{ zChDdiU#!iXf~Uyi@g)cd_y=fBl@+raCN+7>Z)cx+wo}l|7}aTQFtL}Gm3n%X&7HMq zw_N}{kamyOSLnT*5rx&6!- zHEY)7Rs%9^%`UJODS_*E7Vya*jrfZ%qDkkSayk)v$k!n9);kE@^$3#BzJ6-lzT7Iq;hMn*4Sz{3|a+l-^74B1D7?q(1%v%^?PK#RCZXoh77M zJIVL9AvkF{f{WMU&^~cv6U}Jw$8>U2x-OvmnX0Tq{K048pMNPDZhjEWU+hG3M+K6P zzXboN1&E$FLgy%Orb4)2mUtDjm3)NH;EdL>+AoOLShAy4PBYa~0ly9ZAEDO*dkCpC zr^8gtE1>b_wPI2YV+y99YbR5OtrM`w*lhp~jevo;$x0ayfRCodn}q2;xdx#Lw2nsKn$>3v1D{)u8*bl~Buv_Is;$GW-hhF;$t{^Io+DU4w|xYocYwYH_-(+s%j)g5j8vq=$pOp^u`_1h!me8u zM;muYmZ<~WuYrm^p>D;B2iixUhV1xK1db!AbBLM~*flbjA&4%i%dmcn)wsa!g1J`u zJ2<1?@5n~P7?M@j<0sg2sL6ij+A|wRn0(t`3TV^|I={$HW#iw+_8;;uRKqtT6I^^-B z+mtFh$eEKx2IjDOM{~D8kEMH=3r4TOg0|{*sUa|#hQXee-W-mRXmJ@G&~NQ#>Z9IZ zmfp!5haL$>2E_aXGq<4Ek< zDFz^^02}!1Q^Y>|9F3ff8e#X#5F*>ZLhzca5xIN=8aFgvS(xY zoCP}!DHde)E=2s!yL2DZv5@^XF=)Z{8`Ka43nn4;)U!AgO={*&I^@-X*g6MSj0}fj zr)xY2{qA9eZ@2}AJoSi+fuo^fe1Sn{HFREKJT*QfcZx9(1JD>0BN2}4n845zFCtJd z1>rO0CZBySnqPPu={G(___l`-z3E=rzsHfh_V);!y&9qZV~{vnuFWnbNOZ_oW=~f< za#AURIa3jxundtotKjcfuIDi!zgb&6@S5r{R0rtTz!j506kywuwVSbbXBlW$O3vYJ zSE%n1KtsyDDG$lD-bKLnlAr1CJrrp|a?=;^javZDR&MEtnQc--3)s8BOLngrLmByn zq{D#NDsl}tNoZKTY@Vlj09kHZ2Lt)c;sz))8A0xMD(E}03;Ueal4Rr5 zv}E>uM`}NN-_OC5p&-v*`UL%0uwG@=zyA3zTHo}q{{1vy?<{2Y zp?j{^>e-rw%XCszV&QT$j-H9gAYp+cCLlIw3?jWpA#_HGg1!zJKPF!%R}oNsZ8$94 za@&;w%X@)#PSby3Tfxr!pBn5)JxShd25=d;HRi3I<+3bGL_u9owgc+U^A_FS0c#ou z24pfuf$ZKgZ|uZoz}$jB4v;%mz6JP|4VZ<`=!q6|(~C_n0%u#y$?Yiy;1?UvR9~%N zOK?`eCaVoam96WjzBgBgN}W9V z)@uljpMh}sOeEghjOONM&3{kq+Xw&eA4PiS9yBMD>Inos{Q}8PzR;l?6wl{A@?CIyxTwm8BCDAat!_ny(ajq-D zpPq;Yr1{8WSnWgb=eHm*d;*%Dc~yRAT8%0D4yAojG9Y0dNgy@osg^6E_aOqqG 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

?Yw)q&FA}F^BA^vy!A8(=*o#@k(PX~ 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 z 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 Date: Sat, 15 Apr 2023 16:59:54 +0200 Subject: [PATCH 11/23] [Commands] Add internal command HiddenSSID --- src/src/Commands/InternalCommands.cpp | 3 +++ src/src/Commands/WiFi.cpp | 30 +++++++++++++++------ src/src/Commands/WiFi.h | 38 ++++++++++++++++++--------- 3 files changed, 51 insertions(+), 20 deletions(-) diff --git a/src/src/Commands/InternalCommands.cpp b/src/src/Commands/InternalCommands.cpp index 11eedbf91..343d22d4f 100644 --- a/src/src/Commands/InternalCommands.cpp +++ b/src/src/Commands/InternalCommands.cpp @@ -320,6 +320,9 @@ bool executeInternalCommand(command_case_data & data) COMMAND_CASE_A("gpiotoggle", Command_GPIO_Toggle, 1); // Gpio.h break; } + case 'h': { + COMMAND_CASE_R("hiddenssid", Command_Wifi_HiddenSSID, 1); // wifi.h + } case 'i': { COMMAND_CASE_R("i2cscanner", Command_i2c_Scanner, -1); // i2c.h COMMAND_CASE_A( "inc", Command_Rules_Inc, -1); // Rules.h diff --git a/src/src/Commands/WiFi.cpp b/src/src/Commands/WiFi.cpp index 365e5ae0e..bb43966d1 100644 --- a/src/src/Commands/WiFi.cpp +++ b/src/src/Commands/WiFi.cpp @@ -55,19 +55,33 @@ String Command_Wifi_Key2(struct EventStruct *event, const char *Line) 1); } -const __FlashStringHelper * Command_Wifi_Scan(struct EventStruct *event, const char *Line) +String Command_Wifi_HiddenSSID(struct EventStruct *event, const char *Line) +{ + bool includeHiddenSSID = Settings.IncludeHiddenSSID(); + String result = Command_GetORSetBool(event, F("Include Hidden SSID:"), + Line, + (bool *)&includeHiddenSSID, + 1); + + if (Settings.IncludeHiddenSSID() != includeHiddenSSID) { // Update if changed + Settings.IncludeHiddenSSID(includeHiddenSSID); + } + return result; +} + +const __FlashStringHelper* Command_Wifi_Scan(struct EventStruct *event, const char *Line) { WiFiScan_log_to_serial(); return return_command_success(); } -const __FlashStringHelper * Command_Wifi_Connect(struct EventStruct *event, const char *Line) +const __FlashStringHelper* Command_Wifi_Connect(struct EventStruct *event, const char *Line) { WiFiEventData.wifiConnectAttemptNeeded = true; return return_command_success(); } -const __FlashStringHelper * Command_Wifi_Disconnect(struct EventStruct *event, const char *Line) +const __FlashStringHelper* Command_Wifi_Disconnect(struct EventStruct *event, const char *Line) { RTC.clearLastWiFi(); // Force a WiFi scan WifiDisconnect(); @@ -75,13 +89,13 @@ const __FlashStringHelper * Command_Wifi_Disconnect(struct EventStruct *event, c return return_command_success(); } -const __FlashStringHelper * Command_Wifi_APMode(struct EventStruct *event, const char *Line) +const __FlashStringHelper* Command_Wifi_APMode(struct EventStruct *event, const char *Line) { setAP(true); return return_command_success(); } -const __FlashStringHelper * Command_Wifi_STAMode(struct EventStruct *event, const char *Line) +const __FlashStringHelper* Command_Wifi_STAMode(struct EventStruct *event, const char *Line) { setSTA(true); return return_command_success(); @@ -94,7 +108,7 @@ String Command_Wifi_Mode(struct EventStruct *event, const char *Line) if (GetArgv(Line, TmpStr1, 2)) { WiFiMode_t mode = WIFI_MODE_MAX; - if (event->Par1 > 0 && event->Par1 < WIFI_MODE_MAX) { + if ((event->Par1 > 0) && (event->Par1 < WIFI_MODE_MAX)) { mode = static_cast(event->Par1 - 1); } else { TmpStr1.toLowerCase(); @@ -116,7 +130,7 @@ String Command_Wifi_Mode(struct EventStruct *event, const char *Line) return return_command_success_str(); } -const __FlashStringHelper * Command_Wifi_AllowAP(struct EventStruct *event, const char* Line) +const __FlashStringHelper* Command_Wifi_AllowAP(struct EventStruct *event, const char *Line) { Settings.DoNotStartAP(false); return return_command_success(); @@ -124,7 +138,7 @@ const __FlashStringHelper * Command_Wifi_AllowAP(struct EventStruct *event, cons // FIXME: TD-er This is not an erase, but actually storing the current settings // in the wifi settings of the core library -const __FlashStringHelper * Command_WiFi_Erase(struct EventStruct *event, const char *Line) +const __FlashStringHelper* Command_WiFi_Erase(struct EventStruct *event, const char *Line) { WiFi.persistent(true); // use SDK storage of SSID/WPA parameters WifiDisconnect(); // this will store empty ssid/wpa into sdk storage diff --git a/src/src/Commands/WiFi.h b/src/src/Commands/WiFi.h index a7ad2e511..6cf4acf65 100644 --- a/src/src/Commands/WiFi.h +++ b/src/src/Commands/WiFi.h @@ -5,20 +5,34 @@ class String; -String Command_Wifi_SSID(struct EventStruct *event, const char* Line); -String Command_Wifi_Key(struct EventStruct *event, const char* Line); -String Command_Wifi_SSID2(struct EventStruct *event, const char* Line); -String Command_Wifi_Key2(struct EventStruct *event, const char* Line); -const __FlashStringHelper * Command_Wifi_Scan(struct EventStruct *event, const char* Line); -const __FlashStringHelper * Command_Wifi_Connect(struct EventStruct *event, const char* Line); -const __FlashStringHelper * Command_Wifi_Disconnect(struct EventStruct *event, const char* Line); -const __FlashStringHelper * Command_Wifi_APMode(struct EventStruct *event, const char* Line); -const __FlashStringHelper * Command_Wifi_STAMode(struct EventStruct *event, const char* Line); -String Command_Wifi_Mode(struct EventStruct *event, const char* Line); -const __FlashStringHelper * Command_Wifi_AllowAP(struct EventStruct *event, const char* Line); +String Command_Wifi_SSID(struct EventStruct *event, + const char *Line); +String Command_Wifi_Key(struct EventStruct *event, + const char *Line); +String Command_Wifi_SSID2(struct EventStruct *event, + const char *Line); +String Command_Wifi_Key2(struct EventStruct *event, + const char *Line); +String Command_Wifi_HiddenSSID(struct EventStruct *event, + const char *Line); +const __FlashStringHelper* Command_Wifi_Scan(struct EventStruct *event, + const char *Line); +const __FlashStringHelper* Command_Wifi_Connect(struct EventStruct *event, + const char *Line); +const __FlashStringHelper* Command_Wifi_Disconnect(struct EventStruct *event, + const char *Line); +const __FlashStringHelper* Command_Wifi_APMode(struct EventStruct *event, + const char *Line); +const __FlashStringHelper* Command_Wifi_STAMode(struct EventStruct *event, + const char *Line); +String Command_Wifi_Mode(struct EventStruct *event, + const char *Line); +const __FlashStringHelper* Command_Wifi_AllowAP(struct EventStruct *event, + const char *Line); // FIXME: TD-er This is not an erase, but actually storing the current settings // in the wifi settings of the core library -const __FlashStringHelper * Command_WiFi_Erase(struct EventStruct *event, const char* Line); +const __FlashStringHelper* Command_WiFi_Erase(struct EventStruct *event, + const char *Line); #endif // COMMAND_WIFI_H From 336160b7c58cec6611f7671515913e599c76c8d0 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 17:03:37 +0200 Subject: [PATCH 12/23] [Commands] Add documentation for HiddenSSID --- docs/source/Plugin/P000_commands.repl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/source/Plugin/P000_commands.repl b/docs/source/Plugin/P000_commands.repl index 4132fd2bb..54613e2f6 100644 --- a/docs/source/Plugin/P000_commands.repl +++ b/docs/source/Plugin/P000_commands.repl @@ -182,6 +182,17 @@ Example output: ``Gateway:192.168.10.254(DHCP)``" " + " + HiddenSSID"," + :red:`Internal`"," + Get or set the Include Hidden SSID setting + + ``HiddenSSID`` + + ``HiddenSSID,true`` (can use ``1``, ``true`` or ``on`` to enable, and ``0``, ``false`` or ``off`` to disable) + + Example output: ``Include Hidden SSID:true``" + " I2Cscanner"," :red:`Internal`"," Run I2C scanner to find connected I2C chips. Output will be sent to the serial port. From 6c0a5c8e8f5da604857d7961d3ebb0e21a7502c1 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 17:04:25 +0200 Subject: [PATCH 13/23] [Commands] Fix handling empty argument for on/off commands on ESP8266 --- src/src/Commands/Common.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/src/Commands/Common.cpp b/src/src/Commands/Common.cpp index f81bac80d..f8157275e 100644 --- a/src/src/Commands/Common.cpp +++ b/src/src/Commands/Common.cpp @@ -158,6 +158,7 @@ String Command_GetORSetBool(struct EventStruct *event, if (validIntFromString(TmpStr1, tmp_int)) { *value = tmp_int > 0; } + else if (TmpStr1.isEmpty()) {} // Empty string not always handled nicely by strcmp_P else if (strcmp_P(PSTR("on"), TmpStr1.c_str()) == 0) { *value = true; } else if (strcmp_P(PSTR("true"), TmpStr1.c_str()) == 0) { *value = true; } else if (strcmp_P(PSTR("off"), TmpStr1.c_str()) == 0) { *value = false; } From b0a477be5a782df5f99cae5ced0c6071d5cbcd51 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 18:45:42 +0200 Subject: [PATCH 14/23] [Commands] Fix documentation typo --- docs/source/Plugin/P000_commands.repl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/Plugin/P000_commands.repl b/docs/source/Plugin/P000_commands.repl index 54613e2f6..4cc66417a 100644 --- a/docs/source/Plugin/P000_commands.repl +++ b/docs/source/Plugin/P000_commands.repl @@ -180,7 +180,7 @@ ``Gateway,192.168.1.1`` - Example output: ``Gateway:192.168.10.254(DHCP)``" + Example output: ``Gateway:192.168.10.254(DHCP)`` " " HiddenSSID"," From d86a95caaa4ee346488a20ab6b1b20a6ab262235 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sat, 15 Apr 2023 22:08:10 +0200 Subject: [PATCH 15/23] [P106] Update BME680 library to latest --- lib/Adafruit_BME680/Adafruit_BME680.cpp | 554 +++---- lib/Adafruit_BME680/Adafruit_BME680.h | 71 +- lib/Adafruit_BME680/Doxyfile | 2 +- lib/Adafruit_BME680/bme680.c | 1361 ----------------- lib/Adafruit_BME680/bme680.h | 222 --- lib/Adafruit_BME680/bme680_defs.h | 538 ------- lib/Adafruit_BME680/bme68x.c | 1848 +++++++++++++++++++++++ lib/Adafruit_BME680/bme68x.h | 323 ++++ lib/Adafruit_BME680/bme68x_defs.h | 972 ++++++++++++ lib/Adafruit_BME680/library.properties | 8 +- src/_P106_BME680.ino | 11 +- 11 files changed, 3421 insertions(+), 2489 deletions(-) delete mode 100644 lib/Adafruit_BME680/bme680.c delete mode 100644 lib/Adafruit_BME680/bme680.h delete mode 100644 lib/Adafruit_BME680/bme680_defs.h create mode 100644 lib/Adafruit_BME680/bme68x.c create mode 100644 lib/Adafruit_BME680/bme68x.h create mode 100644 lib/Adafruit_BME680/bme68x_defs.h diff --git a/lib/Adafruit_BME680/Adafruit_BME680.cpp b/lib/Adafruit_BME680/Adafruit_BME680.cpp index faa52336d..0f714dd55 100644 --- a/lib/Adafruit_BME680/Adafruit_BME680.cpp +++ b/lib/Adafruit_BME680/Adafruit_BME680.cpp @@ -32,28 +32,16 @@ //#define BME680_DEBUG -/** Wire object **/ -TwoWire *_wire = NULL; - -/** SPI object **/ -SPIClass *_spi = NULL; - -/** These SPI pins must be global in order to work with underlying library **/ -int8_t _BME680_SoftwareSPI_MOSI; ///< Global SPI MOSI pin -int8_t _BME680_SoftwareSPI_MISO; ///< Global SPI MISO pin -int8_t _BME680_SoftwareSPI_SCK; ///< Globak SPI Clock pin - /** Our hardware interface functions **/ -static int8_t i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len); -static int8_t i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len); -static int8_t spi_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len); -static int8_t spi_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len); -static uint8_t spi_transfer(uint8_t x); -static void delay_msec(uint32_t ms); +static int8_t i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, + void *interface); +static int8_t i2c_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t len, + void *interface); +static int8_t spi_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, + void *interface); +static int8_t spi_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t len, + void *interface); +static void delay_usec(uint32_t us, void *intf_ptr); // PUBLIC FUNCTIONS @@ -63,13 +51,8 @@ static void delay_msec(uint32_t ms); * optional Wire object */ Adafruit_BME680::Adafruit_BME680(TwoWire *theWire) - : _cs(-1), _meas_start(0), _meas_period(0) { + : _meas_start(0), _meas_period(0) { _wire = theWire; - _BME680_SoftwareSPI_MOSI = -1; - _BME680_SoftwareSPI_MISO = -1; - _BME680_SoftwareSPI_SCK = -1; - _filterEnabled = _tempEnabled = _humEnabled = _presEnabled = _gasEnabled = - false; } /*! @@ -80,13 +63,9 @@ Adafruit_BME680::Adafruit_BME680(TwoWire *theWire) * optional SPI object */ Adafruit_BME680::Adafruit_BME680(int8_t cspin, SPIClass *theSPI) - : _cs(cspin), _meas_start(0), _meas_period(0) { - _spi = theSPI; - _BME680_SoftwareSPI_MOSI = -1; - _BME680_SoftwareSPI_MISO = -1; - _BME680_SoftwareSPI_SCK = -1; - _filterEnabled = _tempEnabled = _humEnabled = _presEnabled = _gasEnabled = - false; + : _meas_start(0), _meas_period(0) { + _spidev = new Adafruit_SPIDevice(cspin, 1000000, SPI_BITORDER_MSBFIRST, + SPI_MODE0, theSPI); } /*! @@ -102,12 +81,9 @@ Adafruit_BME680::Adafruit_BME680(int8_t cspin, SPIClass *theSPI) */ Adafruit_BME680::Adafruit_BME680(int8_t cspin, int8_t mosipin, int8_t misopin, int8_t sckpin) - : _cs(cspin), _meas_start(0), _meas_period(0) { - _BME680_SoftwareSPI_MOSI = mosipin; - _BME680_SoftwareSPI_MISO = misopin; - _BME680_SoftwareSPI_SCK = sckpin; - _filterEnabled = _tempEnabled = _humEnabled = _presEnabled = _gasEnabled = - false; + : _meas_start(0), _meas_period(0) { + _spidev = new Adafruit_SPIDevice(cspin, sckpin, misopin, mosipin, 1000000, + SPI_BITORDER_MSBFIRST, SPI_MODE0); } /*! @@ -122,45 +98,46 @@ Adafruit_BME680::Adafruit_BME680(int8_t cspin, int8_t mosipin, int8_t misopin, * @return True on sensor initialization success. False on failure. */ bool Adafruit_BME680::begin(uint8_t addr, bool initSettings) { - _i2caddr = addr; + int8_t rslt; - if (_cs == -1) { - // i2c - _wire->begin(); - - gas_sensor.dev_id = addr; - gas_sensor.intf = BME680_I2C_INTF; - gas_sensor.read = &i2c_read; - gas_sensor.write = &i2c_write; - } else { - digitalWrite(_cs, HIGH); - pinMode(_cs, OUTPUT); - - if (_BME680_SoftwareSPI_SCK == -1) { - // hardware SPI - _spi->begin(); - } else { - // software SPI - pinMode(_BME680_SoftwareSPI_SCK, OUTPUT); - pinMode(_BME680_SoftwareSPI_MOSI, OUTPUT); - pinMode(_BME680_SoftwareSPI_MISO, INPUT); + if (!_spidev) { // i2c + if (_i2cdev) { + delete _i2cdev; + } + _i2cdev = new Adafruit_I2CDevice(addr, _wire); + if (!_i2cdev->begin()) { + return false; } - gas_sensor.dev_id = _cs; - gas_sensor.intf = BME680_SPI_INTF; + gas_sensor.chip_id = addr; + gas_sensor.intf = BME68X_I2C_INTF; + gas_sensor.intf_ptr = (void *)_i2cdev; + gas_sensor.read = &i2c_read; + gas_sensor.write = &i2c_write; + + } else { + if (!_spidev->begin()) { + return false; + } + + gas_sensor.chip_id = 0; + gas_sensor.intf = BME68X_SPI_INTF; + gas_sensor.intf_ptr = (void *)_spidev; gas_sensor.read = &spi_read; gas_sensor.write = &spi_write; } - gas_sensor.delay_ms = delay_msec; + gas_sensor.amb_temp = 25; /* The ambient temperature in deg C is used for + defining the heater temperature */ + gas_sensor.delay_us = delay_usec; - int8_t rslt = bme680_init(&gas_sensor); + rslt = bme68x_init(&gas_sensor); #ifdef BME680_DEBUG - Serial.print("Result: "); + Serial.print(F("Init Result: ")); Serial.println(rslt); #endif - if (rslt != BME680_OK) + if (rslt != BME68X_OK) return false; #ifdef BME680_DEBUG @@ -225,16 +202,25 @@ bool Adafruit_BME680::begin(uint8_t addr, bool initSettings) { #endif if (initSettings) { - setTemperatureOversampling(BME680_OS_8X); - setHumidityOversampling(BME680_OS_2X); - setPressureOversampling(BME680_OS_4X); - setIIRFilterSize(BME680_FILTER_SIZE_3); + setIIRFilterSize(BME68X_FILTER_SIZE_3); + setODR(BME68X_ODR_NONE); + setHumidityOversampling(BME68X_OS_2X); + setPressureOversampling(BME68X_OS_4X); + setTemperatureOversampling(BME68X_OS_8X); setGasHeater(320, 150); // 320*C for 150 ms } else { setGasHeater(0, 0); } // don't do anything till we request a reading - gas_sensor.power_mode = BME680_FORCED_MODE; + rslt = bme68x_set_op_mode(BME68X_FORCED_MODE, &gas_sensor); + +#ifdef BME680_DEBUG + Serial.print(F("Opmode Result: ")); + Serial.println(rslt); +#endif + + if (rslt != BME68X_OK) + return false; return true; } @@ -304,66 +290,56 @@ float Adafruit_BME680::readAltitude(float seaLevel) { */ bool Adafruit_BME680::performReading(void) { return endReading(); } -unsigned long Adafruit_BME680::beginReading(void) { +/*! @brief Begin an asynchronous reading. + * @return When the reading would be ready as absolute time in millis(). + */ +uint32_t Adafruit_BME680::beginReading(void) { if (_meas_start != 0) { /* A measurement is already in progress */ return _meas_start + _meas_period; } - uint8_t set_required_settings = 0; - int8_t rslt; - - /* Select the power mode */ - /* Must be set before writing the sensor configuration */ - gas_sensor.power_mode = BME680_FORCED_MODE; - - /* Set the required sensor settings needed */ - if (_tempEnabled) - set_required_settings |= BME680_OST_SEL; - if (_humEnabled) - set_required_settings |= BME680_OSH_SEL; - if (_presEnabled) - set_required_settings |= BME680_OSP_SEL; - if (_filterEnabled) - set_required_settings |= BME680_FILTER_SEL; - if (_gasEnabled) - set_required_settings |= BME680_GAS_SENSOR_SEL; - - /* Set the desired sensor configuration */ + int8_t rslt = bme68x_set_op_mode(BME68X_FORCED_MODE, &gas_sensor); #ifdef BME680_DEBUG - Serial.println("Setting sensor settings"); + Serial.print(F("Opmode Result: ")); + Serial.println(rslt); #endif - rslt = bme680_set_sensor_settings(set_required_settings, &gas_sensor); - if (rslt != BME680_OK) - return 0; + if (rslt != BME68X_OK) + return false; - /* Set the power mode */ -#ifdef BME680_DEBUG - Serial.println("Setting power mode"); -#endif - rslt = bme680_set_sensor_mode(&gas_sensor); - if (rslt != BME680_OK) - return 0; + /* Calculate delay period in microseconds */ + uint32_t delayus_period = (uint32_t)bme68x_get_meas_dur( + BME68X_FORCED_MODE, &gas_conf, &gas_sensor) + + ((uint32_t)gas_heatr_conf.heatr_dur * 1000); + // Serial.print("measure: "); + // Serial.println(bme68x_get_meas_dur(BME68X_FORCED_MODE, &gas_conf, + // &gas_sensor)); Serial.print("heater: "); + // Serial.println((uint32_t)gas_heatr_conf.heatr_dur * 1000); - /* Get the total measurement duration so as to sleep or wait till the - * measurement is complete */ - uint16_t meas_period; - bme680_get_profile_dur(&meas_period, &gas_sensor); _meas_start = millis(); - _meas_period = meas_period; + _meas_period = delayus_period / 1000; + return _meas_start + _meas_period; } +/*! @brief End an asynchronous reading. + * If the asynchronous reading is still in progress, block until it + * ends. If no asynchronous reading has started, this is equivalent to + * performReading(). + * @return Whether success. + */ bool Adafruit_BME680::endReading(void) { - unsigned long meas_end = beginReading(); + uint32_t meas_end = beginReading(); + if (meas_end == 0) { return false; } int remaining_millis = remainingReadingMillis(); + if (remaining_millis > 0) { #ifdef BME680_DEBUG - Serial.print("Waiting (ms) "); + Serial.print(F("Waiting (ms) ")); Serial.println(remaining_millis); #endif delay(static_cast(remaining_millis) * @@ -373,54 +349,54 @@ bool Adafruit_BME680::endReading(void) { _meas_period = 0; #ifdef BME680_DEBUG - Serial.print("t_fine = "); + Serial.print(F("t_fine = ")); Serial.println(gas_sensor.calib.t_fine); #endif - struct bme680_field_data data; + struct bme68x_data data; + uint8_t n_fields; - // Serial.println("Getting sensor data"); - int8_t rslt = bme680_get_sensor_data(&data, &gas_sensor); - if (rslt != BME680_OK) +#ifdef BME680_DEBUG + Serial.println(F("Getting sensor data")); +#endif + + int8_t rslt = + bme68x_get_data(BME68X_FORCED_MODE, &data, &n_fields, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("GetData Result: ")); + Serial.println(rslt); +#endif + if (rslt != BME68X_OK) return false; - if (_tempEnabled) { - // Serial.print("Temp: "); Serial.println(data.temperature / 100.0, 2); - temperature = data.temperature / 100.0; - } else { - temperature = NAN; - } - - if (_humEnabled) { - // Serial.print("Hum: "); Serial.println(data.humidity / 1000.0, 2); - humidity = data.humidity / 1000.0; - } else { - humidity = NAN; - } - - if (_presEnabled) { - // Serial.print("Pres: "); Serial.println(data.pressure, 2); + if (n_fields) { + temperature = data.temperature; + humidity = data.humidity; pressure = data.pressure; - } else { - pressure = 0; - } - /* Avoid using measurements from an unstable heating setup */ - if (_gasEnabled) { - if (data.status & BME680_HEAT_STAB_MSK) { +#ifdef BME680_DEBUG + Serial.print(F("data.status 0x")); + Serial.println(data.status, HEX); +#endif + if (data.status & (BME68X_HEAT_STAB_MSK | BME68X_GASM_VALID_MSK)) { // Serial.print("Gas resistance: "); Serial.println(data.gas_resistance); gas_resistance = data.gas_resistance; } else { gas_resistance = 0; // Serial.println("Gas reading unstable!"); } - } else { - gas_resistance = 0; } return true; } +/*! @brief Get remaining time for an asynchronous reading. + * If the asynchronous reading is still in progress, how many millis + * until its completion. If the asynchronous reading is completed, 0. If no + * asynchronous reading has started, -1 or + * Adafruit_BME680::reading_not_started. Does not block. + * @return Remaining millis until endReading will not block if invoked. + */ int Adafruit_BME680::remainingReadingMillis(void) { if (_meas_start != 0) { /* A measurement is already in progress */ @@ -439,279 +415,195 @@ int Adafruit_BME680::remainingReadingMillis(void) { * @return True on success, False on failure */ bool Adafruit_BME680::setGasHeater(uint16_t heaterTemp, uint16_t heaterTime) { - gas_sensor.gas_sett.heatr_temp = heaterTemp; - gas_sensor.gas_sett.heatr_dur = heaterTime; if ((heaterTemp == 0) || (heaterTime == 0)) { - // disabled! - gas_sensor.gas_sett.heatr_ctrl = BME680_DISABLE_HEATER; - gas_sensor.gas_sett.run_gas = BME680_DISABLE_GAS_MEAS; - _gasEnabled = false; + gas_heatr_conf.enable = BME68X_DISABLE; } else { - gas_sensor.gas_sett.heatr_ctrl = BME680_ENABLE_HEATER; - gas_sensor.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS; - _gasEnabled = true; + gas_heatr_conf.enable = BME68X_ENABLE; + gas_heatr_conf.heatr_temp = heaterTemp; + gas_heatr_conf.heatr_dur = heaterTime; } - return true; + + int8_t rslt = + bme68x_set_heatr_conf(BME68X_FORCED_MODE, &gas_heatr_conf, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("SetHeaterConf Result: ")); + Serial.println(rslt); +#endif + return rslt == 0; +} + +/*! + * @brief Setter for Output Data Rate + * @param odr + * Output data rate setting, can be BME68X_ODR_NONE, + * BME68X_ODR_0_59_MS, BME68X_ODR_10_MS, BME68X_ODR_20_MS, BME68X_ODR_62_5_MS, + * BME68X_ODR_125_MS, BME68X_ODR_250_MS, BME68X_ODR_500_MS, BME68X_ODR_1000_MS + * @return True on success, False on failure + */ + +bool Adafruit_BME680::setODR(uint8_t odr) { + if (odr > BME68X_ODR_NONE) + return false; + + gas_conf.odr = odr; + + int8_t rslt = bme68x_set_conf(&gas_conf, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("SetConf Result: ")); + Serial.println(rslt); +#endif + return rslt == 0; } /*! * @brief Setter for Temperature oversampling * @param oversample - * Oversampling setting, can be BME680_OS_NONE (turn off Temperature - * reading), BME680_OS_1X, BME680_OS_2X, BME680_OS_4X, BME680_OS_8X or - * BME680_OS_16X + * Oversampling setting, can be BME68X_OS_NONE (turn off Temperature + * reading), BME68X_OS_1X, BME68X_OS_2X, BME68X_OS_4X, BME68X_OS_8X or + * BME68X_OS_16X * @return True on success, False on failure */ bool Adafruit_BME680::setTemperatureOversampling(uint8_t oversample) { - if (oversample > BME680_OS_16X) + if (oversample > BME68X_OS_16X) return false; - gas_sensor.tph_sett.os_temp = oversample; + gas_conf.os_temp = oversample; - if (oversample == BME680_OS_NONE) - _tempEnabled = false; - else - _tempEnabled = true; - - return true; + int8_t rslt = bme68x_set_conf(&gas_conf, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("SetConf Result: ")); + Serial.println(rslt); +#endif + return rslt == 0; } /*! * @brief Setter for Humidity oversampling * @param oversample - * Oversampling setting, can be BME680_OS_NONE (turn off Humidity - * reading), BME680_OS_1X, BME680_OS_2X, BME680_OS_4X, BME680_OS_8X or - * BME680_OS_16X + * Oversampling setting, can be BME68X_OS_NONE (turn off Humidity + * reading), BME68X_OS_1X, BME68X_OS_2X, BME68X_OS_4X, BME68X_OS_8X or + * BME68X_OS_16X * @return True on success, False on failure */ bool Adafruit_BME680::setHumidityOversampling(uint8_t oversample) { - if (oversample > BME680_OS_16X) + if (oversample > BME68X_OS_16X) return false; - gas_sensor.tph_sett.os_hum = oversample; + gas_conf.os_hum = oversample; - if (oversample == BME680_OS_NONE) - _humEnabled = false; - else - _humEnabled = true; - - return true; + int8_t rslt = bme68x_set_conf(&gas_conf, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("SetConf Result: ")); + Serial.println(rslt); +#endif + return rslt == 0; } /*! * @brief Setter for Pressure oversampling * @param oversample - * Oversampling setting, can be BME680_OS_NONE (turn off Pressure - * reading), BME680_OS_1X, BME680_OS_2X, BME680_OS_4X, BME680_OS_8X or - * BME680_OS_16X + * Oversampling setting, can be BME68X_OS_NONE (turn off Pressure + * reading), BME68X_OS_1X, BME68X_OS_2X, BME68X_OS_4X, BME68X_OS_8X or + * BME68X_OS_16X * @return True on success, False on failure */ bool Adafruit_BME680::setPressureOversampling(uint8_t oversample) { - if (oversample > BME680_OS_16X) + if (oversample > BME68X_OS_16X) return false; - gas_sensor.tph_sett.os_pres = oversample; + gas_conf.os_pres = oversample; - if (oversample == BME680_OS_NONE) - _presEnabled = false; - else - _presEnabled = true; - - return true; + int8_t rslt = bme68x_set_conf(&gas_conf, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("SetConf Result: ")); + Serial.println(rslt); +#endif + return rslt == 0; } /*! * @brief Setter for IIR filter. * @param filtersize * Size of the filter (in samples). - * Can be BME680_FILTER_SIZE_0 (no filtering), BME680_FILTER_SIZE_1, - * BME680_FILTER_SIZE_3, BME680_FILTER_SIZE_7, BME680_FILTER_SIZE_15, - * BME680_FILTER_SIZE_31, BME680_FILTER_SIZE_63, BME680_FILTER_SIZE_127 + * Can be BME68X_FILTER_SIZE_0 (no filtering), BME68X_FILTER_SIZE_1, + * BME68X_FILTER_SIZE_3, BME68X_FILTER_SIZE_7, BME68X_FILTER_SIZE_15, + * BME68X_FILTER_SIZE_31, BME68X_FILTER_SIZE_63, BME68X_FILTER_SIZE_127 * @return True on success, False on failure */ bool Adafruit_BME680::setIIRFilterSize(uint8_t filtersize) { - if (filtersize > BME680_FILTER_SIZE_127) + if (filtersize > BME68X_FILTER_SIZE_127) return false; + gas_conf.filter = filtersize; - gas_sensor.tph_sett.filter = filtersize; - - if (filtersize == BME680_FILTER_SIZE_0) - _filterEnabled = false; - else - _filterEnabled = true; - - return true; + int8_t rslt = bme68x_set_conf(&gas_conf, &gas_sensor); +#ifdef BME680_DEBUG + Serial.print(F("SetConf Result: ")); + Serial.println(rslt); +#endif + return rslt == 0; } /*! * @brief Reads 8 bit values over I2C */ -int8_t i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len) { -#ifdef BME680_DEBUG - Serial.print("\tI2C $"); - Serial.print(reg_addr, HEX); - Serial.print(" => "); -#endif +int8_t i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, void *intf) { - _wire->beginTransmission((uint8_t)dev_id); - _wire->write((uint8_t)reg_addr); - _wire->endTransmission(); - if (len != _wire->requestFrom((uint8_t)dev_id, (uint8_t)len)) { -#ifdef BME680_DEBUG - Serial.print("Failed to read "); - Serial.print(len); - Serial.print(" bytes from "); - Serial.println(dev_id, HEX); -#endif - return 1; + Adafruit_I2CDevice *_dev = (Adafruit_I2CDevice *)intf; + + if (!_dev->write_then_read(®_addr, 1, reg_data, len, true)) { + return -1; } - while (len--) { - *reg_data = (uint8_t)_wire->read(); -#ifdef BME680_DEBUG - Serial.print("0x"); - Serial.print(*reg_data, HEX); - Serial.print(", "); -#endif - reg_data++; - } -#ifdef BME680_DEBUG - Serial.println(""); -#endif + return 0; } /*! * @brief Writes 8 bit values over I2C */ -int8_t i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len) { -#ifdef BME680_DEBUG - Serial.print("\tI2C $"); - Serial.print(reg_addr, HEX); - Serial.print(" <= "); -#endif - _wire->beginTransmission((uint8_t)dev_id); - _wire->write((uint8_t)reg_addr); - while (len--) { - _wire->write(*reg_data); -#ifdef BME680_DEBUG - Serial.print("0x"); - Serial.print(*reg_data, HEX); - Serial.print(", "); -#endif - reg_data++; +int8_t i2c_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t len, + void *intf) { + Adafruit_I2CDevice *_dev = (Adafruit_I2CDevice *)intf; + + if (!_dev->write((uint8_t *)reg_data, len, true, ®_addr, 1)) { + return -1; } - _wire->endTransmission(); -#ifdef BME680_DEBUG - Serial.println(""); -#endif return 0; } /*! * @brief Reads 8 bit values over SPI */ -static int8_t spi_read(uint8_t cspin, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len) { -#ifdef BME680_DEBUG - Serial.print("\tSPI $"); - Serial.print(reg_addr, HEX); - Serial.print(" => "); -#endif +static int8_t spi_read(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, + void *intf_ptr) { + Adafruit_SPIDevice *_dev = (Adafruit_SPIDevice *)intf_ptr; - // If hardware SPI we should use transactions! - if (_BME680_SoftwareSPI_SCK == -1) { - _spi->beginTransaction( - SPISettings(BME680_DEFAULT_SPIFREQ, MSBFIRST, SPI_MODE0)); + reg_addr |= 0x80; + + if (!_dev->write_then_read(®_addr, 1, reg_data, len, 0x0)) { + return -1; } - digitalWrite(cspin, LOW); - - spi_transfer(reg_addr | 0x80); - - while (len--) { - *reg_data = spi_transfer(0x00); -#ifdef BME680_DEBUG - Serial.print("0x"); - Serial.print(*reg_data, HEX); - Serial.print(", "); -#endif - reg_data++; - } - - digitalWrite(cspin, HIGH); - - if (_BME680_SoftwareSPI_SCK == -1) { - _spi->endTransaction(); - } - -#ifdef BME680_DEBUG - Serial.println(""); -#endif return 0; } /*! * @brief Writes 8 bit values over SPI */ -static int8_t spi_write(uint8_t cspin, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len) { -#ifdef BME680_DEBUG - Serial.print("\tSPI $"); - Serial.print(reg_addr, HEX); - Serial.print(" <= "); -#endif +static int8_t spi_write(uint8_t reg_addr, const uint8_t *reg_data, uint32_t len, + void *intf_ptr) { + Adafruit_SPIDevice *_dev = (Adafruit_SPIDevice *)intf_ptr; - // If hardware SPI we should use transactions! - if (_BME680_SoftwareSPI_SCK == -1) { - _spi->beginTransaction( - SPISettings(BME680_DEFAULT_SPIFREQ, MSBFIRST, SPI_MODE0)); + if (!_dev->write((uint8_t *)reg_data, len, ®_addr, 1)) { + return -1; } - digitalWrite(cspin, LOW); - - spi_transfer(reg_addr); - while (len--) { - spi_transfer(*reg_data); -#ifdef BME680_DEBUG - Serial.print("0x"); - Serial.print(*reg_data, HEX); - Serial.print(", "); -#endif - reg_data++; - } - - digitalWrite(cspin, HIGH); - - if (_BME680_SoftwareSPI_SCK == -1) { - _spi->endTransaction(); - } - -#ifdef BME680_DEBUG - Serial.println(""); -#endif return 0; } -static uint8_t spi_transfer(uint8_t x) { - if (_BME680_SoftwareSPI_SCK == -1) - return _spi->transfer(x); - - // software spi - // Serial.println("Software SPI"); - uint8_t reply = 0; - for (int i = 7; i >= 0; i--) { - reply <<= 1; - digitalWrite(_BME680_SoftwareSPI_SCK, LOW); - digitalWrite(_BME680_SoftwareSPI_MOSI, x & (1 << i)); - digitalWrite(_BME680_SoftwareSPI_SCK, HIGH); - if (digitalRead(_BME680_SoftwareSPI_MISO)) - reply |= 1; - } - return reply; +static void delay_usec(uint32_t us, void *intf_ptr) { + (void)intf_ptr; // Unused parameter + delayMicroseconds(us); + yield(); } - -static void delay_msec(uint32_t ms) { delay(ms); } diff --git a/lib/Adafruit_BME680/Adafruit_BME680.h b/lib/Adafruit_BME680/Adafruit_BME680.h index 48e4c05d0..be4301097 100644 --- a/lib/Adafruit_BME680/Adafruit_BME680.h +++ b/lib/Adafruit_BME680/Adafruit_BME680.h @@ -26,13 +26,38 @@ #include "Arduino.h" -#include "bme680.h" +#include "bme68x.h" +#include +#include #include -#include #include -#define BME680_DEFAULT_ADDRESS (0x77) ///< The default I2C address -#define BME680_DEFAULT_SPIFREQ (1000000) ///< The default SPI Clock speed +#define BME68X_DEFAULT_ADDRESS (0x77) ///< The default I2C address +#define BME68X_DEFAULT_SPIFREQ (1000000) ///< The default SPI Clock speed + +#define BME680_OS_16X BME68X_OS_16X ///< Alias for BME680 existing examples +#define BME680_OS_8X BME68X_OS_8X ///< Alias for BME680 existing examples +#define BME680_OS_4X BME68X_OS_4X ///< Alias for BME680 existing examples +#define BME680_OS_2X BME68X_OS_2X ///< Alias for BME680 existing examples +#define BME680_OS_1X BME68X_OS_1X ///< Alias for BME680 existing examples +#define BME680_OS_NONE BME68X_OS_NONE ///< Alias for BME680 existing examples + +#define BME680_FILTER_SIZE_127 \ + BME68X_FILTER_SIZE_127 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_63 \ + BME68X_FILTER_SIZE_63 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_31 \ + BME68X_FILTER_SIZE_31 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_15 \ + BME68X_FILTER_SIZE_15 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_7 \ + BME68X_FILTER_SIZE_7 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_3 \ + BME68X_FILTER_SIZE_3 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_1 \ + BME68X_FILTER_SIZE_1 ///< Alias for BME680 existing examples +#define BME680_FILTER_SIZE_0 \ + BME68X_FILTER_OFF ///< Alias for BME680 existing examples /*! Adafruit_BME680 Class for both I2C and SPI usage. * Wraps the Bosch library for Arduino usage @@ -50,7 +75,7 @@ public: Adafruit_BME680(int8_t cspin, SPIClass *theSPI = &SPI); Adafruit_BME680(int8_t cspin, int8_t mosipin, int8_t misopin, int8_t sckpin); - bool begin(uint8_t addr = BME680_DEFAULT_ADDRESS, bool initSettings = true); + bool begin(uint8_t addr = BME68X_DEFAULT_ADDRESS, bool initSettings = true); float readTemperature(); float readPressure(); float readHumidity(); @@ -62,30 +87,15 @@ public: bool setHumidityOversampling(uint8_t os); bool setIIRFilterSize(uint8_t fs); bool setGasHeater(uint16_t heaterTemp, uint16_t heaterTime); + bool setODR(uint8_t odr); // Perform a reading in blocking mode. bool performReading(); - /*! @brief Begin an asynchronous reading. - * @return When the reading would be ready as absolute time in millis(). - */ - unsigned long beginReading(); + uint32_t beginReading(); - /*! @brief End an asynchronous reading. - * If the asynchronous reading is still in progress, block until it - * ends. If no asynchronous reading has started, this is equivalent to - * performReading(). - * @return Whether success. - */ bool endReading(); - /*! @brief Get remaining time for an asynchronous reading. - * If the asynchronous reading is still in progress, how many millis - * until its completion. If the asynchronous reading is completed, 0. If no - * asynchronous reading has started, -1 or - * Adafruit_BME680::reading_not_started. Does not block. - * @return Remaining millis until endReading will not block if invoked. - */ int remainingReadingMillis(); /** Temperature (Celsius) assigned after calling performReading() or @@ -102,16 +112,17 @@ public: uint32_t gas_resistance; private: - bool _filterEnabled, _tempEnabled, _humEnabled, _presEnabled, _gasEnabled; - uint8_t _i2caddr; + Adafruit_I2CDevice *_i2cdev = NULL; + Adafruit_SPIDevice *_spidev = NULL; + TwoWire *_wire = NULL; + int32_t _sensorID; - int8_t _cs; - unsigned long _meas_start; - uint16_t _meas_period; + uint32_t _meas_start = 0; + uint16_t _meas_period = 0; - uint8_t spixfer(uint8_t x); - - struct bme680_dev gas_sensor; + struct bme68x_dev gas_sensor; + struct bme68x_conf gas_conf; + struct bme68x_heatr_conf gas_heatr_conf; }; #endif diff --git a/lib/Adafruit_BME680/Doxyfile b/lib/Adafruit_BME680/Doxyfile index 917108f10..304bb4c2b 100644 --- a/lib/Adafruit_BME680/Doxyfile +++ b/lib/Adafruit_BME680/Doxyfile @@ -873,7 +873,7 @@ RECURSIVE = NO # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = bme680.c bme680.h bme680_defs.h README.md +EXCLUDE = bme68x.c bme68x.h bme68x_defs.h README.md # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded diff --git a/lib/Adafruit_BME680/bme680.c b/lib/Adafruit_BME680/bme680.c deleted file mode 100644 index 5c3ddda34..000000000 --- a/lib/Adafruit_BME680/bme680.c +++ /dev/null @@ -1,1361 +0,0 @@ -/**\mainpage - * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the copyright holder nor the names of the - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER - * OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE - * - * The information provided is believed to be accurate and reliable. - * The copyright holder assumes no responsibility - * for the consequences of use - * of such information nor for any infringement of patents or - * other rights of third parties which may result from its use. - * No license is granted by implication or otherwise under any patent or - * patent rights of the copyright holder. - * - * File bme680.c - * @date 19 Jun 2018 - * @version 3.5.9 - * @file bme680.c - */ - -#include "bme680.h" - -/*! - * @brief This internal API is used to read the calibrated data from the sensor. - * This function is used to retrieve the calibration - * data from the image registers of the sensor. - * - * @note Registers 89h to A1h for calibration data 1 to 24 - * from bit 0 to 7 - * @note Registers E1h to F0h for calibration data 25 to 40 - * from bit 0 to 7 - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status. - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t get_calib_data(struct bme680_dev *dev); - -/*! - * @brief This internal API is used to set the gas configuration of the sensor. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status. - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t set_gas_config(struct bme680_dev *dev); - -/*! - * @brief This internal API is used to get the gas configuration of the sensor. - * @note heatr_temp and heatr_dur values are currently register data - * and not the actual values set - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status. - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t get_gas_config(struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the Heat duration value. - * @param[in] dur - * Value of the duration to be shared. - * @return uint8_t threshold duration after calculation. - */ -static uint8_t calc_heater_dur(uint16_t dur); - -#ifndef BME680_FLOAT_POINT_COMPENSATION - -/*! - * @brief This internal API is used to calculate the temperature value. - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] temp_adc - * Contains the temperature ADC value - * @return uint32_t calculated temperature. - */ -static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the pressure value. - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] pres_adc - * Contains the pressure ADC value . - * @return uint32_t calculated pressure. - */ -static uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the humidity value. - * - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] hum_adc - * Contains the humidity ADC value. - * @return uint32_t calculated humidity. - */ -static uint32_t calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the Gas Resistance value. - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] gas_res_adc - * Contains the Gas Resistance ADC value. - * @param[in] gas_range - * Contains the range of gas values. - * @return uint32_t calculated gas resistance. - */ -static uint32_t calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the Heat Resistance value. - * @param[in] dev - * Structure instance of bme680_dev - * @param[in] temp - * Contains the target temperature value. - * @return uint8_t calculated heater resistance. - */ -static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev); - -#else -/*! - * @brief This internal API is used to calculate the - * temperature value value in float format - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] temp_adc - * Contains the temperature ADC value . - * @return Calculated temperature in float - */ -static float calc_temperature(uint32_t temp_adc, struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the - * pressure value value in float format - * - * @param[in] dev :Structure instance of bme680_dev. - * @param[in] pres_adc :Contains the pressure ADC value . - * - * @return Calculated pressure in float. - */ -static float calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the - * humidity value value in float format - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] hum_adc - * Contains the humidity ADC value. - * @return Calculated humidity in float. - */ -static float calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the - * gas resistance value value in float format - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] gas_res_adc - * Contains the Gas Resistance ADC value. - * @param[in] gas_range - * Contains the range of gas values. - * @return Calculated gas resistance in float. - */ -static float calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to calculate the - * heater resistance value in float format - * @param[in] temp - * Contains the target temperature value. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Calculated heater resistance in float. - */ -static float calc_heater_res(uint16_t temp, const struct bme680_dev *dev); - -#endif - -/*! - * @brief This internal API is used to calculate the field data of sensor. - * @param[out] data - * Structure instance to hold the data - * @param[in] dev - * Structure instance of bme680_dev. - * @return int8_t result of the field data from sensor. - */ -static int8_t read_field_data(struct bme680_field_data *data, struct bme680_dev *dev); - -/*! - * @brief This internal API is used to set the memory page based on register address. - * The value of memory page - * value | Description - * --------|-------------- - * 0 | BME680_PAGE0_SPI - * 1 | BME680_PAGE1_SPI - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] reg_addr - * Contains the register address array. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t set_mem_page(uint8_t reg_addr, struct bme680_dev *dev); - -/*! - * @brief This internal API is used to get the memory page based - * on register address. - * The value of memory page - * value | Description - * --------|-------------- - * 0 | BME680_PAGE0_SPI - * 1 | BME680_PAGE1_SPI - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t get_mem_page(struct bme680_dev *dev); - -/*! - * @brief This internal API is used to validate the device pointer for - * null conditions. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t null_ptr_check(const struct bme680_dev *dev); - -/*! - * @brief This internal API is used to check the boundary - * conditions. - * @param[in] value - * pointer to the value. - * @param[in] min - * minimum value. - * @param[in] max - * maximum value. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -static int8_t boundary_check(uint8_t *value, uint8_t min, uint8_t max, struct bme680_dev *dev); - -/** Global Function Definitions **/ -/*! - * @brief This API is the entry point. - * It reads the chip-id and calibration data from the sensor. - */ -int8_t bme680_init(struct bme680_dev *dev) -{ - int8_t rslt; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - /* Soft reset to restore it to default values*/ - rslt = bme680_soft_reset(dev); - if (rslt == BME680_OK) { - rslt = bme680_get_regs(BME680_CHIP_ID_ADDR, &dev->chip_id, 1, dev); - if (rslt == BME680_OK) { - if (dev->chip_id == BME680_CHIP_ID) { - /* Get the Calibration data */ - rslt = get_calib_data(dev); - } else { - rslt = BME680_E_DEV_NOT_FOUND; - } - } - } - } - - return rslt; -} - -/*! - * @brief This API reads the data from the given register address of the sensor. - */ -int8_t bme680_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bme680_dev *dev) -{ - int8_t rslt; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - if (dev->intf == BME680_SPI_INTF) { - /* Set the memory page */ - rslt = set_mem_page(reg_addr, dev); - if (rslt == BME680_OK) - reg_addr = reg_addr | BME680_SPI_RD_MSK; - } - dev->com_rslt = dev->read(dev->dev_id, reg_addr, reg_data, len); - if (dev->com_rslt != 0) - rslt = BME680_E_COM_FAIL; - } - - return rslt; -} - -/*! - * @brief This API writes the given data to the register address - * of the sensor. - */ -int8_t bme680_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, struct bme680_dev *dev) -{ - int8_t rslt; - /* Length of the temporary buffer is 2*(length of register)*/ - uint8_t tmp_buff[BME680_TMP_BUFFER_LENGTH] = { 0 }; - uint16_t index; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - if ((len > 0) && (len < BME680_TMP_BUFFER_LENGTH / 2)) { - /* Interleave the 2 arrays */ - for (index = 0; index < len; index++) { - if (dev->intf == BME680_SPI_INTF) { - /* Set the memory page */ - rslt = set_mem_page(reg_addr[index], dev); - tmp_buff[(2 * index)] = reg_addr[index] & BME680_SPI_WR_MSK; - } else { - tmp_buff[(2 * index)] = reg_addr[index]; - } - tmp_buff[(2 * index) + 1] = reg_data[index]; - } - /* Write the interleaved array */ - if (rslt == BME680_OK) { - dev->com_rslt = dev->write(dev->dev_id, tmp_buff[0], &tmp_buff[1], (2 * len) - 1); - if (dev->com_rslt != 0) - rslt = BME680_E_COM_FAIL; - } - } else { - rslt = BME680_E_INVALID_LENGTH; - } - } - - return rslt; -} - -/*! - * @brief This API performs the soft reset of the sensor. - */ -int8_t bme680_soft_reset(struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t reg_addr = BME680_SOFT_RESET_ADDR; - /* 0xb6 is the soft reset command */ - uint8_t soft_rst_cmd = BME680_SOFT_RESET_CMD; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - if (dev->intf == BME680_SPI_INTF) - rslt = get_mem_page(dev); - - /* Reset the device */ - if (rslt == BME680_OK) { - rslt = bme680_set_regs(®_addr, &soft_rst_cmd, 1, dev); - /* Wait for 5ms */ - dev->delay_ms(BME680_RESET_PERIOD); - - if (rslt == BME680_OK) { - /* After reset get the memory page */ - if (dev->intf == BME680_SPI_INTF) - rslt = get_mem_page(dev); - } - } - } - - return rslt; -} - -/*! - * @brief This API is used to set the oversampling, filter and T,P,H, gas selection - * settings in the sensor. - */ -int8_t bme680_set_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t reg_addr; - uint8_t data = 0; - uint8_t count = 0; - uint8_t reg_array[BME680_REG_BUFFER_LENGTH] = { 0 }; - uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 }; - uint8_t intended_power_mode = dev->power_mode; /* Save intended power mode */ - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - if (desired_settings & BME680_GAS_MEAS_SEL) - rslt = set_gas_config(dev); - - dev->power_mode = BME680_SLEEP_MODE; - if (rslt == BME680_OK) - rslt = bme680_set_sensor_mode(dev); - - /* Selecting the filter */ - if (desired_settings & BME680_FILTER_SEL) { - rslt = boundary_check(&dev->tph_sett.filter, BME680_FILTER_SIZE_0, BME680_FILTER_SIZE_127, dev); - reg_addr = BME680_CONF_ODR_FILT_ADDR; - - if (rslt == BME680_OK) - rslt = bme680_get_regs(reg_addr, &data, 1, dev); - - if (desired_settings & BME680_FILTER_SEL) - data = BME680_SET_BITS(data, BME680_FILTER, dev->tph_sett.filter); - - reg_array[count] = reg_addr; /* Append configuration */ - data_array[count] = data; - count++; - } - - /* Selecting heater control for the sensor */ - if (desired_settings & BME680_HCNTRL_SEL) { - rslt = boundary_check(&dev->gas_sett.heatr_ctrl, BME680_ENABLE_HEATER, - BME680_DISABLE_HEATER, dev); - reg_addr = BME680_CONF_HEAT_CTRL_ADDR; - - if (rslt == BME680_OK) - rslt = bme680_get_regs(reg_addr, &data, 1, dev); - data = BME680_SET_BITS_POS_0(data, BME680_HCTRL, dev->gas_sett.heatr_ctrl); - - reg_array[count] = reg_addr; /* Append configuration */ - data_array[count] = data; - count++; - } - - /* Selecting heater T,P oversampling for the sensor */ - if (desired_settings & (BME680_OST_SEL | BME680_OSP_SEL)) { - rslt = boundary_check(&dev->tph_sett.os_temp, BME680_OS_NONE, BME680_OS_16X, dev); - reg_addr = BME680_CONF_T_P_MODE_ADDR; - - if (rslt == BME680_OK) - rslt = bme680_get_regs(reg_addr, &data, 1, dev); - - if (desired_settings & BME680_OST_SEL) - data = BME680_SET_BITS(data, BME680_OST, dev->tph_sett.os_temp); - - if (desired_settings & BME680_OSP_SEL) - data = BME680_SET_BITS(data, BME680_OSP, dev->tph_sett.os_pres); - - reg_array[count] = reg_addr; - data_array[count] = data; - count++; - } - - /* Selecting humidity oversampling for the sensor */ - if (desired_settings & BME680_OSH_SEL) { - rslt = boundary_check(&dev->tph_sett.os_hum, BME680_OS_NONE, BME680_OS_16X, dev); - reg_addr = BME680_CONF_OS_H_ADDR; - - if (rslt == BME680_OK) - rslt = bme680_get_regs(reg_addr, &data, 1, dev); - data = BME680_SET_BITS_POS_0(data, BME680_OSH, dev->tph_sett.os_hum); - - reg_array[count] = reg_addr; /* Append configuration */ - data_array[count] = data; - count++; - } - - /* Selecting the runGas and NB conversion settings for the sensor */ - if (desired_settings & (BME680_RUN_GAS_SEL | BME680_NBCONV_SEL)) { - rslt = boundary_check(&dev->gas_sett.run_gas, BME680_RUN_GAS_DISABLE, - BME680_RUN_GAS_ENABLE, dev); - if (rslt == BME680_OK) { - /* Validate boundary conditions */ - rslt = boundary_check(&dev->gas_sett.nb_conv, BME680_NBCONV_MIN, - BME680_NBCONV_MAX, dev); - } - - reg_addr = BME680_CONF_ODR_RUN_GAS_NBC_ADDR; - - if (rslt == BME680_OK) - rslt = bme680_get_regs(reg_addr, &data, 1, dev); - - if (desired_settings & BME680_RUN_GAS_SEL) - data = BME680_SET_BITS(data, BME680_RUN_GAS, dev->gas_sett.run_gas); - - if (desired_settings & BME680_NBCONV_SEL) - data = BME680_SET_BITS_POS_0(data, BME680_NBCONV, dev->gas_sett.nb_conv); - - reg_array[count] = reg_addr; /* Append configuration */ - data_array[count] = data; - count++; - } - - if (rslt == BME680_OK) - rslt = bme680_set_regs(reg_array, data_array, count, dev); - - /* Restore previous intended power mode */ - dev->power_mode = intended_power_mode; - } - - return rslt; -} - -/*! - * @brief This API is used to get the oversampling, filter and T,P,H, gas selection - * settings in the sensor. - */ -int8_t bme680_get_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev) -{ - int8_t rslt; - /* starting address of the register array for burst read*/ - uint8_t reg_addr = BME680_CONF_HEAT_CTRL_ADDR; - uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 }; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - rslt = bme680_get_regs(reg_addr, data_array, BME680_REG_BUFFER_LENGTH, dev); - - if (rslt == BME680_OK) { - if (desired_settings & BME680_GAS_MEAS_SEL) - rslt = get_gas_config(dev); - - /* get the T,P,H ,Filter,ODR settings here */ - if (desired_settings & BME680_FILTER_SEL) - dev->tph_sett.filter = BME680_GET_BITS(data_array[BME680_REG_FILTER_INDEX], - BME680_FILTER); - - if (desired_settings & (BME680_OST_SEL | BME680_OSP_SEL)) { - dev->tph_sett.os_temp = BME680_GET_BITS(data_array[BME680_REG_TEMP_INDEX], BME680_OST); - dev->tph_sett.os_pres = BME680_GET_BITS(data_array[BME680_REG_PRES_INDEX], BME680_OSP); - } - - if (desired_settings & BME680_OSH_SEL) - dev->tph_sett.os_hum = BME680_GET_BITS_POS_0(data_array[BME680_REG_HUM_INDEX], - BME680_OSH); - - /* get the gas related settings */ - if (desired_settings & BME680_HCNTRL_SEL) - dev->gas_sett.heatr_ctrl = BME680_GET_BITS_POS_0(data_array[BME680_REG_HCTRL_INDEX], - BME680_HCTRL); - - if (desired_settings & (BME680_RUN_GAS_SEL | BME680_NBCONV_SEL)) { - dev->gas_sett.nb_conv = BME680_GET_BITS_POS_0(data_array[BME680_REG_NBCONV_INDEX], - BME680_NBCONV); - dev->gas_sett.run_gas = BME680_GET_BITS(data_array[BME680_REG_RUN_GAS_INDEX], - BME680_RUN_GAS); - } - } - } else { - rslt = BME680_E_NULL_PTR; - } - - return rslt; -} - -/*! - * @brief This API is used to set the power mode of the sensor. - */ -int8_t bme680_set_sensor_mode(struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t tmp_pow_mode; - uint8_t pow_mode = 0; - uint8_t reg_addr = BME680_CONF_T_P_MODE_ADDR; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - /* Call repeatedly until in sleep */ - do { - rslt = bme680_get_regs(BME680_CONF_T_P_MODE_ADDR, &tmp_pow_mode, 1, dev); - if (rslt == BME680_OK) { - /* Put to sleep before changing mode */ - pow_mode = (tmp_pow_mode & BME680_MODE_MSK); - - if (pow_mode != BME680_SLEEP_MODE) { - tmp_pow_mode = tmp_pow_mode & (~BME680_MODE_MSK); /* Set to sleep */ - rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev); - dev->delay_ms(BME680_POLL_PERIOD_MS); - } - } - } while (pow_mode != BME680_SLEEP_MODE); - - /* Already in sleep */ - if (dev->power_mode != BME680_SLEEP_MODE) { - tmp_pow_mode = (tmp_pow_mode & ~BME680_MODE_MSK) | (dev->power_mode & BME680_MODE_MSK); - if (rslt == BME680_OK) - rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev); - } - } - - return rslt; -} - -/*! - * @brief This API is used to get the power mode of the sensor. - */ -int8_t bme680_get_sensor_mode(struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t mode; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - rslt = bme680_get_regs(BME680_CONF_T_P_MODE_ADDR, &mode, 1, dev); - /* Masking the other register bit info*/ - dev->power_mode = mode & BME680_MODE_MSK; - } - - return rslt; -} - -/*! - * @brief This API is used to set the profile duration of the sensor. - */ -void bme680_set_profile_dur(uint16_t duration, struct bme680_dev *dev) -{ - uint32_t tph_dur; /* Calculate in us */ - uint32_t meas_cycles; - uint8_t os_to_meas_cycles[6] = {0, 1, 2, 4, 8, 16}; - - meas_cycles = os_to_meas_cycles[dev->tph_sett.os_temp]; - meas_cycles += os_to_meas_cycles[dev->tph_sett.os_pres]; - meas_cycles += os_to_meas_cycles[dev->tph_sett.os_hum]; - - /* TPH measurement duration */ - tph_dur = meas_cycles * UINT32_C(1963); - tph_dur += UINT32_C(477 * 4); /* TPH switching duration */ - tph_dur += UINT32_C(477 * 5); /* Gas measurement duration */ - tph_dur += UINT32_C(500); /* Get it to the closest whole number.*/ - tph_dur /= UINT32_C(1000); /* Convert to ms */ - - tph_dur += UINT32_C(1); /* Wake up duration of 1ms */ - /* The remaining time should be used for heating */ - dev->gas_sett.heatr_dur = duration - (uint16_t) tph_dur; -} - -/*! - * @brief This API is used to get the profile duration of the sensor. - */ -void bme680_get_profile_dur(uint16_t *duration, const struct bme680_dev *dev) -{ - uint32_t tph_dur; /* Calculate in us */ - uint32_t meas_cycles; - uint8_t os_to_meas_cycles[6] = {0, 1, 2, 4, 8, 16}; - - meas_cycles = os_to_meas_cycles[dev->tph_sett.os_temp]; - meas_cycles += os_to_meas_cycles[dev->tph_sett.os_pres]; - meas_cycles += os_to_meas_cycles[dev->tph_sett.os_hum]; - - /* TPH measurement duration */ - tph_dur = meas_cycles * UINT32_C(1963); - tph_dur += UINT32_C(477 * 4); /* TPH switching duration */ - tph_dur += UINT32_C(477 * 5); /* Gas measurement duration */ - tph_dur += UINT32_C(500); /* Get it to the closest whole number.*/ - tph_dur /= UINT32_C(1000); /* Convert to ms */ - - tph_dur += UINT32_C(1); /* Wake up duration of 1ms */ - - *duration = (uint16_t) tph_dur; - - /* Get the gas duration only when the run gas is enabled */ - if (dev->gas_sett.run_gas) { - /* The remaining time should be used for heating */ - *duration += dev->gas_sett.heatr_dur; - } -} - -/*! - * @brief This API reads the pressure, temperature and humidity and gas data - * from the sensor, compensates the data and store it in the bme680_data - * structure instance passed by the user. - */ -int8_t bme680_get_sensor_data(struct bme680_field_data *data, struct bme680_dev *dev) -{ - int8_t rslt; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - /* Reading the sensor data in forced mode only */ - rslt = read_field_data(data, dev); - if (rslt == BME680_OK) { - if (data->status & BME680_NEW_DATA_MSK) - dev->new_fields = 1; - else - dev->new_fields = 0; - } - } - - return rslt; -} - -/*! - * @brief This internal API is used to read the calibrated data from the sensor. - */ -static int8_t get_calib_data(struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t coeff_array[BME680_COEFF_SIZE] = { 0 }; - uint8_t temp_var = 0; /* Temporary variable */ - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - rslt = bme680_get_regs(BME680_COEFF_ADDR1, coeff_array, BME680_COEFF_ADDR1_LEN, dev); - /* Append the second half in the same array */ - if (rslt == BME680_OK) - rslt = bme680_get_regs(BME680_COEFF_ADDR2, &coeff_array[BME680_COEFF_ADDR1_LEN] - , BME680_COEFF_ADDR2_LEN, dev); - - /* Temperature related coefficients */ - dev->calib.par_t1 = (uint16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_T1_MSB_REG], - coeff_array[BME680_T1_LSB_REG])); - dev->calib.par_t2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_T2_MSB_REG], - coeff_array[BME680_T2_LSB_REG])); - dev->calib.par_t3 = (int8_t) (coeff_array[BME680_T3_REG]); - - /* Pressure related coefficients */ - dev->calib.par_p1 = (uint16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P1_MSB_REG], - coeff_array[BME680_P1_LSB_REG])); - dev->calib.par_p2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P2_MSB_REG], - coeff_array[BME680_P2_LSB_REG])); - dev->calib.par_p3 = (int8_t) coeff_array[BME680_P3_REG]; - dev->calib.par_p4 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P4_MSB_REG], - coeff_array[BME680_P4_LSB_REG])); - dev->calib.par_p5 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P5_MSB_REG], - coeff_array[BME680_P5_LSB_REG])); - dev->calib.par_p6 = (int8_t) (coeff_array[BME680_P6_REG]); - dev->calib.par_p7 = (int8_t) (coeff_array[BME680_P7_REG]); - dev->calib.par_p8 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P8_MSB_REG], - coeff_array[BME680_P8_LSB_REG])); - dev->calib.par_p9 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P9_MSB_REG], - coeff_array[BME680_P9_LSB_REG])); - dev->calib.par_p10 = (uint8_t) (coeff_array[BME680_P10_REG]); - - /* Humidity related coefficients */ - dev->calib.par_h1 = (uint16_t) (((uint16_t) coeff_array[BME680_H1_MSB_REG] << BME680_HUM_REG_SHIFT_VAL) - | (coeff_array[BME680_H1_LSB_REG] & BME680_BIT_H1_DATA_MSK)); - dev->calib.par_h2 = (uint16_t) (((uint16_t) coeff_array[BME680_H2_MSB_REG] << BME680_HUM_REG_SHIFT_VAL) - | ((coeff_array[BME680_H2_LSB_REG]) >> BME680_HUM_REG_SHIFT_VAL)); - dev->calib.par_h3 = (int8_t) coeff_array[BME680_H3_REG]; - dev->calib.par_h4 = (int8_t) coeff_array[BME680_H4_REG]; - dev->calib.par_h5 = (int8_t) coeff_array[BME680_H5_REG]; - dev->calib.par_h6 = (uint8_t) coeff_array[BME680_H6_REG]; - dev->calib.par_h7 = (int8_t) coeff_array[BME680_H7_REG]; - - /* Gas heater related coefficients */ - dev->calib.par_gh1 = (int8_t) coeff_array[BME680_GH1_REG]; - dev->calib.par_gh2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_GH2_MSB_REG], - coeff_array[BME680_GH2_LSB_REG])); - dev->calib.par_gh3 = (int8_t) coeff_array[BME680_GH3_REG]; - - /* Other coefficients */ - if (rslt == BME680_OK) { - rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_RANGE_ADDR, &temp_var, 1, dev); - - dev->calib.res_heat_range = ((temp_var & BME680_RHRANGE_MSK) / 16); - if (rslt == BME680_OK) { - rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_VAL_ADDR, &temp_var, 1, dev); - - dev->calib.res_heat_val = (int8_t) temp_var; - if (rslt == BME680_OK) - rslt = bme680_get_regs(BME680_ADDR_RANGE_SW_ERR_ADDR, &temp_var, 1, dev); - } - } - dev->calib.range_sw_err = ((int8_t) temp_var & (int8_t) BME680_RSERROR_MSK) / 16; - } - - return rslt; -} - -/*! - * @brief This internal API is used to set the gas configuration of the sensor. - */ -static int8_t set_gas_config(struct bme680_dev *dev) -{ - int8_t rslt; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - - uint8_t reg_addr[2] = {0}; - uint8_t reg_data[2] = {0}; - - if (dev->power_mode == BME680_FORCED_MODE) { - reg_addr[0] = BME680_RES_HEAT0_ADDR; - reg_data[0] = calc_heater_res(dev->gas_sett.heatr_temp, dev); - reg_addr[1] = BME680_GAS_WAIT0_ADDR; - reg_data[1] = calc_heater_dur(dev->gas_sett.heatr_dur); - dev->gas_sett.nb_conv = 0; - } else { - rslt = BME680_W_DEFINE_PWR_MODE; - } - if (rslt == BME680_OK) - rslt = bme680_set_regs(reg_addr, reg_data, 2, dev); - } - - return rslt; -} - -/*! - * @brief This internal API is used to get the gas configuration of the sensor. - * @note heatr_temp and heatr_dur values are currently register data - * and not the actual values set - */ -static int8_t get_gas_config(struct bme680_dev *dev) -{ - int8_t rslt; - /* starting address of the register array for burst read*/ - uint8_t reg_addr1 = BME680_ADDR_SENS_CONF_START; - uint8_t reg_addr2 = BME680_ADDR_GAS_CONF_START; - uint8_t reg_data = 0; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - if (BME680_SPI_INTF == dev->intf) { - /* Memory page switch the SPI address*/ - rslt = set_mem_page(reg_addr1, dev); - } - - if (rslt == BME680_OK) { - rslt = bme680_get_regs(reg_addr1, ®_data, 1, dev); - if (rslt == BME680_OK) { - dev->gas_sett.heatr_temp = reg_data; - rslt = bme680_get_regs(reg_addr2, ®_data, 1, dev); - if (rslt == BME680_OK) { - /* Heating duration register value */ - dev->gas_sett.heatr_dur = reg_data; - } - } - } - } - - return rslt; -} - -#ifndef BME680_FLOAT_POINT_COMPENSATION - -/*! - * @brief This internal API is used to calculate the temperature value. - */ -static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) -{ - int64_t var1; - int64_t var2; - int64_t var3; - int16_t calc_temp; - - var1 = ((int32_t) temp_adc >> 3) - ((int32_t) dev->calib.par_t1 << 1); - var2 = (var1 * (int32_t) dev->calib.par_t2) >> 11; - var3 = ((var1 >> 1) * (var1 >> 1)) >> 12; - var3 = ((var3) * ((int32_t) dev->calib.par_t3 << 4)) >> 14; - dev->calib.t_fine = (int32_t) (var2 + var3); - calc_temp = (int16_t) (((dev->calib.t_fine * 5) + 128) >> 8); - - return calc_temp; -} - -/*! - * @brief This internal API is used to calculate the pressure value. - */ -static uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev) -{ - int32_t var1; - int32_t var2; - int32_t var3; - int32_t pressure_comp; - - var1 = (((int32_t)dev->calib.t_fine) >> 1) - 64000; - var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * - (int32_t)dev->calib.par_p6) >> 2; - var2 = var2 + ((var1 * (int32_t)dev->calib.par_p5) << 1); - var2 = (var2 >> 2) + ((int32_t)dev->calib.par_p4 << 16); - var1 = (((((var1 >> 2) * (var1 >> 2)) >> 13) * - ((int32_t)dev->calib.par_p3 << 5)) >> 3) + - (((int32_t)dev->calib.par_p2 * var1) >> 1); - var1 = var1 >> 18; - var1 = ((32768 + var1) * (int32_t)dev->calib.par_p1) >> 15; - pressure_comp = 1048576 - pres_adc; - pressure_comp = (int32_t)((pressure_comp - (var2 >> 12)) * ((uint32_t)3125)); - if (pressure_comp >= BME680_MAX_OVERFLOW_VAL) - pressure_comp = ((pressure_comp / var1) << 1); - else - pressure_comp = ((pressure_comp << 1) / var1); - var1 = ((int32_t)dev->calib.par_p9 * (int32_t)(((pressure_comp >> 3) * - (pressure_comp >> 3)) >> 13)) >> 12; - var2 = ((int32_t)(pressure_comp >> 2) * - (int32_t)dev->calib.par_p8) >> 13; - var3 = ((int32_t)(pressure_comp >> 8) * (int32_t)(pressure_comp >> 8) * - (int32_t)(pressure_comp >> 8) * - (int32_t)dev->calib.par_p10) >> 17; - - pressure_comp = (int32_t)(pressure_comp) + ((var1 + var2 + var3 + - ((int32_t)dev->calib.par_p7 << 7)) >> 4); - - return (uint32_t)pressure_comp; - -} - -/*! - * @brief This internal API is used to calculate the humidity value. - */ -static uint32_t calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev) -{ - int32_t var1; - int32_t var2; - int32_t var3; - int32_t var4; - int32_t var5; - int32_t var6; - int32_t temp_scaled; - int32_t calc_hum; - - temp_scaled = (((int32_t) dev->calib.t_fine * 5) + 128) >> 8; - var1 = (int32_t) (hum_adc - ((int32_t) ((int32_t) dev->calib.par_h1 * 16))) - - (((temp_scaled * (int32_t) dev->calib.par_h3) / ((int32_t) 100)) >> 1); - var2 = ((int32_t) dev->calib.par_h2 - * (((temp_scaled * (int32_t) dev->calib.par_h4) / ((int32_t) 100)) - + (((temp_scaled * ((temp_scaled * (int32_t) dev->calib.par_h5) / ((int32_t) 100))) >> 6) - / ((int32_t) 100)) + (int32_t) (1 << 14))) >> 10; - var3 = var1 * var2; - var4 = (int32_t) dev->calib.par_h6 << 7; - var4 = ((var4) + ((temp_scaled * (int32_t) dev->calib.par_h7) / ((int32_t) 100))) >> 4; - var5 = ((var3 >> 14) * (var3 >> 14)) >> 10; - var6 = (var4 * var5) >> 1; - calc_hum = (((var3 + var6) >> 10) * ((int32_t) 1000)) >> 12; - - if (calc_hum > 100000) /* Cap at 100%rH */ - calc_hum = 100000; - else if (calc_hum < 0) - calc_hum = 0; - - return (uint32_t) calc_hum; -} - -/*! - * @brief This internal API is used to calculate the Gas Resistance value. - */ -static uint32_t calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev) -{ - int64_t var1; - uint64_t var2; - int64_t var3; - uint32_t calc_gas_res; - /**Look up table 1 for the possible gas range values */ - uint32_t lookupTable1[16] = { UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), - UINT32_C(2147483647), UINT32_C(2126008810), UINT32_C(2147483647), UINT32_C(2130303777), - UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2143188679), UINT32_C(2136746228), - UINT32_C(2147483647), UINT32_C(2126008810), UINT32_C(2147483647), UINT32_C(2147483647) }; - /**Look up table 2 for the possible gas range values */ - uint32_t lookupTable2[16] = { UINT32_C(4096000000), UINT32_C(2048000000), UINT32_C(1024000000), UINT32_C(512000000), - UINT32_C(255744255), UINT32_C(127110228), UINT32_C(64000000), UINT32_C(32258064), UINT32_C(16016016), - UINT32_C(8000000), UINT32_C(4000000), UINT32_C(2000000), UINT32_C(1000000), UINT32_C(500000), - UINT32_C(250000), UINT32_C(125000) }; - - var1 = (int64_t) ((1340 + (5 * (int64_t) dev->calib.range_sw_err)) * - ((int64_t) lookupTable1[gas_range])) >> 16; - var2 = (((int64_t) ((int64_t) gas_res_adc << 15) - (int64_t) (16777216)) + var1); - var3 = (((int64_t) lookupTable2[gas_range] * (int64_t) var1) >> 9); - calc_gas_res = (uint32_t) ((var3 + ((int64_t) var2 >> 1)) / (int64_t) var2); - - return calc_gas_res; -} - -/*! - * @brief This internal API is used to calculate the Heat Resistance value. - */ -static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev) -{ - uint8_t heatr_res; - int32_t var1; - int32_t var2; - int32_t var3; - int32_t var4; - int32_t var5; - int32_t heatr_res_x100; - - if (temp > 400) /* Cap temperature */ - temp = 400; - - var1 = (((int32_t) dev->amb_temp * dev->calib.par_gh3) / 1000) * 256; - var2 = (dev->calib.par_gh1 + 784) * (((((dev->calib.par_gh2 + 154009) * temp * 5) / 100) + 3276800) / 10); - var3 = var1 + (var2 / 2); - var4 = (var3 / (dev->calib.res_heat_range + 4)); - var5 = (131 * dev->calib.res_heat_val) + 65536; - heatr_res_x100 = (int32_t) (((var4 / var5) - 250) * 34); - heatr_res = (uint8_t) ((heatr_res_x100 + 50) / 100); - - return heatr_res; -} - -#else - - -/*! - * @brief This internal API is used to calculate the - * temperature value in float format - */ -static float calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) -{ - float var1 = 0; - float var2 = 0; - float calc_temp = 0; - - /* calculate var1 data */ - var1 = ((((float)temp_adc / 16384.0f) - ((float)dev->calib.par_t1 / 1024.0f)) - * ((float)dev->calib.par_t2)); - - /* calculate var2 data */ - var2 = (((((float)temp_adc / 131072.0f) - ((float)dev->calib.par_t1 / 8192.0f)) * - (((float)temp_adc / 131072.0f) - ((float)dev->calib.par_t1 / 8192.0f))) * - ((float)dev->calib.par_t3 * 16.0f)); - - /* t_fine value*/ - dev->calib.t_fine = (var1 + var2); - - /* compensated temperature data*/ - calc_temp = ((dev->calib.t_fine) / 5120.0f); - - return calc_temp; -} - -/*! - * @brief This internal API is used to calculate the - * pressure value in float format - */ -static float calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev) -{ - float var1 = 0; - float var2 = 0; - float var3 = 0; - float calc_pres = 0; - - var1 = (((float)dev->calib.t_fine / 2.0f) - 64000.0f); - var2 = var1 * var1 * (((float)dev->calib.par_p6) / (131072.0f)); - var2 = var2 + (var1 * ((float)dev->calib.par_p5) * 2.0f); - var2 = (var2 / 4.0f) + (((float)dev->calib.par_p4) * 65536.0f); - var1 = (((((float)dev->calib.par_p3 * var1 * var1) / 16384.0f) - + ((float)dev->calib.par_p2 * var1)) / 524288.0f); - var1 = ((1.0f + (var1 / 32768.0f)) * ((float)dev->calib.par_p1)); - calc_pres = (1048576.0f - ((float)pres_adc)); - - /* Avoid exception caused by division by zero */ - if ((int)var1 != 0) { - calc_pres = (((calc_pres - (var2 / 4096.0f)) * 6250.0f) / var1); - var1 = (((float)dev->calib.par_p9) * calc_pres * calc_pres) / 2147483648.0f; - var2 = calc_pres * (((float)dev->calib.par_p8) / 32768.0f); - var3 = ((calc_pres / 256.0f) * (calc_pres / 256.0f) * (calc_pres / 256.0f) - * (dev->calib.par_p10 / 131072.0f)); - calc_pres = (calc_pres + (var1 + var2 + var3 + ((float)dev->calib.par_p7 * 128.0f)) / 16.0f); - } else { - calc_pres = 0; - } - - return calc_pres; -} - -/*! - * @brief This internal API is used to calculate the - * humidity value in float format - */ -static float calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev) -{ - float calc_hum = 0; - float var1 = 0; - float var2 = 0; - float var3 = 0; - float var4 = 0; - float temp_comp; - - /* compensated temperature data*/ - temp_comp = ((dev->calib.t_fine) / 5120.0f); - - var1 = (float)((float)hum_adc) - (((float)dev->calib.par_h1 * 16.0f) + (((float)dev->calib.par_h3 / 2.0f) - * temp_comp)); - - var2 = var1 * ((float)(((float) dev->calib.par_h2 / 262144.0f) * (1.0f + (((float)dev->calib.par_h4 / 16384.0f) - * temp_comp) + (((float)dev->calib.par_h5 / 1048576.0f) * temp_comp * temp_comp)))); - - var3 = (float) dev->calib.par_h6 / 16384.0f; - - var4 = (float) dev->calib.par_h7 / 2097152.0f; - - calc_hum = var2 + ((var3 + (var4 * temp_comp)) * var2 * var2); - - if (calc_hum > 100.0f) - calc_hum = 100.0f; - else if (calc_hum < 0.0f) - calc_hum = 0.0f; - - return calc_hum; -} - -/*! - * @brief This internal API is used to calculate the - * gas resistance value in float format - */ -static float calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev) -{ - float calc_gas_res; - float var1 = 0; - float var2 = 0; - float var3 = 0; - - const float lookup_k1_range[16] = { - 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -0.8, - 0.0, 0.0, -0.2, -0.5, 0.0, -1.0, 0.0, 0.0}; - const float lookup_k2_range[16] = { - 0.0, 0.0, 0.0, 0.0, 0.1, 0.7, 0.0, -0.8, - -0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; - - var1 = (1340.0f + (5.0f * dev->calib.range_sw_err)); - var2 = (var1) * (1.0f + lookup_k1_range[gas_range]/100.0f); - var3 = 1.0f + (lookup_k2_range[gas_range]/100.0f); - - calc_gas_res = 1.0f / (float)(var3 * (0.000000125f) * (float)(1 << gas_range) * (((((float)gas_res_adc) - - 512.0f)/var2) + 1.0f)); - - return calc_gas_res; -} - -/*! - * @brief This internal API is used to calculate the - * heater resistance value in float format - */ -static float calc_heater_res(uint16_t temp, const struct bme680_dev *dev) -{ - float var1 = 0; - float var2 = 0; - float var3 = 0; - float var4 = 0; - float var5 = 0; - float res_heat = 0; - - if (temp > 400) /* Cap temperature */ - temp = 400; - - var1 = (((float)dev->calib.par_gh1 / (16.0f)) + 49.0f); - var2 = ((((float)dev->calib.par_gh2 / (32768.0f)) * (0.0005f)) + 0.00235f); - var3 = ((float)dev->calib.par_gh3 / (1024.0f)); - var4 = (var1 * (1.0f + (var2 * (float)temp))); - var5 = (var4 + (var3 * (float)dev->amb_temp)); - res_heat = (uint8_t)(3.4f * ((var5 * (4 / (4 + (float)dev->calib.res_heat_range)) * - (1/(1 + ((float) dev->calib.res_heat_val * 0.002f)))) - 25)); - - return res_heat; -} - -#endif - -/*! - * @brief This internal API is used to calculate the Heat duration value. - */ -static uint8_t calc_heater_dur(uint16_t dur) -{ - uint8_t factor = 0; - uint8_t durval; - - if (dur >= 0xfc0) { - durval = 0xff; /* Max duration*/ - } else { - while (dur > 0x3F) { - dur = dur / 4; - factor += 1; - } - durval = (uint8_t) (dur + (factor * 64)); - } - - return durval; -} - -/*! - * @brief This internal API is used to calculate the field data of sensor. - */ -static int8_t read_field_data(struct bme680_field_data *data, struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t buff[BME680_FIELD_LENGTH] = { 0 }; - uint8_t gas_range; - uint32_t adc_temp; - uint32_t adc_pres; - uint16_t adc_hum; - uint16_t adc_gas_res; - uint8_t tries = 10; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - do { - if (rslt == BME680_OK) { - rslt = bme680_get_regs(((uint8_t) (BME680_FIELD0_ADDR)), buff, (uint16_t) BME680_FIELD_LENGTH, - dev); - - data->status = buff[0] & BME680_NEW_DATA_MSK; - data->gas_index = buff[0] & BME680_GAS_INDEX_MSK; - data->meas_index = buff[1]; - - /* read the raw data from the sensor */ - adc_pres = (uint32_t) (((uint32_t) buff[2] * 4096) | ((uint32_t) buff[3] * 16) - | ((uint32_t) buff[4] / 16)); - adc_temp = (uint32_t) (((uint32_t) buff[5] * 4096) | ((uint32_t) buff[6] * 16) - | ((uint32_t) buff[7] / 16)); - adc_hum = (uint16_t) (((uint32_t) buff[8] * 256) | (uint32_t) buff[9]); - adc_gas_res = (uint16_t) ((uint32_t) buff[13] * 4 | (((uint32_t) buff[14]) / 64)); - gas_range = buff[14] & BME680_GAS_RANGE_MSK; - - data->status |= buff[14] & BME680_GASM_VALID_MSK; - data->status |= buff[14] & BME680_HEAT_STAB_MSK; - - if (data->status & BME680_NEW_DATA_MSK) { - data->temperature = calc_temperature(adc_temp, dev); - data->pressure = calc_pressure(adc_pres, dev); - data->humidity = calc_humidity(adc_hum, dev); - data->gas_resistance = calc_gas_resistance(adc_gas_res, gas_range, dev); - break; - } - /* Delay to poll the data */ - dev->delay_ms(BME680_POLL_PERIOD_MS); - } - tries--; - } while (tries); - - if (!tries) - rslt = BME680_W_NO_NEW_DATA; - - return rslt; -} - -/*! - * @brief This internal API is used to set the memory page based on register address. - */ -static int8_t set_mem_page(uint8_t reg_addr, struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t reg; - uint8_t mem_page; - - /* Check for null pointers in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - if (reg_addr > 0x7f) - mem_page = BME680_MEM_PAGE1; - else - mem_page = BME680_MEM_PAGE0; - - if (mem_page != dev->mem_page) { - dev->mem_page = mem_page; - - dev->com_rslt = dev->read(dev->dev_id, BME680_MEM_PAGE_ADDR | BME680_SPI_RD_MSK, ®, 1); - if (dev->com_rslt != 0) - rslt = BME680_E_COM_FAIL; - - if (rslt == BME680_OK) { - reg = reg & (~BME680_MEM_PAGE_MSK); - reg = reg | (dev->mem_page & BME680_MEM_PAGE_MSK); - - dev->com_rslt = dev->write(dev->dev_id, BME680_MEM_PAGE_ADDR & BME680_SPI_WR_MSK, - ®, 1); - if (dev->com_rslt != 0) - rslt = BME680_E_COM_FAIL; - } - } - } - - return rslt; -} - -/*! - * @brief This internal API is used to get the memory page based on register address. - */ -static int8_t get_mem_page(struct bme680_dev *dev) -{ - int8_t rslt; - uint8_t reg; - - /* Check for null pointer in the device structure*/ - rslt = null_ptr_check(dev); - if (rslt == BME680_OK) { - dev->com_rslt = dev->read(dev->dev_id, BME680_MEM_PAGE_ADDR | BME680_SPI_RD_MSK, ®, 1); - if (dev->com_rslt != 0) - rslt = BME680_E_COM_FAIL; - else - dev->mem_page = reg & BME680_MEM_PAGE_MSK; - } - - return rslt; -} - -/*! - * @brief This internal API is used to validate the boundary - * conditions. - */ -static int8_t boundary_check(uint8_t *value, uint8_t min, uint8_t max, struct bme680_dev *dev) -{ - int8_t rslt = BME680_OK; - - if (value != NULL) { - /* Check if value is below minimum value */ - if (*value < min) { - /* Auto correct the invalid value to minimum value */ - *value = min; - dev->info_msg |= BME680_I_MIN_CORRECTION; - } - /* Check if value is above maximum value */ - if (*value > max) { - /* Auto correct the invalid value to maximum value */ - *value = max; - dev->info_msg |= BME680_I_MAX_CORRECTION; - } - } else { - rslt = BME680_E_NULL_PTR; - } - - return rslt; -} - -/*! - * @brief This internal API is used to validate the device structure pointer for - * null conditions. - */ -static int8_t null_ptr_check(const struct bme680_dev *dev) -{ - int8_t rslt; - - if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_ms == NULL)) { - /* Device structure pointer is not valid */ - rslt = BME680_E_NULL_PTR; - } else { - /* Device structure is fine */ - rslt = BME680_OK; - } - - return rslt; -} diff --git a/lib/Adafruit_BME680/bme680.h b/lib/Adafruit_BME680/bme680.h deleted file mode 100644 index 95a87c8d6..000000000 --- a/lib/Adafruit_BME680/bme680.h +++ /dev/null @@ -1,222 +0,0 @@ -/** - * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the copyright holder nor the names of the - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER - * OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE - * - * The information provided is believed to be accurate and reliable. - * The copyright holder assumes no responsibility - * for the consequences of use - * of such information nor for any infringement of patents or - * other rights of third parties which may result from its use. - * No license is granted by implication or otherwise under any patent or - * patent rights of the copyright holder. - * - * @file bme680.h - * @date 19 Jun 2018 - * @version 3.5.9 - * @brief Sensor driver for BME680 sensor - * - */ -#ifndef BME680_H_ -#define BME680_H_ - -/*! CPP guard */ -#ifdef __cplusplus -extern "C" -{ -#endif - -/* Header includes */ -#include "bme680_defs.h" - -/** function prototype declarations **/ - -/*! - * @brief This API is the entry point. - * It reads the chip-id and calibration data from the sensor. - * @param[in,out] dev - * Structure instance of bme680_dev - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -int8_t bme680_init(struct bme680_dev *dev); - -/*! - * @brief This API writes the given data to the register address - * of the sensor. - * @param[in] reg_addr - * Register address from where the data to be written. - * @param[in] reg_data - * Pointer to data buffer which is to be written - * in the sensor. - * @param[in] len - * No of bytes of data to write.. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -int8_t bme680_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, struct bme680_dev *dev); - -/*! - * @brief This API reads the data from the given register address of the sensor. - * @param[in] reg_addr - * Register address from where the data to be read - * @param[out] reg_data - * Pointer to data buffer to store the read data. - * @param[in] len - * No of bytes of data to be read. - * @param[in] dev - * Structure instance of bme680_dev. - * - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -int8_t bme680_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bme680_dev *dev); - -/*! - * @brief This API performs the soft reset of the sensor. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error. - */ -int8_t bme680_soft_reset(struct bme680_dev *dev); - -/*! - * @brief This API is used to set the power mode of the sensor. - * @param[in] dev - * Structure instance of bme680_dev - * @note Pass the value to bme680_dev.power_mode structure variable. - * value | mode - * -------------|------------------ - * 0x00 | BME680_SLEEP_MODE - * 0x01 | BME680_FORCED_MODE - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -int8_t bme680_set_sensor_mode(struct bme680_dev *dev); - -/*! - * @brief This API is used to get the power mode of the sensor. - * - * @param[in] dev : Structure instance of bme680_dev - * @note : bme680_dev.power_mode structure variable hold the power mode. - * - * value | mode - * ---------|------------------ - * 0x00 | BME680_SLEEP_MODE - * 0x01 | BME680_FORCED_MODE - * - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -int8_t bme680_get_sensor_mode(struct bme680_dev *dev); - -/*! - * @brief This API is used to set the profile duration of the sensor. - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] duration - * Duration of the measurement in ms. - * @return Nothing - */ -void bme680_set_profile_dur(uint16_t duration, struct bme680_dev *dev); - -/*! - * @brief This API is used to get the profile duration of the sensor. - * - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] duration - * Duration of the measurement in ms. - * @return Nothing - */ -void bme680_get_profile_dur(uint16_t *duration, const struct bme680_dev *dev); - -/*! - * @brief This API reads the pressure, temperature and humidity and gas data - * from the sensor, compensates the data and store it in the bme680_data - * structure instance passed by the user. - * @param[out] data - * Structure instance to hold the data. - * @param[in] dev - * Structure instance of bme680_dev. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error - */ -int8_t bme680_get_sensor_data(struct bme680_field_data *data, struct bme680_dev *dev); - -/*! - * @brief This API is used to set the oversampling, filter and T,P,H, gas selection - * settings in the sensor. - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] desired_settings - * Variable used to select the settings which are to be set in the sensor. - * - * Macros | Functionality - * ----------------------------|---------------------------------------------- - * BME680_OST_SEL | To set temperature oversampling. - * BME680_OSP_SEL | To set pressure oversampling. - * BME680_OSH_SEL | To set humidity oversampling. - * BME680_GAS_MEAS_SEL | To set gas measurement setting. - * BME680_FILTER_SEL | To set filter setting. - * BME680_HCNTRL_SEL | To set humidity control setting. - * BME680_RUN_GAS_SEL | To set run gas setting. - * BME680_NBCONV_SEL | To set NB conversion setting. - * BME680_GAS_SENSOR_SEL | To set all gas sensor related settings - * - * @note Below are the macros to be used by the user for selecting the - * desired settings. User can do OR operation of these macros for configuring - * multiple settings. - * - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error. - */ -int8_t bme680_set_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev); - -/*! - * @brief This API is used to get the oversampling, filter and T,P,H, gas selection - * settings in the sensor. - * @param[in] dev - * Structure instance of bme680_dev. - * @param[in] desired_settings - * Variable used to select the settings which are to be get from the sensor. - * @return Result of API execution status - * @retval zero -> Success / +ve value -> Warning / -ve value -> Error. - */ -int8_t bme680_get_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev); -#ifdef __cplusplus -} -#endif /* End of CPP guard */ -#endif /* BME680_H_ */ -/** @}*/ diff --git a/lib/Adafruit_BME680/bme680_defs.h b/lib/Adafruit_BME680/bme680_defs.h deleted file mode 100644 index 9c7044182..000000000 --- a/lib/Adafruit_BME680/bme680_defs.h +++ /dev/null @@ -1,538 +0,0 @@ -/** - * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the copyright holder nor the names of the - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER - * OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE - * - * The information provided is believed to be accurate and reliable. - * The copyright holder assumes no responsibility - * for the consequences of use - * of such information nor for any infringement of patents or - * other rights of third parties which may result from its use. - * No license is granted by implication or otherwise under any patent or - * patent rights of the copyright holder. - * - * @file bme680_defs.h - * @date 19 Jun 2018 - * @version 3.5.9 - * @brief Sensor driver for BME680 sensor - */ - -#ifndef BME680_DEFS_H_ -#define BME680_DEFS_H_ - -/** header includes **/ -#ifdef __KERNEL__ -#include -#include -#else -#include -#include -#endif - -/** Common macros **/ - -#if !defined(UINT8_C) && !defined(INT8_C) -#define INT8_C(x) S8_C(x) -#define UINT8_C(x) U8_C(x) -#endif - -#if !defined(UINT16_C) && !defined(INT16_C) -#define INT16_C(x) S16_C(x) -#define UINT16_C(x) U16_C(x) -#endif - -#if !defined(INT32_C) && !defined(UINT32_C) -#define INT32_C(x) S32_C(x) -#define UINT32_C(x) U32_C(x) -#endif - -#if !defined(INT64_C) && !defined(UINT64_C) -#define INT64_C(x) S64_C(x) -#define UINT64_C(x) U64_C(x) -#endif - -/** C standard macros **/ -#ifndef NULL -#ifdef __cplusplus -#define NULL nullptr -#else -#define NULL nullptr -#endif -#endif - -/** BME680 configuration macros */ -/** Enable or un-comment the macro to provide floating point data output **/ -#ifndef BME680_FLOAT_POINT_COMPENSATION -/* #define BME680_FLOAT_POINT_COMPENSATION **/ -#endif - -/** BME680 General config **/ -#define BME680_POLL_PERIOD_MS UINT8_C(10) - -/** BME680 I2C addresses **/ -#define BME680_I2C_ADDR_PRIMARY UINT8_C(0x76) -#define BME680_I2C_ADDR_SECONDARY UINT8_C(0x77) - -/** BME680 unique chip identifier **/ -#define BME680_CHIP_ID UINT8_C(0x61) - -/** BME680 coefficients related defines **/ -#define BME680_COEFF_SIZE UINT8_C(41) -#define BME680_COEFF_ADDR1_LEN UINT8_C(25) -#define BME680_COEFF_ADDR2_LEN UINT8_C(16) - -/** BME680 field_x related defines **/ -#define BME680_FIELD_LENGTH UINT8_C(15) -#define BME680_FIELD_ADDR_OFFSET UINT8_C(17) - -/** Soft reset command **/ -#define BME680_SOFT_RESET_CMD UINT8_C(0xb6) - -/** Error code definitions **/ -#define BME680_OK INT8_C(0) -/* Errors */ -#define BME680_E_NULL_PTR INT8_C(-1) -#define BME680_E_COM_FAIL INT8_C(-2) -#define BME680_E_DEV_NOT_FOUND INT8_C(-3) -#define BME680_E_INVALID_LENGTH INT8_C(-4) - -/* Warnings */ -#define BME680_W_DEFINE_PWR_MODE INT8_C(1) -#define BME680_W_NO_NEW_DATA INT8_C(2) - -/* Info's */ -#define BME680_I_MIN_CORRECTION UINT8_C(1) -#define BME680_I_MAX_CORRECTION UINT8_C(2) - -/** Register map **/ -/** Other coefficient's address **/ -#define BME680_ADDR_RES_HEAT_VAL_ADDR UINT8_C(0x00) -#define BME680_ADDR_RES_HEAT_RANGE_ADDR UINT8_C(0x02) -#define BME680_ADDR_RANGE_SW_ERR_ADDR UINT8_C(0x04) -#define BME680_ADDR_SENS_CONF_START UINT8_C(0x5A) -#define BME680_ADDR_GAS_CONF_START UINT8_C(0x64) - -/** Field settings **/ -#define BME680_FIELD0_ADDR UINT8_C(0x1d) - -/** Heater settings **/ -#define BME680_RES_HEAT0_ADDR UINT8_C(0x5a) -#define BME680_GAS_WAIT0_ADDR UINT8_C(0x64) - -/** Sensor configuration registers **/ -#define BME680_CONF_HEAT_CTRL_ADDR UINT8_C(0x70) -#define BME680_CONF_ODR_RUN_GAS_NBC_ADDR UINT8_C(0x71) -#define BME680_CONF_OS_H_ADDR UINT8_C(0x72) -#define BME680_MEM_PAGE_ADDR UINT8_C(0xf3) -#define BME680_CONF_T_P_MODE_ADDR UINT8_C(0x74) -#define BME680_CONF_ODR_FILT_ADDR UINT8_C(0x75) - -/** Coefficient's address **/ -#define BME680_COEFF_ADDR1 UINT8_C(0x89) -#define BME680_COEFF_ADDR2 UINT8_C(0xe1) - -/** Chip identifier **/ -#define BME680_CHIP_ID_ADDR UINT8_C(0xd0) - -/** Soft reset register **/ -#define BME680_SOFT_RESET_ADDR UINT8_C(0xe0) - -/** Heater control settings **/ -#define BME680_ENABLE_HEATER UINT8_C(0x00) -#define BME680_DISABLE_HEATER UINT8_C(0x08) - -/** Gas measurement settings **/ -#define BME680_DISABLE_GAS_MEAS UINT8_C(0x00) -#define BME680_ENABLE_GAS_MEAS UINT8_C(0x01) - -/** Over-sampling settings **/ -#define BME680_OS_NONE UINT8_C(0) -#define BME680_OS_1X UINT8_C(1) -#define BME680_OS_2X UINT8_C(2) -#define BME680_OS_4X UINT8_C(3) -#define BME680_OS_8X UINT8_C(4) -#define BME680_OS_16X UINT8_C(5) - -/** IIR filter settings **/ -#define BME680_FILTER_SIZE_0 UINT8_C(0) -#define BME680_FILTER_SIZE_1 UINT8_C(1) -#define BME680_FILTER_SIZE_3 UINT8_C(2) -#define BME680_FILTER_SIZE_7 UINT8_C(3) -#define BME680_FILTER_SIZE_15 UINT8_C(4) -#define BME680_FILTER_SIZE_31 UINT8_C(5) -#define BME680_FILTER_SIZE_63 UINT8_C(6) -#define BME680_FILTER_SIZE_127 UINT8_C(7) - -/** Power mode settings */ -#define BME680_SLEEP_MODE UINT8_C(0) -#define BME680_FORCED_MODE UINT8_C(1) - -/** Delay related macro declaration **/ -#define BME680_RESET_PERIOD UINT32_C(10) - -/** SPI memory page settings **/ -#define BME680_MEM_PAGE0 UINT8_C(0x10) -#define BME680_MEM_PAGE1 UINT8_C(0x00) - -/** Ambient humidity shift value for compensation **/ -#define BME680_HUM_REG_SHIFT_VAL UINT8_C(4) - -/** Run gas enable and disable settings **/ -#define BME680_RUN_GAS_DISABLE UINT8_C(0) -#define BME680_RUN_GAS_ENABLE UINT8_C(1) - -/** Buffer length macro declaration **/ -#define BME680_TMP_BUFFER_LENGTH UINT8_C(40) -#define BME680_REG_BUFFER_LENGTH UINT8_C(6) -#define BME680_FIELD_DATA_LENGTH UINT8_C(3) -#define BME680_GAS_REG_BUF_LENGTH UINT8_C(20) - -/** Settings selector **/ -#define BME680_OST_SEL UINT16_C(1) -#define BME680_OSP_SEL UINT16_C(2) -#define BME680_OSH_SEL UINT16_C(4) -#define BME680_GAS_MEAS_SEL UINT16_C(8) -#define BME680_FILTER_SEL UINT16_C(16) -#define BME680_HCNTRL_SEL UINT16_C(32) -#define BME680_RUN_GAS_SEL UINT16_C(64) -#define BME680_NBCONV_SEL UINT16_C(128) -#define BME680_GAS_SENSOR_SEL (BME680_GAS_MEAS_SEL | BME680_RUN_GAS_SEL | BME680_NBCONV_SEL) - -/** Number of conversion settings **/ -#define BME680_NBCONV_MIN UINT8_C(0) -#define BME680_NBCONV_MAX UINT8_C(10) - -/** Mask definitions **/ -#define BME680_GAS_MEAS_MSK UINT8_C(0x30) -#define BME680_NBCONV_MSK UINT8_C(0X0F) -#define BME680_FILTER_MSK UINT8_C(0X1C) -#define BME680_OST_MSK UINT8_C(0XE0) -#define BME680_OSP_MSK UINT8_C(0X1C) -#define BME680_OSH_MSK UINT8_C(0X07) -#define BME680_HCTRL_MSK UINT8_C(0x08) -#define BME680_RUN_GAS_MSK UINT8_C(0x10) -#define BME680_MODE_MSK UINT8_C(0x03) -#define BME680_RHRANGE_MSK UINT8_C(0x30) -#define BME680_RSERROR_MSK UINT8_C(0xf0) -#define BME680_NEW_DATA_MSK UINT8_C(0x80) -#define BME680_GAS_INDEX_MSK UINT8_C(0x0f) -#define BME680_GAS_RANGE_MSK UINT8_C(0x0f) -#define BME680_GASM_VALID_MSK UINT8_C(0x20) -#define BME680_HEAT_STAB_MSK UINT8_C(0x10) -#define BME680_MEM_PAGE_MSK UINT8_C(0x10) -#define BME680_SPI_RD_MSK UINT8_C(0x80) -#define BME680_SPI_WR_MSK UINT8_C(0x7f) -#define BME680_BIT_H1_DATA_MSK UINT8_C(0x0F) - -/** Bit position definitions for sensor settings **/ -#define BME680_GAS_MEAS_POS UINT8_C(4) -#define BME680_FILTER_POS UINT8_C(2) -#define BME680_OST_POS UINT8_C(5) -#define BME680_OSP_POS UINT8_C(2) -#define BME680_RUN_GAS_POS UINT8_C(4) - -/** Array Index to Field data mapping for Calibration Data **/ -#define BME680_T2_LSB_REG (1) -#define BME680_T2_MSB_REG (2) -#define BME680_T3_REG (3) -#define BME680_P1_LSB_REG (5) -#define BME680_P1_MSB_REG (6) -#define BME680_P2_LSB_REG (7) -#define BME680_P2_MSB_REG (8) -#define BME680_P3_REG (9) -#define BME680_P4_LSB_REG (11) -#define BME680_P4_MSB_REG (12) -#define BME680_P5_LSB_REG (13) -#define BME680_P5_MSB_REG (14) -#define BME680_P7_REG (15) -#define BME680_P6_REG (16) -#define BME680_P8_LSB_REG (19) -#define BME680_P8_MSB_REG (20) -#define BME680_P9_LSB_REG (21) -#define BME680_P9_MSB_REG (22) -#define BME680_P10_REG (23) -#define BME680_H2_MSB_REG (25) -#define BME680_H2_LSB_REG (26) -#define BME680_H1_LSB_REG (26) -#define BME680_H1_MSB_REG (27) -#define BME680_H3_REG (28) -#define BME680_H4_REG (29) -#define BME680_H5_REG (30) -#define BME680_H6_REG (31) -#define BME680_H7_REG (32) -#define BME680_T1_LSB_REG (33) -#define BME680_T1_MSB_REG (34) -#define BME680_GH2_LSB_REG (35) -#define BME680_GH2_MSB_REG (36) -#define BME680_GH1_REG (37) -#define BME680_GH3_REG (38) - -/** BME680 register buffer index settings **/ -#define BME680_REG_FILTER_INDEX UINT8_C(5) -#define BME680_REG_TEMP_INDEX UINT8_C(4) -#define BME680_REG_PRES_INDEX UINT8_C(4) -#define BME680_REG_HUM_INDEX UINT8_C(2) -#define BME680_REG_NBCONV_INDEX UINT8_C(1) -#define BME680_REG_RUN_GAS_INDEX UINT8_C(1) -#define BME680_REG_HCTRL_INDEX UINT8_C(0) - -/** BME680 pressure calculation macros **/ -/*! This max value is used to provide precedence to multiplication or division - * in pressure compensation equation to achieve least loss of precision and - * avoiding overflows. - * i.e Comparing value, BME680_MAX_OVERFLOW_VAL = INT32_C(1 << 30) - */ -#define BME680_MAX_OVERFLOW_VAL INT32_C(0x40000000) - -/** Macro to combine two 8 bit data's to form a 16 bit data **/ -#define BME680_CONCAT_BYTES(msb, lsb) (((uint16_t)msb << 8) | (uint16_t)lsb) - -/** Macro to SET and GET BITS of a register **/ -#define BME680_SET_BITS(reg_data, bitname, data) \ - ((reg_data & ~(bitname##_MSK)) | \ - ((data << bitname##_POS) & bitname##_MSK)) -#define BME680_GET_BITS(reg_data, bitname) ((reg_data & (bitname##_MSK)) >> \ - (bitname##_POS)) - -/** Macro variant to handle the bitname position if it is zero **/ -#define BME680_SET_BITS_POS_0(reg_data, bitname, data) \ - ((reg_data & ~(bitname##_MSK)) | \ - (data & bitname##_MSK)) -#define BME680_GET_BITS_POS_0(reg_data, bitname) (reg_data & (bitname##_MSK)) - -/** Type definitions **/ -/*! - * @brief Generic communication function pointer - * @param[in] dev_id - * Place holder to store the id of the device structure - * Can be used to store the index of the Chip select or - * I2C address of the device. - * @param[in] reg_addr - * Used to select the register the where data needs to - * be read from or written to. - * @param[in/out] reg_data - * Data array to read/write - * @param[in] len - * Length of the data array - */ -typedef int8_t (*bme680_com_fptr_t)(uint8_t dev_id, uint8_t reg_addr, uint8_t *data, uint16_t len); - -/*! - * @brief Delay function pointer - * @param[in] period - * Time period in milliseconds - */ -typedef void (*bme680_delay_fptr_t)(uint32_t period); - -/*! - * @brief Interface selection Enumerations - */ -enum bme680_intf { - /*! SPI interface */ - BME680_SPI_INTF, - /*! I2C interface */ - BME680_I2C_INTF -}; - -/** structure definitions **/ -/*! - * @brief Sensor field data structure - */ -struct bme680_field_data { - /*! Contains new_data, gasm_valid & heat_stab */ - uint8_t status; - /*! The index of the heater profile used */ - uint8_t gas_index; - /*! Measurement index to track order */ - uint8_t meas_index; - -#ifndef BME680_FLOAT_POINT_COMPENSATION - /*! Temperature in degree celsius x100 */ - int16_t temperature; - /*! Pressure in Pascal */ - uint32_t pressure; - /*! Humidity in % relative humidity x1000 */ - uint32_t humidity; - /*! Gas resistance in Ohms */ - uint32_t gas_resistance; -#else - /*! Temperature in degree celsius */ - float temperature; - /*! Pressure in Pascal */ - float pressure; - /*! Humidity in % relative humidity x1000 */ - float humidity; - /*! Gas resistance in Ohms */ - float gas_resistance; - -#endif - -}; - -/*! - * @brief Structure to hold the Calibration data - */ -struct bme680_calib_data { - /*! Variable to store calibrated humidity data */ - uint16_t par_h1; - /*! Variable to store calibrated humidity data */ - uint16_t par_h2; - /*! Variable to store calibrated humidity data */ - int8_t par_h3; - /*! Variable to store calibrated humidity data */ - int8_t par_h4; - /*! Variable to store calibrated humidity data */ - int8_t par_h5; - /*! Variable to store calibrated humidity data */ - uint8_t par_h6; - /*! Variable to store calibrated humidity data */ - int8_t par_h7; - /*! Variable to store calibrated gas data */ - int8_t par_gh1; - /*! Variable to store calibrated gas data */ - int16_t par_gh2; - /*! Variable to store calibrated gas data */ - int8_t par_gh3; - /*! Variable to store calibrated temperature data */ - uint16_t par_t1; - /*! Variable to store calibrated temperature data */ - int16_t par_t2; - /*! Variable to store calibrated temperature data */ - int8_t par_t3; - /*! Variable to store calibrated pressure data */ - uint16_t par_p1; - /*! Variable to store calibrated pressure data */ - int16_t par_p2; - /*! Variable to store calibrated pressure data */ - int8_t par_p3; - /*! Variable to store calibrated pressure data */ - int16_t par_p4; - /*! Variable to store calibrated pressure data */ - int16_t par_p5; - /*! Variable to store calibrated pressure data */ - int8_t par_p6; - /*! Variable to store calibrated pressure data */ - int8_t par_p7; - /*! Variable to store calibrated pressure data */ - int16_t par_p8; - /*! Variable to store calibrated pressure data */ - int16_t par_p9; - /*! Variable to store calibrated pressure data */ - uint8_t par_p10; - -#ifndef BME680_FLOAT_POINT_COMPENSATION - /*! Variable to store t_fine size */ - int32_t t_fine; -#else - /*! Variable to store t_fine size */ - float t_fine; -#endif - /*! Variable to store heater resistance range */ - uint8_t res_heat_range; - /*! Variable to store heater resistance value */ - int8_t res_heat_val; - /*! Variable to store error range */ - int8_t range_sw_err; -}; - -/*! - * @brief BME680 sensor settings structure which comprises of ODR, - * over-sampling and filter settings. - */ -struct bme680_tph_sett { - /*! Humidity oversampling */ - uint8_t os_hum; - /*! Temperature oversampling */ - uint8_t os_temp; - /*! Pressure oversampling */ - uint8_t os_pres; - /*! Filter coefficient */ - uint8_t filter; -}; - -/*! - * @brief BME680 gas sensor which comprises of gas settings - * and status parameters - */ -struct bme680_gas_sett { - /*! Variable to store nb conversion */ - uint8_t nb_conv; - /*! Variable to store heater control */ - uint8_t heatr_ctrl; - /*! Run gas enable value */ - uint8_t run_gas; - /*! Heater temperature value */ - uint16_t heatr_temp; - /*! Duration profile value */ - uint16_t heatr_dur; -}; - -/*! - * @brief BME680 device structure - */ -struct bme680_dev { - /*! Chip Id */ - uint8_t chip_id; - /*! Device Id */ - uint8_t dev_id; - /*! SPI/I2C interface */ - enum bme680_intf intf; - /*! Memory page used */ - uint8_t mem_page; - /*! Ambient temperature in Degree C */ - int8_t amb_temp; - /*! Sensor calibration data */ - struct bme680_calib_data calib; - /*! Sensor settings */ - struct bme680_tph_sett tph_sett; - /*! Gas Sensor settings */ - struct bme680_gas_sett gas_sett; - /*! Sensor power modes */ - uint8_t power_mode; - /*! New sensor fields */ - uint8_t new_fields; - /*! Store the info messages */ - uint8_t info_msg; - /*! Bus read function pointer */ - bme680_com_fptr_t read; - /*! Bus write function pointer */ - bme680_com_fptr_t write; - /*! delay function pointer */ - bme680_delay_fptr_t delay_ms; - /*! Communication function result */ - int8_t com_rslt; -}; - - - -#endif /* BME680_DEFS_H_ */ -/** @}*/ -/** @}*/ diff --git a/lib/Adafruit_BME680/bme68x.c b/lib/Adafruit_BME680/bme68x.c new file mode 100644 index 000000000..95e1a9876 --- /dev/null +++ b/lib/Adafruit_BME680/bme68x.c @@ -0,0 +1,1848 @@ +/** +* Copyright (c) 2021 Bosch Sensortec GmbH. All rights reserved. +* +* BSD-3-Clause +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* 3. Neither the name of the copyright holder nor the names of its +* contributors may be used to endorse or promote products derived from +* this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* @file bme68x.c +* @date 2021-05-24 +* @version v4.4.6 +* +*/ + +#include "bme68x.h" +#include + +/* This internal API is used to read the calibration coefficients */ +static int8_t get_calib_data(struct bme68x_dev *dev); + +/* This internal API is used to read variant ID information register status */ +static int8_t read_variant_id(struct bme68x_dev *dev); + +/* This internal API is used to calculate the gas wait */ +static uint8_t calc_gas_wait(uint16_t dur); + +#ifndef BME68X_USE_FPU + +/* This internal API is used to calculate the temperature in integer */ +static int16_t calc_temperature(uint32_t temp_adc, struct bme68x_dev *dev); + +/* This internal API is used to calculate the pressure in integer */ +static uint32_t calc_pressure(uint32_t pres_adc, const struct bme68x_dev *dev); + +/* This internal API is used to calculate the humidity in integer */ +static uint32_t calc_humidity(uint16_t hum_adc, const struct bme68x_dev *dev); + +/* This internal API is used to calculate the gas resistance high */ +static uint32_t calc_gas_resistance_high(uint16_t gas_res_adc, uint8_t gas_range); + +/* This internal API is used to calculate the gas resistance low */ +static uint32_t calc_gas_resistance_low(uint16_t gas_res_adc, uint8_t gas_range, const struct bme68x_dev *dev); + +/* This internal API is used to calculate the heater resistance using integer */ +static uint8_t calc_res_heat(uint16_t temp, const struct bme68x_dev *dev); + +#else + +/* This internal API is used to calculate the temperature value in float */ +static float calc_temperature(uint32_t temp_adc, struct bme68x_dev *dev); + +/* This internal API is used to calculate the pressure value in float */ +static float calc_pressure(uint32_t pres_adc, const struct bme68x_dev *dev); + +/* This internal API is used to calculate the humidity value in float */ +static float calc_humidity(uint16_t hum_adc, const struct bme68x_dev *dev); + +/* This internal API is used to calculate the gas resistance high value in float */ +static float calc_gas_resistance_high(uint16_t gas_res_adc, uint8_t gas_range); + +/* This internal API is used to calculate the gas resistance low value in float */ +static float calc_gas_resistance_low(uint16_t gas_res_adc, uint8_t gas_range, const struct bme68x_dev *dev); + +/* This internal API is used to calculate the heater resistance value using float */ +static uint8_t calc_res_heat(uint16_t temp, const struct bme68x_dev *dev); + +#endif + +/* This internal API is used to read a single data of the sensor */ +static int8_t read_field_data(uint8_t index, struct bme68x_data *data, struct bme68x_dev *dev); + +/* This internal API is used to read all data fields of the sensor */ +static int8_t read_all_field_data(struct bme68x_data * const data[], struct bme68x_dev *dev); + +/* This internal API is used to switch between SPI memory pages */ +static int8_t set_mem_page(uint8_t reg_addr, struct bme68x_dev *dev); + +/* This internal API is used to get the current SPI memory page */ +static int8_t get_mem_page(struct bme68x_dev *dev); + +/* This internal API is used to check the bme68x_dev for null pointers */ +static int8_t null_ptr_check(const struct bme68x_dev *dev); + +/* This internal API is used to set heater configurations */ +static int8_t set_conf(const struct bme68x_heatr_conf *conf, uint8_t op_mode, uint8_t *nb_conv, struct bme68x_dev *dev); + +/* This internal API is used to limit the max value of a parameter */ +static int8_t boundary_check(uint8_t *value, uint8_t max, struct bme68x_dev *dev); + +/* This internal API is used to calculate the register value for + * shared heater duration */ +static uint8_t calc_heatr_dur_shared(uint16_t dur); + +/* This internal API is used to swap two fields */ +static void swap_fields(uint8_t index1, uint8_t index2, struct bme68x_data *field[]); + +/* This internal API is used sort the sensor data */ +static void sort_sensor_data(uint8_t low_index, uint8_t high_index, struct bme68x_data *field[]); + +/* + * @brief Function to analyze the sensor data + * + * @param[in] data Array of measurement data + * @param[in] n_meas Number of measurements + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +static int8_t analyze_sensor_data(const struct bme68x_data *data, uint8_t n_meas); + +/******************************************************************************************/ +/* Global API definitions */ +/******************************************************************************************/ + +/* @brief This API reads the chip-id of the sensor which is the first step to +* verify the sensor and also calibrates the sensor +* As this API is the entry point, call this API before using other APIs. +*/ +int8_t bme68x_init(struct bme68x_dev *dev) +{ + int8_t rslt; + + rslt = bme68x_soft_reset(dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_CHIP_ID, &dev->chip_id, 1, dev); + if (rslt == BME68X_OK) + { + if (dev->chip_id == BME68X_CHIP_ID) + { + /* Read Variant ID */ + rslt = read_variant_id(dev); + + if (rslt == BME68X_OK) + { + /* Get the Calibration data */ + rslt = get_calib_data(dev); + } + } + else + { + rslt = BME68X_E_DEV_NOT_FOUND; + } + } + } + + return rslt; +} + +/* + * @brief This API writes the given data to the register address of the sensor + */ +int8_t bme68x_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev) +{ + int8_t rslt; + + /* Length of the temporary buffer is 2*(length of register)*/ + uint8_t tmp_buff[BME68X_LEN_INTERLEAVE_BUFF] = { 0 }; + uint16_t index; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if ((rslt == BME68X_OK) && reg_addr && reg_data) + { + if ((len > 0) && (len <= (BME68X_LEN_INTERLEAVE_BUFF / 2))) + { + /* Interleave the 2 arrays */ + for (index = 0; index < len; index++) + { + if (dev->intf == BME68X_SPI_INTF) + { + /* Set the memory page */ + rslt = set_mem_page(reg_addr[index], dev); + tmp_buff[(2 * index)] = reg_addr[index] & BME68X_SPI_WR_MSK; + } + else + { + tmp_buff[(2 * index)] = reg_addr[index]; + } + + tmp_buff[(2 * index) + 1] = reg_data[index]; + } + + /* Write the interleaved array */ + if (rslt == BME68X_OK) + { + dev->intf_rslt = dev->write(tmp_buff[0], &tmp_buff[1], (2 * len) - 1, dev->intf_ptr); + if (dev->intf_rslt != 0) + { + rslt = BME68X_E_COM_FAIL; + } + } + } + else + { + rslt = BME68X_E_INVALID_LENGTH; + } + } + else + { + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* + * @brief This API reads the data from the given register address of sensor. + */ +int8_t bme68x_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev) +{ + int8_t rslt; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if ((rslt == BME68X_OK) && reg_data) + { + if (dev->intf == BME68X_SPI_INTF) + { + /* Set the memory page */ + rslt = set_mem_page(reg_addr, dev); + if (rslt == BME68X_OK) + { + reg_addr = reg_addr | BME68X_SPI_RD_MSK; + } + } + + dev->intf_rslt = dev->read(reg_addr, reg_data, len, dev->intf_ptr); + if (dev->intf_rslt != 0) + { + rslt = BME68X_E_COM_FAIL; + } + } + else + { + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* + * @brief This API soft-resets the sensor. + */ +int8_t bme68x_soft_reset(struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t reg_addr = BME68X_REG_SOFT_RESET; + + /* 0xb6 is the soft reset command */ + uint8_t soft_rst_cmd = BME68X_SOFT_RESET_CMD; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME68X_OK) + { + if (dev->intf == BME68X_SPI_INTF) + { + rslt = get_mem_page(dev); + } + + /* Reset the device */ + if (rslt == BME68X_OK) + { + rslt = bme68x_set_regs(®_addr, &soft_rst_cmd, 1, dev); + + /* Wait for 5ms */ + dev->delay_us(BME68X_PERIOD_RESET, dev->intf_ptr); + if (rslt == BME68X_OK) + { + /* After reset get the memory page */ + if (dev->intf == BME68X_SPI_INTF) + { + rslt = get_mem_page(dev); + } + } + } + } + + return rslt; +} + +/* + * @brief This API is used to set the oversampling, filter and odr configuration + */ +int8_t bme68x_set_conf(struct bme68x_conf *conf, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t odr20 = 0, odr3 = 1; + uint8_t current_op_mode; + + /* Register data starting from BME68X_REG_CTRL_GAS_1(0x71) up to BME68X_REG_CONFIG(0x75) */ + uint8_t reg_array[BME68X_LEN_CONFIG] = { 0x71, 0x72, 0x73, 0x74, 0x75 }; + uint8_t data_array[BME68X_LEN_CONFIG] = { 0 }; + + rslt = bme68x_get_op_mode(¤t_op_mode, dev); + if (rslt == BME68X_OK) + { + /* Configure only in the sleep mode */ + rslt = bme68x_set_op_mode(BME68X_SLEEP_MODE, dev); + } + + if (conf == NULL) + { + rslt = BME68X_E_NULL_PTR; + } + else if (rslt == BME68X_OK) + { + /* Read the whole configuration and write it back once later */ + rslt = bme68x_get_regs(reg_array[0], data_array, BME68X_LEN_CONFIG, dev); + dev->info_msg = BME68X_OK; + if (rslt == BME68X_OK) + { + rslt = boundary_check(&conf->filter, BME68X_FILTER_SIZE_127, dev); + } + + if (rslt == BME68X_OK) + { + rslt = boundary_check(&conf->os_temp, BME68X_OS_16X, dev); + } + + if (rslt == BME68X_OK) + { + rslt = boundary_check(&conf->os_pres, BME68X_OS_16X, dev); + } + + if (rslt == BME68X_OK) + { + rslt = boundary_check(&conf->os_hum, BME68X_OS_16X, dev); + } + + if (rslt == BME68X_OK) + { + rslt = boundary_check(&conf->odr, BME68X_ODR_NONE, dev); + } + + if (rslt == BME68X_OK) + { + data_array[4] = BME68X_SET_BITS(data_array[4], BME68X_FILTER, conf->filter); + data_array[3] = BME68X_SET_BITS(data_array[3], BME68X_OST, conf->os_temp); + data_array[3] = BME68X_SET_BITS(data_array[3], BME68X_OSP, conf->os_pres); + data_array[1] = BME68X_SET_BITS_POS_0(data_array[1], BME68X_OSH, conf->os_hum); + if (conf->odr != BME68X_ODR_NONE) + { + odr20 = conf->odr; + odr3 = 0; + } + + data_array[4] = BME68X_SET_BITS(data_array[4], BME68X_ODR20, odr20); + data_array[0] = BME68X_SET_BITS(data_array[0], BME68X_ODR3, odr3); + } + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_set_regs(reg_array, data_array, BME68X_LEN_CONFIG, dev); + } + + if ((current_op_mode != BME68X_SLEEP_MODE) && (rslt == BME68X_OK)) + { + rslt = bme68x_set_op_mode(current_op_mode, dev); + } + + return rslt; +} + +/* + * @brief This API is used to get the oversampling, filter and odr + */ +int8_t bme68x_get_conf(struct bme68x_conf *conf, struct bme68x_dev *dev) +{ + int8_t rslt; + + /* starting address of the register array for burst read*/ + uint8_t reg_addr = BME68X_REG_CTRL_GAS_1; + uint8_t data_array[BME68X_LEN_CONFIG]; + + rslt = bme68x_get_regs(reg_addr, data_array, 5, dev); + if (!conf) + { + rslt = BME68X_E_NULL_PTR; + } + else if (rslt == BME68X_OK) + { + conf->os_hum = BME68X_GET_BITS_POS_0(data_array[1], BME68X_OSH); + conf->filter = BME68X_GET_BITS(data_array[4], BME68X_FILTER); + conf->os_temp = BME68X_GET_BITS(data_array[3], BME68X_OST); + conf->os_pres = BME68X_GET_BITS(data_array[3], BME68X_OSP); + if (BME68X_GET_BITS(data_array[0], BME68X_ODR3)) + { + conf->odr = BME68X_ODR_NONE; + } + else + { + conf->odr = BME68X_GET_BITS(data_array[4], BME68X_ODR20); + } + } + + return rslt; +} + +/* + * @brief This API is used to set the operation mode of the sensor + */ +int8_t bme68x_set_op_mode(const uint8_t op_mode, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t tmp_pow_mode; + uint8_t pow_mode = 0; + uint8_t reg_addr = BME68X_REG_CTRL_MEAS; + + /* Call until in sleep */ + do + { + rslt = bme68x_get_regs(BME68X_REG_CTRL_MEAS, &tmp_pow_mode, 1, dev); + if (rslt == BME68X_OK) + { + /* Put to sleep before changing mode */ + pow_mode = (tmp_pow_mode & BME68X_MODE_MSK); + if (pow_mode != BME68X_SLEEP_MODE) + { + tmp_pow_mode &= ~BME68X_MODE_MSK; /* Set to sleep */ + rslt = bme68x_set_regs(®_addr, &tmp_pow_mode, 1, dev); + dev->delay_us(BME68X_PERIOD_POLL, dev->intf_ptr); + } + } + } while ((pow_mode != BME68X_SLEEP_MODE) && (rslt == BME68X_OK)); + + /* Already in sleep */ + if ((op_mode != BME68X_SLEEP_MODE) && (rslt == BME68X_OK)) + { + tmp_pow_mode = (tmp_pow_mode & ~BME68X_MODE_MSK) | (op_mode & BME68X_MODE_MSK); + rslt = bme68x_set_regs(®_addr, &tmp_pow_mode, 1, dev); + } + + return rslt; +} + +/* + * @brief This API is used to get the operation mode of the sensor. + */ +int8_t bme68x_get_op_mode(uint8_t *op_mode, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t mode; + + if (op_mode) + { + rslt = bme68x_get_regs(BME68X_REG_CTRL_MEAS, &mode, 1, dev); + + /* Masking the other register bit info*/ + *op_mode = mode & BME68X_MODE_MSK; + } + else + { + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* + * @brief This API is used to get the remaining duration that can be used for heating. + */ +uint32_t bme68x_get_meas_dur(const uint8_t op_mode, struct bme68x_conf *conf, struct bme68x_dev *dev) +{ + int8_t rslt; + uint32_t meas_dur = 0; /* Calculate in us */ + uint32_t meas_cycles; + uint8_t os_to_meas_cycles[6] = { 0, 1, 2, 4, 8, 16 }; + + if (conf != NULL) + { + /* Boundary check for temperature oversampling */ + rslt = boundary_check(&conf->os_temp, BME68X_OS_16X, dev); + + if (rslt == BME68X_OK) + { + /* Boundary check for pressure oversampling */ + rslt = boundary_check(&conf->os_pres, BME68X_OS_16X, dev); + } + + if (rslt == BME68X_OK) + { + /* Boundary check for humidity oversampling */ + rslt = boundary_check(&conf->os_hum, BME68X_OS_16X, dev); + } + + if (rslt == BME68X_OK) + { + meas_cycles = os_to_meas_cycles[conf->os_temp]; + meas_cycles += os_to_meas_cycles[conf->os_pres]; + meas_cycles += os_to_meas_cycles[conf->os_hum]; + + /* TPH measurement duration */ + meas_dur = meas_cycles * UINT32_C(1963); + meas_dur += UINT32_C(477 * 4); /* TPH switching duration */ + meas_dur += UINT32_C(477 * 5); /* Gas measurement duration */ + + if (op_mode != BME68X_PARALLEL_MODE) + { + meas_dur += UINT32_C(1000); /* Wake up duration of 1ms */ + } + } + } + + return meas_dur; +} + +/* + * @brief This API reads the pressure, temperature and humidity and gas data + * from the sensor, compensates the data and store it in the bme68x_data + * structure instance passed by the user. + */ +int8_t bme68x_get_data(uint8_t op_mode, struct bme68x_data *data, uint8_t *n_data, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t i = 0, j = 0, new_fields = 0; + struct bme68x_data *field_ptr[3] = { 0 }; + struct bme68x_data field_data[3] = { { 0 } }; + + field_ptr[0] = &field_data[0]; + field_ptr[1] = &field_data[1]; + field_ptr[2] = &field_data[2]; + + rslt = null_ptr_check(dev); + if ((rslt == BME68X_OK) && (data != NULL)) + { + /* Reading the sensor data in forced mode only */ + if (op_mode == BME68X_FORCED_MODE) + { + rslt = read_field_data(0, data, dev); + if (rslt == BME68X_OK) + { + if (data->status & BME68X_NEW_DATA_MSK) + { + new_fields = 1; + } + else + { + new_fields = 0; + rslt = BME68X_W_NO_NEW_DATA; + } + } + } + else if ((op_mode == BME68X_PARALLEL_MODE) || (op_mode == BME68X_SEQUENTIAL_MODE)) + { + /* Read the 3 fields and count the number of new data fields */ + rslt = read_all_field_data(field_ptr, dev); + + new_fields = 0; + for (i = 0; (i < 3) && (rslt == BME68X_OK); i++) + { + if (field_ptr[i]->status & BME68X_NEW_DATA_MSK) + { + new_fields++; + } + } + + /* Sort the sensor data in parallel & sequential modes*/ + for (i = 0; (i < 2) && (rslt == BME68X_OK); i++) + { + for (j = i + 1; j < 3; j++) + { + sort_sensor_data(i, j, field_ptr); + } + } + + /* Copy the sorted data */ + for (i = 0; ((i < 3) && (rslt == BME68X_OK)); i++) + { + data[i] = *field_ptr[i]; + } + + if (new_fields == 0) + { + rslt = BME68X_W_NO_NEW_DATA; + } + } + else + { + rslt = BME68X_W_DEFINE_OP_MODE; + } + + if (n_data == NULL) + { + rslt = BME68X_E_NULL_PTR; + } + else + { + *n_data = new_fields; + } + } + else + { + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* + * @brief This API is used to set the gas configuration of the sensor. + */ +int8_t bme68x_set_heatr_conf(uint8_t op_mode, const struct bme68x_heatr_conf *conf, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t nb_conv = 0; + uint8_t hctrl, run_gas = 0; + uint8_t ctrl_gas_data[2]; + uint8_t ctrl_gas_addr[2] = { BME68X_REG_CTRL_GAS_0, BME68X_REG_CTRL_GAS_1 }; + + if (conf != NULL) + { + rslt = bme68x_set_op_mode(BME68X_SLEEP_MODE, dev); + if (rslt == BME68X_OK) + { + rslt = set_conf(conf, op_mode, &nb_conv, dev); + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_CTRL_GAS_0, ctrl_gas_data, 2, dev); + if (rslt == BME68X_OK) + { + if (conf->enable == BME68X_ENABLE) + { + hctrl = BME68X_ENABLE_HEATER; + if (dev->variant_id == BME68X_VARIANT_GAS_HIGH) + { + run_gas = BME68X_ENABLE_GAS_MEAS_H; + } + else + { + run_gas = BME68X_ENABLE_GAS_MEAS_L; + } + } + else + { + hctrl = BME68X_DISABLE_HEATER; + run_gas = BME68X_DISABLE_GAS_MEAS; + } + + ctrl_gas_data[0] = BME68X_SET_BITS(ctrl_gas_data[0], BME68X_HCTRL, hctrl); + ctrl_gas_data[1] = BME68X_SET_BITS_POS_0(ctrl_gas_data[1], BME68X_NBCONV, nb_conv); + ctrl_gas_data[1] = BME68X_SET_BITS(ctrl_gas_data[1], BME68X_RUN_GAS, run_gas); + rslt = bme68x_set_regs(ctrl_gas_addr, ctrl_gas_data, 2, dev); + } + } + } + else + { + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* + * @brief This API is used to get the gas configuration of the sensor. + */ +int8_t bme68x_get_heatr_conf(const struct bme68x_heatr_conf *conf, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t data_array[10] = { 0 }; + uint8_t i; + + /* FIXME: Add conversion to deg C and ms and add the other parameters */ + rslt = bme68x_get_regs(BME68X_REG_RES_HEAT0, data_array, 10, dev); + if (rslt == BME68X_OK) + { + if (conf && conf->heatr_dur_prof && conf->heatr_temp_prof) + { + for (i = 0; i < 10; i++) + { + conf->heatr_temp_prof[i] = data_array[i]; + } + + rslt = bme68x_get_regs(BME68X_REG_GAS_WAIT0, data_array, 10, dev); + if (rslt == BME68X_OK) + { + for (i = 0; i < 10; i++) + { + conf->heatr_dur_prof[i] = data_array[i]; + } + } + } + else + { + rslt = BME68X_E_NULL_PTR; + } + } + + return rslt; +} + +/* + * @brief This API performs Self-test of low gas variant of BME68X + */ +int8_t bme68x_low_gas_selftest_check(const struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t n_fields; + uint8_t i = 0; + struct bme68x_data data[BME68X_N_MEAS] = { { 0 } }; + struct bme68x_dev t_dev; + struct bme68x_conf conf; + struct bme68x_heatr_conf heatr_conf; + + /* Copy required parameters from reference bme68x_dev struct */ + t_dev.amb_temp = 25; + t_dev.read = dev->read; + t_dev.write = dev->write; + t_dev.intf = dev->intf; + t_dev.delay_us = dev->delay_us; + t_dev.intf_ptr = dev->intf_ptr; + rslt = bme68x_init(&t_dev); + if (rslt == BME68X_OK) + { + /* Set the temperature, pressure and humidity & filter settings */ + conf.os_hum = BME68X_OS_1X; + conf.os_pres = BME68X_OS_16X; + conf.os_temp = BME68X_OS_2X; + + /* Set the remaining gas sensor settings and link the heating profile */ + heatr_conf.enable = BME68X_ENABLE; + heatr_conf.heatr_dur = BME68X_HEATR_DUR1; + heatr_conf.heatr_temp = BME68X_HIGH_TEMP; + rslt = bme68x_set_heatr_conf(BME68X_FORCED_MODE, &heatr_conf, &t_dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_set_conf(&conf, &t_dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_set_op_mode(BME68X_FORCED_MODE, &t_dev); /* Trigger a measurement */ + if (rslt == BME68X_OK) + { + /* Wait for the measurement to complete */ + t_dev.delay_us(BME68X_HEATR_DUR1_DELAY, t_dev.intf_ptr); + rslt = bme68x_get_data(BME68X_FORCED_MODE, &data[0], &n_fields, &t_dev); + if (rslt == BME68X_OK) + { + if ((data[0].idac != 0x00) && (data[0].idac != 0xFF) && + (data[0].status & BME68X_GASM_VALID_MSK)) + { + rslt = BME68X_OK; + } + else + { + rslt = BME68X_E_SELF_TEST; + } + } + } + } + } + + heatr_conf.heatr_dur = BME68X_HEATR_DUR2; + while ((rslt == BME68X_OK) && (i < BME68X_N_MEAS)) + { + if (i % 2 == 0) + { + heatr_conf.heatr_temp = BME68X_HIGH_TEMP; /* Higher temperature */ + } + else + { + heatr_conf.heatr_temp = BME68X_LOW_TEMP; /* Lower temperature */ + } + + rslt = bme68x_set_heatr_conf(BME68X_FORCED_MODE, &heatr_conf, &t_dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_set_conf(&conf, &t_dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_set_op_mode(BME68X_FORCED_MODE, &t_dev); /* Trigger a measurement */ + if (rslt == BME68X_OK) + { + /* Wait for the measurement to complete */ + t_dev.delay_us(BME68X_HEATR_DUR2_DELAY, t_dev.intf_ptr); + rslt = bme68x_get_data(BME68X_FORCED_MODE, &data[i], &n_fields, &t_dev); + } + } + } + + i++; + } + + if (rslt == BME68X_OK) + { + rslt = analyze_sensor_data(data, BME68X_N_MEAS); + } + } + + return rslt; +} + +/*****************************INTERNAL APIs***********************************************/ +#ifndef BME68X_USE_FPU + +/* @brief This internal API is used to calculate the temperature value. */ +static int16_t calc_temperature(uint32_t temp_adc, struct bme68x_dev *dev) +{ + int64_t var1; + int64_t var2; + int64_t var3; + int16_t calc_temp; + + /*lint -save -e701 -e702 -e704 */ + var1 = ((int32_t)temp_adc >> 3) - ((int32_t)dev->calib.par_t1 << 1); + var2 = (var1 * (int32_t)dev->calib.par_t2) >> 11; + var3 = ((var1 >> 1) * (var1 >> 1)) >> 12; + var3 = ((var3) * ((int32_t)dev->calib.par_t3 << 4)) >> 14; + dev->calib.t_fine = (int32_t)(var2 + var3); + calc_temp = (int16_t)(((dev->calib.t_fine * 5) + 128) >> 8); + + /*lint -restore */ + return calc_temp; +} + +/* @brief This internal API is used to calculate the pressure value. */ +static uint32_t calc_pressure(uint32_t pres_adc, const struct bme68x_dev *dev) +{ + int32_t var1; + int32_t var2; + int32_t var3; + int32_t pressure_comp; + + /* This value is used to check precedence to multiplication or division + * in the pressure compensation equation to achieve least loss of precision and + * avoiding overflows. + * i.e Comparing value, pres_ovf_check = (1 << 31) >> 1 + */ + const int32_t pres_ovf_check = INT32_C(0x40000000); + + /*lint -save -e701 -e702 -e713 */ + var1 = (((int32_t)dev->calib.t_fine) >> 1) - 64000; + var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * (int32_t)dev->calib.par_p6) >> 2; + var2 = var2 + ((var1 * (int32_t)dev->calib.par_p5) << 1); + var2 = (var2 >> 2) + ((int32_t)dev->calib.par_p4 << 16); + var1 = (((((var1 >> 2) * (var1 >> 2)) >> 13) * ((int32_t)dev->calib.par_p3 << 5)) >> 3) + + (((int32_t)dev->calib.par_p2 * var1) >> 1); + var1 = var1 >> 18; + var1 = ((32768 + var1) * (int32_t)dev->calib.par_p1) >> 15; + pressure_comp = 1048576 - pres_adc; + pressure_comp = (int32_t)((pressure_comp - (var2 >> 12)) * ((uint32_t)3125)); + if (pressure_comp >= pres_ovf_check) + { + pressure_comp = ((pressure_comp / var1) << 1); + } + else + { + pressure_comp = ((pressure_comp << 1) / var1); + } + + var1 = ((int32_t)dev->calib.par_p9 * (int32_t)(((pressure_comp >> 3) * (pressure_comp >> 3)) >> 13)) >> 12; + var2 = ((int32_t)(pressure_comp >> 2) * (int32_t)dev->calib.par_p8) >> 13; + var3 = + ((int32_t)(pressure_comp >> 8) * (int32_t)(pressure_comp >> 8) * (int32_t)(pressure_comp >> 8) * + (int32_t)dev->calib.par_p10) >> 17; + pressure_comp = (int32_t)(pressure_comp) + ((var1 + var2 + var3 + ((int32_t)dev->calib.par_p7 << 7)) >> 4); + + /*lint -restore */ + return (uint32_t)pressure_comp; +} + +/* This internal API is used to calculate the humidity in integer */ +static uint32_t calc_humidity(uint16_t hum_adc, const struct bme68x_dev *dev) +{ + int32_t var1; + int32_t var2; + int32_t var3; + int32_t var4; + int32_t var5; + int32_t var6; + int32_t temp_scaled; + int32_t calc_hum; + + /*lint -save -e702 -e704 */ + temp_scaled = (((int32_t)dev->calib.t_fine * 5) + 128) >> 8; + var1 = (int32_t)(hum_adc - ((int32_t)((int32_t)dev->calib.par_h1 * 16))) - + (((temp_scaled * (int32_t)dev->calib.par_h3) / ((int32_t)100)) >> 1); + var2 = + ((int32_t)dev->calib.par_h2 * + (((temp_scaled * (int32_t)dev->calib.par_h4) / ((int32_t)100)) + + (((temp_scaled * ((temp_scaled * (int32_t)dev->calib.par_h5) / ((int32_t)100))) >> 6) / ((int32_t)100)) + + (int32_t)(1 << 14))) >> 10; + var3 = var1 * var2; + var4 = (int32_t)dev->calib.par_h6 << 7; + var4 = ((var4) + ((temp_scaled * (int32_t)dev->calib.par_h7) / ((int32_t)100))) >> 4; + var5 = ((var3 >> 14) * (var3 >> 14)) >> 10; + var6 = (var4 * var5) >> 1; + calc_hum = (((var3 + var6) >> 10) * ((int32_t)1000)) >> 12; + if (calc_hum > 100000) /* Cap at 100%rH */ + { + calc_hum = 100000; + } + else if (calc_hum < 0) + { + calc_hum = 0; + } + + /*lint -restore */ + return (uint32_t)calc_hum; +} + +/* This internal API is used to calculate the gas resistance low */ +static uint32_t calc_gas_resistance_low(uint16_t gas_res_adc, uint8_t gas_range, const struct bme68x_dev *dev) +{ + int64_t var1; + uint64_t var2; + int64_t var3; + uint32_t calc_gas_res; + uint32_t lookup_table1[16] = { + UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), + UINT32_C(2126008810), UINT32_C(2147483647), UINT32_C(2130303777), UINT32_C(2147483647), UINT32_C(2147483647), + UINT32_C(2143188679), UINT32_C(2136746228), UINT32_C(2147483647), UINT32_C(2126008810), UINT32_C(2147483647), + UINT32_C(2147483647) + }; + uint32_t lookup_table2[16] = { + UINT32_C(4096000000), UINT32_C(2048000000), UINT32_C(1024000000), UINT32_C(512000000), UINT32_C(255744255), + UINT32_C(127110228), UINT32_C(64000000), UINT32_C(32258064), UINT32_C(16016016), UINT32_C(8000000), UINT32_C( + 4000000), UINT32_C(2000000), UINT32_C(1000000), UINT32_C(500000), UINT32_C(250000), UINT32_C(125000) + }; + + /*lint -save -e704 */ + var1 = (int64_t)((1340 + (5 * (int64_t)dev->calib.range_sw_err)) * ((int64_t)lookup_table1[gas_range])) >> 16; + var2 = (((int64_t)((int64_t)gas_res_adc << 15) - (int64_t)(16777216)) + var1); + var3 = (((int64_t)lookup_table2[gas_range] * (int64_t)var1) >> 9); + calc_gas_res = (uint32_t)((var3 + ((int64_t)var2 >> 1)) / (int64_t)var2); + + /*lint -restore */ + return calc_gas_res; +} + +/* This internal API is used to calculate the gas resistance */ +static uint32_t calc_gas_resistance_high(uint16_t gas_res_adc, uint8_t gas_range) +{ + uint32_t calc_gas_res; + uint32_t var1 = UINT32_C(262144) >> gas_range; + int32_t var2 = (int32_t)gas_res_adc - INT32_C(512); + + var2 *= INT32_C(3); + var2 = INT32_C(4096) + var2; + + /* multiplying 10000 then dividing then multiplying by 100 instead of multiplying by 1000000 to prevent overflow */ + calc_gas_res = (UINT32_C(10000) * var1) / (uint32_t)var2; + calc_gas_res = calc_gas_res * 100; + + return calc_gas_res; +} + +/* This internal API is used to calculate the heater resistance value using float */ +static uint8_t calc_res_heat(uint16_t temp, const struct bme68x_dev *dev) +{ + uint8_t heatr_res; + int32_t var1; + int32_t var2; + int32_t var3; + int32_t var4; + int32_t var5; + int32_t heatr_res_x100; + + if (temp > 400) /* Cap temperature */ + { + temp = 400; + } + + var1 = (((int32_t)dev->amb_temp * dev->calib.par_gh3) / 1000) * 256; + var2 = (dev->calib.par_gh1 + 784) * (((((dev->calib.par_gh2 + 154009) * temp * 5) / 100) + 3276800) / 10); + var3 = var1 + (var2 / 2); + var4 = (var3 / (dev->calib.res_heat_range + 4)); + var5 = (131 * dev->calib.res_heat_val) + 65536; + heatr_res_x100 = (int32_t)(((var4 / var5) - 250) * 34); + heatr_res = (uint8_t)((heatr_res_x100 + 50) / 100); + + return heatr_res; +} + +#else + +/* @brief This internal API is used to calculate the temperature value. */ +static float calc_temperature(uint32_t temp_adc, struct bme68x_dev *dev) +{ + float var1; + float var2; + float calc_temp; + + /* calculate var1 data */ + var1 = ((((float)temp_adc / 16384.0f) - ((float)dev->calib.par_t1 / 1024.0f)) * ((float)dev->calib.par_t2)); + + /* calculate var2 data */ + var2 = + (((((float)temp_adc / 131072.0f) - ((float)dev->calib.par_t1 / 8192.0f)) * + (((float)temp_adc / 131072.0f) - ((float)dev->calib.par_t1 / 8192.0f))) * ((float)dev->calib.par_t3 * 16.0f)); + + /* t_fine value*/ + dev->calib.t_fine = (var1 + var2); + + /* compensated temperature data*/ + calc_temp = ((dev->calib.t_fine) / 5120.0f); + + return calc_temp; +} + +/* @brief This internal API is used to calculate the pressure value. */ +static float calc_pressure(uint32_t pres_adc, const struct bme68x_dev *dev) +{ + float var1; + float var2; + float var3; + float calc_pres; + + var1 = (((float)dev->calib.t_fine / 2.0f) - 64000.0f); + var2 = var1 * var1 * (((float)dev->calib.par_p6) / (131072.0f)); + var2 = var2 + (var1 * ((float)dev->calib.par_p5) * 2.0f); + var2 = (var2 / 4.0f) + (((float)dev->calib.par_p4) * 65536.0f); + var1 = (((((float)dev->calib.par_p3 * var1 * var1) / 16384.0f) + ((float)dev->calib.par_p2 * var1)) / 524288.0f); + var1 = ((1.0f + (var1 / 32768.0f)) * ((float)dev->calib.par_p1)); + calc_pres = (1048576.0f - ((float)pres_adc)); + + /* Avoid exception caused by division by zero */ + if ((int)var1 != 0) + { + calc_pres = (((calc_pres - (var2 / 4096.0f)) * 6250.0f) / var1); + var1 = (((float)dev->calib.par_p9) * calc_pres * calc_pres) / 2147483648.0f; + var2 = calc_pres * (((float)dev->calib.par_p8) / 32768.0f); + var3 = ((calc_pres / 256.0f) * (calc_pres / 256.0f) * (calc_pres / 256.0f) * (dev->calib.par_p10 / 131072.0f)); + calc_pres = (calc_pres + (var1 + var2 + var3 + ((float)dev->calib.par_p7 * 128.0f)) / 16.0f); + } + else + { + calc_pres = 0; + } + + return calc_pres; +} + +/* This internal API is used to calculate the humidity in integer */ +static float calc_humidity(uint16_t hum_adc, const struct bme68x_dev *dev) +{ + float calc_hum; + float var1; + float var2; + float var3; + float var4; + float temp_comp; + + /* compensated temperature data*/ + temp_comp = ((dev->calib.t_fine) / 5120.0f); + var1 = (float)((float)hum_adc) - + (((float)dev->calib.par_h1 * 16.0f) + (((float)dev->calib.par_h3 / 2.0f) * temp_comp)); + var2 = var1 * + ((float)(((float)dev->calib.par_h2 / 262144.0f) * + (1.0f + (((float)dev->calib.par_h4 / 16384.0f) * temp_comp) + + (((float)dev->calib.par_h5 / 1048576.0f) * temp_comp * temp_comp)))); + var3 = (float)dev->calib.par_h6 / 16384.0f; + var4 = (float)dev->calib.par_h7 / 2097152.0f; + calc_hum = var2 + ((var3 + (var4 * temp_comp)) * var2 * var2); + if (calc_hum > 100.0f) + { + calc_hum = 100.0f; + } + else if (calc_hum < 0.0f) + { + calc_hum = 0.0f; + } + + return calc_hum; +} + +/* This internal API is used to calculate the gas resistance low value in float */ +static float calc_gas_resistance_low(uint16_t gas_res_adc, uint8_t gas_range, const struct bme68x_dev *dev) +{ + float calc_gas_res; + float var1; + float var2; + float var3; + float gas_res_f = gas_res_adc; + float gas_range_f = (1U << gas_range); /*lint !e790 / Suspicious truncation, integral to float */ + const float lookup_k1_range[16] = { + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, -0.8f, 0.0f, 0.0f, -0.2f, -0.5f, 0.0f, -1.0f, 0.0f, 0.0f + }; + const float lookup_k2_range[16] = { + 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.7f, 0.0f, -0.8f, -0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f + }; + + var1 = (1340.0f + (5.0f * dev->calib.range_sw_err)); + var2 = (var1) * (1.0f + lookup_k1_range[gas_range] / 100.0f); + var3 = 1.0f + (lookup_k2_range[gas_range] / 100.0f); + calc_gas_res = 1.0f / (float)(var3 * (0.000000125f) * gas_range_f * (((gas_res_f - 512.0f) / var2) + 1.0f)); + + return calc_gas_res; +} + +/* This internal API is used to calculate the gas resistance value in float */ +static float calc_gas_resistance_high(uint16_t gas_res_adc, uint8_t gas_range) +{ + float calc_gas_res; + uint32_t var1 = UINT32_C(262144) >> gas_range; + int32_t var2 = (int32_t)gas_res_adc - INT32_C(512); + + var2 *= INT32_C(3); + var2 = INT32_C(4096) + var2; + + calc_gas_res = 1000000.0f * (float)var1 / (float)var2; + + return calc_gas_res; +} + +/* This internal API is used to calculate the heater resistance value */ +static uint8_t calc_res_heat(uint16_t temp, const struct bme68x_dev *dev) +{ + float var1; + float var2; + float var3; + float var4; + float var5; + uint8_t res_heat; + + if (temp > 400) /* Cap temperature */ + { + temp = 400; + } + + var1 = (((float)dev->calib.par_gh1 / (16.0f)) + 49.0f); + var2 = ((((float)dev->calib.par_gh2 / (32768.0f)) * (0.0005f)) + 0.00235f); + var3 = ((float)dev->calib.par_gh3 / (1024.0f)); + var4 = (var1 * (1.0f + (var2 * (float)temp))); + var5 = (var4 + (var3 * (float)dev->amb_temp)); + res_heat = + (uint8_t)(3.4f * + ((var5 * (4 / (4 + (float)dev->calib.res_heat_range)) * + (1 / (1 + ((float)dev->calib.res_heat_val * 0.002f)))) - + 25)); + + return res_heat; +} + +#endif + +/* This internal API is used to calculate the gas wait */ +static uint8_t calc_gas_wait(uint16_t dur) +{ + uint8_t factor = 0; + uint8_t durval; + + if (dur >= 0xfc0) + { + durval = 0xff; /* Max duration*/ + } + else + { + while (dur > 0x3F) + { + dur = dur / 4; + factor += 1; + } + + durval = (uint8_t)(dur + (factor * 64)); + } + + return durval; +} + +/* This internal API is used to read a single data of the sensor */ +static int8_t read_field_data(uint8_t index, struct bme68x_data *data, struct bme68x_dev *dev) +{ + int8_t rslt = BME68X_OK; + uint8_t buff[BME68X_LEN_FIELD] = { 0 }; + uint8_t gas_range_l, gas_range_h; + uint32_t adc_temp; + uint32_t adc_pres; + uint16_t adc_hum; + uint16_t adc_gas_res_low, adc_gas_res_high; + uint8_t tries = 5; + + while ((tries) && (rslt == BME68X_OK)) + { + rslt = bme68x_get_regs(((uint8_t)(BME68X_REG_FIELD0 + (index * BME68X_LEN_FIELD_OFFSET))), + buff, + (uint16_t)BME68X_LEN_FIELD, + dev); + if (!data) + { + rslt = BME68X_E_NULL_PTR; + break; + } + + data->status = buff[0] & BME68X_NEW_DATA_MSK; + data->gas_index = buff[0] & BME68X_GAS_INDEX_MSK; + data->meas_index = buff[1]; + + /* read the raw data from the sensor */ + adc_pres = (uint32_t)(((uint32_t)buff[2] * 4096) | ((uint32_t)buff[3] * 16) | ((uint32_t)buff[4] / 16)); + adc_temp = (uint32_t)(((uint32_t)buff[5] * 4096) | ((uint32_t)buff[6] * 16) | ((uint32_t)buff[7] / 16)); + adc_hum = (uint16_t)(((uint32_t)buff[8] * 256) | (uint32_t)buff[9]); + adc_gas_res_low = (uint16_t)((uint32_t)buff[13] * 4 | (((uint32_t)buff[14]) / 64)); + adc_gas_res_high = (uint16_t)((uint32_t)buff[15] * 4 | (((uint32_t)buff[16]) / 64)); + gas_range_l = buff[14] & BME68X_GAS_RANGE_MSK; + gas_range_h = buff[16] & BME68X_GAS_RANGE_MSK; + if (dev->variant_id == BME68X_VARIANT_GAS_HIGH) + { + data->status |= buff[16] & BME68X_GASM_VALID_MSK; + data->status |= buff[16] & BME68X_HEAT_STAB_MSK; + } + else + { + data->status |= buff[14] & BME68X_GASM_VALID_MSK; + data->status |= buff[14] & BME68X_HEAT_STAB_MSK; + } + + if ((data->status & BME68X_NEW_DATA_MSK) && (rslt == BME68X_OK)) + { + rslt = bme68x_get_regs(BME68X_REG_RES_HEAT0 + data->gas_index, &data->res_heat, 1, dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_IDAC_HEAT0 + data->gas_index, &data->idac, 1, dev); + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_GAS_WAIT0 + data->gas_index, &data->gas_wait, 1, dev); + } + + if (rslt == BME68X_OK) + { + data->temperature = calc_temperature(adc_temp, dev); + data->pressure = calc_pressure(adc_pres, dev); + data->humidity = calc_humidity(adc_hum, dev); + if (dev->variant_id == BME68X_VARIANT_GAS_HIGH) + { + data->gas_resistance = calc_gas_resistance_high(adc_gas_res_high, gas_range_h); + } + else + { + data->gas_resistance = calc_gas_resistance_low(adc_gas_res_low, gas_range_l, dev); + } + + break; + } + } + + if (rslt == BME68X_OK) + { + dev->delay_us(BME68X_PERIOD_POLL, dev->intf_ptr); + } + + tries--; + } + + return rslt; +} + +/* This internal API is used to read all data fields of the sensor */ +static int8_t read_all_field_data(struct bme68x_data * const data[], struct bme68x_dev *dev) +{ + int8_t rslt = BME68X_OK; + uint8_t buff[BME68X_LEN_FIELD * 3] = { 0 }; + uint8_t gas_range_l, gas_range_h; + uint32_t adc_temp; + uint32_t adc_pres; + uint16_t adc_hum; + uint16_t adc_gas_res_low, adc_gas_res_high; + uint8_t off; + uint8_t set_val[30] = { 0 }; /* idac, res_heat, gas_wait */ + uint8_t i; + + if (!data[0] && !data[1] && !data[2]) + { + rslt = BME68X_E_NULL_PTR; + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_FIELD0, buff, (uint32_t) BME68X_LEN_FIELD * 3, dev); + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_IDAC_HEAT0, set_val, 30, dev); + } + + for (i = 0; ((i < 3) && (rslt == BME68X_OK)); i++) + { + off = (uint8_t)(i * BME68X_LEN_FIELD); + data[i]->status = buff[off] & BME68X_NEW_DATA_MSK; + data[i]->gas_index = buff[off] & BME68X_GAS_INDEX_MSK; + data[i]->meas_index = buff[off + 1]; + + /* read the raw data from the sensor */ + adc_pres = + (uint32_t) (((uint32_t) buff[off + 2] * 4096) | ((uint32_t) buff[off + 3] * 16) | + ((uint32_t) buff[off + 4] / 16)); + adc_temp = + (uint32_t) (((uint32_t) buff[off + 5] * 4096) | ((uint32_t) buff[off + 6] * 16) | + ((uint32_t) buff[off + 7] / 16)); + adc_hum = (uint16_t) (((uint32_t) buff[off + 8] * 256) | (uint32_t) buff[off + 9]); + adc_gas_res_low = (uint16_t) ((uint32_t) buff[off + 13] * 4 | (((uint32_t) buff[off + 14]) / 64)); + adc_gas_res_high = (uint16_t) ((uint32_t) buff[off + 15] * 4 | (((uint32_t) buff[off + 16]) / 64)); + gas_range_l = buff[off + 14] & BME68X_GAS_RANGE_MSK; + gas_range_h = buff[off + 16] & BME68X_GAS_RANGE_MSK; + if (dev->variant_id == BME68X_VARIANT_GAS_HIGH) + { + data[i]->status |= buff[off + 16] & BME68X_GASM_VALID_MSK; + data[i]->status |= buff[off + 16] & BME68X_HEAT_STAB_MSK; + } + else + { + data[i]->status |= buff[off + 14] & BME68X_GASM_VALID_MSK; + data[i]->status |= buff[off + 14] & BME68X_HEAT_STAB_MSK; + } + + data[i]->idac = set_val[data[i]->gas_index]; + data[i]->res_heat = set_val[10 + data[i]->gas_index]; + data[i]->gas_wait = set_val[20 + data[i]->gas_index]; + data[i]->temperature = calc_temperature(adc_temp, dev); + data[i]->pressure = calc_pressure(adc_pres, dev); + data[i]->humidity = calc_humidity(adc_hum, dev); + if (dev->variant_id == BME68X_VARIANT_GAS_HIGH) + { + data[i]->gas_resistance = calc_gas_resistance_high(adc_gas_res_high, gas_range_h); + } + else + { + data[i]->gas_resistance = calc_gas_resistance_low(adc_gas_res_low, gas_range_l, dev); + } + } + + return rslt; +} + +/* This internal API is used to switch between SPI memory pages */ +static int8_t set_mem_page(uint8_t reg_addr, struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t reg; + uint8_t mem_page; + + /* Check for null pointers in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME68X_OK) + { + if (reg_addr > 0x7f) + { + mem_page = BME68X_MEM_PAGE1; + } + else + { + mem_page = BME68X_MEM_PAGE0; + } + + if (mem_page != dev->mem_page) + { + dev->mem_page = mem_page; + dev->intf_rslt = dev->read(BME68X_REG_MEM_PAGE | BME68X_SPI_RD_MSK, ®, 1, dev->intf_ptr); + if (dev->intf_rslt != 0) + { + rslt = BME68X_E_COM_FAIL; + } + + if (rslt == BME68X_OK) + { + reg = reg & (~BME68X_MEM_PAGE_MSK); + reg = reg | (dev->mem_page & BME68X_MEM_PAGE_MSK); + dev->intf_rslt = dev->write(BME68X_REG_MEM_PAGE & BME68X_SPI_WR_MSK, ®, 1, dev->intf_ptr); + if (dev->intf_rslt != 0) + { + rslt = BME68X_E_COM_FAIL; + } + } + } + } + + return rslt; +} + +/* This internal API is used to get the current SPI memory page */ +static int8_t get_mem_page(struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t reg; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME68X_OK) + { + dev->intf_rslt = dev->read(BME68X_REG_MEM_PAGE | BME68X_SPI_RD_MSK, ®, 1, dev->intf_ptr); + if (dev->intf_rslt != 0) + { + rslt = BME68X_E_COM_FAIL; + } + else + { + dev->mem_page = reg & BME68X_MEM_PAGE_MSK; + } + } + + return rslt; +} + +/* This internal API is used to limit the max value of a parameter */ +static int8_t boundary_check(uint8_t *value, uint8_t max, struct bme68x_dev *dev) +{ + int8_t rslt; + + rslt = null_ptr_check(dev); + if ((value != NULL) && (rslt == BME68X_OK)) + { + /* Check if value is above maximum value */ + if (*value > max) + { + /* Auto correct the invalid value to maximum value */ + *value = max; + dev->info_msg |= BME68X_I_PARAM_CORR; + } + } + else + { + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* This internal API is used to check the bme68x_dev for null pointers */ +static int8_t null_ptr_check(const struct bme68x_dev *dev) +{ + int8_t rslt = BME68X_OK; + + if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_us == NULL)) + { + /* Device structure pointer is not valid */ + rslt = BME68X_E_NULL_PTR; + } + + return rslt; +} + +/* This internal API is used to set heater configurations */ +static int8_t set_conf(const struct bme68x_heatr_conf *conf, uint8_t op_mode, uint8_t *nb_conv, struct bme68x_dev *dev) +{ + int8_t rslt = BME68X_OK; + uint8_t i; + uint8_t shared_dur; + uint8_t write_len = 0; + uint8_t heater_dur_shared_addr = BME68X_REG_SHD_HEATR_DUR; + uint8_t rh_reg_addr[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + uint8_t rh_reg_data[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + uint8_t gw_reg_addr[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + uint8_t gw_reg_data[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + + switch (op_mode) + { + case BME68X_FORCED_MODE: + rh_reg_addr[0] = BME68X_REG_RES_HEAT0; + rh_reg_data[0] = calc_res_heat(conf->heatr_temp, dev); + gw_reg_addr[0] = BME68X_REG_GAS_WAIT0; + gw_reg_data[0] = calc_gas_wait(conf->heatr_dur); + (*nb_conv) = 0; + write_len = 1; + break; + case BME68X_SEQUENTIAL_MODE: + if ((!conf->heatr_dur_prof) || (!conf->heatr_temp_prof)) + { + rslt = BME68X_E_NULL_PTR; + break; + } + + for (i = 0; i < conf->profile_len; i++) + { + rh_reg_addr[i] = BME68X_REG_RES_HEAT0 + i; + rh_reg_data[i] = calc_res_heat(conf->heatr_temp_prof[i], dev); + gw_reg_addr[i] = BME68X_REG_GAS_WAIT0 + i; + gw_reg_data[i] = calc_gas_wait(conf->heatr_dur_prof[i]); + } + + (*nb_conv) = conf->profile_len; + write_len = conf->profile_len; + break; + case BME68X_PARALLEL_MODE: + if ((!conf->heatr_dur_prof) || (!conf->heatr_temp_prof)) + { + rslt = BME68X_E_NULL_PTR; + break; + } + + if (conf->shared_heatr_dur == 0) + { + rslt = BME68X_W_DEFINE_SHD_HEATR_DUR; + } + + for (i = 0; i < conf->profile_len; i++) + { + rh_reg_addr[i] = BME68X_REG_RES_HEAT0 + i; + rh_reg_data[i] = calc_res_heat(conf->heatr_temp_prof[i], dev); + gw_reg_addr[i] = BME68X_REG_GAS_WAIT0 + i; + gw_reg_data[i] = (uint8_t) conf->heatr_dur_prof[i]; + } + + (*nb_conv) = conf->profile_len; + write_len = conf->profile_len; + shared_dur = calc_heatr_dur_shared(conf->shared_heatr_dur); + if (rslt == BME68X_OK) + { + rslt = bme68x_set_regs(&heater_dur_shared_addr, &shared_dur, 1, dev); + } + + break; + default: + rslt = BME68X_W_DEFINE_OP_MODE; + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_set_regs(rh_reg_addr, rh_reg_data, write_len, dev); + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_set_regs(gw_reg_addr, gw_reg_data, write_len, dev); + } + + return rslt; +} + +/* This internal API is used to calculate the register value for + * shared heater duration */ +static uint8_t calc_heatr_dur_shared(uint16_t dur) +{ + uint8_t factor = 0; + uint8_t heatdurval; + + if (dur >= 0x783) + { + heatdurval = 0xff; /* Max duration */ + } + else + { + /* Step size of 0.477ms */ + dur = (uint16_t)(((uint32_t)dur * 1000) / 477); + while (dur > 0x3F) + { + dur = dur >> 2; + factor += 1; + } + + heatdurval = (uint8_t)(dur + (factor * 64)); + } + + return heatdurval; +} + +/* This internal API is used sort the sensor data */ +static void sort_sensor_data(uint8_t low_index, uint8_t high_index, struct bme68x_data *field[]) +{ + int16_t meas_index1; + int16_t meas_index2; + + meas_index1 = (int16_t)field[low_index]->meas_index; + meas_index2 = (int16_t)field[high_index]->meas_index; + if ((field[low_index]->status & BME68X_NEW_DATA_MSK) && (field[high_index]->status & BME68X_NEW_DATA_MSK)) + { + int16_t diff = meas_index2 - meas_index1; + if (((diff > -3) && (diff < 0)) || (diff > 2)) + { + swap_fields(low_index, high_index, field); + } + } + else if (field[high_index]->status & BME68X_NEW_DATA_MSK) + { + swap_fields(low_index, high_index, field); + } + + /* Sorting field data + * + * The 3 fields are filled in a fixed order with data in an incrementing + * 8-bit sub-measurement index which looks like + * Field index | Sub-meas index + * 0 | 0 + * 1 | 1 + * 2 | 2 + * 0 | 3 + * 1 | 4 + * 2 | 5 + * ... + * 0 | 252 + * 1 | 253 + * 2 | 254 + * 0 | 255 + * 1 | 0 + * 2 | 1 + * + * The fields are sorted in a way so as to always deal with only a snapshot + * of comparing 2 fields at a time. The order being + * field0 & field1 + * field0 & field2 + * field1 & field2 + * Here the oldest data should be in field0 while the newest is in field2. + * In the following documentation, field0's position would referred to as + * the lowest and field2 as the highest. + * + * In order to sort we have to consider the following cases, + * + * Case A: No fields have new data + * Then do not sort, as this data has already been read. + * + * Case B: Higher field has new data + * Then the new field get's the lowest position. + * + * Case C: Both fields have new data + * We have to put the oldest sample in the lowest position. Since the + * sub-meas index contains in essence the age of the sample, we calculate + * the difference between the higher field and the lower field. + * Here we have 3 sub-cases, + * Case 1: Regular read without overwrite + * Field index | Sub-meas index + * 0 | 3 + * 1 | 4 + * + * Field index | Sub-meas index + * 0 | 3 + * 2 | 5 + * + * The difference is always <= 2. There is no need to swap as the + * oldest sample is already in the lowest position. + * + * Case 2: Regular read with an overflow and without an overwrite + * Field index | Sub-meas index + * 0 | 255 + * 1 | 0 + * + * Field index | Sub-meas index + * 0 | 254 + * 2 | 0 + * + * The difference is always <= -3. There is no need to swap as the + * oldest sample is already in the lowest position. + * + * Case 3: Regular read with overwrite + * Field index | Sub-meas index + * 0 | 6 + * 1 | 4 + * + * Field index | Sub-meas index + * 0 | 6 + * 2 | 5 + * + * The difference is always > -3. There is a need to swap as the + * oldest sample is not in the lowest position. + * + * Case 4: Regular read with overwrite and overflow + * Field index | Sub-meas index + * 0 | 0 + * 1 | 254 + * + * Field index | Sub-meas index + * 0 | 0 + * 2 | 255 + * + * The difference is always > 2. There is a need to swap as the + * oldest sample is not in the lowest position. + * + * To summarize, we have to swap when + * - The higher field has new data and the lower field does not. + * - If both fields have new data, then the difference of sub-meas index + * between the higher field and the lower field creates the + * following condition for swapping. + * - (diff > -3) && (diff < 0), combination of cases 1, 2, and 3. + * - diff > 2, case 4. + * + * Here the limits of -3 and 2 derive from the fact that there are 3 fields. + * These values decrease or increase respectively if the number of fields increases. + */ +} + +/* This internal API is used sort the sensor data */ +static void swap_fields(uint8_t index1, uint8_t index2, struct bme68x_data *field[]) +{ + struct bme68x_data *temp; + + temp = field[index1]; + field[index1] = field[index2]; + field[index2] = temp; +} + +/* This Function is to analyze the sensor data */ +static int8_t analyze_sensor_data(const struct bme68x_data *data, uint8_t n_meas) +{ + int8_t rslt = BME68X_OK; + uint8_t self_test_failed = 0, i; + uint32_t cent_res = 0; + + if ((data[0].temperature < BME68X_MIN_TEMPERATURE) || (data[0].temperature > BME68X_MAX_TEMPERATURE)) + { + self_test_failed++; + } + + if ((data[0].pressure < BME68X_MIN_PRESSURE) || (data[0].pressure > BME68X_MAX_PRESSURE)) + { + self_test_failed++; + } + + if ((data[0].humidity < BME68X_MIN_HUMIDITY) || (data[0].humidity > BME68X_MAX_HUMIDITY)) + { + self_test_failed++; + } + + for (i = 0; i < n_meas; i++) /* Every gas measurement should be valid */ + { + if (!(data[i].status & BME68X_GASM_VALID_MSK)) + { + self_test_failed++; + } + } + + if (n_meas >= 6) + { + cent_res = (uint32_t)((5 * (data[3].gas_resistance + data[5].gas_resistance)) / (2 * data[4].gas_resistance)); + } + + if (cent_res < 6) + { + self_test_failed++; + } + + if (self_test_failed) + { + rslt = BME68X_E_SELF_TEST; + } + + return rslt; +} + +/* This internal API is used to read the calibration coefficients */ +static int8_t get_calib_data(struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t coeff_array[BME68X_LEN_COEFF_ALL]; + + rslt = bme68x_get_regs(BME68X_REG_COEFF1, coeff_array, BME68X_LEN_COEFF1, dev); + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_COEFF2, &coeff_array[BME68X_LEN_COEFF1], BME68X_LEN_COEFF2, dev); + } + + if (rslt == BME68X_OK) + { + rslt = bme68x_get_regs(BME68X_REG_COEFF3, + &coeff_array[BME68X_LEN_COEFF1 + BME68X_LEN_COEFF2], + BME68X_LEN_COEFF3, + dev); + } + + if (rslt == BME68X_OK) + { + /* Temperature related coefficients */ + dev->calib.par_t1 = + (uint16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_T1_MSB], coeff_array[BME68X_IDX_T1_LSB])); + dev->calib.par_t2 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_T2_MSB], coeff_array[BME68X_IDX_T2_LSB])); + dev->calib.par_t3 = (int8_t)(coeff_array[BME68X_IDX_T3]); + + /* Pressure related coefficients */ + dev->calib.par_p1 = + (uint16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_P1_MSB], coeff_array[BME68X_IDX_P1_LSB])); + dev->calib.par_p2 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_P2_MSB], coeff_array[BME68X_IDX_P2_LSB])); + dev->calib.par_p3 = (int8_t)coeff_array[BME68X_IDX_P3]; + dev->calib.par_p4 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_P4_MSB], coeff_array[BME68X_IDX_P4_LSB])); + dev->calib.par_p5 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_P5_MSB], coeff_array[BME68X_IDX_P5_LSB])); + dev->calib.par_p6 = (int8_t)(coeff_array[BME68X_IDX_P6]); + dev->calib.par_p7 = (int8_t)(coeff_array[BME68X_IDX_P7]); + dev->calib.par_p8 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_P8_MSB], coeff_array[BME68X_IDX_P8_LSB])); + dev->calib.par_p9 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_P9_MSB], coeff_array[BME68X_IDX_P9_LSB])); + dev->calib.par_p10 = (uint8_t)(coeff_array[BME68X_IDX_P10]); + + /* Humidity related coefficients */ + dev->calib.par_h1 = + (uint16_t)(((uint16_t)coeff_array[BME68X_IDX_H1_MSB] << 4) | + (coeff_array[BME68X_IDX_H1_LSB] & BME68X_BIT_H1_DATA_MSK)); + dev->calib.par_h2 = + (uint16_t)(((uint16_t)coeff_array[BME68X_IDX_H2_MSB] << 4) | ((coeff_array[BME68X_IDX_H2_LSB]) >> 4)); + dev->calib.par_h3 = (int8_t)coeff_array[BME68X_IDX_H3]; + dev->calib.par_h4 = (int8_t)coeff_array[BME68X_IDX_H4]; + dev->calib.par_h5 = (int8_t)coeff_array[BME68X_IDX_H5]; + dev->calib.par_h6 = (uint8_t)coeff_array[BME68X_IDX_H6]; + dev->calib.par_h7 = (int8_t)coeff_array[BME68X_IDX_H7]; + + /* Gas heater related coefficients */ + dev->calib.par_gh1 = (int8_t)coeff_array[BME68X_IDX_GH1]; + dev->calib.par_gh2 = + (int16_t)(BME68X_CONCAT_BYTES(coeff_array[BME68X_IDX_GH2_MSB], coeff_array[BME68X_IDX_GH2_LSB])); + dev->calib.par_gh3 = (int8_t)coeff_array[BME68X_IDX_GH3]; + + /* Other coefficients */ + dev->calib.res_heat_range = ((coeff_array[BME68X_IDX_RES_HEAT_RANGE] & BME68X_RHRANGE_MSK) / 16); + dev->calib.res_heat_val = (int8_t)coeff_array[BME68X_IDX_RES_HEAT_VAL]; + dev->calib.range_sw_err = ((int8_t)(coeff_array[BME68X_IDX_RANGE_SW_ERR] & BME68X_RSERROR_MSK)) / 16; + } + + return rslt; +} + +/* This internal API is used to read variant ID information from the register */ +static int8_t read_variant_id(struct bme68x_dev *dev) +{ + int8_t rslt; + uint8_t reg_data = 0; + + /* Read variant ID information register */ + rslt = bme68x_get_regs(BME68X_REG_VARIANT_ID, ®_data, 1, dev); + + if (rslt == BME68X_OK) + { + dev->variant_id = reg_data; + } + + return rslt; +} diff --git a/lib/Adafruit_BME680/bme68x.h b/lib/Adafruit_BME680/bme68x.h new file mode 100644 index 000000000..317aa99c0 --- /dev/null +++ b/lib/Adafruit_BME680/bme68x.h @@ -0,0 +1,323 @@ +/** +* Copyright (c) 2021 Bosch Sensortec GmbH. All rights reserved. +* +* BSD-3-Clause +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* 3. Neither the name of the copyright holder nor the names of its +* contributors may be used to endorse or promote products derived from +* this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* @file bme68x.h +* @date 2021-05-24 +* @version v4.4.6 +* +*/ + +/*! + * @defgroup bme68x BME68X + * @brief Product Overview + * and Sensor API Source Code + */ + +#ifndef BME68X_H_ +#define BME68X_H_ + +#include "bme68x_defs.h" + +/* CPP guard */ +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \ingroup bme68x + * \defgroup bme68xApiInit Initialization + * @brief Initialize the sensor and device structure + */ + +/*! + * \ingroup bme68xApiInit + * \page bme68x_api_bme68x_init bme68x_init + * \code + * int8_t bme68x_init(struct bme68x_dev *dev); + * \endcode + * @details This API reads the chip-id of the sensor which is the first step to + * verify the sensor and also calibrates the sensor + * As this API is the entry point, call this API before using other APIs. + * + * @param[in,out] dev : Structure instance of bme68x_dev + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_init(struct bme68x_dev *dev); + +/** + * \ingroup bme68x + * \defgroup bme68xApiRegister Registers + * @brief Generic API for accessing sensor registers + */ + +/*! + * \ingroup bme68xApiRegister + * \page bme68x_api_bme68x_set_regs bme68x_set_regs + * \code + * int8_t bme68x_set_regs(const uint8_t reg_addr, const uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev) + * \endcode + * @details This API writes the given data to the register address of the sensor + * + * @param[in] reg_addr : Register addresses to where the data is to be written + * @param[in] reg_data : Pointer to data buffer which is to be written + * in the reg_addr of sensor. + * @param[in] len : No of bytes of data to write + * @param[in,out] dev : Structure instance of bme68x_dev + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiRegister + * \page bme68x_api_bme68x_get_regs bme68x_get_regs + * \code + * int8_t bme68x_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev) + * \endcode + * @details This API reads the data from the given register address of sensor. + * + * @param[in] reg_addr : Register address from where the data to be read + * @param[out] reg_data : Pointer to data buffer to store the read data. + * @param[in] len : No of bytes of data to be read. + * @param[in,out] dev : Structure instance of bme68x_dev. + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev); + +/** + * \ingroup bme68x + * \defgroup bme68xApiSystem System + * @brief API that performs system-level operations + */ + +/*! + * \ingroup bme68xApiSystem + * \page bme68x_api_bme68x_soft_reset bme68x_soft_reset + * \code + * int8_t bme68x_soft_reset(struct bme68x_dev *dev); + * \endcode + * @details This API soft-resets the sensor. + * + * @param[in,out] dev : Structure instance of bme68x_dev. + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_soft_reset(struct bme68x_dev *dev); + +/** + * \ingroup bme68x + * \defgroup bme68xApiOm Operation mode + * @brief API to configure operation mode + */ + +/*! + * \ingroup bme68xApiOm + * \page bme68x_api_bme68x_set_op_mode bme68x_set_op_mode + * \code + * int8_t bme68x_set_op_mode(const uint8_t op_mode, struct bme68x_dev *dev); + * \endcode + * @details This API is used to set the operation mode of the sensor + * @param[in] op_mode : Desired operation mode. + * @param[in] dev : Structure instance of bme68x_dev + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_set_op_mode(const uint8_t op_mode, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiOm + * \page bme68x_api_bme68x_get_op_mode bme68x_get_op_mode + * \code + * int8_t bme68x_get_op_mode(uint8_t *op_mode, struct bme68x_dev *dev); + * \endcode + * @details This API is used to get the operation mode of the sensor. + * + * @param[out] op_mode : Desired operation mode. + * @param[in,out] dev : Structure instance of bme68x_dev + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_get_op_mode(uint8_t *op_mode, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiConfig + * \page bme68x_api_bme68x_get_meas_dur bme68x_get_meas_dur + * \code + * uint32_t bme68x_get_meas_dur(const uint8_t op_mode, struct bme68x_conf *conf, struct bme68x_dev *dev); + * \endcode + * @details This API is used to get the remaining duration that can be used for heating. + * + * @param[in] op_mode : Desired operation mode. + * @param[in] conf : Desired sensor configuration. + * @param[in] dev : Structure instance of bme68x_dev + * + * @return Measurement duration calculated in microseconds + */ +uint32_t bme68x_get_meas_dur(const uint8_t op_mode, struct bme68x_conf *conf, struct bme68x_dev *dev); + +/** + * \ingroup bme68x + * \defgroup bme68xApiData Data Read out + * @brief Read our data from the sensor + */ + +/*! + * \ingroup bme68xApiData + * \page bme68x_api_bme68x_get_data bme68x_get_data + * \code + * int8_t bme68x_get_data(uint8_t op_mode, struct bme68x_data *data, uint8_t *n_data, struct bme68x_dev *dev); + * \endcode + * @details This API reads the pressure, temperature and humidity and gas data + * from the sensor, compensates the data and store it in the bme68x_data + * structure instance passed by the user. + * + * @param[in] op_mode : Expected operation mode. + * @param[out] data : Structure instance to hold the data. + * @param[out] n_data : Number of data instances available. + * @param[in,out] dev : Structure instance of bme68x_dev + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_get_data(uint8_t op_mode, struct bme68x_data *data, uint8_t *n_data, struct bme68x_dev *dev); + +/** + * \ingroup bme68x + * \defgroup bme68xApiConfig Configuration + * @brief Configuration API of sensor + */ + +/*! + * \ingroup bme68xApiConfig + * \page bme68x_api_bme68x_set_conf bme68x_set_conf + * \code + * int8_t bme68x_set_conf(struct bme68x_conf *conf, struct bme68x_dev *dev); + * \endcode + * @details This API is used to set the oversampling, filter and odr configuration + * + * @param[in] conf : Desired sensor configuration. + * @param[in,out] dev : Structure instance of bme68x_dev. + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_set_conf(struct bme68x_conf *conf, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiConfig + * \page bme68x_api_bme68x_get_conf bme68x_get_conf + * \code + * int8_t bme68x_get_conf(struct bme68x_conf *conf, struct bme68x_dev *dev); + * \endcode + * @details This API is used to get the oversampling, filter and odr + * configuration + * + * @param[out] conf : Present sensor configuration. + * @param[in,out] dev : Structure instance of bme68x_dev. + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_get_conf(struct bme68x_conf *conf, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiConfig + * \page bme68x_api_bme68x_set_heatr_conf bme68x_set_heatr_conf + * \code + * int8_t bme68x_set_heatr_conf(uint8_t op_mode, const struct bme68x_heatr_conf *conf, struct bme68x_dev *dev); + * \endcode + * @details This API is used to set the gas configuration of the sensor. + * + * @param[in] op_mode : Expected operation mode of the sensor. + * @param[in] conf : Desired heating configuration. + * @param[in,out] dev : Structure instance of bme68x_dev. + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_set_heatr_conf(uint8_t op_mode, const struct bme68x_heatr_conf *conf, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiConfig + * \page bme68x_api_bme68x_get_heatr_conf bme68x_get_heatr_conf + * \code + * int8_t bme68x_get_heatr_conf(const struct bme68x_heatr_conf *conf, struct bme68x_dev *dev); + * \endcode + * @details This API is used to get the gas configuration of the sensor. + * + * @param[out] conf : Current configurations of the gas sensor. + * @param[in,out] dev : Structure instance of bme68x_dev. + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_get_heatr_conf(const struct bme68x_heatr_conf *conf, struct bme68x_dev *dev); + +/*! + * \ingroup bme68xApiSystem + * \page bme68x_api_bme68x_low_gas_selftest_check bme68x_low_gas_selftest_check + * \code + * int8_t bme68x_low_gas_selftest_check(const struct bme68x_dev *dev); + * \endcode + * @details This API performs Self-test of low gas variant of BME68X + * + * @param[in, out] dev : Structure instance of bme68x_dev + * + * @return Result of API execution status + * @retval 0 -> Success + * @retval < 0 -> Fail + */ +int8_t bme68x_low_gas_selftest_check(const struct bme68x_dev *dev); + +#ifdef __cplusplus +} +#endif /* End of CPP guard */ +#endif /* BME68X_H_ */ diff --git a/lib/Adafruit_BME680/bme68x_defs.h b/lib/Adafruit_BME680/bme68x_defs.h new file mode 100644 index 000000000..56b26ac3c --- /dev/null +++ b/lib/Adafruit_BME680/bme68x_defs.h @@ -0,0 +1,972 @@ +/** +* Copyright (c) 2021 Bosch Sensortec GmbH. All rights reserved. +* +* BSD-3-Clause +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* +* 3. Neither the name of the copyright holder nor the names of its +* contributors may be used to endorse or promote products derived from +* this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +* POSSIBILITY OF SUCH DAMAGE. +* +* @file bme68x_defs.h +* @date 2021-05-24 +* @version v4.4.6 +* +*/ + +/*! @cond DOXYGEN_SUPRESS */ + +#ifndef BME68X_DEFS_H_ +#define BME68X_DEFS_H_ + +/********************************************************* */ +/*! Header includes */ +/********************************************************* */ +#ifdef __KERNEL__ +#include +#include +#else +#include +#include +#endif + +/********************************************************* */ +/*! Common Macros */ +/********************************************************* */ +#ifdef __KERNEL__ +#if !defined(UINT8_C) && !defined(INT8_C) +#define INT8_C(x) S8_C(x) +#define UINT8_C(x) U8_C(x) +#endif + +#if !defined(UINT16_C) && !defined(INT16_C) +#define INT16_C(x) S16_C(x) +#define UINT16_C(x) U16_C(x) +#endif + +#if !defined(INT32_C) && !defined(UINT32_C) +#define INT32_C(x) S32_C(x) +#define UINT32_C(x) U32_C(x) +#endif + +#if !defined(INT64_C) && !defined(UINT64_C) +#define INT64_C(x) S64_C(x) +#define UINT64_C(x) U64_C(x) +#endif +#endif + +/*! C standard macros */ +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *) 0) +#endif +#endif + +#ifndef BME68X_DO_NOT_USE_FPU + +/* Comment or un-comment the macro to provide floating point data output */ +#define BME68X_USE_FPU +#endif + +/* Period between two polls (value can be given by user) */ +#ifndef BME68X_PERIOD_POLL +#define BME68X_PERIOD_POLL UINT32_C(10000) +#endif + +/* BME68X unique chip identifier */ +#define BME68X_CHIP_ID UINT8_C(0x61) + +/* Period for a soft reset */ +#define BME68X_PERIOD_RESET UINT32_C(10000) + +/* BME68X lower I2C address */ +#define BME68X_I2C_ADDR_LOW UINT8_C(0x76) + +/* BME68X higher I2C address */ +#define BME68X_I2C_ADDR_HIGH UINT8_C(0x77) + +/* Soft reset command */ +#define BME68X_SOFT_RESET_CMD UINT8_C(0xb6) + +/* Return code definitions */ +/* Success */ +#define BME68X_OK INT8_C(0) + +/* Errors */ +/* Null pointer passed */ +#define BME68X_E_NULL_PTR INT8_C(-1) + +/* Communication failure */ +#define BME68X_E_COM_FAIL INT8_C(-2) + +/* Sensor not found */ +#define BME68X_E_DEV_NOT_FOUND INT8_C(-3) + +/* Incorrect length parameter */ +#define BME68X_E_INVALID_LENGTH INT8_C(-4) + +/* Self test fail error */ +#define BME68X_E_SELF_TEST INT8_C(-5) + +/* Warnings */ +/* Define a valid operation mode */ +#define BME68X_W_DEFINE_OP_MODE INT8_C(1) + +/* No new data was found */ +#define BME68X_W_NO_NEW_DATA INT8_C(2) + +/* Define the shared heating duration */ +#define BME68X_W_DEFINE_SHD_HEATR_DUR INT8_C(3) + +/* Information - only available via bme68x_dev.info_msg */ +#define BME68X_I_PARAM_CORR UINT8_C(1) + +/* Register map addresses in I2C */ +/* Register for 3rd group of coefficients */ +#define BME68X_REG_COEFF3 UINT8_C(0x00) + +/* 0th Field address*/ +#define BME68X_REG_FIELD0 UINT8_C(0x1d) + +/* 0th Current DAC address*/ +#define BME68X_REG_IDAC_HEAT0 UINT8_C(0x50) + +/* 0th Res heat address */ +#define BME68X_REG_RES_HEAT0 UINT8_C(0x5a) + +/* 0th Gas wait address */ +#define BME68X_REG_GAS_WAIT0 UINT8_C(0x64) + +/* Shared heating duration address */ +#define BME68X_REG_SHD_HEATR_DUR UINT8_C(0x6E) + +/* CTRL_GAS_0 address */ +#define BME68X_REG_CTRL_GAS_0 UINT8_C(0x70) + +/* CTRL_GAS_1 address */ +#define BME68X_REG_CTRL_GAS_1 UINT8_C(0x71) + +/* CTRL_HUM address */ +#define BME68X_REG_CTRL_HUM UINT8_C(0x72) + +/* CTRL_MEAS address */ +#define BME68X_REG_CTRL_MEAS UINT8_C(0x74) + +/* CONFIG address */ +#define BME68X_REG_CONFIG UINT8_C(0x75) + +/* MEM_PAGE address */ +#define BME68X_REG_MEM_PAGE UINT8_C(0xf3) + +/* Unique ID address */ +#define BME68X_REG_UNIQUE_ID UINT8_C(0x83) + +/* Register for 1st group of coefficients */ +#define BME68X_REG_COEFF1 UINT8_C(0x8a) + +/* Chip ID address */ +#define BME68X_REG_CHIP_ID UINT8_C(0xd0) + +/* Soft reset address */ +#define BME68X_REG_SOFT_RESET UINT8_C(0xe0) + +/* Register for 2nd group of coefficients */ +#define BME68X_REG_COEFF2 UINT8_C(0xe1) + +/* Variant ID Register */ +#define BME68X_REG_VARIANT_ID UINT8_C(0xF0) + +/* Enable/Disable macros */ + +/* Enable */ +#define BME68X_ENABLE UINT8_C(0x01) + +/* Disable */ +#define BME68X_DISABLE UINT8_C(0x00) + +/* Variant ID macros */ + +/* Low Gas variant */ +#define BME68X_VARIANT_GAS_LOW UINT8_C(0x00) + +/* High Gas variant */ +#define BME68X_VARIANT_GAS_HIGH UINT8_C(0x01) + +/* Oversampling setting macros */ + +/* Switch off measurement */ +#define BME68X_OS_NONE UINT8_C(0) + +/* Perform 1 measurement */ +#define BME68X_OS_1X UINT8_C(1) + +/* Perform 2 measurements */ +#define BME68X_OS_2X UINT8_C(2) + +/* Perform 4 measurements */ +#define BME68X_OS_4X UINT8_C(3) + +/* Perform 8 measurements */ +#define BME68X_OS_8X UINT8_C(4) + +/* Perform 16 measurements */ +#define BME68X_OS_16X UINT8_C(5) + +/* IIR Filter settings */ + +/* Switch off the filter */ +#define BME68X_FILTER_OFF UINT8_C(0) + +/* Filter coefficient of 2 */ +#define BME68X_FILTER_SIZE_1 UINT8_C(1) + +/* Filter coefficient of 4 */ +#define BME68X_FILTER_SIZE_3 UINT8_C(2) + +/* Filter coefficient of 8 */ +#define BME68X_FILTER_SIZE_7 UINT8_C(3) + +/* Filter coefficient of 16 */ +#define BME68X_FILTER_SIZE_15 UINT8_C(4) + +/* Filter coefficient of 32 */ +#define BME68X_FILTER_SIZE_31 UINT8_C(5) + +/* Filter coefficient of 64 */ +#define BME68X_FILTER_SIZE_63 UINT8_C(6) + +/* Filter coefficient of 128 */ +#define BME68X_FILTER_SIZE_127 UINT8_C(7) + +/* ODR/Standby time macros */ + +/* Standby time of 0.59ms */ +#define BME68X_ODR_0_59_MS UINT8_C(0) + +/* Standby time of 62.5ms */ +#define BME68X_ODR_62_5_MS UINT8_C(1) + +/* Standby time of 125ms */ +#define BME68X_ODR_125_MS UINT8_C(2) + +/* Standby time of 250ms */ +#define BME68X_ODR_250_MS UINT8_C(3) + +/* Standby time of 500ms */ +#define BME68X_ODR_500_MS UINT8_C(4) + +/* Standby time of 1s */ +#define BME68X_ODR_1000_MS UINT8_C(5) + +/* Standby time of 10ms */ +#define BME68X_ODR_10_MS UINT8_C(6) + +/* Standby time of 20ms */ +#define BME68X_ODR_20_MS UINT8_C(7) + +/* No standby time */ +#define BME68X_ODR_NONE UINT8_C(8) + +/* Operating mode macros */ + +/* Sleep operation mode */ +#define BME68X_SLEEP_MODE UINT8_C(0) + +/* Forced operation mode */ +#define BME68X_FORCED_MODE UINT8_C(1) + +/* Parallel operation mode */ +#define BME68X_PARALLEL_MODE UINT8_C(2) + +/* Sequential operation mode */ +#define BME68X_SEQUENTIAL_MODE UINT8_C(3) + +/* SPI page macros */ + +/* SPI memory page 0 */ +#define BME68X_MEM_PAGE0 UINT8_C(0x10) + +/* SPI memory page 1 */ +#define BME68X_MEM_PAGE1 UINT8_C(0x00) + +/* Coefficient index macros */ + +/* Length for all coefficients */ +#define BME68X_LEN_COEFF_ALL UINT8_C(42) + +/* Length for 1st group of coefficients */ +#define BME68X_LEN_COEFF1 UINT8_C(23) + +/* Length for 2nd group of coefficients */ +#define BME68X_LEN_COEFF2 UINT8_C(14) + +/* Length for 3rd group of coefficients */ +#define BME68X_LEN_COEFF3 UINT8_C(5) + +/* Length of the field */ +#define BME68X_LEN_FIELD UINT8_C(17) + +/* Length between two fields */ +#define BME68X_LEN_FIELD_OFFSET UINT8_C(17) + +/* Length of the configuration register */ +#define BME68X_LEN_CONFIG UINT8_C(5) + +/* Length of the interleaved buffer */ +#define BME68X_LEN_INTERLEAVE_BUFF UINT8_C(20) + +/* Coefficient index macros */ + +/* Coefficient T2 LSB position */ +#define BME68X_IDX_T2_LSB (0) + +/* Coefficient T2 MSB position */ +#define BME68X_IDX_T2_MSB (1) + +/* Coefficient T3 position */ +#define BME68X_IDX_T3 (2) + +/* Coefficient P1 LSB position */ +#define BME68X_IDX_P1_LSB (4) + +/* Coefficient P1 MSB position */ +#define BME68X_IDX_P1_MSB (5) + +/* Coefficient P2 LSB position */ +#define BME68X_IDX_P2_LSB (6) + +/* Coefficient P2 MSB position */ +#define BME68X_IDX_P2_MSB (7) + +/* Coefficient P3 position */ +#define BME68X_IDX_P3 (8) + +/* Coefficient P4 LSB position */ +#define BME68X_IDX_P4_LSB (10) + +/* Coefficient P4 MSB position */ +#define BME68X_IDX_P4_MSB (11) + +/* Coefficient P5 LSB position */ +#define BME68X_IDX_P5_LSB (12) + +/* Coefficient P5 MSB position */ +#define BME68X_IDX_P5_MSB (13) + +/* Coefficient P7 position */ +#define BME68X_IDX_P7 (14) + +/* Coefficient P6 position */ +#define BME68X_IDX_P6 (15) + +/* Coefficient P8 LSB position */ +#define BME68X_IDX_P8_LSB (18) + +/* Coefficient P8 MSB position */ +#define BME68X_IDX_P8_MSB (19) + +/* Coefficient P9 LSB position */ +#define BME68X_IDX_P9_LSB (20) + +/* Coefficient P9 MSB position */ +#define BME68X_IDX_P9_MSB (21) + +/* Coefficient P10 position */ +#define BME68X_IDX_P10 (22) + +/* Coefficient H2 MSB position */ +#define BME68X_IDX_H2_MSB (23) + +/* Coefficient H2 LSB position */ +#define BME68X_IDX_H2_LSB (24) + +/* Coefficient H1 LSB position */ +#define BME68X_IDX_H1_LSB (24) + +/* Coefficient H1 MSB position */ +#define BME68X_IDX_H1_MSB (25) + +/* Coefficient H3 position */ +#define BME68X_IDX_H3 (26) + +/* Coefficient H4 position */ +#define BME68X_IDX_H4 (27) + +/* Coefficient H5 position */ +#define BME68X_IDX_H5 (28) + +/* Coefficient H6 position */ +#define BME68X_IDX_H6 (29) + +/* Coefficient H7 position */ +#define BME68X_IDX_H7 (30) + +/* Coefficient T1 LSB position */ +#define BME68X_IDX_T1_LSB (31) + +/* Coefficient T1 MSB position */ +#define BME68X_IDX_T1_MSB (32) + +/* Coefficient GH2 LSB position */ +#define BME68X_IDX_GH2_LSB (33) + +/* Coefficient GH2 MSB position */ +#define BME68X_IDX_GH2_MSB (34) + +/* Coefficient GH1 position */ +#define BME68X_IDX_GH1 (35) + +/* Coefficient GH3 position */ +#define BME68X_IDX_GH3 (36) + +/* Coefficient res heat value position */ +#define BME68X_IDX_RES_HEAT_VAL (37) + +/* Coefficient res heat range position */ +#define BME68X_IDX_RES_HEAT_RANGE (39) + +/* Coefficient range switching error position */ +#define BME68X_IDX_RANGE_SW_ERR (41) + +/* Gas measurement macros */ + +/* Disable gas measurement */ +#define BME68X_DISABLE_GAS_MEAS UINT8_C(0x00) + +/* Enable gas measurement low */ +#define BME68X_ENABLE_GAS_MEAS_L UINT8_C(0x01) + +/* Enable gas measurement high */ +#define BME68X_ENABLE_GAS_MEAS_H UINT8_C(0x02) + +/* Heater control macros */ + +/* Enable heater */ +#define BME68X_ENABLE_HEATER UINT8_C(0x00) + +/* Disable heater */ +#define BME68X_DISABLE_HEATER UINT8_C(0x01) + +#ifdef BME68X_USE_FPU + +/* 0 degree Celsius */ +#define BME68X_MIN_TEMPERATURE INT16_C(0) + +/* 60 degree Celsius */ +#define BME68X_MAX_TEMPERATURE INT16_C(60) + +/* 900 hecto Pascals */ +#define BME68X_MIN_PRESSURE UINT32_C(90000) + +/* 1100 hecto Pascals */ +#define BME68X_MAX_PRESSURE UINT32_C(110000) + +/* 20% relative humidity */ +#define BME68X_MIN_HUMIDITY UINT32_C(20) + +/* 80% relative humidity*/ +#define BME68X_MAX_HUMIDITY UINT32_C(80) +#else + +/* 0 degree Celsius */ +#define BME68X_MIN_TEMPERATURE INT16_C(0) + +/* 60 degree Celsius */ +#define BME68X_MAX_TEMPERATURE INT16_C(6000) + +/* 900 hecto Pascals */ +#define BME68X_MIN_PRESSURE UINT32_C(90000) + +/* 1100 hecto Pascals */ +#define BME68X_MAX_PRESSURE UINT32_C(110000) + +/* 20% relative humidity */ +#define BME68X_MIN_HUMIDITY UINT32_C(20000) + +/* 80% relative humidity*/ +#define BME68X_MAX_HUMIDITY UINT32_C(80000) + +#endif + +#define BME68X_HEATR_DUR1 UINT16_C(1000) +#define BME68X_HEATR_DUR2 UINT16_C(2000) +#define BME68X_HEATR_DUR1_DELAY UINT32_C(1000000) +#define BME68X_HEATR_DUR2_DELAY UINT32_C(2000000) +#define BME68X_N_MEAS UINT8_C(6) +#define BME68X_LOW_TEMP UINT8_C(150) +#define BME68X_HIGH_TEMP UINT16_C(350) + +/* Mask macros */ +/* Mask for number of conversions */ +#define BME68X_NBCONV_MSK UINT8_C(0X0f) + +/* Mask for IIR filter */ +#define BME68X_FILTER_MSK UINT8_C(0X1c) + +/* Mask for ODR[3] */ +#define BME68X_ODR3_MSK UINT8_C(0x80) + +/* Mask for ODR[2:0] */ +#define BME68X_ODR20_MSK UINT8_C(0xe0) + +/* Mask for temperature oversampling */ +#define BME68X_OST_MSK UINT8_C(0Xe0) + +/* Mask for pressure oversampling */ +#define BME68X_OSP_MSK UINT8_C(0X1c) + +/* Mask for humidity oversampling */ +#define BME68X_OSH_MSK UINT8_C(0X07) + +/* Mask for heater control */ +#define BME68X_HCTRL_MSK UINT8_C(0x08) + +/* Mask for run gas */ +#define BME68X_RUN_GAS_MSK UINT8_C(0x30) + +/* Mask for operation mode */ +#define BME68X_MODE_MSK UINT8_C(0x03) + +/* Mask for res heat range */ +#define BME68X_RHRANGE_MSK UINT8_C(0x30) + +/* Mask for range switching error */ +#define BME68X_RSERROR_MSK UINT8_C(0xf0) + +/* Mask for new data */ +#define BME68X_NEW_DATA_MSK UINT8_C(0x80) + +/* Mask for gas index */ +#define BME68X_GAS_INDEX_MSK UINT8_C(0x0f) + +/* Mask for gas range */ +#define BME68X_GAS_RANGE_MSK UINT8_C(0x0f) + +/* Mask for gas measurement valid */ +#define BME68X_GASM_VALID_MSK UINT8_C(0x20) + +/* Mask for heater stability */ +#define BME68X_HEAT_STAB_MSK UINT8_C(0x10) + +/* Mask for SPI memory page */ +#define BME68X_MEM_PAGE_MSK UINT8_C(0x10) + +/* Mask for reading a register in SPI */ +#define BME68X_SPI_RD_MSK UINT8_C(0x80) + +/* Mask for writing a register in SPI */ +#define BME68X_SPI_WR_MSK UINT8_C(0x7f) + +/* Mask for the H1 calibration coefficient */ +#define BME68X_BIT_H1_DATA_MSK UINT8_C(0x0f) + +/* Position macros */ + +/* Filter bit position */ +#define BME68X_FILTER_POS UINT8_C(2) + +/* Temperature oversampling bit position */ +#define BME68X_OST_POS UINT8_C(5) + +/* Pressure oversampling bit position */ +#define BME68X_OSP_POS UINT8_C(2) + +/* ODR[3] bit position */ +#define BME68X_ODR3_POS UINT8_C(7) + +/* ODR[2:0] bit position */ +#define BME68X_ODR20_POS UINT8_C(5) + +/* Run gas bit position */ +#define BME68X_RUN_GAS_POS UINT8_C(4) + +/* Heater control bit position */ +#define BME68X_HCTRL_POS UINT8_C(3) + +/* Macro to combine two 8 bit data's to form a 16 bit data */ +#define BME68X_CONCAT_BYTES(msb, lsb) (((uint16_t)msb << 8) | (uint16_t)lsb) + +/* Macro to set bits */ +#define BME68X_SET_BITS(reg_data, bitname, data) \ + ((reg_data & ~(bitname##_MSK)) | \ + ((data << bitname##_POS) & bitname##_MSK)) + +/* Macro to get bits */ +#define BME68X_GET_BITS(reg_data, bitname) ((reg_data & (bitname##_MSK)) >> \ + (bitname##_POS)) + +/* Macro to set bits starting from position 0 */ +#define BME68X_SET_BITS_POS_0(reg_data, bitname, data) \ + ((reg_data & ~(bitname##_MSK)) | \ + (data & bitname##_MSK)) + +/* Macro to get bits starting from position 0 */ +#define BME68X_GET_BITS_POS_0(reg_data, bitname) (reg_data & (bitname##_MSK)) + +/** + * BME68X_INTF_RET_TYPE is the read/write interface return type which can be overwritten by the build system. + * The default is set to int8_t. + */ +#ifndef BME68X_INTF_RET_TYPE +#define BME68X_INTF_RET_TYPE int8_t +#endif + +/** + * BME68X_INTF_RET_SUCCESS is the success return value read/write interface return type which can be + * overwritten by the build system. The default is set to 0. It is used to check for a successful + * execution of the read/write functions + */ +#ifndef BME68X_INTF_RET_SUCCESS +#define BME68X_INTF_RET_SUCCESS INT8_C(0) +#endif + +/********************************************************* */ +/*! Function Pointers */ +/********************************************************* */ + +/*! + * @brief Bus communication function pointer which should be mapped to + * the platform specific read functions of the user + * + * @param[in] reg_addr : 8bit register address of the sensor + * @param[out] reg_data : Data from the specified address + * @param[in] length : Length of the reg_data array + * @param[in,out] intf_ptr : Void pointer that can enable the linking of descriptors + * for interface related callbacks + * @retval 0 for Success + * @retval Non-zero for Failure + */ +typedef BME68X_INTF_RET_TYPE (*bme68x_read_fptr_t)(uint8_t reg_addr, uint8_t *reg_data, uint32_t length, + void *intf_ptr); + +/*! + * @brief Bus communication function pointer which should be mapped to + * the platform specific write functions of the user + * + * @param[in] reg_addr : 8bit register address of the sensor + * @param[out] reg_data : Data to the specified address + * @param[in] length : Length of the reg_data array + * @param[in,out] intf_ptr : Void pointer that can enable the linking of descriptors + * for interface related callbacks + * @retval 0 for Success + * @retval Non-zero for Failure + * + */ +typedef BME68X_INTF_RET_TYPE (*bme68x_write_fptr_t)(uint8_t reg_addr, const uint8_t *reg_data, uint32_t length, + void *intf_ptr); + +/*! + * @brief Delay function pointer which should be mapped to + * delay function of the user + * + * @param period - The time period in microseconds + * @param[in,out] intf_ptr : Void pointer that can enable the linking of descriptors + * for interface related callbacks + */ +typedef void (*bme68x_delay_us_fptr_t)(uint32_t period, void *intf_ptr); + +/* + * @brief Generic communication function pointer + * @param[in] dev_id: Place holder to store the id of the device structure + * Can be used to store the index of the Chip select or + * I2C address of the device. + * @param[in] reg_addr: Used to select the register the where data needs to + * be read from or written to. + * @param[in,out] reg_data: Data array to read/write + * @param[in] len: Length of the data array + */ + +/* + * @brief Interface selection Enumerations + */ +enum bme68x_intf { + /*! SPI interface */ + BME68X_SPI_INTF, + /*! I2C interface */ + BME68X_I2C_INTF +}; + +/* Structure definitions */ + +/* + * @brief Sensor field data structure + */ +struct bme68x_data +{ + /*! Contains new_data, gasm_valid & heat_stab */ + uint8_t status; + + /*! The index of the heater profile used */ + uint8_t gas_index; + + /*! Measurement index to track order */ + uint8_t meas_index; + + /*! Heater resistance */ + uint8_t res_heat; + + /*! Current DAC */ + uint8_t idac; + + /*! Gas wait period */ + uint8_t gas_wait; +#ifndef BME68X_USE_FPU + + /*! Temperature in degree celsius x100 */ + int16_t temperature; + + /*! Pressure in Pascal */ + uint32_t pressure; + + /*! Humidity in % relative humidity x1000 */ + uint32_t humidity; + + /*! Gas resistance in Ohms */ + uint32_t gas_resistance; +#else + + /*! Temperature in degree celsius */ + float temperature; + + /*! Pressure in Pascal */ + float pressure; + + /*! Humidity in % relative humidity x1000 */ + float humidity; + + /*! Gas resistance in Ohms */ + float gas_resistance; + +#endif + +}; + +/* + * @brief Structure to hold the calibration coefficients + */ +struct bme68x_calib_data +{ + /*! Calibration coefficient for the humidity sensor */ + uint16_t par_h1; + + /*! Calibration coefficient for the humidity sensor */ + uint16_t par_h2; + + /*! Calibration coefficient for the humidity sensor */ + int8_t par_h3; + + /*! Calibration coefficient for the humidity sensor */ + int8_t par_h4; + + /*! Calibration coefficient for the humidity sensor */ + int8_t par_h5; + + /*! Calibration coefficient for the humidity sensor */ + uint8_t par_h6; + + /*! Calibration coefficient for the humidity sensor */ + int8_t par_h7; + + /*! Calibration coefficient for the gas sensor */ + int8_t par_gh1; + + /*! Calibration coefficient for the gas sensor */ + int16_t par_gh2; + + /*! Calibration coefficient for the gas sensor */ + int8_t par_gh3; + + /*! Calibration coefficient for the temperature sensor */ + uint16_t par_t1; + + /*! Calibration coefficient for the temperature sensor */ + int16_t par_t2; + + /*! Calibration coefficient for the temperature sensor */ + int8_t par_t3; + + /*! Calibration coefficient for the pressure sensor */ + uint16_t par_p1; + + /*! Calibration coefficient for the pressure sensor */ + int16_t par_p2; + + /*! Calibration coefficient for the pressure sensor */ + int8_t par_p3; + + /*! Calibration coefficient for the pressure sensor */ + int16_t par_p4; + + /*! Calibration coefficient for the pressure sensor */ + int16_t par_p5; + + /*! Calibration coefficient for the pressure sensor */ + int8_t par_p6; + + /*! Calibration coefficient for the pressure sensor */ + int8_t par_p7; + + /*! Calibration coefficient for the pressure sensor */ + int16_t par_p8; + + /*! Calibration coefficient for the pressure sensor */ + int16_t par_p9; + + /*! Calibration coefficient for the pressure sensor */ + uint8_t par_p10; +#ifndef BME68X_USE_FPU + + /*! Variable to store the intermediate temperature coefficient */ + int32_t t_fine; +#else + + /*! Variable to store the intermediate temperature coefficient */ + float t_fine; +#endif + + /*! Heater resistance range coefficient */ + uint8_t res_heat_range; + + /*! Heater resistance value coefficient */ + int8_t res_heat_val; + + /*! Gas resistance range switching error coefficient */ + int8_t range_sw_err; +}; + +/* + * @brief BME68X sensor settings structure which comprises of ODR, + * over-sampling and filter settings. + */ +struct bme68x_conf +{ + /*! Humidity oversampling. Refer @ref osx*/ + uint8_t os_hum; + + /*! Temperature oversampling. Refer @ref osx */ + uint8_t os_temp; + + /*! Pressure oversampling. Refer @ref osx */ + uint8_t os_pres; + + /*! Filter coefficient. Refer @ref filter*/ + uint8_t filter; + + /*! + * Standby time between sequential mode measurement profiles. + * Refer @ref odr + */ + uint8_t odr; +}; + +/* + * @brief BME68X gas heater configuration + */ +struct bme68x_heatr_conf +{ + /*! Enable gas measurement. Refer @ref en_dis */ + uint8_t enable; + + /*! Store the heater temperature for forced mode degree Celsius */ + uint16_t heatr_temp; + + /*! Store the heating duration for forced mode in milliseconds */ + uint16_t heatr_dur; + + /*! Store the heater temperature profile in degree Celsius */ + uint16_t *heatr_temp_prof; + + /*! Store the heating duration profile in milliseconds */ + uint16_t *heatr_dur_prof; + + /*! Variable to store the length of the heating profile */ + uint8_t profile_len; + + /*! + * Variable to store heating duration for parallel mode + * in milliseconds + */ + uint16_t shared_heatr_dur; +}; + +/* + * @brief BME68X device structure + */ +struct bme68x_dev +{ + /*! Chip Id */ + uint8_t chip_id; + + /*! + * The interface pointer is used to enable the user + * to link their interface descriptors for reference during the + * implementation of the read and write interfaces to the + * hardware. + */ + void *intf_ptr; + + /*! + * Variant id + * ---------------------------------------- + * Value | Variant + * ---------------------------------------- + * 0 | BME68X_VARIANT_GAS_LOW + * 1 | BME68X_VARIANT_GAS_HIGH + * ---------------------------------------- + */ + uint32_t variant_id; + + /*! SPI/I2C interface */ + enum bme68x_intf intf; + + /*! Memory page used */ + uint8_t mem_page; + + /*! Ambient temperature in Degree C*/ + int8_t amb_temp; + + /*! Sensor calibration data */ + struct bme68x_calib_data calib; + + /*! Read function pointer */ + bme68x_read_fptr_t read; + + /*! Write function pointer */ + bme68x_write_fptr_t write; + + /*! Delay function pointer */ + bme68x_delay_us_fptr_t delay_us; + + /*! To store interface pointer error */ + BME68X_INTF_RET_TYPE intf_rslt; + + /*! Store the info messages */ + uint8_t info_msg; +}; + +#endif /* BME68X_DEFS_H_ */ +/*! @endcond */ diff --git a/lib/Adafruit_BME680/library.properties b/lib/Adafruit_BME680/library.properties index 08496da20..6277aa1be 100644 --- a/lib/Adafruit_BME680/library.properties +++ b/lib/Adafruit_BME680/library.properties @@ -1,10 +1,10 @@ name=Adafruit BME680 Library -version=1.1.1 +version=2.0.2 author=Adafruit maintainer=Adafruit -sentence=Arduino library for BME680 sensors. -paragraph=Arduino library for BME680 humidity and pressure sensors. +sentence=Arduino library for BME680 and BME688 sensors. +paragraph=Arduino library for BME680 and BME688 humidity and pressure sensors. category=Sensors url=https://github.com/adafruit/Adafruit_BME680 architectures=* -depends=Adafruit Unified Sensor, Adafruit GFX Library, Adafruit SSD1306 +depends=Adafruit Unified Sensor, Adafruit GFX Library, Adafruit SSD1306, Adafruit BusIO diff --git a/src/_P106_BME680.ino b/src/_P106_BME680.ino index 90f856e1a..7a0c1a062 100644 --- a/src/_P106_BME680.ino +++ b/src/_P106_BME680.ino @@ -14,6 +14,11 @@ Adafruit_BME680 Library v1.0.5 required (https://github.com/adafruit/Adafruit_BME680/tree/1.0.5) /******************************************************************************/ +/** Changelog: + * 2023-04-15 tonhuisman: Fix copy/paste error for FEATURE_I2C_GET_ADDRESS + * Update Adafruit_BME680 library to v2.0.2 + * 2023-04-15 tonhuisman: Started Changelog + */ # include "src/PluginStructs/P106_data_struct.h" @@ -69,6 +74,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) case PLUGIN_WEBFORM_SHOW_I2C_PARAMS: { const uint8_t i2cAddressValues[] = { 0x77, 0x76 }; + if (function == PLUGIN_WEBFORM_SHOW_I2C_PARAMS) { addFormSelectorI2C(F("i2c_addr"), 2, i2cAddressValues, PCONFIG(0)); addFormNote(F("SDO Low=0x76, High=0x77")); @@ -78,7 +84,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) break; } - # if FEATURE_I2FEATURE_I2C_GET_ADDRESSC_DEVICE_CHECK + # if FEATURE_I2C_GET_ADDRESS case PLUGIN_I2C_GET_ADDRESS: { event->Par1 = PCONFIG(0); @@ -112,7 +118,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) if (nullptr != P106_data) { P106_data->initialized = false; // Force re-init just in case the address changed. - success = P106_data->begin(PCONFIG(0)); + success = P106_data->begin(PCONFIG(0)); } break; } @@ -141,6 +147,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) UserVar[event->BaseVarIndex + 3] = P106_data->bme.gas_resistance / 1000.0f; const int elev = PCONFIG(1); + if (elev != 0) { UserVar[event->BaseVarIndex + 2] = pressureElevation(P106_data->bme.pressure / 100.0f, elev); From feb250f821e7b7c50aaf66578238bb1a28120d13 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sun, 16 Apr 2023 14:30:46 +0200 Subject: [PATCH 16/23] [P106] Rename to BME68x, add Gas in Ohm option --- src/_P106_BME680.ino | 31 +++++++++++++--------- src/src/PluginStructs/P106_data_struct.cpp | 8 +++--- src/src/PluginStructs/P106_data_struct.h | 8 ++++++ 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/_P106_BME680.ino b/src/_P106_BME680.ino index 7a0c1a062..3fdf9703b 100644 --- a/src/_P106_BME680.ino +++ b/src/_P106_BME680.ino @@ -15,6 +15,10 @@ /******************************************************************************/ /** Changelog: + * 2023-04-16 tonhuisman: Add option to present Gas(resistance) as Ohm instead of kOhm + * Rename sensor to BME68x from BME680, as BME688 is backward compatible. + * NB: AI-features of BME688 are not supported! + * Use updated #defines since BME680 library update * 2023-04-15 tonhuisman: Fix copy/paste error for FEATURE_I2C_GET_ADDRESS * Update Adafruit_BME680 library to v2.0.2 * 2023-04-15 tonhuisman: Started Changelog @@ -25,7 +29,7 @@ # define PLUGIN_106 # define PLUGIN_ID_106 106 -# define PLUGIN_NAME_106 "Environment - BME680" +# define PLUGIN_NAME_106 "Environment - BME68x" # define PLUGIN_VALUENAME1_106 "Temperature" # define PLUGIN_VALUENAME2_106 "Humidity" # define PLUGIN_VALUENAME3_106 "Pressure" @@ -76,7 +80,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) const uint8_t i2cAddressValues[] = { 0x77, 0x76 }; if (function == PLUGIN_WEBFORM_SHOW_I2C_PARAMS) { - addFormSelectorI2C(F("i2c_addr"), 2, i2cAddressValues, PCONFIG(0)); + addFormSelectorI2C(F("i2c_addr"), 2, i2cAddressValues, P106_I2C_ADDRESS); addFormNote(F("SDO Low=0x76, High=0x77")); } else { success = intArrayContains(2, i2cAddressValues, event->Par1); @@ -87,7 +91,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) # if FEATURE_I2C_GET_ADDRESS case PLUGIN_I2C_GET_ADDRESS: { - event->Par1 = PCONFIG(0); + event->Par1 = P106_I2C_ADDRESS; success = true; break; } @@ -95,18 +99,21 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) case PLUGIN_WEBFORM_LOAD: { - addFormNumericBox(F("Altitude"), F("elev"), PCONFIG(1)); + addFormNumericBox(F("Altitude"), F("elev"), P106_ALTITUDE); addUnit('m'); + addFormCheckBox(F("Present `Gas` in Ohm (not kOhm)"), F("gas"), P106_GET_OPT_GAS_OHM); + success = true; break; } case PLUGIN_WEBFORM_SAVE: { - PCONFIG(0) = getFormItemInt(F("i2c_addr")); - PCONFIG(1) = getFormItemInt(F("elev")); - success = true; + P106_I2C_ADDRESS = getFormItemInt(F("i2c_addr")); + P106_ALTITUDE = getFormItemInt(F("elev")); + P106_SET_OPT_GAS_OHM(isFormItemChecked(F("gas"))); + success = true; break; } @@ -118,7 +125,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) if (nullptr != P106_data) { P106_data->initialized = false; // Force re-init just in case the address changed. - success = P106_data->begin(PCONFIG(0)); + success = P106_data->begin(P106_I2C_ADDRESS); } break; } @@ -130,7 +137,7 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) if (nullptr != P106_data) { - P106_data->begin(PCONFIG(0)); + P106_data->begin(P106_I2C_ADDRESS); if (!P106_data->initialized) { break; @@ -138,15 +145,15 @@ boolean Plugin_106(uint8_t function, struct EventStruct *event, String& string) if (!P106_data->bme.performReading()) { P106_data->initialized = false; - addLog(LOG_LEVEL_ERROR, F("BME680 : Failed to perform reading!")); + addLog(LOG_LEVEL_ERROR, F("BME68x : Failed to perform reading!")); break; } UserVar[event->BaseVarIndex + 0] = P106_data->bme.temperature; UserVar[event->BaseVarIndex + 1] = P106_data->bme.humidity; - UserVar[event->BaseVarIndex + 3] = P106_data->bme.gas_resistance / 1000.0f; + UserVar[event->BaseVarIndex + 3] = P106_GET_OPT_GAS_OHM ? P106_data->bme.gas_resistance : P106_data->bme.gas_resistance / 1000.0f; - const int elev = PCONFIG(1); + const int elev = P106_ALTITUDE; if (elev != 0) { diff --git a/src/src/PluginStructs/P106_data_struct.cpp b/src/src/PluginStructs/P106_data_struct.cpp index 72037a303..65c7e0efc 100644 --- a/src/src/PluginStructs/P106_data_struct.cpp +++ b/src/src/PluginStructs/P106_data_struct.cpp @@ -16,10 +16,10 @@ bool P106_data_struct::begin(uint8_t addr, bool initSettings) if (initialized) { // Set up oversampling and filter initialization - bme.setTemperatureOversampling(BME680_OS_8X); - bme.setHumidityOversampling(BME680_OS_2X); - bme.setPressureOversampling(BME680_OS_4X); - bme.setIIRFilterSize(BME680_FILTER_SIZE_3); + bme.setTemperatureOversampling(BME68X_OS_8X); + bme.setHumidityOversampling(BME68X_OS_2X); + bme.setPressureOversampling(BME68X_OS_4X); + bme.setIIRFilterSize(BME68X_FILTER_SIZE_3); bme.setGasHeater(320, 150); // 320*C for 150 ms } } diff --git a/src/src/PluginStructs/P106_data_struct.h b/src/src/PluginStructs/P106_data_struct.h index e2057be90..e2c53ca94 100644 --- a/src/src/PluginStructs/P106_data_struct.h +++ b/src/src/PluginStructs/P106_data_struct.h @@ -4,6 +4,14 @@ #include "../../_Plugin_Helper.h" #ifdef USES_P106 +# define P106_I2C_ADDRESS PCONFIG(0) +# define P106_ALTITUDE PCONFIG(1) +# define P106_OPTIONS PCONFIG_ULONG(0) // Plugin options +// Plugin options: +# define P106_OPT_GAS_OHM 0 // Use Raw value, default off + +# define P106_GET_OPT_GAS_OHM bitRead(P106_OPTIONS, P106_OPT_GAS_OHM) +# define P106_SET_OPT_GAS_OHM(x) bitWrite(P106_OPTIONS, P106_OPT_GAS_OHM, x) # include # include From 525287ded34525814751f4ac6dad787510a9e3fc Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Sun, 16 Apr 2023 14:31:09 +0200 Subject: [PATCH 17/23] [P106] Add documentation --- docs/source/Plugin/P106.rst | 53 +++++++++++++++++- .../Plugin/P106_DeviceConfiguration.png | Bin 0 -> 45941 bytes .../Plugin/_plugin_substitutions_p10x.repl | 6 +- 3 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 docs/source/Plugin/P106_DeviceConfiguration.png diff --git a/docs/source/Plugin/P106.rst b/docs/source/Plugin/P106.rst index b14f5100d..ebaf32c01 100644 --- a/docs/source/Plugin/P106.rst +++ b/docs/source/Plugin/P106.rst @@ -24,6 +24,53 @@ Used libraries: |P106_usedlibraries| Description ----------- +Plugin to use the Bosch BME680 and BME688 Temperature, Humidity, Barometric pressure and MOX Gas resistance values. + +.. warning:: For the BME688 sensor the AI features are not supported, only the BME680 features, as it is fully backward compatible. + +Specifications: + * Temperature (-40C to +85C) + * Relative humidity (0-100 %RH) + * Barometric pressure (300-1100 hPa) + * Gas resistance (can be used to determine IAQ, Index of Air Quality) + + +configuration +------------- + +.. image:: P106_DeviceConfiguration.png + +* **Name**: Required by ESPEasy, must be unique among the list of available devices/tasks. + +* **Enabled**: The device can be disabled or enabled. When not enabled the device should not use any resources. + +I2C options +^^^^^^^^^^^ + +* **I2C Address**: The device supports 2 addresses, that can be configured using the ``SDO`` pin: (not all boards have that pin available, but could use soldering-pads to configure the address) + +The available I2C settings here depend on the build used. At least the **Force Slow I2C speed** option is available, but selections for the I2C Multiplexer can also be shown. For details see the :ref:`Hardware_page` + +Device Settings +^^^^^^^^^^^^^^^ + +* **Altitude** When not at sea-level, the plugin can apply an altitude compensation on the **Pressure** value. + +* **Present `Gas` in Ohm (not kOhm)**: Normally the Gas resistance value, received from the MOX Gas sensor, is divided to be presented as kOhm, but with this setting checked, the native Ohm value is shown. + +Data Acquisition +^^^^^^^^^^^^^^^^ + +This group of settings, **Single event with all values** and **Send to Controller** settings are standard available configuration items. Send to Controller is only visible when one or more Controllers are configured. + +* **Interval** By default, Interval will be set to 60 sec. The data will be collected and optionally sent to any configured controllers using this interval. + +Values +^^^^^^ + +The plugin provides the ``Temperature``, ``Humidity``, ``Pressure`` and ``Gas`` values. A formula can be set to recalculate. The number of decimals can be set as desired. + +Per Value is a **Stats** checkbox available, that when checked, gathers the data and presents recent data in a graph, as described here: :ref:`Task Value Statistics: ` .. Events @@ -37,6 +84,8 @@ Change log ---------- .. versionchanged:: 2.0 - ... - |added| 2020-04-25 + +|changed| 2023-04-16 Renamed to BME68x, make ``Gas`` output scale configurable. ... + +|added| 2020-04-25 diff --git a/docs/source/Plugin/P106_DeviceConfiguration.png b/docs/source/Plugin/P106_DeviceConfiguration.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2c3fcbb4d3f13e657f0827c8cc59b03f51e314 GIT binary patch literal 45941 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

gq$!1!%|xdCLwvv6`R3x>~GOcsK0Q# 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 Date: Mon, 17 Apr 2023 20:04:45 +0200 Subject: [PATCH 18/23] [Commands] Add PutToHTTP command --- src/src/Commands/HTTP.cpp | 20 ++++++++++++++++++-- src/src/Commands/HTTP.h | 8 ++++++-- src/src/Commands/InternalCommands.cpp | 3 +++ src/src/CustomBuild/define_plugin_sets.h | 15 ++++++++++++++- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/src/Commands/HTTP.cpp b/src/src/Commands/HTTP.cpp index 382f58dfc..94be56b6f 100644 --- a/src/src/Commands/HTTP.cpp +++ b/src/src/Commands/HTTP.cpp @@ -17,7 +17,7 @@ #include "../Helpers/Networking.h" #include "../Helpers/StringParser.h" -#if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP +#if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP || FEATURE_PUT_TO_HTTP const __FlashStringHelper* httpEmitToHTTP(struct EventStruct *event, const __FlashStringHelper *logIdentifier, const __FlashStringHelper *HttpMethod, @@ -125,7 +125,7 @@ const __FlashStringHelper* httpEmitToHTTP(struct EventStruct *event, return return_command_failed(); } -#endif // if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP +#endif // if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP || FEATURE_PUT_TO_HTTP #if FEATURE_SEND_TO_HTTP @@ -160,3 +160,19 @@ const __FlashStringHelper* Command_HTTP_PostToHTTP(struct EventStruct *event, co } #endif // if FEATURE_POST_TO_HTTP + +#if FEATURE_PUT_TO_HTTP + +// syntax 1: PutToHttp,<[:@],,,

, +// syntax 2: PutToHttp,http://<[:@][:]/,
, +const __FlashStringHelper* Command_HTTP_PutToHTTP(struct EventStruct *event, const char *Line) +{ + // FIXME tonhuisman: Make putToHttp timeout a setting, now using a somewhat sensible default + const int timeout = CONTROLLER_CLIENTTIMEOUT_MAX; + + // FIXME tonhuisman: make PutToHttp_ack a setting, using SendToHttp_ack for now... + + return httpEmitToHTTP(event, F("PostToHTTP"), F("PUT"), Line, timeout, Settings.SendToHttp_ack(), true, true); +} + +#endif // if FEATURE_PUT_TO_HTTP diff --git a/src/src/Commands/HTTP.h b/src/src/Commands/HTTP.h index cab08af23..42d383523 100644 --- a/src/src/Commands/HTTP.h +++ b/src/src/Commands/HTTP.h @@ -3,7 +3,7 @@ #include -#if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP +#if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP || FEATURE_PUT_TO_HTTP const __FlashStringHelper* httpEmitToHTTP(struct EventStruct *event, const __FlashStringHelper *logIdentifier, const __FlashStringHelper *HttpMethod, @@ -12,7 +12,7 @@ const __FlashStringHelper* httpEmitToHTTP(struct EventStruct *event, const bool waitForAck, const bool useHeader, const bool useBody); -#endif // if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP +#endif // if FEATURE_SEND_TO_HTTP || FEATURE_POST_TO_HTTP || FEATURE_PUT_TO_HTTP #if FEATURE_SEND_TO_HTTP const __FlashStringHelper* Command_HTTP_SendToHTTP(struct EventStruct *event, const char *Line); @@ -21,5 +21,9 @@ const __FlashStringHelper* Command_HTTP_SendToHTTP(struct EventStruct *event, const __FlashStringHelper* Command_HTTP_PostToHTTP(struct EventStruct *event, const char *Line); #endif // if FEATURE_POST_TO_HTTP +#if FEATURE_PUT_TO_HTTP +const __FlashStringHelper* Command_HTTP_PutToHTTP(struct EventStruct *event, + const char *Line); +#endif // if FEATURE_PUT_TO_HTTP #endif // COMMAND_HTTP_H diff --git a/src/src/Commands/InternalCommands.cpp b/src/src/Commands/InternalCommands.cpp index 11eedbf91..825b2f12c 100644 --- a/src/src/Commands/InternalCommands.cpp +++ b/src/src/Commands/InternalCommands.cpp @@ -413,6 +413,9 @@ bool executeInternalCommand(command_case_data & data) #if FEATURE_MQTT COMMAND_CASE_A( "publish", Command_MQTT_Publish, -1); // MQTT.h #endif // if FEATURE_MQTT + #if FEATURE_PUT_TO_HTTP + COMMAND_CASE_A("puttohttp", Command_HTTP_PutToHTTP, -1); // HTTP.h + #endif // if FEATURE_PUT_TO_HTTP COMMAND_CASE_A( "pwm", Command_GPIO_PWM, 4); // GPIO.h break; } diff --git a/src/src/CustomBuild/define_plugin_sets.h b/src/src/CustomBuild/define_plugin_sets.h index 0a5517962..87f4c3da6 100644 --- a/src/src/CustomBuild/define_plugin_sets.h +++ b/src/src/CustomBuild/define_plugin_sets.h @@ -443,6 +443,11 @@ To create/register a plugin, you have to : #endif #define FEATURE_POST_TO_HTTP 0 // Disabled + #ifdef FEATURE_PUT_TO_HTTP + #undef FEATURE_PUT_TO_HTTP + #endif + #define FEATURE_PUT_TO_HTTP 0 // Disabled + #ifndef PLUGIN_SET_NONE #define PLUGIN_SET_NONE #endif @@ -2245,6 +2250,10 @@ To create/register a plugin, you have to : #undef FEATURE_POST_TO_HTTP #endif #define FEATURE_POST_TO_HTTP 0 // Disabled + #ifdef FEATURE_PUT_TO_HTTP + #undef FEATURE_PUT_TO_HTTP + #endif + #define FEATURE_PUT_TO_HTTP 0 // Disabled #endif @@ -2775,6 +2784,10 @@ To create/register a plugin, you have to : #define FEATURE_POST_TO_HTTP 1 // Enabled by default #endif +#ifndef FEATURE_PUT_TO_HTTP + #define FEATURE_PUT_TO_HTTP 1 // Enabled by default +#endif + #ifndef FEATURE_HTTP_CLIENT #define FEATURE_HTTP_CLIENT 0 // Disable by default #endif @@ -2804,7 +2817,7 @@ To create/register a plugin, you have to : #define FEATURE_I2C_GET_ADDRESS 1 // Needed by FEATURE_I2C_DEVICE_CHECK #endif -#if !FEATURE_HTTP_CLIENT && (defined(USES_C001) || defined(USES_C008) || defined(USES_C009) || defined(USES_C011) || (defined(FEATURE_SEND_TO_HTTP) && FEATURE_SEND_TO_HTTP) || (defined(FEATURE_POST_TO_HTTP) && FEATURE_POST_TO_HTTP) || (defined(FEATURE_DOWNLOAD) && FEATURE_DOWNLOAD) || (defined(FEATURE_SETTINGS_ARCHIVE) && FEATURE_SETTINGS_ARCHIVE)) +#if !FEATURE_HTTP_CLIENT && (defined(USES_C001) || defined(USES_C008) || defined(USES_C009) || defined(USES_C011) || (defined(FEATURE_SEND_TO_HTTP) && FEATURE_SEND_TO_HTTP) || (defined(FEATURE_POST_TO_HTTP) && FEATURE_POST_TO_HTTP) || (defined(FEATURE_PUT_TO_HTTP) && FEATURE_PUT_TO_HTTP) || (defined(FEATURE_DOWNLOAD) && FEATURE_DOWNLOAD) || (defined(FEATURE_SETTINGS_ARCHIVE) && FEATURE_SETTINGS_ARCHIVE)) #undef FEATURE_HTTP_CLIENT #define FEATURE_HTTP_CLIENT 1 // Enable because required for these controllers/features #endif From 443737115a0614ac2dfe10051564fd7531b71d2b Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Mon, 17 Apr 2023 20:05:14 +0200 Subject: [PATCH 19/23] [Docs] Add PutToHTTP documentation --- docs/source/Plugin/P000_commands.repl | 61 +++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/docs/source/Plugin/P000_commands.repl b/docs/source/Plugin/P000_commands.repl index 4132fd2bb..0c4da1f53 100644 --- a/docs/source/Plugin/P000_commands.repl +++ b/docs/source/Plugin/P000_commands.repl @@ -386,6 +386,8 @@ On completion of the command, the returned status code can be handled in a generated event, f.e. ``http#hostname=404`` for not found error, or ``http#hostname=200`` for success. + See also: ``PutToHTTP`` and ``SendToHTTP`` + Added: 2023-01-15 " " @@ -425,6 +427,65 @@ ``Publish,[,]``" " + PutToHTTP"," + :green:`Rules`"," + *Syntax format 1:* + + ``PutToHTTP,[:@],,,[][,]`` + + Send a command to another network device via HTTP using the http ``PUT`` method. + + ```` can be either a domain name or IP address. + + ```` is the port to connect to, usually 80 for a HTTP site. + + ```` the path on the server to put the message to. + + *Syntax format 2:* + + ``PutToHTTP,http://[:@],[][,]`` + + ```` is the full hostname (or IP address) and path on the server to put the content to. + + *For both syntax formats:* + + ```` is an optional user to supply for Basic authentication. + + ```` is an optional password to supply for Basic authentication. + + ```` when provided will be added to the header of the ``PUT`` message, has to be in ``:`` format. Can be used to supply a ``Authorization: Bearer `` and/or ``api-key:`` (instead of a user/password Basic authentication) and a ``Content-Type: ``. Multiple entries have to be separated by a NewLine (``%LF%``) to be processed correctly. When not used (empty) and ```` *is used*, the comma should still be included! + + ```` is the optional content to include in the ``PUT`` message. Can be anything, f.e. a JSON formatted string, like in the example below. + + Syntax examples: + + ``PutToHTTP,,,,[][,]`` + + ``PutToHTTP,:@,,,[][,]`` + + ``PutToHTTP,http:///,[][,]`` + + ``PutToHTTP,http://:@/,[][,]`` + + ``PutToHTTP,http://:/,[][,]`` + + ``PutToHTTP,http://:@:/,[][,]`` + + Example using syntax format 1: + + ``PutToHTTP,user:password@192.168.1.100,8888,/someurl,'header1:value1%LF%header2:value2',`{'this':{'string':'can','be':'JSON','data':{'one':1,'two':2.0,'bool':true}}}``` + + Example using syntax format 2: + + ``PutToHTTP,http://user:password@192.168.1.100:8888/someurl,'header1:value1%LF%header2:value2',`{'this':{'string':'can','be':'JSON','data':{'one':1,'two':2.0,'bool':true}}}``` + + On completion of the command, the returned status code can be handled in a generated event, f.e. ``http#hostname=404`` for not found error, or ``http#hostname=200`` for success. + + See also: ``PostToHTTP`` and ``SendToHTTP`` + + Added: 2023-04-17 + " + " Reboot"," :red:`Internal`"," Reboot the ESP From 164ffd5b72607f49930b753ed703ca215a5bdd9d Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Wed, 19 Apr 2023 20:23:15 +0200 Subject: [PATCH 20/23] [Commands] Fix typo in PutToHTTP log message --- src/src/Commands/HTTP.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/Commands/HTTP.cpp b/src/src/Commands/HTTP.cpp index 94be56b6f..18567310e 100644 --- a/src/src/Commands/HTTP.cpp +++ b/src/src/Commands/HTTP.cpp @@ -172,7 +172,7 @@ const __FlashStringHelper* Command_HTTP_PutToHTTP(struct EventStruct *event, con // FIXME tonhuisman: make PutToHttp_ack a setting, using SendToHttp_ack for now... - return httpEmitToHTTP(event, F("PostToHTTP"), F("PUT"), Line, timeout, Settings.SendToHttp_ack(), true, true); + return httpEmitToHTTP(event, F("PutToHTTP"), F("PUT"), Line, timeout, Settings.SendToHttp_ack(), true, true); } #endif // if FEATURE_PUT_TO_HTTP From 3ce31ac761e5941edac75efdfe6253b9b01d00ba Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Wed, 19 Apr 2023 22:34:40 +0200 Subject: [PATCH 21/23] [LongPulse_ms] Fix end-state for inverted repeated pulse --- src/src/Commands/GPIO.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/src/Commands/GPIO.cpp b/src/src/Commands/GPIO.cpp index c42ffabab..6a4d26054 100644 --- a/src/src/Commands/GPIO.cpp +++ b/src/src/Commands/GPIO.cpp @@ -215,8 +215,14 @@ const __FlashStringHelper * Command_GPIO_LongPulse_Ms(struct EventStruct *event, } uint32_t runTimeUS = 0; if (event->Par5 > 0) { - // Must set slightly lower than expected duration as it will be rounded up. - runTimeUS = event->Par5 * (timeHighUS + timeLowUS) - ((timeHighUS + timeLowUS) / 2); + runTimeUS = event->Par5 * (timeHighUS + timeLowUS); + if (event->Par2 == 0) { + // When having an inverted state repeat-cycle, add some overshoot to return to the original state + runTimeUS += timeHighUS / 2; + } else { + // Must set slightly lower than expected duration as it will be rounded up. + runTimeUS -= ((timeHighUS + timeLowUS) / 2); + } } pinMode(event->Par1, OUTPUT); From 82c778bdc97c20124a1739863d28e675d61f1bf9 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Thu, 20 Apr 2023 21:36:06 +0200 Subject: [PATCH 22/23] [LongPulse_ms] Fix end-state for inverted repeated pulse --- src/src/Commands/GPIO.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/src/Commands/GPIO.cpp b/src/src/Commands/GPIO.cpp index 6a4d26054..eae964d28 100644 --- a/src/src/Commands/GPIO.cpp +++ b/src/src/Commands/GPIO.cpp @@ -228,6 +228,17 @@ const __FlashStringHelper * Command_GPIO_LongPulse_Ms(struct EventStruct *event, pinMode(event->Par1, OUTPUT); usingWaveForm = startWaveform( pin, timeHighUS, timeLowUS, runTimeUS); + + if (event->Par5 > 0 && event->Par2 == 0) { + // Schedule switching pin back to original state + Scheduler.setGPIOTimer( + (runTimeUS / 1000) + 1, // msecFromNow, rounded up + pluginID, + event->Par1, // Pin/port nr + !event->Par2, // pin state + 0, // repeatInterval + 0); // repeatCount + } } #else // waveform function not available on ESP32 From 353c4852c6c1f68bd6d50289f24a2020e2beed88 Mon Sep 17 00:00:00 2001 From: Ton Huisman Date: Wed, 26 Apr 2023 20:31:12 +0200 Subject: [PATCH 23/23] [P102] Bring plugin-name in line with other plugins --- src/_P102_PZEM004Tv3.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_P102_PZEM004Tv3.ino b/src/_P102_PZEM004Tv3.ino index 6d39c1955..1376f688c 100644 --- a/src/_P102_PZEM004Tv3.ino +++ b/src/_P102_PZEM004Tv3.ino @@ -17,7 +17,7 @@ # define PLUGIN_102 # define PLUGIN_ID_102 102 # define PLUGIN_102_DEBUG true // activate extra log info in the debug -# define PLUGIN_NAME_102 "PZEM-004Tv30-Multiple" +# define PLUGIN_NAME_102 "Energy (AC) - PZEM-004Tv30-Multiple" # define P102_PZEM_mode PCONFIG(1) // 0=read value ; 1=reset energy; 2=programm address # define P102_PZEM_ADDR PCONFIG(2) @@ -38,9 +38,9 @@ # define P102_NR_OUTPUT_OPTIONS 6 # define P102_QUERY1_CONFIG_POS 3 -# define P102_PZEM_MAX_ATTEMPT 3 // Number of tentative before declaring NAN value +# define P102_PZEM_MAX_ATTEMPT 3 // Number of tentative before declaring NAN value -PZEM004Tv30 *P102_PZEM_sensor = nullptr; +PZEM004Tv30 * P102_PZEM_sensor = nullptr; boolean Plugin_102_init = false; uint8_t P102_PZEM_ADDR_SET = 0; // Flag for status of programmation/Energy reset: 0=Reading / 1=Prog confirmed / 3=Prog done / 4=Reset