Sensirion / python-uart-sfx6xxx

Python driver to work with the Sensirion's SFC6xxx mass flow controller or SFM6xxx sensor via UART
https://sensirion.github.io/python-uart-sfx6xxx/
BSD 3-Clause "New" or "Revised" License
0 stars 3 forks source link
controller evaluation-kit flow meter python sek sensirion sensor sfc sfc6 sfc6000 sfc6xxx sfm sfm6 sfm6000 sfm6xxx shdlc uart

Python UART Driver for Sensirion SFX6XXX

This repository contains the Python driver to communicate with a Sensirion mass flow controller of the SFC6XXX family or a gas flow sensor of the SFM6XXX family over UART using the SHDLC protocol.

Click here to learn more about the Sensirion SFC6XXX mass flow controller family.

Click here to learn more about the Sensirion SFM6XXX gas flow sensor family.

Supported sensor types

The following instructions and examples use a SFC6000.

Connect the sensor

The sensor needs to be connected to a 24V power supply. Plug in the evaluation kit cable to power and connect the USB port to your Raspberry Pi.

Please note that due to the delays introduced by the FTDI driver you can reach a maximum sampling frequency of about 20Hz with this setup.

For special setups check out the sensor pinout in the section below.

RS485 interface pinout

| *Pin* | *Cable Color* | *Name* | *Description* | *Comments* | |-------|---------------|:------:|----------------|------------| | 1 | brown | VDD | Supply Voltage | +24V | 2 | white | D+ | RS485 | | 3 | black | D- | RS485 | | 4 | blue | GND | Ground |

Documentation & Quickstart

See the documentation page for an API description and a quickstart example.

Contributing

We develop and test this driver using our company internal tools (version control, continuous integration, code review etc.) and automatically synchronize the master branch with GitHub. But this doesn't mean that we don't respond to issues or don't accept pull requests on GitHub. In fact, you're very welcome to open issues or create pull requests :-)

Check coding style

The coding style can be checked with flake8:

pip install -e .[test]  # Install requirements
flake8                  # Run style check

In addition, we check the formatting of files with editorconfig-checker:

pip install editorconfig-checker==2.0.3   # Install requirements
editorconfig-checker                      # Run check

License

See LICENSE.