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

@ -65,7 +65,7 @@ int
Gas::findThreshold (thresholdContext* ctx, unsigned int threshold,
uint16_t * buffer, int len) {
long sum = 0;
for (unsigned int i = 0; i < len; i++) {
for (int i = 0; i < len; i++) {
sum += buffer[i];
}