sensor lib

Dependents:   gather_sensor_data

Committer:
readysteadygo2006
Date:
Thu Sep 08 14:05:15 2016 +0000
Revision:
0:cbe8cd32b8d9
test;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
readysteadygo2006 0:cbe8cd32b8d9 1 #include "MQ135Sensor.h"
readysteadygo2006 0:cbe8cd32b8d9 2
readysteadygo2006 0:cbe8cd32b8d9 3 MQ135Sensor::MQ135Sensor(PinName analog_out_pin_name): MQ135_sensor(analog_out_pin_name) {
readysteadygo2006 0:cbe8cd32b8d9 4 analog_out_pname = analog_out_pin_name;
readysteadygo2006 0:cbe8cd32b8d9 5 reading_type = MQ135_ALL;
readysteadygo2006 0:cbe8cd32b8d9 6 }
readysteadygo2006 0:cbe8cd32b8d9 7
readysteadygo2006 0:cbe8cd32b8d9 8
readysteadygo2006 0:cbe8cd32b8d9 9 sensorStatus MQ135Sensor::readSensor(string &sensor_reading) {
readysteadygo2006 0:cbe8cd32b8d9 10
readysteadygo2006 0:cbe8cd32b8d9 11 //add start to reading
readysteadygo2006 0:cbe8cd32b8d9 12 sensor_reading = "{";
readysteadygo2006 0:cbe8cd32b8d9 13
readysteadygo2006 0:cbe8cd32b8d9 14 //Read Temp
readysteadygo2006 0:cbe8cd32b8d9 15 if ((reading_type & MQ135_CO2) == MQ135_CO2) {
readysteadygo2006 0:cbe8cd32b8d9 16 float co2 = MQ135_sensor.getResistance();
readysteadygo2006 0:cbe8cd32b8d9 17 //check required here
readysteadygo2006 0:cbe8cd32b8d9 18
readysteadygo2006 0:cbe8cd32b8d9 19 char reading_type_string[10];
readysteadygo2006 0:cbe8cd32b8d9 20 sprintf(reading_type_string, "%05X", MQ135_CO2);
readysteadygo2006 0:cbe8cd32b8d9 21 char co2_string[10];
readysteadygo2006 0:cbe8cd32b8d9 22 sprintf(co2_string, "%2.2f", co2);
readysteadygo2006 0:cbe8cd32b8d9 23 sensor_reading = sensor_reading + reading_type_string + ":" + co2_string;
readysteadygo2006 0:cbe8cd32b8d9 24 }
readysteadygo2006 0:cbe8cd32b8d9 25
readysteadygo2006 0:cbe8cd32b8d9 26 if ((reading_type & MQ135_NH3) == MQ135_NH3) {
readysteadygo2006 0:cbe8cd32b8d9 27 float nh3 = MQ135_sensor.getResistance();
readysteadygo2006 0:cbe8cd32b8d9 28 //check required here
readysteadygo2006 0:cbe8cd32b8d9 29 char reading_type_string[10];
readysteadygo2006 0:cbe8cd32b8d9 30 sprintf(reading_type_string, "%05X", MQ135_NH3);
readysteadygo2006 0:cbe8cd32b8d9 31 char nh3_string[10];
readysteadygo2006 0:cbe8cd32b8d9 32 sprintf(nh3_string, "%2.2f", nh3);
readysteadygo2006 0:cbe8cd32b8d9 33 sensor_reading = sensor_reading + ", " + reading_type_string + ":" + nh3_string;
readysteadygo2006 0:cbe8cd32b8d9 34 }
readysteadygo2006 0:cbe8cd32b8d9 35
readysteadygo2006 0:cbe8cd32b8d9 36 //add end to reading
readysteadygo2006 0:cbe8cd32b8d9 37 sensor_reading = sensor_reading + "}";
readysteadygo2006 0:cbe8cd32b8d9 38
readysteadygo2006 0:cbe8cd32b8d9 39 return SENSOR_SUCCESS;
readysteadygo2006 0:cbe8cd32b8d9 40 }
readysteadygo2006 0:cbe8cd32b8d9 41
readysteadygo2006 0:cbe8cd32b8d9 42
readysteadygo2006 0:cbe8cd32b8d9 43 sensorStatus MQ135Sensor::setReadingType(sensorReadingType sensor_reading_types) {
readysteadygo2006 0:cbe8cd32b8d9 44 if ((sensor_reading_types > MQ135_FIRST) && (sensor_reading_types <= MQ135_ALL)) {
readysteadygo2006 0:cbe8cd32b8d9 45 reading_type = sensor_reading_types;
readysteadygo2006 0:cbe8cd32b8d9 46 return SENSOR_SUCCESS;
readysteadygo2006 0:cbe8cd32b8d9 47 } else {
readysteadygo2006 0:cbe8cd32b8d9 48 return SENSOR_PARAM_OUT_RANGE;
readysteadygo2006 0:cbe8cd32b8d9 49 }
readysteadygo2006 0:cbe8cd32b8d9 50 }
readysteadygo2006 0:cbe8cd32b8d9 51
readysteadygo2006 0:cbe8cd32b8d9 52 sensorReadingType MQ135Sensor::getReadingType() {
readysteadygo2006 0:cbe8cd32b8d9 53 return reading_type;
readysteadygo2006 0:cbe8cd32b8d9 54 }
readysteadygo2006 0:cbe8cd32b8d9 55