diff --git a/lib/Adafruit_SGP30-1.0.3/.github/ISSUE_TEMPLATE.md b/lib/Adafruit_SGP30-1.0.3/.github/ISSUE_TEMPLATE.md deleted file mode 100755 index f0e26146f..000000000 --- a/lib/Adafruit_SGP30-1.0.3/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,46 +0,0 @@ -Thank you for opening an issue on an Adafruit Arduino library repository. To -improve the speed of resolution please review the following guidelines and -common troubleshooting steps below before creating the issue: - -- **Do not use GitHub issues for troubleshooting projects and issues.** Instead use - the forums at http://forums.adafruit.com to ask questions and troubleshoot why - something isn't working as expected. In many cases the problem is a common issue - that you will more quickly receive help from the forum community. GitHub issues - are meant for known defects in the code. If you don't know if there is a defect - in the code then start with troubleshooting on the forum first. - -- **If following a tutorial or guide be sure you didn't miss a step.** Carefully - check all of the steps and commands to run have been followed. Consult the - forum if you're unsure or have questions about steps in a guide/tutorial. - -- **For Arduino projects check these very common issues to ensure they don't apply**: - - - For uploading sketches or communicating with the board make sure you're using - a **USB data cable** and **not** a **USB charge-only cable**. It is sometimes - very hard to tell the difference between a data and charge cable! Try using the - cable with other devices or swapping to another cable to confirm it is not - the problem. - - - **Be sure you are supplying adequate power to the board.** Check the specs of - your board and plug in an external power supply. In many cases just - plugging a board into your computer is not enough to power it and other - peripherals. - - - **Double check all soldering joints and connections.** Flakey connections - cause many mysterious problems. See the [guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools) for examples of good solder joints. - - - **Ensure you are using an official Arduino or Adafruit board.** We can't - guarantee a clone board will have the same functionality and work as expected - with this code and don't support them. - -If you're sure this issue is a defect in the code and checked the steps above -please fill in the following fields to provide enough troubleshooting information. -You may delete the guideline and text above to just leave the following details: - -- Arduino board: **INSERT ARDUINO BOARD NAME/TYPE HERE** - -- Arduino IDE version (found in Arduino -> About Arduino menu): **INSERT ARDUINO - VERSION HERE** - -- List the steps to reproduce the problem below (if possible attach a sketch or - copy the sketch code in too): **LIST REPRO STEPS BELOW** diff --git a/lib/Adafruit_SGP30-1.0.3/.github/PULL_REQUEST_TEMPLATE.md b/lib/Adafruit_SGP30-1.0.3/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100755 index 7b641eb86..000000000 --- a/lib/Adafruit_SGP30-1.0.3/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,26 +0,0 @@ -Thank you for creating a pull request to contribute to Adafruit's GitHub code! -Before you open the request please review the following guidelines and tips to -help it be more easily integrated: - -- **Describe the scope of your change--i.e. what the change does and what parts - of the code were modified.** This will help us understand any risks of integrating - the code. - -- **Describe any known limitations with your change.** For example if the change - doesn't apply to a supported platform of the library please mention it. - -- **Please run any tests or examples that can exercise your modified code.** We - strive to not break users of the code and running tests/examples helps with this - process. - -Thank you again for contributing! We will try to test and integrate the change -as soon as we can, but be aware we have many GitHub repositories to manage and -can't immediately respond to every request. There is no need to bump or check in -on a pull request (it will clutter the discussion of the request). - -Also don't be worried if the request is closed or not integrated--sometimes the -priorities of Adafruit's GitHub code (education, ease of use) might not match the -priorities of the pull request. Don't fret, the open source community thrives on -forks and GitHub makes it easy to keep your changes in a forked repo. - -After reviewing the guidelines above you can delete this text from the pull request. diff --git a/lib/Adafruit_SGP30-1.0.3/.gitignore b/lib/Adafruit_SGP30-1.0.3/.gitignore deleted file mode 100755 index 7f189125f..000000000 --- a/lib/Adafruit_SGP30-1.0.3/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*~ -Doxyfile* -doxygen_sqlite3.db -html \ No newline at end of file diff --git a/lib/Adafruit_SGP30-1.0.3/.travis.yml b/lib/Adafruit_SGP30-1.0.3/.travis.yml deleted file mode 100755 index 428f3434e..000000000 --- a/lib/Adafruit_SGP30-1.0.3/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: c -sudo: false - -# Blacklist -branches: - except: - - gh-pages - -env: - global: - - PRETTYNAME="Adafruit SGP30 Arduino Library" -# Optional, will default to "$TRAVIS_BUILD_DIR/Doxyfile" -# - DOXYFILE: $TRAVIS_BUILD_DIR/Doxyfile - -before_install: - - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh) - -#install: -# - arduino --install-library "Adafruit ILI9341","Adafruit GFX Library" - -script: - - build_main_platforms - -# Generate and deploy documentation -after_success: - - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/library_check.sh) - - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/doxy_gen_and_deploy.sh) \ No newline at end of file diff --git a/lib/Adafruit_SGP30-1.0.3/Adafruit_SGP30.cpp b/lib/Adafruit_SGP30-1.0.3/Adafruit_SGP30.cpp deleted file mode 100755 index ce6116863..000000000 --- a/lib/Adafruit_SGP30-1.0.3/Adafruit_SGP30.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/*! - * @file Adafruit_SGP30.cpp - * - * @mainpage Adafruit SGP30 gas sensor driver - * - * @section intro_sec Introduction - * - * This is the documentation for Adafruit's SGP30 driver for the - * Arduino platform. It is designed specifically to work with the - * Adafruit SGP30 breakout: http://www.adafruit.com/products/3709 - * - * These sensors use I2C to communicate, 2 pins (SCL+SDA) are required - * to interface with the breakout. - * - * Adafruit invests time and resources providing this open source code, - * please support Adafruit and open-source hardware by purchasing - * products from Adafruit! - * - * - * @section author Author - * Written by Ladyada for Adafruit Industries. - * - * @section license License - * BSD license, all text here must be included in any redistribution. - * - */ - - -#if ARDUINO >= 100 - #include "Arduino.h" -#else - #include "WProgram.h" -#endif - -#include "Adafruit_SGP30.h" - -//#define I2C_DEBUG - -/**************************************************************************/ -/*! - @brief Instantiates a new SGP30 class -*/ -/**************************************************************************/ -Adafruit_SGP30::Adafruit_SGP30() { -} - -/**************************************************************************/ -/*! - @brief Setups the hardware and detects a valid SGP30. Initializes I2C - then reads the serialnumber and checks that we are talking to an SGP30 - @param theWire Optional pointer to I2C interface, otherwise use Wire - @returns True if SGP30 found on I2C, False if something went wrong! -*/ -/**************************************************************************/ -boolean Adafruit_SGP30::begin(TwoWire *theWire) { - _i2caddr = SGP30_I2CADDR_DEFAULT; - if (theWire == NULL) { - _i2c = &Wire; - } else { - _i2c = theWire; - } - -// assume i2c initialized already to avoid resetting clock stretching -// _i2c->begin(); - - - uint8_t command[2]; - command[0] = 0x36; - command[1] = 0x82; - if (! readWordFromCommand(command, 2, 10, serialnumber, 3)) - return false; - - uint16_t featureset; - command[0] = 0x20; - command[1] = 0x2F; - if (! readWordFromCommand(command, 2, 10, &featureset, 1)) - return false; - //Serial.print("Featureset 0x"); Serial.println(featureset, HEX); - if (featureset != SGP30_FEATURESET) - return false; - if (! IAQinit()) - return false; - - return true; -} - -/**************************************************************************/ -/*! - @brief Commands the sensor to begin the IAQ algorithm. Must be called after startup. - @returns True if command completed successfully, false if something went wrong! -*/ -/**************************************************************************/ -boolean Adafruit_SGP30::IAQinit(void) { - uint8_t command[2]; - command[0] = 0x20; - command[1] = 0x03; - return readWordFromCommand(command, 2, 10); -} - -/**************************************************************************/ -/*! - @brief Commands the sensor to take a single eCO2/VOC measurement. Places results in {@link TVOC} and {@link eCO2} - @returns True if command completed successfully, false if something went wrong! -*/ -/**************************************************************************/ -boolean Adafruit_SGP30::IAQmeasure(void) { - uint8_t command[2]; - command[0] = 0x20; - command[1] = 0x08; - uint16_t reply[2]; - if (! readWordFromCommand(command, 2, 12, reply, 2)) - return false; - TVOC = reply[1]; - eCO2 = reply[0]; - return true; -} - -/**************************************************************************/ -/*! - @brief Request baseline calibration values for both CO2 and TVOC IAQ calculations. Places results in parameter memory locaitons. - @param eco2_base A pointer to a uint16_t which we will save the calibration value to - @param tvoc_base A pointer to a uint16_t which we will save the calibration value to - @returns True if command completed successfully, false if something went wrong! -*/ -/**************************************************************************/ -boolean Adafruit_SGP30::getIAQBaseline(uint16_t *eco2_base, uint16_t *tvoc_base) { - uint8_t command[2]; - command[0] = 0x20; - command[1] = 0x15; - uint16_t reply[2]; - if (! readWordFromCommand(command, 2, 10, reply, 2)) - return false; - *eco2_base = reply[0]; - *tvoc_base = reply[1]; - return true; -} - -/**************************************************************************/ -/*! - @brief Assign baseline calibration values for both CO2 and TVOC IAQ calculations. - @param eco2_base A uint16_t which we will save the calibration value from - @param tvoc_base A uint16_t which we will save the calibration value from - @returns True if command completed successfully, false if something went wrong! -*/ -/**************************************************************************/ -boolean Adafruit_SGP30::setIAQBaseline(uint16_t eco2_base, uint16_t tvoc_base) { - uint8_t command[8]; - command[0] = 0x20; - command[1] = 0x1e; - command[2] = tvoc_base >> 8; - command[3] = tvoc_base & 0xFF; - command[4] = generateCRC(command+2, 2); - command[5] = eco2_base >> 8; - command[6] = eco2_base & 0xFF; - command[7] = generateCRC(command+5, 2); - - return readWordFromCommand(command, 8, 10); -} - -/**************************************************************************/ -/*! - @brief Set the absolute humidity value [mg/m^3] for compensation to increase precision of TVOC and eCO2. - @param absolute_humidity A uint32_t [mg/m^3] which we will be used for compensation. If the absolute humidity is set to zero, humidity compensation will be disabled. - @returns True if command completed successfully, false if something went wrong! -*/ -/**************************************************************************/ -boolean Adafruit_SGP30::setHumidity(uint32_t absolute_humidity) { - if (absolute_humidity > 256000) { - return false; - } - - uint16_t ah_scaled = (uint16_t)(((uint64_t)absolute_humidity * 256 * 16777) >> 24); - uint8_t command[5]; - command[0] = 0x20; - command[1] = 0x61; - command[2] = ah_scaled >> 8; - command[3] = ah_scaled & 0xFF; - command[4] = generateCRC(command+2, 2); - - return readWordFromCommand(command, 5, 10); -} - -/**************************************************************************/ -/*! - @brief I2C low level interfacing -*/ -/**************************************************************************/ - - -boolean Adafruit_SGP30::readWordFromCommand(uint8_t command[], uint8_t commandLength, uint16_t delayms, uint16_t *readdata, uint8_t readlen) -{ - uint8_t data; - - _i2c->beginTransmission(_i2caddr); - -#ifdef I2C_DEBUG - Serial.print("\t\t-> "); -#endif - - for (uint8_t i=0; iwrite(command[i]); -#ifdef I2C_DEBUG - Serial.print("0x"); Serial.print(command[i], HEX); Serial.print(", "); -#endif - } -#ifdef I2C_DEBUG - Serial.println(); -#endif - _i2c->endTransmission(); - - delay(delayms); - - if (readlen == 0) - return true; - - uint8_t replylen = readlen * (SGP30_WORD_LEN +1); - if (_i2c->requestFrom(_i2caddr, replylen) != replylen) - return false; - uint8_t replybuffer[replylen]; -#ifdef I2C_DEBUG - Serial.print("\t\t<- "); -#endif - for (uint8_t i=0; iread(); -#ifdef I2C_DEBUG - Serial.print("0x"); Serial.print(replybuffer[i], HEX); Serial.print(", "); -#endif - } - -#ifdef I2C_DEBUG - Serial.println(); -#endif - - for (uint8_t i=0; i - -// the i2c address -#define SGP30_I2CADDR_DEFAULT 0x58 ///< SGP30 has only one I2C address - -// commands and constants -#define SGP30_FEATURESET 0x0020 ///< The required set for this library -#define SGP30_CRC8_POLYNOMIAL 0x31 ///< Seed for SGP30's CRC polynomial -#define SGP30_CRC8_INIT 0xFF ///< Init value for CRC -#define SGP30_WORD_LEN 2 ///< 2 bytes per word - -/**************************************************************************/ -/*! Class that stores state and functions for interacting with SGP30 Gas Sensor */ -/**************************************************************************/ -class Adafruit_SGP30 { - public: - Adafruit_SGP30(); - boolean begin(TwoWire *theWire = NULL); - boolean IAQinit(void); - boolean IAQmeasure(void); - - boolean getIAQBaseline(uint16_t *eco2_base, uint16_t *tvoc_base); - boolean setIAQBaseline(uint16_t eco2_base, uint16_t tvoc_base); - boolean setHumidity(uint32_t absolute_humidity); - - /** - * The last measurement of the IAQ-calculated Total Volatile Organic Compounds in ppb. This value is set when you call {@link IAQmeasure()} - */ - uint16_t TVOC; - - /** - * The last measurement of the IAQ-calculated equivalent CO2 in ppm. This value is set when you call {@link IAQmeasure()} - */ - uint16_t eCO2; - - /** - * The 48-bit serial number, this value is set when you call {@link begin()} - */ - uint16_t serialnumber[3]; - private: - TwoWire *_i2c; - uint8_t _i2caddr; - - void write(uint8_t address, uint8_t *data, uint8_t n); - void read(uint8_t address, uint8_t *data, uint8_t n); - boolean readWordFromCommand(uint8_t command[], uint8_t commandLength, uint16_t delay, uint16_t *readdata = NULL, uint8_t readlen = 0); - uint8_t generateCRC(uint8_t data[], uint8_t datalen); -}; diff --git a/lib/Adafruit_SGP30-1.0.3/README.md b/lib/Adafruit_SGP30-1.0.3/README.md deleted file mode 100755 index 44056b5c8..000000000 --- a/lib/Adafruit_SGP30-1.0.3/README.md +++ /dev/null @@ -1,18 +0,0 @@ -Adafruit_SGP30 -================ - -This is the Adafruit SGP30 Gas / Air Quality I2C sensor library - -Tested and works great with the Aadafruit SGP30 Breakout Board - * http://www.adafruit.com/products/3709 - -This chip uses I2C to communicate, 2 pins are required to interface - -Adafruit invests time and resources providing this open source code, -please support Adafruit and open-source hardware by purchasing -products from Adafruit! - -Written by Limor Fried for Adafruit Industries. -BSD license, check license.txt for more information -All text above must be included in any redistribution - diff --git a/lib/Adafruit_SGP30-1.0.3/examples/sgp30test/sgp30test.ino b/lib/Adafruit_SGP30-1.0.3/examples/sgp30test/sgp30test.ino deleted file mode 100755 index b7ff8a70c..000000000 --- a/lib/Adafruit_SGP30-1.0.3/examples/sgp30test/sgp30test.ino +++ /dev/null @@ -1,61 +0,0 @@ -#include -#include "Adafruit_SGP30.h" - -Adafruit_SGP30 sgp; - -/* return absolute humidity [mg/m^3] with approximation formula -* @param temperature [°C] -* @param humidity [%RH] -*/ -uint32_t getAbsoluteHumidity(float temperature, float humidity) { - // approximation formula from Sensirion SGP30 Driver Integration chapter 3.15 - const float absoluteHumidity = 216.7f * ((humidity / 100.0f) * 6.112f * exp((17.62f * temperature) / (243.12f + temperature)) / (273.15f + temperature)); // [g/m^3] - const uint32_t absoluteHumidityScaled = static_cast(1000.0f * absoluteHumidity); // [mg/m^3] - return absoluteHumidityScaled; -} - -void setup() { - Serial.begin(9600); - Serial.println("SGP30 test"); - - if (! sgp.begin()){ - Serial.println("Sensor not found :("); - while (1); - } - Serial.print("Found SGP30 serial #"); - Serial.print(sgp.serialnumber[0], HEX); - Serial.print(sgp.serialnumber[1], HEX); - Serial.println(sgp.serialnumber[2], HEX); - - // If you have a baseline measurement from before you can assign it to start, to 'self-calibrate' - //sgp.setIAQBaseline(0x8E68, 0x8F41); // Will vary for each sensor! -} - -int counter = 0; -void loop() { - // If you have a temperature / humidity sensor, you can set the absolute humidity to enable the humditiy compensation for the air quality signals - //float temperature = 22.1; // [°C] - //float humidity = 45.2; // [%RH] - //sgp.setHumidity(getAbsoluteHumidity(temperature, humidity)); - - if (! sgp.IAQmeasure()) { - Serial.println("Measurement failed"); - return; - } - Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.print(" ppb\t"); - Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm"); - delay(1000); - - counter++; - if (counter == 30) { - counter = 0; - - uint16_t TVOC_base, eCO2_base; - if (! sgp.getIAQBaseline(&eCO2_base, &TVOC_base)) { - Serial.println("Failed to get baseline readings"); - return; - } - Serial.print("****Baseline values: eCO2: 0x"); Serial.print(eCO2_base, HEX); - Serial.print(" & TVOC: 0x"); Serial.println(TVOC_base, HEX); - } -} \ No newline at end of file diff --git a/lib/Adafruit_SGP30-1.0.3/library.properties b/lib/Adafruit_SGP30-1.0.3/library.properties deleted file mode 100755 index 6c86464d1..000000000 --- a/lib/Adafruit_SGP30-1.0.3/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name=Adafruit SGP30 Sensor -version=1.0.3 -author=Adafruit -maintainer=Adafruit -sentence=This is an Arduino library for the Adafruit SGP30 Gas / Air Quality Sensor -paragraph=This is an Arduino library for the Adafruit SGP30 Gas / Air Quality Sensor -category=Sensors -url=https://github.com/adafruit/Adafruit_SGP30 -architectures=* diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/Adafruit_SGP30.cpp b/lib/Adafruit_SGP30-1.2.0/Adafruit_SGP30.cpp similarity index 100% rename from lib/Adafruit_SGP30_Sensor-1.2.0/Adafruit_SGP30.cpp rename to lib/Adafruit_SGP30-1.2.0/Adafruit_SGP30.cpp diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/Adafruit_SGP30.h b/lib/Adafruit_SGP30-1.2.0/Adafruit_SGP30.h similarity index 100% rename from lib/Adafruit_SGP30_Sensor-1.2.0/Adafruit_SGP30.h rename to lib/Adafruit_SGP30-1.2.0/Adafruit_SGP30.h diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/README.md b/lib/Adafruit_SGP30-1.2.0/README.md similarity index 100% rename from lib/Adafruit_SGP30_Sensor-1.2.0/README.md rename to lib/Adafruit_SGP30-1.2.0/README.md diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/examples/sgp30test/sgp30test.ino b/lib/Adafruit_SGP30-1.2.0/examples/sgp30test/sgp30test.ino similarity index 100% rename from lib/Adafruit_SGP30_Sensor-1.2.0/examples/sgp30test/sgp30test.ino rename to lib/Adafruit_SGP30-1.2.0/examples/sgp30test/sgp30test.ino diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/library.properties b/lib/Adafruit_SGP30-1.2.0/library.properties similarity index 100% rename from lib/Adafruit_SGP30_Sensor-1.2.0/library.properties rename to lib/Adafruit_SGP30-1.2.0/library.properties diff --git a/lib/Adafruit_SGP30-1.0.3/license.txt b/lib/Adafruit_SGP30-1.2.0/license.txt old mode 100755 new mode 100644 similarity index 100% rename from lib/Adafruit_SGP30-1.0.3/license.txt rename to lib/Adafruit_SGP30-1.2.0/license.txt diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/travis.yml b/lib/Adafruit_SGP30-1.2.0/travis.yml similarity index 100% rename from lib/Adafruit_SGP30_Sensor-1.2.0/travis.yml rename to lib/Adafruit_SGP30-1.2.0/travis.yml diff --git a/lib/Adafruit_SGP30_Sensor-1.2.0/license.txt b/lib/Adafruit_SGP30_Sensor-1.2.0/license.txt deleted file mode 100644 index f6a0f22b8..000000000 --- a/lib/Adafruit_SGP30_Sensor-1.2.0/license.txt +++ /dev/null @@ -1,26 +0,0 @@ -Software License Agreement (BSD License) - -Copyright (c) 2012, Adafruit Industries -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -3. Neither the name of the copyright holders nor the -names of its contributors may be used to endorse or promote products -derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.