From 16853dc4f2bd33ef2f7bcf90afd8c767cdf4724e Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Tue, 17 Oct 2017 15:09:19 +0100 Subject: [PATCH] Added packaging, dropped copy of C code --- c/BME680_driver/Makefile | 9 - c/BME680_driver/README.md | 239 ---- c/BME680_driver/Self test/bme680_selftest.c | 189 --- c/BME680_driver/Self test/bme680_selftest.h | 88 -- c/BME680_driver/bme680.c | 1105 ----------------- c/BME680_driver/bme680.h | 228 ---- c/BME680_driver/bme680_defs.h | 529 -------- c/BME680_driver/changelog.md | 42 - c/BME680_driver/main | Bin 595912 -> 0 bytes c/BME680_driver/main.c | 69 - {python/examples => examples}/livetest.py | 0 {python/examples => examples}/test.py | 0 library/CHANGELOG.txt | 5 + {python/library => library}/README.txt | 0 .../bme680.egg-info/PKG-INFO | 0 .../bme680.egg-info/SOURCES.txt | 0 .../bme680.egg-info/dependency_links.txt | 0 .../bme680.egg-info/top_level.txt | 0 .../library => library}/bme680/__init__.py | 2 +- .../library => library}/bme680/constants.py | 0 {python/library => library}/setup.py | 2 +- packaging/CHANGELOG | 5 + packaging/debian/README | 9 + packaging/debian/changelog | 5 + packaging/debian/clean | 1 + packaging/debian/compat | 1 + packaging/debian/control | 29 + packaging/debian/copyright | 26 + .../CHANGELOG.txt => packaging/debian/docs | 0 packaging/debian/rules | 12 + packaging/debian/source/format | 1 + packaging/debian/source/options | 1 + packaging/makeall.sh | 165 +++ packaging/makedeb.sh | 30 + packaging/makelog.sh | 82 ++ 35 files changed, 374 insertions(+), 2500 deletions(-) delete mode 100644 c/BME680_driver/Makefile delete mode 100644 c/BME680_driver/README.md delete mode 100644 c/BME680_driver/Self test/bme680_selftest.c delete mode 100644 c/BME680_driver/Self test/bme680_selftest.h delete mode 100644 c/BME680_driver/bme680.c delete mode 100644 c/BME680_driver/bme680.h delete mode 100644 c/BME680_driver/bme680_defs.h delete mode 100644 c/BME680_driver/changelog.md delete mode 100755 c/BME680_driver/main delete mode 100644 c/BME680_driver/main.c rename {python/examples => examples}/livetest.py (100%) rename {python/examples => examples}/test.py (100%) create mode 100644 library/CHANGELOG.txt rename {python/library => library}/README.txt (100%) rename {python/library => library}/bme680.egg-info/PKG-INFO (100%) rename {python/library => library}/bme680.egg-info/SOURCES.txt (100%) rename {python/library => library}/bme680.egg-info/dependency_links.txt (100%) rename {python/library => library}/bme680.egg-info/top_level.txt (100%) rename {python/library => library}/bme680/__init__.py (99%) rename {python/library => library}/bme680/constants.py (100%) rename {python/library => library}/setup.py (98%) create mode 100644 packaging/CHANGELOG create mode 100644 packaging/debian/README create mode 100644 packaging/debian/changelog create mode 100644 packaging/debian/clean create mode 100644 packaging/debian/compat create mode 100644 packaging/debian/control create mode 100644 packaging/debian/copyright rename python/library/CHANGELOG.txt => packaging/debian/docs (100%) create mode 100755 packaging/debian/rules create mode 100644 packaging/debian/source/format create mode 100644 packaging/debian/source/options create mode 100755 packaging/makeall.sh create mode 100755 packaging/makedeb.sh create mode 100755 packaging/makelog.sh diff --git a/c/BME680_driver/Makefile b/c/BME680_driver/Makefile deleted file mode 100644 index e5e929d..0000000 --- a/c/BME680_driver/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -all: main - -lib: - gcc -c -fpic bme680.c - ar rcs libbme680.a bme680.o - gcc -shared -o libbme680.so bme680.o - -main: lib - gcc main.c -L. -static -lbme680 -o main diff --git a/c/BME680_driver/README.md b/c/BME680_driver/README.md deleted file mode 100644 index 5cf73d2..0000000 --- a/c/BME680_driver/README.md +++ /dev/null @@ -1,239 +0,0 @@ -# BME680 sensor API -## Introduction -This package contains the Bosch Sensortec's BME680 gas sensor API - -The sensor driver package includes bme680.h, bme680.c and bme680_defs.h files - -## Version -File | Version | Date ------|---------|----- -bme680.c | 3.5.1 | 5 Jul 2017 -bme680.h | 3.5.1 | 5 Jul 2017 -bme680_defs.h | 3.5.1 | 5 Jul 2017 - -## Integration details -* Integrate bme680.h, bme680_defs.h and bme680.c file in to your project. -* Include the bme680.h file in your code like below. -``` c -#include "bme680.h" -``` - -## File information -* bme680_defs.h : This header file has the constants, macros and datatype declarations. -* bme680.h : This header file contains the declarations of the sensor driver APIs. -* bme680.c : This source file contains the definitions of the sensor driver APIs. - -## Supported sensor interfaces -* SPI 4-wire -* I2C - -## Usage guide -### Initializing the sensor -To initialize the sensor, you will first need to create a device structure. You -can do this by creating an instance of the structure bme680_dev. Then go on to -fill in the various parameters as shown below - -#### Example for SPI 4-Wire -``` c - struct bme680_dev gas_sensor; - - /* You may assign a chip select identifier to be handled later */ - gas_sensor.dev_id = 0; - gas_sensor.intf = BME680_SPI_INTF; - gas_sensor.read = user_spi_read; - gas_sensor.write = user_spi_write; - gas_sensor.delay_ms = user_delay_ms; - - int8_t rslt = BME680_OK; - rslt = bme680_init(&gas_sensor); -``` - -#### Example for I2C -``` c - struct bme680_dev gas_sensor; - - gas_sensor.dev_id = BME680_I2C_ADDR_PRIMARY; - gas_sensor.intf = BME680_I2C_INTF; - gas_sensor.read = user_i2c_read; - gas_sensor.write = user_i2c_write; - gas_sensor.delay_ms = user_delay_ms; - - int8_t rslt = BME680_OK; - rslt = bme680_init(&gas_sensor); -``` - -### Configuring the sensor -#### Example for configuring the sensor in forced mode -``` c - uint8_t set_required_settings; - - /* Set the temperature, pressure and humidity settings */ - gas_sensor.tph_sett.os_hum = BME680_OS_2X; - gas_sensor.tph_sett.os_pres = BME680_OS_4X; - gas_sensor.tph_sett.os_temp = BME680_OS_8X; - gas_sensor.tph_sett.filter = BME680_FILTER_SIZE_3; - - /* Set the remaining gas sensor settings and link the heating profile */ - gas_sensor.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS; - /* Create a ramp heat waveform in 3 steps */ - gas_sensor.gas_sett.heatr_temp = 320; /* degree Celsius */ - gas_sensor.gas_sett.heatr_dur = 150; /* milliseconds */ - - /* 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 */ - set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_FILTER_SEL - | BME680_GAS_SENSOR_SEL; - - /* Set the desired sensor configuration */ - rslt = bme680_set_sensor_settings(set_required_settings,&gas_sensor); - - /* Set the power mode */ - rslt = bme680_set_sensor_mode(&gas_sensor); - - /* 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); - user_delay_ms(meas_period); /* Delay till the measurement is ready */ -``` - -### Reading sensor data -#### Example for reading all sensor data -``` c - struct bme680_field_data data; - - while(1) - { - rslt = bme680_get_sensor_data(&data, &gas_sensor); - - printf("T: %.2f degC, P: %.2f hPa, H %.2f %%rH ", data.temperature / 100.0f, - data.pressure / 100.0f, data.humidity / 1000.0f ); - /* Avoid using measurements from an unstable heating setup */ - if(data.status & BME680_HEAT_STAB_MSK) - printf(", G: %d ohms", data.gas_resistance); - - printf("\r\n"); - } -``` - -### Templates for function pointers -``` c - -void user_delay_ms(uint32_t period) -{ - /* - * Return control or wait, - * for a period amount of milliseconds - */ -} - -int8_t user_spi_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) -{ - int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ - - /* - * The parameter dev_id can be used as a variable to select which Chip Select pin has - * to be set low to activate the relevant device on the SPI bus - */ - - /* - * Data on the bus should be like - * |----------------+---------------------+-------------| - * | MOSI | MISO | Chip Select | - * |----------------+---------------------|-------------| - * | (don't care) | (don't care) | HIGH | - * | (reg_addr) | (don't care) | LOW | - * | (don't care) | (reg_data[0]) | LOW | - * | (....) | (....) | LOW | - * | (don't care) | (reg_data[len - 1]) | LOW | - * | (don't care) | (don't care) | HIGH | - * |----------------+---------------------|-------------| - */ - - return rslt; -} - -int8_t user_spi_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) -{ - int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ - - /* - * The parameter dev_id can be used as a variable to select which Chip Select pin has - * to be set low to activate the relevant device on the SPI bus - */ - - /* - * Data on the bus should be like - * |---------------------+--------------+-------------| - * | MOSI | MISO | Chip Select | - * |---------------------+--------------|-------------| - * | (don't care) | (don't care) | HIGH | - * | (reg_addr) | (don't care) | LOW | - * | (reg_data[0]) | (don't care) | LOW | - * | (....) | (....) | LOW | - * | (reg_data[len - 1]) | (don't care) | LOW | - * | (don't care) | (don't care) | HIGH | - * |---------------------+--------------|-------------| - */ - - return rslt; -} - -int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) -{ - int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ - - /* - * The parameter dev_id can be used as a variable to store the I2C address of the device - */ - - /* - * Data on the bus should be like - * |------------+---------------------| - * | I2C action | Data | - * |------------+---------------------| - * | Start | - | - * | Write | (reg_addr) | - * | Stop | - | - * | Start | - | - * | Read | (reg_data[0]) | - * | Read | (....) | - * | Read | (reg_data[len - 1]) | - * | Stop | - | - * |------------+---------------------| - */ - - return rslt; -} - -int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) -{ - int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ - - /* - * The parameter dev_id can be used as a variable to store the I2C address of the device - */ - - /* - * Data on the bus should be like - * |------------+---------------------| - * | I2C action | Data | - * |------------+---------------------| - * | Start | - | - * | Write | (reg_addr) | - * | Write | (reg_data[0]) | - * | Write | (....) | - * | Write | (reg_data[len - 1]) | - * | Stop | - | - * |------------+---------------------| - */ - - return rslt; -} - -``` - -## Copyright (C) 2017 - 2018 Bosch Sensortec GmbH \ No newline at end of file diff --git a/c/BME680_driver/Self test/bme680_selftest.c b/c/BME680_driver/Self test/bme680_selftest.c deleted file mode 100644 index c804859..0000000 --- a/c/BME680_driver/Self test/bme680_selftest.c +++ /dev/null @@ -1,189 +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_selftest.c - * @date 5 Jul 2017 - * @version 3.5.1 - * - */ - -/*! - * @addtogroup bme680_selftest - * @brief - * @{*/ - -#include "bme680_selftest.h" - -#define MIN_TEMPERATURE INT16_C(0) /* 0 degree Celsius */ -#define MAX_TEMPERATURE INT16_C(4000) /* 40 degree Celsius */ - -#define MIN_PRESSURE UINT32_C(90000) /* 900 hecto Pascals */ -#define MAX_PRESSURE UINT32_C(110000) /* 1100 hecto Pascals */ - -#define MIN_HUMIDITY UINT32_C(20000) /* 20% relative humidity */ -#define MAX_HUMIDITY UINT32_C(80000) /* 80% relative humidity*/ - -#define HEATR_DUR 2000 -#define N_MEAS 6 -#define LOW_TEMP 200 -#define HIGH_TEMP 350 - -/*! - * @brief Function to analyze the sensor data - * - * @param[in] data Array of measurement data - * @param[in] n_meas Number of measurements - * - * @return Error code - * @retval 0 Success - * @retval > 0 Warning - */ -static int8_t analyze_sensor_data(struct bme680_field_data *data, uint8_t n_meas); - -/*! - * @brief Self-test API for the BME680 - */ -int8_t bme680_self_test(struct bme680_dev *dev) -{ - int8_t rslt = BME680_OK; - struct bme680_field_data data[N_MEAS]; - - struct bme680_dev t_dev; - - /* Copy required parameters from reference bme680_dev struct */ - t_dev.dev_id = dev->dev_id; - t_dev.amb_temp = 25; - t_dev.read = dev->read; - t_dev.write = dev->write; - t_dev.intf = dev->intf; - t_dev.delay_ms = dev->delay_ms; - - rslt = bme680_init(&t_dev); - - if (rslt == BME680_OK) { - /* Select the power mode */ - /* Must be set before writing the sensor configuration */ - t_dev.power_mode = BME680_FORCED_MODE; - - uint16_t settings_sel; - - /* Set the temperature, pressure and humidity & filter settings */ - t_dev.tph_sett.os_hum = BME680_OS_1X; - t_dev.tph_sett.os_pres = BME680_OS_16X; - t_dev.tph_sett.os_temp = BME680_OS_2X; - - /* Set the remaining gas sensor settings and link the heating profile */ - t_dev.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS; - t_dev.gas_sett.heatr_dur = HEATR_DUR; - - settings_sel = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_GAS_SENSOR_SEL; - - uint16_t profile_dur = 0; - bme680_get_profile_dur(&profile_dur, &t_dev); - - uint8_t i = 0; - while ((rslt == BME680_OK) && (i < N_MEAS)) { - if (rslt == BME680_OK) { - - if (i % 2 == 0) - t_dev.gas_sett.heatr_temp = LOW_TEMP; /* Lower temperature */ - else - t_dev.gas_sett.heatr_temp = HIGH_TEMP; /* Higher temperature */ - - rslt = bme680_set_sensor_settings(settings_sel, &t_dev); - - if (rslt == BME680_OK) { - - rslt = bme680_set_sensor_mode(&t_dev); /* Trigger a measurement */ - - t_dev.delay_ms(profile_dur); /* Wait for the measurement to complete */ - - rslt = bme680_get_sensor_data(&data[i], &t_dev); - } - } - - i++; - } - - if (rslt == BME680_OK) - rslt = analyze_sensor_data(data, N_MEAS); - } - - return rslt; -} - -/*! - * @brief Function to analyze the sensor data - */ -static int8_t analyze_sensor_data(struct bme680_field_data *data, uint8_t n_meas) -{ - int8_t rslt = BME680_OK; - uint8_t self_test_failed = 0, i; - uint32_t cent_res = 0; - - if ((data[0].temperature < MIN_TEMPERATURE) || (data[0].temperature > MAX_TEMPERATURE)) - self_test_failed++; - - if ((data[0].pressure < MIN_PRESSURE) || (data[0].pressure > MAX_PRESSURE)) - self_test_failed++; - - if ((data[0].humidity < MIN_HUMIDITY) || (data[0].humidity > MAX_HUMIDITY)) - self_test_failed++; - - for (i = 0; i < n_meas; i++) /* Every gas measurement should be valid */ - if (!(data[i].status & (BME680_GASM_VALID_MSK | BME680_HEAT_STAB_MSK))) - self_test_failed++; - - for (i = 2; i < n_meas; i += 2) { - /* Invert formula to get integer values for centroid resistance, i.e. > 1 */ - cent_res = (data[i - 2].gas_resistance + data[i].gas_resistance) / (2 * data[i - 1].gas_resistance); - } - - if ((cent_res < 3) || (cent_res > 20)) /* 0.05 > cent_res^-1 < 0.03 */ - self_test_failed++; - - if (self_test_failed) - rslt = BME680_W_SELF_TEST_FAILED; - - return rslt; -} - -/** @}*/ diff --git a/c/BME680_driver/Self test/bme680_selftest.h b/c/BME680_driver/Self test/bme680_selftest.h deleted file mode 100644 index 1b1be60..0000000 --- a/c/BME680_driver/Self test/bme680_selftest.h +++ /dev/null @@ -1,88 +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_selftest.h - * @date 5 Jul 2017 - * @version 3.5.1 - * @brief - * - */ - -/*! - * @addtogroup bme680_selftest - * @brief - * @{*/ - - -#ifndef BME680_SELFTEST_H_ -#define BME680_SELFTEST_H_ - -#include "bme680.h" - -/*! CPP guard */ -#ifdef __cplusplus -extern "C" -{ -#endif - -#define BME680_W_SELF_TEST_FAILED 3 - -/*! - * @brief Self-test API for the BME680 - * - * @param[in] Device structure containing relevant information on how - * to communicate with the sensor - * - * @return Error code - * @retval 0 Success - * @retval < 0 Error - * @retval > 0 Warning - */ -int8_t bme680_self_test(struct bme680_dev *dev); - -/*! CPP guard */ -#ifdef __cplusplus -} -#endif - -#endif /* BME680_SELFTEST_H_ */ - -/** @}*/ diff --git a/c/BME680_driver/bme680.c b/c/BME680_driver/bme680.c deleted file mode 100644 index 77ec9ff..0000000 --- a/c/BME680_driver/bme680.c +++ /dev/null @@ -1,1105 +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 5 Jul 2017 - * @version 3.5.1 - * - */ - -/*! @file bme680.c - @brief Sensor driver for BME680 sensor */ -#include "bme680.h" - -/**static variables */ -/**Look up table 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 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) }; - -/*! - * @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. - * - * @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); - -/*! - * @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 temporary value. - * - * @return uint8_t calculated heater resistance. - */ -static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev); - -/*! - * @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) { - 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) - 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 recursively 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 */ - - /* TPH measurement duration */ - tph_dur = ((uint32_t) (dev->tph_sett.os_temp + dev->tph_sett.os_pres + dev->tph_sett.os_hum) * 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, struct bme680_dev *dev) -{ - uint32_t tph_dur; /* Calculate in us */ - - /* TPH measurement duration */ - tph_dur = ((uint32_t) (dev->tph_sett.os_temp + dev->tph_sett.os_pres + dev->tph_sett.os_hum) * 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 */ - *duration = dev->gas_sett.heatr_dur + (uint16_t) tph_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 }; - - /* 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 */ - uint8_t temp_var = 0; /* Temporary variable */ - - 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], reg_data[2]; - - 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. - */ -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 data_array[BME680_GAS_HEATER_PROF_LEN_MAX] = { 0 }; - uint8_t index; - - /* 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_array, BME680_GAS_HEATER_PROF_LEN_MAX, dev); - if (rslt == BME680_OK) { - for (index = 0; index < BME680_GAS_HEATER_PROF_LEN_MAX; index++) - dev->gas_sett.heatr_temp = data_array[index]; - } - - rslt = bme680_get_regs(reg_addr2, data_array, BME680_GAS_HEATER_PROF_LEN_MAX, dev); - if (rslt == BME680_OK) { - for (index = 0; index < BME680_GAS_HEATER_PROF_LEN_MAX; index++) - dev->gas_sett.heatr_dur = data_array[index]; - } - } - } - - return rslt; -} - -/*! - * @brief This internal API is used to calculate the temperature value. - */ -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 / 8) - ((int32_t) dev->calib.par_t1 * 2); - var2 = (var1 * (int32_t) dev->calib.par_t2) / 2048; - var3 = ((var1 / 2) * (var1 / 2)) / 4096; - var3 = ((var3) * ((int32_t) dev->calib.par_t3 * 16)) / 16384; - dev->calib.t_fine = (int32_t) (var2 + var3); - calc_temp = (int16_t) (((dev->calib.t_fine * 5) + 128) / 256); - - return calc_temp; -} - -/*! - * @brief This internal API is used to calculate the pressure value. - */ -uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev) -{ - int32_t var1; - int32_t var2; - int32_t var3; - int32_t calc_pres; - - var1 = (((int32_t) dev->calib.t_fine) / 2) - 64000; - var2 = ((var1 / 4) * (var1 / 4)) / 2048; - var2 = ((var2) * (int32_t) dev->calib.par_p6) / 4; - var2 = var2 + ((var1 * (int32_t) dev->calib.par_p5) * 2); - var2 = (var2 / 4) + ((int32_t) dev->calib.par_p4 * 65536); - var1 = ((var1 / 4) * (var1 / 4)) / 8192; - var1 = (((var1) * ((int32_t) dev->calib.par_p3 * 32)) / 8) + (((int32_t) dev->calib.par_p2 * var1) / 2); - var1 = var1 / 262144; - var1 = ((32768 + var1) * (int32_t) dev->calib.par_p1) / 32768; - calc_pres = (int32_t) (1048576 - pres_adc); - calc_pres = (int32_t) ((calc_pres - (var2 / 4096)) * (3125)); - calc_pres = ((calc_pres / var1) * 2); - var1 = ((int32_t) dev->calib.par_p9 * (int32_t) (((calc_pres / 8) * (calc_pres / 8)) / 8192)) / 4096; - var2 = ((int32_t) (calc_pres / 4) * (int32_t) dev->calib.par_p8) / 8192; - var3 = ((int32_t) (calc_pres / 256) * (int32_t) (calc_pres / 256) * (int32_t) (calc_pres / 256) - * (int32_t) dev->calib.par_p10) / 131072; - calc_pres = (int32_t) (calc_pres) + ((var1 + var2 + var3 + ((int32_t) dev->calib.par_p7 * 128)) / 16); - - return (uint32_t) calc_pres; -} - -/*! - * @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) / 256; - 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)) / 2); - 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))) / 64) - / ((int32_t) 100)) + (int32_t) (1 * 16384))) / 1024; - var3 = var1 * var2; - var4 = (int32_t) dev->calib.par_h6 * 128; - var4 = ((var4) + ((temp_scaled * (int32_t) dev->calib.par_h7) / ((int32_t) 100))) / 16; - var5 = ((var3 / 16384) * (var3 / 16384)) / 1024; - var6 = (var4 * var5) / 2; - calc_hum = (((var3 + var6) / 1024) * ((int32_t) 1000)) / 4096; - - 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; - - var1 = (int64_t) ((1340 + (5 * (int64_t) dev->calib.range_sw_err)) * ((int64_t) lookupTable1[gas_range])) / 65536; - var2 = (((int64_t) ((int64_t) gas_res_adc * 32768) - (int64_t) (16777216)) + var1); - var3 = (((int64_t) lookupTable2[gas_range] * (int64_t) var1) / 512); - calc_gas_res = (uint32_t) ((var3 + ((int64_t) var2 / 2)) / (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 < 200) /* Cap temperature */ - temp = 200; - else if (temp > 400) - 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; -} - -/*! - * @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; - } else { - 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/c/BME680_driver/bme680.h b/c/BME680_driver/bme680.h deleted file mode 100644 index 191a154..0000000 --- a/c/BME680_driver/bme680.h +++ /dev/null @@ -1,228 +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 5 Jul 2017 - * @version 3.5.1 - * @brief - * - */ -/*! @file bme680.h - @brief Sensor driver for BME680 sensor */ -/*! - * @defgroup BME680 SENSOR API - * @{*/ -#ifndef BME680_H_ -#define BME680_H_ - -/*! CPP guard */ -#ifdef __cplusplus -extern "C" -{ -#endif - -/* Header includes */ -#include "bme680_defs.h" - -int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev); -uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev); - -/* 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, 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/c/BME680_driver/bme680_defs.h b/c/BME680_driver/bme680_defs.h deleted file mode 100644 index 4ef701f..0000000 --- a/c/BME680_driver/bme680_defs.h +++ /dev/null @@ -1,529 +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 5 Jul 2017 - * @version 3.5.1 - * @brief - * - */ - -/*! @file bme680_defs.h - @brief Sensor driver for BME680 sensor */ -/*! - * @defgroup BME680 SENSOR API - * @brief - * @{*/ -#ifndef BME680_DEFS_H_ -#define BME680_DEFS_H_ - -/********************************************************/ -/* header includes */ -#ifdef __KERNEL__ -#include -#else -#include -#endif - -#ifdef __KERNEL__ -#if (LONG_MAX) > 0x7fffffff -#define __have_long64 1 -#elif (LONG_MAX) == 0x7fffffff -#define __have_long32 1 -#endif - -#if !defined(UINT8_C) -#define INT8_C(x) x -#if (INT_MAX) > 0x7f -#define UINT8_C(x) x -#else -#define UINT8_C(x) x##U -#endif -#endif - -#if !defined(UINT16_C) -#define INT16_C(x) x -#if (INT_MAX) > 0x7fff -#define UINT16_C(x) x -#else -#define UINT16_C(x) x##U -#endif -#endif - -#if !defined(INT32_C) && !defined(UINT32_C) -#if __have_long32 -#define INT32_C(x) x##L -#define UINT32_C(x) x##UL -#else -#define INT32_C(x) x -#define UINT32_C(x) x##U -#endif -#endif - -#if !defined(INT64_C) && !defined(UINT64_C) -#if __have_long64 -#define INT64_C(x) x##L -#define UINT64_C(x) x##UL -#else -#define INT64_C(x) x##LL -#define UINT64_C(x) x##ULL -#endif -#endif -#endif -/**@}*/ - -/**\name C standard macros */ -#ifndef NULL -#ifdef __cplusplus -#define NULL 0 -#else -#define NULL ((void *) 0) -#endif -#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(0x41) -#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) -#define BME680_GAS_HEATER_PROF_LEN_MAX UINT8_C(10) - -/** 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 UINT16_C(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) - -/** 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 */ -/* - * 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); - -/* - * 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; - /*! 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; -}; - -/*! - * @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; - /*! Variable to store t_fine size */ - int32_t t_fine; - /*! 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; - /*! Pointer to store heater temperature */ - uint16_t heatr_temp; - /*! Pointer to store duration profile */ - 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; - /*! Burst read structure */ - bme680_com_fptr_t read; - /*! Burst write structure */ - bme680_com_fptr_t write; - /*! Delay in ms */ - bme680_delay_fptr_t delay_ms; - /*! Communication function result */ - int8_t com_rslt; -}; - -#endif /* BME680_DEFS_H_ */ -/** @}*/ -/** @}*/ diff --git a/c/BME680_driver/changelog.md b/c/BME680_driver/changelog.md deleted file mode 100644 index 36bc4ab..0000000 --- a/c/BME680_driver/changelog.md +++ /dev/null @@ -1,42 +0,0 @@ -# Change Log -All notable changes to the BME680 Sensor API will be documented in this file. - -## v3.5.1, 5 Jul 2017 -### Changed - - Fixed bug with overwriting of the result with communication results - - Added member in the dev structure to store communication results - - Updated set profile duration API to not return a result. - - Added new API to get the duration for the existing profile - - Fixed bug with setting gas configuration. Reduced to writing only relevant bytes - - Updated readme - - Updated documentation for the type definitions - - Removed mode check for get sensor data and setting and getting profile dur - - -## v3.5.0, 28 Jun 2017 -### Changed -- Fixed bug with getting and setting mem pages -- Changed initialization sequence to be more robust -- Added additional tries while reading data in case of inadequate delay - - -## v3.4.0, 8 Jun 2017 -### Changed -- Modified the bme680_get_sensor_data API. User has to now pass the struct that stores the data rather than retrieving from the bme680_dev structure. -- Fixed possible bugs - -## v3.3.0, 24 May 2017 -### Changed -- Name changes in the BME680 device structure. -- Removed sequential and parallel modes. -- Removed ODR related sensor settings -- Modified get sensor settings API with user selection. -- Removed sort sensor data and swap fields API which are not required. - -### Added -- BME680 set profile duration API. - -## v3.2.1, 17 May 2017 -### Added -- Took the reference as base version 3.2.1 of BME680 sensor and added. - diff --git a/c/BME680_driver/main b/c/BME680_driver/main deleted file mode 100755 index 8ec51506ad1ba560921cd482838102540bd28f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595912 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

+_R>tPKD*q;3iMdBkHSx}F z$aS>{W^$mn3T|^37;|WH%LM1(W8k2qw&=r_jb?S3Tq(*)ue?WlQ+kIy&in7hZxs7X zZkJw*_z0_n4p~5U53yu=Fq3$rgWhVtp;X=5#Vh{m^` z|GES10oKkle2#p8Tsr)3Vcad0H9j=tq>=CB))cKMPFgY3%GadzCS0t|0pokYM>>!0 zvBMjOO%TgQT={pj)-D#V^SMfj@tO0N%tfMgUd2Q8 zTWhY4{~tfse{X(g9p!d4vD<>@0VYQNJEK!Gr&^biy+wF(aS!7dU``6~rhfDk_BI+> z5A{Vp14iG*W?l#0*vHB#Z}ze>d*Z}{_CSA&%kO0Fl!txeRoA=9X-bU#u+Bg5yiGCN z8DgweE{ne_hMv^Zw28SPzB_~ez}|%az>n{KobhG$`ElNo0m<~$?!WO&{fei?nM3Gg zmx<|5`+YaiALl=2`}bm*+)ar&5qx5)Q$0J4T}u9Sd%)?CpIY(ePqJ=wKA;mAIy*M8 zw*#K(zqSu-=w9IW>Iz;Wu|XYj0rXVZ8l8rsh@(U|CM74#)K`!6Q<0N*F^`7+;U z^8YLR*LrM#rr;HcanM0S_Pa+nGtbuq-^pn*Y|b_bmON(!m_z2QS_eHeaAyU|7w1wB z8GK5giZe&@Cx&^kL{nY|?NV0p4a7uvDbP+z zfD4<*iAvXwTF3|fb8eCOSW-r3n=Tm{Eiq2^^~Us1BO($%vhK0fUFUGkUp z**ep;xXe6Hr(MPKA6*x$bHmH>PWfKOl;w zHeEJe_uL+ISK@up=h@F-AJ@+lCE38fMcZe_In_trD7?W_nV%Tv(8bT*0S(GuAwDpf zT=C?>Jt}?qH~0dNGM}QMS>Q-KK=UvQoTW?h!}+$h<)X9j9zS=*%!S+Moka|XXiDQM z1~hdA0_q;V_wm`zXGAjX@Ovua3G2|)h^wjC)1B(F0(^iyvViwL&N{u%P81{ux-@U? zz^uG`_H@}{WkC7kH!V1ci=BJ=}U(ZmRFJw;g``vlrL3)(s!9*e?j_ z8D9x>(mc&7PLSU@McX#z!uGMDh96*TxARfItD)tTWFvSC??BaAAj`T6-m!$W9CcY| z#Jr0)Z1eKcQK2W`YttIAEXKlf><;Fq%hMW`UZwxiiBsT9xf7%8wd$G9r{I0vyp9sucU0_|qfO%bpZ`7#pF8&bHCBY^VIlIl^VG@*d3*e!K?swhm}TF3q|22Ew(%(Xw z`)|tXjH7%?1=iA1KB7PAyqfR6psZl#JaVF_-&x^*X;pgIUUJFAnRDo{cYyE8&n;bG z2l*d$W?ge2{VNV^*OFUW^ogu!Q*43S_%*a5TuWD;5Ud~Mr>Uc7EsRfkz`cw?>t!Ff zOarfA?gv(f&whM$BNv|i%V?>oGGTyRzwl}s*vA%_kG$`bi-J@64HlfMb>Z9A*&y$L z&g&P1SKx_QYn$Jv{@pKlS$r+ZztX^W>D*KKp44}IXUbo5A@O4t?JcktR%T?`r{#U7 z#JR3Kdl>k%XB9bLRlp|JJ>c}ek~s1C7WOkZAcsNQj1<0Z-X+bN#+S>pyIC(Ge2QlT zH)Y)?IN{*J%EFWQG5$= z&dbJe0x%EQGxR^RrvJCn|IC{H(?S2*^ONqJehcS!@PXR}bae1rZzO*)?-QCc}Td2QQ^cl>r>>lB-w%j`2pG~;CW*f(+0n%^LwDc9qM^>pJGqtZt92+4F`4N8QpQH^~*WxtkaCrh#b_NaFnMV z!&?Jbz`2PxHL`~}0FU<3pdIncur1|S5#P+wh8w<*t%3do7i&Jzkn`6fvTs=S z3(wADSm== zl5X@quf2G5jK%CpPb*FI?j~k|n}^Xmwvku#__1j&duirO4EkjbA0&Csxsx{DlKLE| z$NvUxgzJ$whPDi}8K-S~$_D5R|2b_+M{2=`u3TObXz!6B+7%76uC>ln>@OGSUw1Iu zc60ULz+*o$bH!q84e1!z=>6nk_?p^J0}n8YKbqWI@RoSmUl-?gSjX~%;*%?ME+4rI zuVs!}tZiPQNqWHI>isggbG4Jc zZ&#iqji)I3+vY{?O9GpGtWGuKPHdf3!Y`c}JDwQ+Ccd|}u-BI??j)bs}@S!OfvBkoTW~TD@VsH&-Gq-N5zCN^1Up@LmY!sn zdMeuEe}KI3GntDdvUH#EGeZMg70vZ;CtV-wxkiSgB2`M#69pVAZcKPx?s`Io*3 zLus3HkQgJ$9_)0@gW!%c#zIgB8elB&63YLK=Zf7yH`=vyJNNX#lRo(QAPxv0gx_Rd2KPg5 z-Qo>HW0BdBR4?VogI91iurJfw7qq{SIvexgjWPZwCc2wQw#m0GzRnkyAx? zBikkJY96%~<^bEZ+?SBV7a`pt3jN_%+tr26-IejwSFF%>O%{zil@oUaGNRKG-dkeYwC+XFrI~a%tJl^ScCn6ikkm*`cl}J3(i0Sc`^k&tMEz zN%^^nN2Kln;ImWR@V#Z=cAK}MX`^doA$!Sj)^|f{F1{S%>WSkKzkCh#RZn^nGHSMP zfS>(nH~W%F>Wc?RzGtV1S6qTlYqd!))ml$te@YJ&uhF@?<@7CC9fhu*Vh!0rTUo)x zcdO*@C8%Hd?d3-mUf-Jb<4ryWUKLv)-^zP=Cf~|OcqSjda4Y}nQ{ZicPx^xm){FWc z#I(*t@9J+yhaty`VD2ZU6m-CO`Ga0G$n_s*9L2Z!Fv|Y>70d7FQT z^Uj&RR>eY3aQc~dr<$YQjk8a86-%?gg8xEKiw>gONk>M`)f2B)Pwc17+K-@LB+MR1 zsd`G*|9y()ljpHUa6x;*L5BJkdk^E3qapns*)7%NC5l1$BKv6gMrvg-e0d%43h(i> zzaD;qpRCTJ-Qd~d@|(GCb!>nBdhhq!hM=vH8{>GxGeJq`qRXybdlfN)|uJ(SeGrmDRKg=CivaO%Axo0(Xh`Nil z&f2217t4(IRGu|ow%vJ;(bf^wK__o}F3=N23t|58NA(^2;BQ4QS*DygyP`$4x%@<% z$#ZvmsvEYcx}rh(ojAL*D+2AtO89XpCphI-RG;WWU+Wt~PU+X)<{hSw&2PQUd*W&G zi*-m}T~hroV2a`2R=%hIhwo!E>UT+XFZI7Ae#^WYUIhNx+b*9nQ?}}|YE=4k8rcr3GW{rr{~X~h9c3(> zT}JPVO(7>VJneSA3oiL*@8yiVd~M48e+$ny)2HBU;q%y~v9Q7qyMjB#mDS3J|t1;N>?jDJpB@a$;+vCk_@PBoqBM6dZid0{5DW|0MU zrfWPoVp^qhD7Wnx?qZc3G5QC3K$5-teQGy<&k4LBvlA`Aue1AqU=Culh%aCc!ZnJY zw`~RY4QM>llUXaxSJTD;n`b%A)3WMJeqVku`+zCm7J*MzWoJd8nOH`8i}6?BOZIbP z&bOPHlU#W=xEj#9f+mn@&060oFWONZ_DMkR3fh|Ju?Lp8b~1e++t1@WXY+OMMKATx z@5HZI`}`NJ!XJlaCq<y@s~N3vR(1&Gke7zD)(61)gPPU`z~H{yi!1@V3Ze?){{H z?W?N|_;2$Hdt+;!&*}gVnwxOVG3MsgO&k9L=X)e?X-oYc7~BXB*dL*u?ws=T5M%#k zoMz?fk^cPvW!OI%exUs(PqDqz(%=u?b<-RCoEBCoSNT5h$)6*AU?uVBE3wJq+@U$L zM)Px7mAQ%TWIp{oTuZ9I&=}L3DmHjAc@53j{al-h{f(dpM$((y72LIx=dPX0KD)6J z0e{MSIAZVe-hz&FfdALNv$rDO4K9nsxja+OlP?hm{2#21oxHa>2%vXo@$P8N?=$%= zefbRjn>Zryy_Pwfk@w@H?>vKb!#qk?bK?5WnQ3TOa}R?^m^`@1Jf9wXyWwKi_Il3t zOO`5b89gG79E(c^Xbr0FH>f*Pyp?e$*+cFDN0Uy}xum)WxECEHCLG-*OSxnYo(+#w z%r1NTCf5eARM$~2V%i|S3wpke->fy$hkPlLISqN)_QL-q)iZczvEJ)Dh*fRsABv*m z?Pz+`OLPAMwiEj$y#W;0<#tI|iSk%p`*c#mzp?JkOzRfGvh$+NRK$1K4R7`ZxhdTFBy0NSC>{V zWNsy&8=#X|-lrAe`qPv{Cb5U+RJ9)4_@1NPkMsNjzDp*E4{ZR>nHKW`j8EY+_4L>lR`!1QA{rGsNg5xMO^?RMQO1XoSb0~LU3i>kT+9;>_lsznZBzODp z-IUS!BKhtb(7z8*?{>=ido#-Qc}1DrFLA-uZ^|Oy(oXr$(5B8n7I`*@K3<^RS=6)X zL-eL|o~w9gr8MrvMu+^8u|cAhEa$D}qRWd87L30wzF-Qz-^^A%o$)!GiL|kU*{i9Z z8PJ1pk<^@Cy^Gi_a>L|1P3(dE*`f#WV(pt7U5q}BPIvKlj~@C1xa5504AC~SU<&vY zT^Jfmb3O-JmydC`e96Em+P5;rIQWawX1u`ssjiJaE7=;h69=vtX+I~LY$N5L_#pi& zN1AXic(5Ud=hLqG3ZGl0qNjR#f4Ryt9+lU4^h{$}!t*Tkj-mta0;jTz_8!4!&a*>2 zo6*jhEuMXaXSM5sn5SX!d7V!XzLCw%$DvK@s@q!Y!QJ!d?2$ZcDbVF6F*fPyS`V+~ z`%@*+vwyFMl^1`xwAyUS==+jtitqluB4_(LHexSq^BzK0Sb_c^eNyL9cLqBBcKVa8 z^l9Lf9k?0T`=J@xfjiMtWj8%TJgn@f_1E}1eFmNWPQGW@jF7#gKjl$1b``q6{&KvZ z#Cz`kwDSB<^WNhBy*$@`xoid52^098<+GG`8(EOy-sLQQxAJ>4|E23`4^w)TmF4Uq zc8W8vws=0UgwQXEn>f6u6V5b^EaY* zmWVZ=&q>59?Z@^R$6W=w&+SQTOGUBNhlqt!Z1w26@_RW$0aYT73)m!1->NWk`kIgGEMk{mB;99y} zCOxn6u@d=9fawhRT=Ds5I6rb-@a%0y4?F1D`3;p!c2R|>c=mUT75H#(g#VFt^ju)< zOzZBCLq{^$gqfVmEt4;o7!ukG>XFx;I>;@2X!4zRWr8~NS6fH9nG_okv956o)_0F8 zPR!!2?M&%>+Fhaj#$B>M;3vdQum{C>Bo9SD53)8a>rqejpjs1;sP?q?Q=&~``i2EB zu}#Pgm;FA!{it>IiN0*sP54|kFKfTN8y!ab4bnq&uI2;iw|(z|E{pQZFIWCBZ18o; ziJNFBa9ZgjUL_=4nIsa3-HPer)*}=;iEvE=6}~D1OLo8NkOpaHXNA zgVw(Ci2ZQ+pmksQdHyq?iym^gyQE)dFs^qy+q>PF#Qxa$2if=DC0kZ{aii1Ye(m3T z-3P<6nd{vy;u2jR(0O2M7${f0eo(H9%h3$PUrOFx%WYmGW#U0>Cb1rE8jsEiXe?25@Ye*s zgG{E#8d_F{Te&(b6eA{TKYB+C^?y&Sp!gKAWAJg8cz|vr1LgCRjrtxend^rQ1L2ciSjMSo9B=)bVil6oz2?;>QpiOt)k@=?l# zbnrjy6KHI}m5B3PG;beLod3h}!P6fuk7OS%D<^QA@vx6v#&_N}A*(vt^CyO+q`SnHivP?`1D9-Ip0^!L zKg{05jpZLvK4r>pg6}N`-&;KK9NmqzZZ2@K*2N#N{9tC<-&FK*_ydd@LX$l1i7hot2rXafOphk3mq<35uzqU*>n0^cm@T^}NTol&}YGV7@OeCyCXM6C0mSb5|6x zrdrP}DPn1;r@e=|l2iUV_z>KNKbN}Quku^%aPG&2pS1m+--&*w438K#F)zsc^T6j9 z(8;9djG*V}+?>wQ={((XWczA9>-hBZxs%V`d{&?bJV*H`>OhRU=jZcG`bjz~+F}kf zS@^+q(k(VikBFKz4xO{c6(gm76cZ0$C$17*h4}YfGp%9i8hWO8dLHV1v5{M2DzlX` z%B5s-W|!D!qrCbx_rtpQ{z~{or7LEcYpegL?ng9tO+z;}Jmv!I2F|#9(i;SawI4Y6 z?7wG>fnR4stPK68sHZtaM`=l+W2E^{8~^87);sagnlqi_lFSr+OD0YT+O)GybzE?7 zEH)ImxNh~%I@6ES2+L@EE%X&d7m`kP3S%ZOmEk4QfzADKrhVNND&4ogHA-w(3w?l# zBbJ5FIrzS6A5=koi*_DnUI)x?Kliurkk*(q7MDA?^X!%6wC_pWx<#yNy1SAr!Ao8A zFX6~V-tb@RY!V;QbPK#_g1g0g_6RXn;4V$S1#owOIq&(=HDgZ3)}f=SuQWW3{?z_y z@8C|sH0`JTdr*|m*0fK*KM&dq=i*)1c&~()o&PWK^5S6J&{&A)Y=Gwm#)2Jga19=t z;rVUSeRXGHI0w)nes$ePd8_y3sTMTD{gnZ}pDM+zrx^PP=j0S0ouV###iqT6pk4#` z3Ckp*QH`svEV+d4#{A(UIT3HET#fR7iuM+;pKIlbDQB-Dl2=@i9|tYE5zgnZ&lT$V zGvSHAkB?8W!Izey$;8y)JwCcbOYlCdo8(>DT(JIg)9 zj|0yn-PPB2q$K^$kGs&B{7%;?7ua{ZxAZUNz6Urv`+e|%Eoa~ zD2IOPDn3N|E@y;Tlk~;>wXh!F3;l#^P;@TaNBMt|C+xNQWBm@_wKi8D#XrS3f530q zFQFat!2NMcdD%=JHs(_Epx8_1Z^BgC2yw0W8sXZ+{DC{(n|m}A6R+pBZHj;F#Wovg zLN`n0-TkxGXTLeGF_v+ROSsi>E;i8!alrf!_3Xyn*}wb*bkvyRyiWSoBk~b6p}XsO zGJSF7$FJ}%b=Hz+B2D*IKikq?8Fy-X1s^)R>uP)<{6{aDH_q7ueBYD}pt6>wcg1p~ zqi5|auD7xn+S?$`zC6(2TwE_Ec2Jg-Dt=GHS?`-Mkyzx$azC2%BI{x(3us&nD$+jNM&_;|{ zha`Q8SI^*gvUJl>n(r~=2Xmvu+9VXSmH@YZ%vs0uU3!mxU%MEdMxCh^GK?6k{>G#` zrGYt^P-MPWNSEBjI>*Pl5E*4n*R#mL!cOpCWYT)oj$K-fU&@cqB{uz+Kc^4rai$-~ z_~Oe;>1Qg>bhdeS!g4>BKK`^l0X-L=`H4Qz&;34#r*JMh(TDW$#yfk_zw+*`GrC;l z?6A)I;M+MjlKvpDnR|(Pp|!Sp>!u;}R_$5%a61=Ou&rj-0bf3KtGAN=wGZ|~e5+~T zVQ$ORGd@q*wt3#KMBd)<9_|*UZVP4X;sSW$x@yds;Ys!jUzW4m+l?MI)8hVMc(Sqa zs1J=*r#$u2vGAE_q_JaOMRcQ_tI_sOS8Xcyz0QV5@7g`2GRg-7zv$B48}QMdX6VJx zNfCdtv%Er%xr-X0iTV<{?q;XF7W|Q)2bqdYhQ=mYj7$3udFMXPGCqOMet#@K{)t%n z{Kx3$3GxKouXyZB7^~)rIA~)>To=rheq&>5-=zFYp6OiTS>)-xu|DbA6UdKROAF*Q zIYA4Bcb}N2DD^{H2;0B1ru|P12xh+z>0>|AJ8&(0?v8Tz#e^GPP7fvJ{SeJT51Dx< z`cWK5J$Z%gQr_Jb-+*0Z@DA)b$-dq?<{v$1n@w(hJ>xs-x4G{x5l>y>T2`ro403JN z!)G!AeIzquyvV?%=hdf5IVWoPMWndALcS(9ISBsxi>~hUOv4-SD_sD#P#n>HfpJZq3Spnb{Y3hirM>o-0W+H%Uv>Eo8T<*p@;%cq~9ea3BbXLS;u za$;_C@9HEEifKPWeXX~;Yc4n4vvYZu7<^(ruy5&K>q55A1i@NdfxUi>i~S28 zdfgK^2;h4&aA@t@13tXp0@g<8T5uA#2MhuK$!voj-eu@b&&ZS0$v)@_n4G*f_yq0%;jCgcAkToH%x(d5acTL8vE4Nx{=S|T5 z>BzeCh@YCxcWCrVH&*z8EBPm$uDhS7(WmZ`lKeC6ly-ZPD>F*B-jPgibda~-(fWy{ zl#k~+_D>@wkBtQnR34M}(}s<&am2Ab&P9$RpGCtnH$gl3VkK5`<|1G(BEJ(f zL0*A0vc1&dwag=5z-8U#SZ)gA=6;?mcU^%WEA3V%-6xwJIvdXg`SAnSpK|%YMP^hfK!TA)aYFl%>5l;DeF>V=6pWwx{-kU<|vyOHP{jR?6{i zO#db~uJfn)O**rB*u<5t+2l?ua2A5LnCs!!FTz(2EYpg_$`R+;fKDIFeib_yy|(x* zLkIYFs)-cqISno{&~p~w5VpVkVxk4@cg1=ByM=yR_;;9p=S1GL?hVw#kHA@U7ds5Q zP`OO#k2>-Gm9FCE*c(3T8j;v22f9KX-m5X5Ty%#w0}; zC$0d{eMxmps#t>G4?=JEA&(Eo(p^U+t6$VSLL<`2RgN7zh z0#(s(l>5e`)&>Ks_UVAXP2(~6#3o5*I^FQD*lbScSBN($u5@ShEB4x-Yw$sPD=RbE zUo&?V0dt%&Xf8Cj;e33WdC)jDKFznr`f1H8vAXqn_O;R*E85Es$7XT}QC9l|+8@+> zAVaJ0rNi}h){Mcj8AE9+I%;PS@8OR@dw=Z5%Ev^!xz1*x%QE-)ix1bAp!0rWC=28| zV?6l2hl$Ip!CU7M`3ULD?9YqltdjNsh!t#STzOyiC$n3Jw$JNvW7&R}b6i8pK>_`~ z$<8{bE1!Pc>UQx@wVl{I;A}^uqwx z;aew<&69Rcaii97PB;Sw#i-TeD~sjt^i;;ItJ1g8msNj-SyyUPdIsfBtgBecUsv@! zKP_lWV^ppj_3hI={aeKnb2MnB0=iFi9TClibdOIIx+iYtWpuBccAVc0Xi4h>nP>7} zis#4|8qEPu7F{G|>|QTdxRrZonA`k3&ZA#i{fgFRfgBjX2QN4#SyHzKpCdA(u4DI5 z9b>9zjAMa4#XHeb3-6RKeIxkNJ5!GLaemJT^xFIK&xI0#*~U~gVX6Y z40O30=v%s@`WNjs(zf7`O@c4V*cj4T5|lCU@V=WpN!g}*kRz%i{HqVu8zfJYXh*)M zMxF~!!T)jUG&tR?;aqhK^`r|lQr9lc!0ysH62HFc4bX<*#I|}+V+-d`?SB}UsxKLeOeUrPUS{_3h-plbYesf)5Hq7Oi|!}~zrA^g`^{cP zcj~_(&E6L63HEE~U%37hd~kxsmnJ@uSO@7e;9vtWr}zsyN!(4$QfLPS<8EZ!YDe>a z3S;{$^laMY`(=EW&)_7_O?p?0cjT5C-tht6kI8Jp_kUhT!OoQ;hkX9dqY>icm{LB9@4PnrlCX88_y^6+z#k)1@9FRwq&Jj-Y`W^D2uh#IPd;V8^=!FaYwn9GizmdPP zL;h0!`t%UWU-2RN(QM*5-T*Sx3uSLVq^PVwjXAg6H7iI23*6!hR*O!s6>ZgwK z@u2Q1)~D|qzO2gk!}a4n1dr%(#UnN~@gE-1IEqKqBQKSQBicbuO8Pf@4r-77w=%W{ zr^nTr5xA#JOjPtvyRb#fWG z#DgTv-W{?s=Mlba@_7V)t#r>T@Q97B+R}Kgpnu`F-{?`|5$L`F zkC0uc{B-03GCU%j+s2G!hkST`8=9{eYyI_%?{m-_`+3K%<-g9uhp~;ZbkzH}cm#34 z($UxQUbumm9J`6{e+&N|uY~^rACIpG_u|XR0iSk62ZAR`yI-PRi~Nw%qhbT(o`CkF zCFwEB{c3U-9PS!quF+x0X>mfAPQeReob$3afA{Dk#EpgDRR>-8LD9!C%4i?1t3$Nn z=Pj08fo>{O=$o_LtWV1tc^9!0*rY}WC~t7%^vzzuky!4=Bk}AZcdXUHS}GpVUZLWv z(RIk%cGuC8^^K!-ysytaVajAIha4tW;?CGzM{`Zzz>oX5TgSVG!cW|!bJ&!*Gv*v6 z&JX>(AT4BHWZdA9r9Sgv^FrX|Fq zVCPAPds!LYnKG94OM`e6zDqw$EnN0YPl@|=Tkfy!eUSejU4$;aqB`!>!D_U0LFJB* zvR?9C9`|Fi2T=6vQ#UkQiQ=#L-paUvcd3c>m!D@mzgyn^|1c02v$D@rEg^1*}u#{H}}lH&CBI)_3qxU zJ%mfEvAkomH{68ISCxKC+-D-iclaseA>ShBgEg0FZ0K z?rm(FsTTf3;yp4BF;_NmD9#s#VyP#+mVs;~)9+x{FRl`+RWZ3ym>>Ed{~$2#zNp8I zXP@-czjTlD=8NYpt==4qlShlQIi<+&aY`K2LAr& zkufFmD$Rlf)^L*PnWKNb8LB`QtT)`n2jYA5Fo0q+WSG8W?-BpL3^- z|FzrTD1JJ(dS zH`|hh*XE?7{-g5Cc{}D~W0mleIa|EvDXaIHuMzLJ;tbdLmZ_7Xd;`y$?&vK~;Jb2| zr8)a+@lN}*yDvo6(MHGK-tr`LqFCt)=6MkMSt@%nF($XdwX*wJt4phK@Omw@)ZpNw zA~vOgeu*sM(RtzGiC#8=nB`i4$y9{Dm!Y7vyAU0 z+C^^Xpeb^pMD?8h^*n;zmgG6{ae6l;p8IfGb9~+s^iAv5)=9uWLu1I@+B%c-l&woP zG|3(!mqM%HlYePflHAKY0~WU>yT#iD93$4l;CLxCBv^<6PH7DEn-x5R2A-JUae4!I zmiq88-Vh$aqVb9D6niu+|a7d=e^KGD)Y@vMP44(Bw&I@0(xuYJ6m_G#`EUr!#ob5EXO%fFZWcjRM@ zWp5j@`pGHx)0d8|CiVy0en{|j&n0L1;)&ip9gXsR<67O}?QSRL7#eQ){txl=85^Cf5)7Z;p@0tC@ij7ZyTJA<~D*NO6n;N|V z+Og74z*q4n2Z)xJp>M08=CF-L4!3X%ze&nsq6~(bFNZ;a30p{lSWf|*@ zUL2f>572&fg!ty$-g%?p9W>as^+%n2Ut!Lf>)bf+TSqefS%;w}(o(2MTA1`B=F_-k3c2)OYpa`W^DCE$F9#i<;#JyWrbuj zxeV8k%m1p09(%#VG4R{KdtPqataVFiZMhe9tonMME#{W9w__5Y=(A83so%lyi^YvL^eBuuLUaJ3IV6t-E?z*`; zLv<2|KO7sv;g8=g9y+4&D~|3(?l;!mhxF5?dc@5R+l>Fe^q=u(EOPO~-vG2Xl0L-! zADm~(bXPJd#piP0IPf6oddb%a9Z9YpI%3&HH^UtyMXS?Q46mI=#*;@3oo$!uPo>@- z?i$|AdeQpMFBZ)`?ro<3^?dTeJ!{I!y3stp?QB&E6R*sJR<5;{HE-az^M>2J)1VXGowSqlmXUP-kn(y#AJuj3 zti@DusQW_YLBWSbn}rQJZ&9dnn9*MwoH>%e@7YFZ!(wf)7oxQxx=_5azn-?5wJH5$ z4t*3hG{T%1UiN8)ED|$qK>}SrGE3Y_9oY@Y4o0r9Y1yka(W44h%;v_ zu;KpS#jV2e|NlPAf8+Oc8#s0{_oK^q*Ni0z9gKdj-(mkx(*MloPWBx> zpTx7#^`4~N&3~eNP5XU8|Eb@eEU*5BXV$-wlUhGoPwSX(ts}|ZwS)4xTf-MJ2eLuz zi5seR?pbd-zt4o0kTq=M6U)Tfl`W*_+!GPydqQ;-n?*Ur48sFgREwz%&9eE{H|dU8 z@rK3KAII_GW4GsR`p-S)Y5l9cqP4*d%jo?dS^p|iNBt4bJbncF5gip+3*xQOTydz# zce^MZo^$rB|Ki-nxRHfpn$i2M#QwQHZ;0?+GE?-<7|MOrQ=L1aR@*(4Q9Fi*WVW|9 z6uX*;zizdyf36nCT8ZsJ*`hr$Ue|o`ta=`p7KAX-hJh&yOzIQ9ZraNM)8fW>1b77J zVeqoRLKjdh7W<6i=P~letd78M zE%Hh#-b?c--e6~2E4RZV8w#zJ2jJ1|$=0g)<=Qduc*aSRw6^6P>>nW;rJraoPqH~2 z+kdxMiPw%L=Rlk9zn0#^JtW>8w6#9KPh@t?z-#5)W{s6`d66P|NzrN6xmWR})$|2C zaq6^2ruRgd$7tlD?&kIF;2_-wE6;_`}*u4eFS8K|T0f6#cguUKbC`s-Esn z6fCNPu3Qz(-W#;BihgU`h^**|vJdhXZ43nE|Co-$XD+E;2Te=o7Z1HE=Tuj(ndq$s zFW(?n$=4~X?_c8o9OSU_7qWL}@L@0V``6ux2LI?UKjc1n!Pih|skF0p+LJBS-F1Q7 z0=|b5e|rwt3^j9b^QbxaW&;0)XbKtEqWL6FF%8``@m;!3H06}_ekJfn&~F{)#mpOTJ|dKjGOjeqaLO8bFi zW%VFA?KUg~HvGeuV~anCkBCm=)csSNbu5A$>7riJy6Knlu@8+whTu!nxm2t8n5XvD z#;?RDfWx+0s`cPfa^1)6+A6xWk?jr8IqUiaeXn3#qVKz21-Bi@vAotvBYB{%biO1U z#j%CwfNOsZa4x&wr}-O%Z_29Oe%P!5l3nd_82_>G5&Hq zf4f$f0?)!-9vTy_jZOu=g-7Y-!lj8}WuAo(?4q{SY9BsY2aRqoPxPE7{r(rv#=jO# z!#9bY?_u4GHbVT5e;sWH_`fB&Wk<2%-FVPD*N2>l$ zgH~2CZy9i|xjp|E?}@B@v@yPtXZ9i|y2{9o`(LIDPicKQOs_O{!KwD<(f?@pbQc4c zU?*(W<_GC_FLZY=Jmn>Ho4!H7;xBb$%-UOwS_l6tYB~3E%O;<7eNk%~|J`p#twns+ z4@9ly{}#3S|21mu{~9d!c6PD(%;9tJi!2t}7O&Dg^g%1NcpVx4@-dvvyf8P-;Dx&} zoTy#st=xt!5Y0*N4)Irj7rY#Q-;%umKEpX*#azf1sE2Q@o{X&aJFT>T3?`X_qr6 z)t#VJxU6>^n^~&SRo`7%5IKG<9J@2#heLcb0^b)Nq?50t58+}N_ne4_olm=2c-P1I zUqm-Q?G4tkLrvUe28^OVoi96}w)oD;*y@M5Pgl5BjzIC&dsx4E7vo(sxY5%!TM>W&1== zbdcmu$t2^@TDT5g6ff=@vQs}rPa)TSsS6&oxcV+=NN4Zf&HosFh6ZC#EiQk#9voT3 z@yMPkKI+-2KY7Y0=*Md=FLOR20beq-y|SGco3w*owz!%)#rGpAr(q)N46Xv!IDX0Z z!fRHVG5G6L^Aa!KHzZi(12XeN|MGLJ6~7Jr9LOg1dk*;MrY+-pNbSb=u(fRCZ+RNr z%;a6){>kK()R=D@y8aNff-Tq1a~qrgH%aUT&YFo{W1QdnZ}$3X>ETC;d##}d(ZW3R zCyh^I)B61(ZD~E~x1MXf@ho=9V&tvjTXIf&3$gI=%+;>O7Q-hVXIvpY9Z@^b(~)*) z7FgEOrtO?>;@9!FOoz_oTgBJ5&J+Eq{8Gxtm{-*?dvMf=seSEV;YW=YHZh0Le(|vP zNAyC`sGVr7Zin6la|{|`{cnSpc1?rE`Hr2mq}o@r9>n9s3uk3_c!N!&@BrS|k@r1H z9E9ZAXUH$5@*1DY{{UW8i^m7$pQ^>9>LU{)?Zh%=whu`beq>Y|?a*ay8`daUtGN$h z(7j3TqrUpTre+L+|I4Fbe}h@mn<~Fx?zI+t*}C+kY~`7~0@;c#Z)NtgCY&mH0Efj3 zGt8TK;hFz*{FwB3$!6hMvN)8@lF8z!MqU*6oA=>3pnang2rg*gWjKi-)6~~Rw5xeu zbX>j%|12&PvU*U~g=x-pANN`Kp*xJJ(fN2Tze5 za*p^7aBCbdkn69P_u=pFo$2%V9-e7UyqWRJCes-AV|R|`Wrxf=cp1Ld&rwG*Wa(>< z9~19h+fF^!hQ{*Rnz5YCSSE1S@Rx(JgyRt3dXjsT1&eG!?U8P0JdWvOJMjd0cdosx z9O3!Z^r1Zo%j#|&EjPBWY4m=;UCM-lbe*LM(?+(B#sbUZ?=pzP5cV-DronpeUP^(+hgWV^fzC@Y$fjn4c< z(G88QFxo!&3i3nvPT+SRjqh6fm)*CQ*#~j(EE{3wYfjn+x7*SYdOU(~PS^)O=X+=$ z{EY8fm(djV7_dcN!9MsN@Pza$x}7v?J!#(TOmF25)}Qbhb%@Pg5v$zZ;nU6Pt@zb> zp5Hpr+rEbPX+K|vOX@FMNzR3pc{J#4mq5!RN1{8GILnNo{J4WSu7R#QQn&DW~=h zP)=nolI=Ap_%|UpitgjkvHTS6fgP8rk@27TYj&KO`=!xxVdo-Y6USoKbqScyeeD&t%Ug+z)sI zS2Q;&D;?o>#;y6%`e&b^E#J=f;sJh>=ZJgH;#!xK*-Tm8+2-SaN%;VL@-6A`>W=?0OcAS7ua$EZ(+E-o;JdS|{UmA2B`dn{v1D%WE+*7=;n^b*3E;+F8YZqcE2e; zvr6@6IMw4kLr&d@eA~A2(Z(I(*T}gYOQw<^Rj_5A@ZLweX9wrtSE?TRYBYWSklx$8 z*PVlsCGx@Aj8inEb*8fL=HaMy|B&FL9<)Gw9%CtC6R6!UF%Ps|l^@pb$BzoF$p892 z{^NsB*riK|skmHc>2*Ik+gh|mOpn@IPYxHwcoT=vi*7f({2i0M*2jE#c&dT1$X=&g z4P)S?r$>rT^()ANB4ranS@~k+hy5RNvv22lEPM_t&^7ro%;2@BW9BQN>uqmK0lJIfy@JN$W zb~_rqYk*aHuWN9btG*dt9PKZ<+xhKKPV)9c%&lOG79IP{|M6`%!Nl)!4{%MP&jYk| zGvzeL;y3G>8oe99h3btRQ*zp)oU7C z4ujWTK-wUcNq`p?P@Jj&d@S^ z#LzP15iQ3Ze5ug${NHdV5wMR19vgVXucVW%Zt``!<>+~ejUu*j_M~y#7dV+bGVsy~ z@8pgRm4{wFKg!)9(iwA)l`DixZRFCi)i6Z*Q-Wr_jp2Ka(RHT;IYR zs?TpzR=5_=xZU)P-5JVNaHM$_Zxg+eIdybjSfV4dhd_x^bNu<&Zu8Mut(=2zrfh-9(9ocY+@{#uv(G=5$7jPHnX zZY>ko;gr=nQ(5*_W^4VGU+`_Ur;rV?w-Z-bgx5e%A2}#~=i6y}7`ymj1ilx6&$)AM z^FC2($y+XdI2#+q_yIGISGm`y&B%6O32jHw8;SW|#wT7YI;i1K@^i^P)|&fo zc-=bsx+v_6u?vpBCg*;}npi~ncl@2@e?)odOX6)2^sskf2Z&xp-_o1poBSv~9=+eq z@A?kzeXY`=egs-gn?9FmAK))+Cdq># z$r#{x^XT_M+xOPA{RP?%;RfbbU~UEG@w+=F#(_Ik3-?CmO5>8PNS)T*l*djC%67l3 z?3*Ynm}PICDqE=rXJ-JHa5f?S3h+B!$Z_s-hkm-?zmkQLgL_&}+B9wA!A;;oa6Ni_MWeF<8WnB+8{=I)o4aa$!btJ<;_M_Lucc{V7L-eC5)mlzUC` zM!M%lXfU4Xb?-HGm!MlNDgT;hJNdoWR(mt>si(@?tLg@S_qKB`kh3L5pXzvgNPB50#sFVy6R)eIeE(HG9)yEc9TV@*cd(BI zZu`NN^dq`k1a8&_ zbF-Q8S}DZ^Ew1*k=GTIM?ZE2_N!W;R+glFXQS4M|Kk1cDM5;t<~Q|Id`47ygH`9T_91b zcU*>CmfYXc0NvW0L5QZd;Fq|fd&F=_bs5o1H3FEczPQDjq}Ly!20p zlsi)TOoV+S;vLY_$(f=v3>ioFDt$-azrb_NgJ?$ISE+4mf%$R9r{@K&xy4oVALck$ zy-_$Rf=BQn`hhR_v=gk|GvhUDH=rG@U+FPgzt~V^t>1cRL3h-(qQ9HH2SZDXtJjJy zz%Tm<_-D}_Xum=I(5KFZg?oXg@LqFsI=-5azwD%4@fhyj7}mSP@};mo^!#36h-V&T zUHR)JZxnz+AE+WVyjZu4lipAA)`30gp*IppRo+zecl|P@s*(vr5 zmv&6_&Y+yy)g6hS!d8+D6x=H$U)!O-RA*&*6Fh*p-~+)sY>c+-rv`p4Sufcav&ef# z`$ghfUNCL9nzqNPZR*IrS*f-uD|}u0N^J-4$d#DLe(J7YTc7IumFnue^do`&Fz@%r z+lrJ6{XE&<`}&Id{bo(SiUAD!y`ZLFQse#Qn1X(@pZx9XvY#9oYkhLxukc$93(kLM zuWhv7*0S#NzK={5j_~E5(2M>M;O?*KMZjd*ycK>sx=qC>-yXoR?uC=O(La&9I>cG5 z?l0>NIQL05R9|}TWVu^jrTr>;XsCNFp?!^W=d0BDXic39f;u;kt`q2A3u@qh8)f@B zr*o&qhF%g$vG&vCQOa%c?tBy(%Cm*&La$cl=>QMXKcUaRsmI;I+{iw9A3B=NI{6^F zj){AK|CG?5=98=KlMe^J3+T(}O7atlu8Q&#os8vcq~8gYzxI{NQ&%)FfS!k6sj9m2 zt-J(H9_2jKRbd_4HGNiJ4r6@NxrOF z#acW&A$hg9IwN8AipP&D6)WRP2as3z*N|69Bd;zguL8%Xur?>dBjg((34TIzpgOU% z?}O3Vm(Iz=6tw$(m}|k`1B9&1? zY7Ouy@|o3-2FAzv92vs+JhvrkJxMId{NAXwa#Pfb*xU%rC(fsiPd%UQT~W*C|GLg7 zN4==Gf!Gs1&k>U%T{qN`pF+-m^7)sJed3J^$!l`sQ9IaATl_pc!JX`_Y(KeYYwUmU zDLyQlO)^RQYZo)NJ2R8L7f;{r{pr9-8dwc(LOOUiemL26eawr`-{IlxA)eS1l#iBn zL;h~TkKZGG4_TtUr&?JuZ8R2(q+=Le72SOt>;9GA#d*G$c319^y(2qFGM#vo z8dzmpOO9$U_6g*%_`|_K=0FOb+Y^9f0NC3COkkgR&7USw^rsLQ{^`i?zC575hv*gK75JVCle2{ zGv^zh?9U_@^bS5H+LSEW&F^sk^HSzUxV}BW^-Iu*+7<3JPW4%|8{_b-D4*sZ(B6~x zO*ZitZ!kFGZX4$Pbo2`GtBHXedR0D+tauTBt@_sb?xuhFfwiW`Jg573ZX0S+`^Ekt z_IQKlKB@kQ|cWqu3rILKK4p7AVaJi^8HSJ?C7a&6<6c;?x^v)_y#zkLB?7Q9;LSFn~e z4}$r5%?UWJ)rC%n_lif3UKgC-Gdv^Q_vnYmb5`5XhIsy;|M1eWrv`o6xS0J3tz)fk zt?m5xC!6&yyeTHA`yuvBQa>>~U;Li4!o$6kwUhAhMUtOaRGXD!D?wZp^Mq}Rt+(M7 zY`sg3t;c<_*m{>LXM3WK@`-d{>p4#OKTgBe%QIi}VWp7&mQ#MJsnPoh_hCHMBwn7Y z4xxwk0lVzg@oIxIuZJ%5F3xY^PHp^-IgIjMd96qIZl!t7K8nisZ$;LyMt++*er)9i z=$7$&&_|2f;SNd8t(|~PzNF6sm;Cu^+s>j(&}JWXv?jv&G4%Y`Xo|U&KC1Z~ZL>8n zR>Ox_OZ!Em%<r~eQ9z2#X0dCFP^m-Dmav(bGd;Fq~)k3+a$Z0<{| z*ZlGR``}UUli+Pk7Cbvn`9g5h$5^Dt8GM5;d}rp2K`-NsQZ7lkcWQ1j{@kdom5fXH z=&hNX&rn`{?NvX8Tx9}lA@mbWV{Yt}Q&qq9wAa_v=uM|h&GS6yJk)8~+H{{p|MWIK9H#ZGRi45XhZ?|kiK@WXlENlvr$ zO7@Yxf%L=W7r^H$=_JI7nm7X4R$)7mKTnxM5x4};+{wg$1!I%#Q4329 zeQNV4SUy_|OU8%gI_WvYT-fb5qUY$`#w)`TAB7*`n~3V8_M$D77awGQTDU#{t_OWw zTbA-KgCB6Cvf|J2%>CZ-Q7~OR8Yas7Ffm48S_@3`1QTtn3h*56F_8bVif}eIzUHj> z&}3lRaa8l8{zVIh27v4C)Wc=LRtrxZ@DOA2viVBa!c*hFAg|d8|HUWJ3*fcJe?e|A zt+$hNbbwq4;H6;(x&(7&&j2Uw#IKM$GlWa9)TJLbc&V2@ij0x03;ECO$SSRyfByZ+ zb@LSbHhjNZ?^&A>c-1XI*?$bnvWD49I#G6OP1(-{Wj|0;_R}?GH`bKx3d$}G%I0dy ztqyzTiplfA<~^w+a^wAQoar`GfJjPEbjb36ML?GxjXcJ?dq#f+qU zU(6Q*zHwgA{>Z&Meu_nppcB9|jgEj$5SINk?bhlBOQ@@yx{LY$YW{~td=!6= zj&=OECu#0QzMq)Ozoo+kx)e@aGZyK?CB_r#!_sX&g^ip3&1AFZE8F%W#v!&SG9Y?)EUkZr=gg8?O(oKbry3DUOWk3#DmBw;qHzAcj~7qTberO26N!oW&d3D z=;OOVot-sxrlGHEo~D8$#VKs9c?X|pi*x4pb+qT75$_-R@QB~9bi0j|4Rt&9{}JrG zBkaZB&O3)WOa*X+V-*Z*z?1AK#fnLXlP&e=SYM`_b4r8w{@cY%`@9G`_j@Q`%sAzR z^s6~EG@NLuZoX=wcNYFV#nBXbu03tVajD(9e3vUd%Pw4C?5OLROLTBA!FuUtthIXw zcN=}u-#Zxj)A3!>K`!M^3h5Znus7FN7A)^KHd3gA+!4V0bNIn4=@b8l_o1%$kMw;f z@EJQM?=;`@2YmOOKhoX`e4R6w-Q*U*Z(*no=p_y@I*{Nql}Bg*S-<-0uAP;V@& zdP}REiEaBbco96EDvO?y!gde!l$SV{W|wO86z0RiJ`uf$J|{45we;DGUpDiO+svHZ z&igMu;PbcId6VoHyu$bGW;`cjm#`ViQQmzZzzcQ~u4UqZDJ%bG=<(>=N0`n%BtexY^f2pZ3p6>wF5&G-Ke-}n`Fo#y46zdI=hFMjqUuRdJU_D}dOSk#y1LpFVJ zgKys-fGg3;8^lVaxnYUFJv&j#7(isy{dJtmLRJ!;RyVPhTE-c+7BE@W5} zS?Ghcp*`=tJj=opg{xIH;~7S7uIFCw-~Yg;S@Bfy84r3WP@nbbw?TdFcfT=cY`p262`w-t{7uFXY;|IBh z-+v+N|4Pil?}GLFh8nmZVlD;8a%77)>SJ-Ecai!BXA^7cbp-X^PCc!0 z@oKI6IO7WKD7CSY=b;@ni*}|?=dQY~%mZaV_G{S~jhvxl?19@_|dH z$Y(A+_+HK?th5`wr^P3DcDSbfXJ~%~c_uzIYR-o!8|wE@2K5fq)I0Zg$J?e+@A6Ug z&Sw05;OwMqS)o`ye_z@$IU)Zqb8iDDMRn!IdE#kXKq1rtKtO?9{B z;Gl*i?ko>)vzEIrp4%&pG$rWyfTf75)6=Zin&n z&ja4Fum30qnCs|Mw#(3c`TNJyrx5)Kt3TWmT#HM6>cQSJTo0M-<{o6f7U?T;aSzU! zm-DXlf#QdMsx3ap8xorj{e+Va-VgEa1H3yNT8iE`An$~y%#i*rK^9FK%l;qqH-x+> zkFQ5cxak~H_8rO&=PdAHhvDYGXe+=edj}{f`ItJ>7@x!yf9UGd-UXy?CyE z>;S$mVS6ZtWj_3+F`VI<>=?~$L~ndi^%v8hr}?dQoEKj?Enh_+q*FFc=Do&Z*&XAH zV_KWx=81v(6{0rfivi)*4xy zCIizB>bsNn7iL!Zu}nw*+3x7$zxVt%k#9^$JjP`W@b9`fe#NK-%sg#)GgvWNzl}|QwObj>QAKx;KKV$zd&dZ*tVr(&HVuA&}3g)2I)Nj&`e7oz_Hgv$>u|_^_ z(Lw%f;aPO}jmBAeN}e5c;4Aixbw!771a#QNvubjSv?q4dp64l-HpE`>q10l}NbmNe z)FEE+;ThRh!qfBMOFR?9&JqrV|B%t%&mPSUn>K)d%E>O`dG6l9!C;MfU=OpVxt4w` z1kXvzNbblEWNpdL5U{DP1w5O|yh!Vh7g9z!fwkFr?BC7!xgLGZSgKBe1NzQ-<{W1( z3`Ekb?XZ9CD_2kRC+VJu+wP5GPEn*KdvGeA$UY{;wZ}7azX^C&XPqtbgMB#cKlux2 zQ{~ZN81?D!b zrdi76N-38MS~4ap%eh>@4vr1Q1bzWdB%_4upOFu*{h4Kxlxe(}-{N86HUbRd(_(Hn zaRl3aK`>{y=cL>7$wu_hWXUM`{w~kKpLO{5Mw|jqBmJ$33#I~%Z_1xg=6B|bmnZ)7BRt% z)9r;BD@ReLI^JPOCrBTY10Iw76%Pr=p9jZ3p^XK^_&0xxJtS^n#PE6iAH&AIeA0Zh zFU8H@2pdm-oqZ?xxHpH5g?!$*i4*Wxpc&zF%U8JafzF0<3#z_I9oLdOa7~zV!NbO* z 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 -#include - -struct bme680_dev gas_sensor; - -uint8_t coeff1[25] = { - 192, 108, 103, 3, 47, 80, 144, 236, - 214, 88, 255, 42, 30, 169, 255, 54, - 30, 0, 0, 199, 239, 69, 248, 30, - 1 -}; -uint8_t coeff2[16] = { - 64, 206, 39, 0, 45, 20, 120, - 156, 24, 102, 142, 171, 226, 18, 16, - 0 -}; - -int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *data, uint16_t len){ - switch(reg_addr){ - case BME680_CHIP_ID_ADDR: - data[0] = BME680_CHIP_ID; - return BME680_OK; - - case BME680_COEFF_ADDR1: - memcpy(data, coeff1, len); - return BME680_OK; - - case BME680_COEFF_ADDR2: - memcpy(data, coeff2, len); - return BME680_OK; - } - return 0; -} - -int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *data, uint16_t len){ - return 0; -} - -void user_delay_ms(uint32_t period){ - return; -} - -int main(){ - gas_sensor.dev_id = BME680_I2C_ADDR_PRIMARY; - gas_sensor.intf = BME680_I2C_INTF; - gas_sensor.read = user_i2c_read; - gas_sensor.write = user_i2c_write; - gas_sensor.delay_ms = user_delay_ms; - - int8_t rslt = BME680_OK; - rslt = bme680_init(&gas_sensor); - if(rslt == BME680_OK){ - printf("CHIP OK\n"); - printf("%d\n",gas_sensor.calib.par_t1); - printf("%d\n",gas_sensor.calib.par_t2); - } - - uint8_t buff[15] = {128,0, 79,186,144, 122,185,64, 76,59, 128,0,0, 220,120}; - - uint32_t adc_pres = (uint32_t) (((uint32_t) buff[2] * 4096) | ((uint32_t) buff[3] * 16) | ((uint32_t) buff[4] / 16)); - uint32_t adc_temp = (uint32_t) (((uint32_t) buff[5] * 4096) | ((uint32_t) buff[6] * 16) | ((uint32_t) buff[7] / 16)); - uint16_t adc_hum = (uint16_t) (((uint32_t) buff[8] * 256) | (uint32_t) buff[9]); - uint16_t adc_gas_res = (uint16_t) ((uint32_t) buff[13] * 4 | (((uint32_t) buff[14]) / 64)); - uint8_t gas_range = buff[14] & BME680_GAS_RANGE_MSK; - - printf("%d\n",calc_temperature(adc_temp, &gas_sensor)); - printf("%d\n",calc_pressure(adc_pres, &gas_sensor)); -} diff --git a/python/examples/livetest.py b/examples/livetest.py similarity index 100% rename from python/examples/livetest.py rename to examples/livetest.py diff --git a/python/examples/test.py b/examples/test.py similarity index 100% rename from python/examples/test.py rename to examples/test.py diff --git a/library/CHANGELOG.txt b/library/CHANGELOG.txt new file mode 100644 index 0000000..1d5d305 --- /dev/null +++ b/library/CHANGELOG.txt @@ -0,0 +1,5 @@ +1.0.0 +----- + +* Initial release + diff --git a/python/library/README.txt b/library/README.txt similarity index 100% rename from python/library/README.txt rename to library/README.txt diff --git a/python/library/bme680.egg-info/PKG-INFO b/library/bme680.egg-info/PKG-INFO similarity index 100% rename from python/library/bme680.egg-info/PKG-INFO rename to library/bme680.egg-info/PKG-INFO diff --git a/python/library/bme680.egg-info/SOURCES.txt b/library/bme680.egg-info/SOURCES.txt similarity index 100% rename from python/library/bme680.egg-info/SOURCES.txt rename to library/bme680.egg-info/SOURCES.txt diff --git a/python/library/bme680.egg-info/dependency_links.txt b/library/bme680.egg-info/dependency_links.txt similarity index 100% rename from python/library/bme680.egg-info/dependency_links.txt rename to library/bme680.egg-info/dependency_links.txt diff --git a/python/library/bme680.egg-info/top_level.txt b/library/bme680.egg-info/top_level.txt similarity index 100% rename from python/library/bme680.egg-info/top_level.txt rename to library/bme680.egg-info/top_level.txt diff --git a/python/library/bme680/__init__.py b/library/bme680/__init__.py similarity index 99% rename from python/library/bme680/__init__.py rename to library/bme680/__init__.py index a5c1cc1..0313b11 100644 --- a/python/library/bme680/__init__.py +++ b/library/bme680/__init__.py @@ -2,7 +2,7 @@ from .constants import * import math import time -__version__ = '0.0.1' +__version__ = '1.0.0' class BME680(BME680Data): """BOSCH BME680 diff --git a/python/library/bme680/constants.py b/library/bme680/constants.py similarity index 100% rename from python/library/bme680/constants.py rename to library/bme680/constants.py diff --git a/python/library/setup.py b/library/setup.py similarity index 98% rename from python/library/setup.py rename to library/setup.py index 43dc88c..fa00f20 100755 --- a/python/library/setup.py +++ b/library/setup.py @@ -39,7 +39,7 @@ classifiers = ['Development Status :: 5 - Production/Stable', setup( name = 'bme680', - version = '0.0.1', + version = '1.0.0', author = 'Philip Howard', author_email = 'phil@pimoroni.com', description = """Python library for driving the Pimoroni BME680 Breakout""", diff --git a/packaging/CHANGELOG b/packaging/CHANGELOG new file mode 100644 index 0000000..b860fef --- /dev/null +++ b/packaging/CHANGELOG @@ -0,0 +1,5 @@ +bme680 (1.0.0) stable; urgency=low + + * Initial release + + -- Phil Howard Mon, 08 Sep 2014 00:00:00 +0000 diff --git a/packaging/debian/README b/packaging/debian/README new file mode 100644 index 0000000..9f7ca36 --- /dev/null +++ b/packaging/debian/README @@ -0,0 +1,9 @@ +README + +Python library for the BME680 gas, temperature, pressure and humidity sensor. Supports communication over i2c only. + +IMPORTANT + +The bme680 library requires i2c. +To enable run `curl get.pimoroni.com/i2c | bash` +or use raspi-config and reboot your Raspberry Pi. diff --git a/packaging/debian/changelog b/packaging/debian/changelog new file mode 100644 index 0000000..b860fef --- /dev/null +++ b/packaging/debian/changelog @@ -0,0 +1,5 @@ +bme680 (1.0.0) stable; urgency=low + + * Initial release + + -- Phil Howard Mon, 08 Sep 2014 00:00:00 +0000 diff --git a/packaging/debian/clean b/packaging/debian/clean new file mode 100644 index 0000000..45149aa --- /dev/null +++ b/packaging/debian/clean @@ -0,0 +1 @@ +*.egg-info/* diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +9 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 0000000..cdd3cc5 --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,29 @@ +Source: bme680 +Maintainer: Phil Howard +Homepage: https://github.com/pimoroni/bme680 +Section: python +Priority: extra +Build-Depends: debhelper (>= 9.0.0), dh-python, python-all (>= 2.7), python-setuptools, python3-all (>= 3.4), python3-setuptools +Standards-Version: 3.9.6 +X-Python-Version: >= 2.7 +X-Python3-Version: >= 3.4 + +Package: python-bme680 +Architecture: all +Section: python +Depends: ${misc:Depends}, ${python:Depends}, python-rpi.gpio, python-spidev +Description: Python library for the BME680 gas, temperature, pressure and humidity sensor. + The BME680 is a gas, temperature, pressure and humidity sensor. + Supports communication over i2c only. + . + This is the Python 2 version of the package. + +Package: python3-bme680 +Architecture: all +Section: python +Depends: ${misc:Depends}, ${python3:Depends}, python3-rpi.gpio, python3-spidev +Description: Python library for the BME680 gas, temperature, pressure and humidity sensor. + The BME680 is a gas, temperature, pressure and humidity sensor. + Supports communication over i2c only. + . + This is the Python 3 version of the package. diff --git a/packaging/debian/copyright b/packaging/debian/copyright new file mode 100644 index 0000000..d039c34 --- /dev/null +++ b/packaging/debian/copyright @@ -0,0 +1,26 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: bme680 +Source: https://github.com/pimoroni/bme680 + +Files: * +Copyright: 2016 Pimoroni Ltd +License: MIT + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/python/library/CHANGELOG.txt b/packaging/debian/docs similarity index 100% rename from python/library/CHANGELOG.txt rename to packaging/debian/docs diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 0000000..b4ac200 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,12 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +#export DH_VERBOSE=1 +export DH_OPTIONS + +%: + dh $@ --with python2,python3 --buildsystem=python_distutils + +override_dh_auto_install: + python setup.py install --root debian/python-bme680 --install-layout=deb + python3 setup.py install --root debian/python3-bme680 --install-layout=deb diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/packaging/debian/source/options b/packaging/debian/source/options new file mode 100644 index 0000000..8f82c91 --- /dev/null +++ b/packaging/debian/source/options @@ -0,0 +1 @@ +extend-diff-ignore = "^[^/]+\.egg-info/" diff --git a/packaging/makeall.sh b/packaging/makeall.sh new file mode 100755 index 0000000..abca395 --- /dev/null +++ b/packaging/makeall.sh @@ -0,0 +1,165 @@ +#!/bin/bash + +# script control variables + +reponame="" # leave this blank for auto-detection +libname="" # leave this blank for auto-detection +packagename="" # leave this blank for auto-selection + +debianlog="debian/changelog" +debcontrol="debian/control" +debcopyright="debian/copyright" +debrules="debian/rules" +debreadme="debian/README" + +debdir="$(pwd)" +rootdir="$(dirname $debdir)" +libdir="$rootdir/library" + +FLAG=false + +# function define + +success() { + echo "$(tput setaf 2)$1$(tput sgr0)" +} + +inform() { + echo "$(tput setaf 6)$1$(tput sgr0)" +} + +warning() { + echo "$(tput setaf 1)$1$(tput sgr0)" +} + +newline() { + echo "" +} + +# assessing repo and library variables + +if [ -z "$reponame" ] || [ -z "$libname" ]; then + inform "detecting reponame and libname..." +else + inform "using reponame and libname overrides" +fi + +if [ -z "$reponame" ]; then + if [[ $rootdir == *"python"* ]]; then + repodir="$(dirname $rootdir)" + reponame="$(basename $repodir)" + else + repodir="$rootdir" + reponame="$(basename $repodir)" + fi + reponame=$(echo "$reponame" | tr "[A-Z]" "[a-z]") +fi + +if [ -z "$libname" ]; then + cd "$libdir" + libname=$(grep "name" setup.py | tr -d "[:space:]" | cut -c 7- | rev | cut -c 3- | rev) + libname=$(echo "$libname" | tr "[A-Z]" "[a-z]") && cd "$debdir" +fi + +if [ -z "$packagename" ]; then + packagename="$libname" +fi + +echo "reponame is $reponame and libname is $libname" +echo "output packages will be python-$packagename and python3-$packagename" + +# checking generating changelog file + +./makelog.sh +version=$(head -n 1 "$libdir/CHANGELOG.txt") +echo "building $libname version $version" + +# checking debian/changelog file + +inform "checking debian/changelog file..." + +if ! head -n 1 $debianlog | grep "$libname" &> /dev/null; then + warning "library not mentioned in header!" && FLAG=true +elif head -n 1 $debianlog | grep "UNRELEASED"; then + warning "this changelog is not going to generate a release!" + warning "change distribution to 'stable'" && FLAG=true +fi + +# checking debian/copyright file + +inform "checking debian/copyright file..." + +if ! grep "^Source" $debcopyright | grep "$reponame" &> /dev/null; then + warning "$(grep "^Source" $debcopyright)" && FLAG=true +fi + +if ! grep "^Upstream-Name" $debcopyright | grep "$libname" &> /dev/null; then + warning "$(grep "^Upstream-Name" $debcopyright)" && FLAG=true +fi + +# checking debian/control file + +inform "checking debian/control file..." + +if ! grep "^Source" $debcontrol | grep "$libname" &> /dev/null; then + warning "$(grep "^Source" $debcontrol)" && FLAG=true +fi + +if ! grep "^Homepage" $debcontrol | grep "$reponame" &> /dev/null; then + warning "$(grep "^Homepage" $debcontrol)" && FLAG=true +fi + +if ! grep "^Package: python-$packagename" $debcontrol &> /dev/null; then + warning "$(grep "^Package: python-" $debcontrol)" && FLAG=true +fi + +if ! grep "^Package: python3-$packagename" $debcontrol &> /dev/null; then + warning "$(grep "^Package: python3-" $debcontrol)" && FLAG=true +fi + +if ! grep "^Priority: extra" $debcontrol &> /dev/null; then + warning "$(grep "^Priority" $debcontrol)" && FLAG=true +fi + + +# checking debian/rules file + +inform "checking debian/rules file..." + +if ! grep "debian/python-$packagename" $debrules &> /dev/null; then + warning "$(grep "debian/python-" $debrules)" && FLAG=true +fi + +if ! grep "debian/python3-$packagename" $debrules &> /dev/null; then + warning "$(grep "debian/python3-" $debrules)" && FLAG=true +fi + +# checking debian/README file + +inform "checking debian/readme file..." + +if ! grep -e "$libname" -e "$reponame" $debreadme &> /dev/null; then + warning "README does not seem to mention product, repo or lib!" && FLAG=true +fi + +# summary of checks pre build + +if $FLAG; then + warning "Check all of the above and correct!" && exit 1 +else + inform "we're good to go... bulding!" +fi + +# building deb and final checks + +./makedeb.sh + +inform "running lintian..." +lintian -v $(find -name "python*$version*.deb") +lintian -v $(find -name "python3*$version*.deb") + +inform "checking signatures..." +gpg --verify $(find -name "*$version*changes") +gpg --verify $(find -name "*$version*dsc") + +exit 0 diff --git a/packaging/makedeb.sh b/packaging/makedeb.sh new file mode 100755 index 0000000..84ba0e2 --- /dev/null +++ b/packaging/makedeb.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +gettools="no" +setup="yes" +cleanup="yes" +pkgfiles=( "build" "changes" "deb" "dsc" "tar.xz" ) + + +if [ $gettools == "yes" ]; then + sudo apt-get update && sudo apt-get install build-essential debhelper devscripts dh-make dh-python dput gnupg + sudo apt-get install python-all python-setuptools python3-all python3-setuptools +fi + +if [ $setup == "yes" ]; then + rm -R ../library/build ../library/debian &> /dev/null + cp -R ./debian/ ../library/ +fi + +cd ../library && debuild -aarmhf + +for file in ${pkgfiles[@]}; do + mv ../*.$file ../packaging +done + +if [ $cleanup == "yes" ]; then + debuild clean + rm -R ./build ./debian &> /dev/null +fi + +exit 0 diff --git a/packaging/makelog.sh b/packaging/makelog.sh new file mode 100755 index 0000000..1055987 --- /dev/null +++ b/packaging/makelog.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +# script control variables + +libname="" # leave this blank for auto-detection +sibname=() # name of sibling in packages list +versionwarn="yes" # set to anything but 'yes' to turn off warning + +debdir="$(pwd)" +rootdir="$(dirname $debdir)" +libdir="$rootdir/library" + +mainlog="CHANGELOG" +debianlog="debian/changelog" +pypilog="$libdir/CHANGELOG.txt" + +# function define + +success() { + echo "$(tput setaf 2)$1$(tput sgr0)" +} + +inform() { + echo "$(tput setaf 6)$1$(tput sgr0)" +} + +warning() { + echo "$(tput setaf 1)$1$(tput sgr0)" +} + +newline() { + echo "" +} + +# generate debian changelog + +cat $mainlog > $debianlog +inform "seeded debian changelog" + +# generate pypi changelog + +sed -e "/--/d" -e "s/ \*/\*/" \ + -e "s/.*\([0-9].[0-9].[0-9]\).*/\1/" \ + -e '/[0-9].[0-9].[0-9]/ a\ +-----' $mainlog | cat -s > $pypilog + +version=$(head -n 1 $pypilog) +inform "pypi changelog generated" + +# touch up version in setup.py file + +if [ -n $(grep version "$libdir/setup.py" &> /dev/null) ]; then + inform "touched up version in setup.py" + sed -i "s/'[0-9].[0-9].[0-9]'/'$version'/" "$libdir/setup.py" +else + warning "couldn't touch up version in setup, no match found" +fi + +# touch up version in lib or package siblings + +if [ -z "$libname" ]; then + cd "$libdir" + libname=$(grep "name" setup.py | tr -d "[:space:]" | cut -c 7- | rev | cut -c 3- | rev) + libname=$(echo "$libname" | tr "[A-Z]" "[a-z]") && cd "$debdir" + sibname+=( "$libname" ) +elif [ "$libname" != "package" ]; then + sibname+=( "$libname" ) +fi + +for sibling in ${sibname[@]}; do + if grep -e "__version__" "$libdir/$sibling.py" &> /dev/null; then + sed -i "s/__version__ = '[0-9].[0-9].[0-9]'/__version__ = '$version'/" "$libdir/$sibling.py" + inform "touched up version in $sibling.py" + elif grep -e "__version__" "$libdir/$sibling/__init__.py" &> /dev/null; then + sed -i "s/__version__ = '[0-9].[0-9].[0-9]'/__version__ = '$version'/" "$libdir/$sibling/__init__.py" + inform "touched up version in $sibling/__init__.py" + elif [ "$versionwarn" == "yes" ]; then + warning "couldn't touch up __version__ in $sibling, no match found" + fi +done + +exit 0