mqx: C gas sensors mq2-mq9

Implement a single source file for the following:

    * mq2: H2/LPG/CH4/CO/alcohol/smoke/propane/etc
    * mq3: Alcohol/benzine/CH4/hexane/LPG/CO
    * mq4: CNG (mostly methane)
    * mq5: H2/LPG/CH4/CO/alcohol
    * mq6: LPG (mostly propane/butane)
    * mq7: CO
    * mq8: H
    * mq9: CO/CH4/LPG

The documentation for these sensors notes that they do not read an exact
gas concentration.  Some of the sensors have examples for how to
calibrate with a 'clean air environment' for outputing ppm, but this is
not the case for all mqx sensors.  Because of this, the output can be
read as a normalized output (0.0->1.0), raw volts (normalized * aRef),
or a scaled/offset voltage.

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2016-09-06 08:40:37 -07:00
parent ba403de6e7
commit fe318a78d2
7 changed files with 498 additions and 6 deletions

View File

@@ -1,5 +1,8 @@
set (libname "gas")
set (libdescription "Gas sensors")
set (module_src ${libname}.cxx mq2.cxx mq3.cxx mq4.cxx mq5.cxx mq6.cxx mq7.cxx mq8.cxx mq9.cxx tp401.cxx)
set (module_hpp ${libname}.hpp mq2.hpp mq3.hpp mq4.hpp mq5.hpp mq6.hpp mq7.hpp mq8.hpp mq9.hpp tp401.hpp)
upm_module_init()
upm_mixed_module_init (NAME gas
DESCRIPTION "Gas sensors"
C_HDR mqx.h
C_SRC mqx.c
CPP_HDR gas.hpp mq2.hpp mq3.hpp mq4.hpp mq5.hpp mq6.hpp mq7.hpp mq8.hpp mq9.hpp tp401.hpp
CPP_SRC gas.cxx mq2.cxx mq3.cxx mq4.cxx mq5.cxx mq6.cxx mq7.cxx mq8.cxx mq9.cxx tp401.cxx
FTI_SRC mqx_fti.c
REQUIRES mraa)