Home

Awesome

embedded-sts GitHub license

This repository is deprecated, please use the new drivers:

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

If you just want to use the driver, it is recommended to download the release zip from https://github.com/Sensirion/embedded-sts/releases

Clone this repository

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

Repository content

Collecting resources

make release

This will create the release folder and release zip file 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)

To adapt the driver to your platform, you only need to touch the following files:

and depending on your i2c implementation either of the following:

Building the driver

  1. Adjust sensirion_arch_config.h if you don't have the <stdint.h> header file available.

  2. Either use one of the provided sample implementations implement necessary functions in one of the *_implementation.c files described above (either in the hw_i2c or sw_i2c folder).

    To reuse a provided sample implementation you can specify it in a custom build configuration. For this adapt the file user_config.inc in the driver:

    user_config.inc for hardware i2c with dedicated i2c controller:

    CONFIG_I2C_TYPE=hw_i2c
    hw_i2c_impl_src = ${embedded-common}/hw_i2c/sample-implementations/linux_user_space/sensirion_hw_i2c_implementation.c
    

    user_config.inc for software i2c with bit-banging on GPIOs:

    CONFIG_I2C_TYPE=sw_i2c
    sw_i2c_impl_src = ${embedded-common}/sw_i2c/sample-implementations/linux_user_space/sensirion_sw_i2c_implementation.c
    
  3. Run make

  4. Run the compiled example usage with ./sts30_example_usage. Note that hardware access permissions (e.g. sudo) might be needed.


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