Metadata-Version: 1.0
Name: sgp30
Version: 0.1.2
Summary: Library for reading data from the sensiron SGP30
Home-page: https://github.com/zinob/RPI_SGP30
Author: Simon Albinsson
Author-email: pipmon@zinob.se
License: MIT License

Copyright (c) 2018 Simon Albinsson

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.


Description: RPI_SGP30
        =========
        
        Program to read eCO_2 and TVOC from the [SGP30 sensor](https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9_Gas_Sensors/Sensirion_Gas_Sensors_SGP30_Datasheet_EN.pdf). Based on the smbus2 i2c library for ease of use.
        
        
        Quick usage-example:
        -------------------
        ::
        
        	 from sgp30 import Sgp30
        	 import time
            with SMBusWrapper(1) as bus:
                sgp=Sgp30(bus,baseline_filename="/tmp/mySGP30_baseline") #things thing with the baselinefile is dumb and will be changed in the future
                print("resetting all i2c devices")
                sgp.i2c_geral_call() #WARNING: Will reset any device on teh i2cbus that listens for general call
                print(sgp.read_features())
                print(sgp.read_serial())
                sgp.init_sgp()
                print(sgp.read_measurements())
        		  print("the SGP30 takes at least 15 seconds to warm up, 12 hours before the readigs become really stable"
        		  for i in range(20):
        			  time.sleep(1)
        			  print(".",end="")
        		  print()
                print(sgp.read_measurements())
        
        Features that are known to be missing (listing in rough order of importance):
        ---------------------------
        * Fix python3 compatibility.
        * The handing of baseline values are not that great, it should probably be up to the end user to save and restore them as needed.
        * Write doc-strings for all or at least most methods.
        * reading raw-values.
        * A more "driver like" class that took care of all chip identification, polling intervals store baseline and so on.
        
        Hardware notices:
        -----------------
        If you have the AdaFruit board with built in level shifters and voltage regulator it is should work if you just plug in [SDA to pin 3, SCL to pin 5, VCC to pin 17 and GND to pin 20](https://pinout.xyz/pinout/i2c). You should then be able to find the SGP30 an address 0x58 using `i2cdetect -y 1`. If you get an error message  you probbably need to enable i2c in the kernel using  [`raspi-config` and reboot](https://learn.sparkfun.com/tutorials/raspberry-pi-spi-and-i2c-tutorial)
        
        
Platform: UNKNOWN
