Re: [PATCH v6 0/4] Add support for SCD30 sensor
From: Jonathan Cameron
Date: Sat Jun 27 2020 - 09:56:58 EST
On Sun, 21 Jun 2020 21:56:57 +0200
Tomasz Duszynski <tomasz.duszynski@xxxxxxxxxxx> wrote:
> Following series adds support for Sensirion SCD30 sensor module capable of
> measuring carbon dioxide, temperature and relative humidity. CO2 measurements
> base on NDIR principle while temperature and relative humidity are measured by
> the on board SHT31. As for sensor communication, both I2C and serial interfaces
> are supported.
Series applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
Thanks,
Jonathan
>
> v6:
> * fix warnings produced by C=2 build option
> * fix 0-day warning 'Clarify calculation precedence for '&' and '?''
>
> v5:
> * set pressure calibration via output channel
> * use kstrtobool() to read value into _enabled attribute
> * drop explicit parent asignment as the default one is good enough
> (seems 'iio: core: pass parent device as parameter during allocation'
> series was accepted)
>
> v4:
> * improve formatting
> * improve error handling readability
> * fix message validity check on serial write
>
> v3:
> * simplify code by scaling temperature & humidity in _read_meas()
> * update realbits in scan types
> * s/adjecent/adjacent
> * drop IIO_CHAN_INFO_RAW from _write_raw_get_fmt because there's no raw
> output channel
> * rework locking in _read_raw
> * fix endianess problem on BE machine
> * align timestamp properly before pushing to buffers
> * explain why interrupt gets disabled after registration
> * add trigger validation
> * drop SCALE for temperature and humidity channel as they are processed
> * register action which stops measuring after starting measurements
> * spit generic calibration attr into two doing specific things
> * add comment explaining why priv in struct scd30_state is for
> * rename node in binding example to co2-sensor
>
> v2:
> * move asm/byteorder.h towards the bottom of include list
> * make channel address names in enum more specific
> * add postfixes to defines and extra comments
> * drop unneeded i2c include from scd30 header
> * break generic command sending function into specialized options
> * expose automatic calibration and forced calibration via the same attr
> * use SAMP_FREQ to set frequency instead of meas_interval attr
> * use CALISCALE to set pressure compensation instead of pressure_comp attr
> * use CALIBBIAS to set temperature offset instead of temp_offset attr
> * fix order in MAINTAINERS
> * drop attribute allowing one to reset sensor
> * as we have dt probing drop board file based probing (i2c_device_id)
> * merge patches touching related files
> * use fwnode API to retrieve interrupt from dt
> * fix interrupt-parent spelling
> * change binding license
> * drop supply from required property
>
> Tomasz Duszynski (4):
> iio: chemical: scd30: add core driver
> iio: chemical: scd30: add I2C interface driver
> iio: chemical: scd30: add serial interface driver
> dt-bindings: iio: scd30: add device binding file
>
> Documentation/ABI/testing/sysfs-bus-iio-scd30 | 34 +
> .../iio/chemical/sensirion,scd30.yaml | 68 ++
> MAINTAINERS | 9 +
> drivers/iio/chemical/Kconfig | 33 +
> drivers/iio/chemical/Makefile | 3 +
> drivers/iio/chemical/scd30.h | 78 ++
> drivers/iio/chemical/scd30_core.c | 771 ++++++++++++++++++
> drivers/iio/chemical/scd30_i2c.c | 139 ++++
> drivers/iio/chemical/scd30_serial.c | 263 ++++++
> 9 files changed, 1398 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-scd30
> create mode 100644 Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml
> create mode 100644 drivers/iio/chemical/scd30.h
> create mode 100644 drivers/iio/chemical/scd30_core.c
> create mode 100644 drivers/iio/chemical/scd30_i2c.c
> create mode 100644 drivers/iio/chemical/scd30_serial.c
>
> --
> 2.27.0
>