Skip to content
This repository has been archived by the owner on Apr 19, 2024. It is now read-only.
/ embedded-sgp Public archive

Embedded SGP Drivers for Sensirion Gas Sensors - Download the Zip Package from the Release Page

License

Notifications You must be signed in to change notification settings

Sensirion/embedded-sgp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

19fa58d · Oct 27, 2021
Aug 24, 2020
Jul 19, 2019
Jan 7, 2021
Dec 11, 2020
Jul 22, 2020
Jul 22, 2020
Jul 22, 2020
Aug 20, 2020
Oct 22, 2021
Jul 22, 2020
Aug 26, 2020
Aug 26, 2020
Oct 26, 2020
Sep 23, 2020
Oct 26, 2020
Oct 27, 2021
Apr 29, 2020
May 7, 2021
Mar 21, 2018
Sep 23, 2020
Aug 16, 2021

Repository files navigation

embedded-sgp CircleCI GitHub license

This repository contains the embedded driver sources for Sensirion's SGP product line.

Download the Latest Driver Release

Download the latest ready-to-use driver bundle from the releases page

We strongly recommend to use the driver from the release bundle instead of cloning the repository.

Note: If you use the SVM40 module (which contains an SGP40) please check out https://github.com/Sensirion/embedded-svm40.

Note: If you are using SGP40 or SGP41 sensor, please check out the following repositories:

Clone this repository

git clone --recursive https://github.com/Sensirion/embedded-sgp.git

Repository content

  • embedded-common - Submodule repository for common embedded driver stuff
  • embedded-sht - Submodule repository for SHT drivers
  • sgp40 - SPG40 driver
  • sgp40_voc_index - Driver for a SGP40 and SHTC3 combo with a VOC algorithm.
  • sgp30 - SGP30 driver
  • sgpc3 - SGPC3 driver
  • svm30 - Driver for the SVM30 module consisting of a SPG30 and an SHTC3 sensor.
  • sgpc3_with_shtc1 - Driver for a SGPC3 and SHTC1 sensor combo.
  • sgp-common - Common code for all SGP drivers.

Collecting resources

make release

This will create a release folder with the necessary driver files in it, including a Makefile. That way, you have just ONE folder with all the sources ready to build your driver for your platform.

Files to adjust (from embedded-common)

You only need to touch the following files:

  • sensirion_arch_config.h (architecture specifics, you need to specify the integer sizes)

and depending on your i2c implementation one of the following:

  • sensirion_hw_i2c_implementation.c (functions for hardware i2c communication if your platform supports that)
  • sensirion_sw_i2c_implementation.c (functions for software i2c communication via GPIOs)

Building the driver

  1. Step into your desired directory (e.g.: release/sgp30)
  2. Adjust sensirion_arch_config.h if you don't have the <stdint.h> header file available
  3. Implement necessary functions in one of the *_implementation.c files
  4. make

Please check the embedded-common repository for further information and sample implementations.