sensor lib
Dependents: gather_sensor_data
DHTSensor.cpp@0:cbe8cd32b8d9, 2016-09-08 (annotated)
- Committer:
- readysteadygo2006
- Date:
- Thu Sep 08 14:05:15 2016 +0000
- Revision:
- 0:cbe8cd32b8d9
test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
readysteadygo2006 | 0:cbe8cd32b8d9 | 1 | #include "DHTSensor.h" |
readysteadygo2006 | 0:cbe8cd32b8d9 | 2 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 3 | DHTSensor::DHTSensor(PinName pn, int dht_type): dht_sensor(pn, dht_type) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 4 | reading_type = DHT_ALL; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 5 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 6 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 7 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 8 | sensorStatus DHTSensor::readSensor(string &sensor_reading) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 9 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 10 | //add start to reading |
readysteadygo2006 | 0:cbe8cd32b8d9 | 11 | int err = dht_sensor.readData(); |
readysteadygo2006 | 0:cbe8cd32b8d9 | 12 | //Read Temp |
readysteadygo2006 | 0:cbe8cd32b8d9 | 13 | if (err == 0) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 14 | sensor_reading = "{"; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 15 | if ((reading_type & DHT_TEMP) == DHT_TEMP) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 16 | float temp = dht_sensor.ReadTemperature(CELCIUS); |
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", DHT_TEMP); |
readysteadygo2006 | 0:cbe8cd32b8d9 | 21 | char temp_string[10]; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 22 | sprintf(temp_string, "%2.2f", temp); |
readysteadygo2006 | 0:cbe8cd32b8d9 | 23 | sensor_reading = sensor_reading + reading_type_string + ":" + temp_string; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 24 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 25 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 26 | if ((reading_type & DHT_HUMID) == DHT_HUMID) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 27 | float humid = dht_sensor.ReadHumidity(); |
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", DHT_HUMID); |
readysteadygo2006 | 0:cbe8cd32b8d9 | 31 | char humid_string[10]; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 32 | sprintf(humid_string, "%2.2f", humid); |
readysteadygo2006 | 0:cbe8cd32b8d9 | 33 | sensor_reading = sensor_reading + ", " + reading_type_string + ":" + humid_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 | return SENSOR_SUCCESS; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 39 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 40 | } else { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 41 | sensor_reading = sensor_reading + ""; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 42 | return SENSOR_READING_ERROR; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 43 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 44 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 45 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 46 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 47 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 48 | sensorStatus DHTSensor::setReadingType(sensorReadingType sensor_reading_types) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 49 | if ((sensor_reading_types > DHT_FIRST) && (sensor_reading_types <= DHT_ALL)) { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 50 | reading_type = sensor_reading_types; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 51 | return SENSOR_SUCCESS; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 52 | } else { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 53 | return SENSOR_PARAM_OUT_RANGE; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 54 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 55 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 56 | |
readysteadygo2006 | 0:cbe8cd32b8d9 | 57 | sensorReadingType DHTSensor::getReadingType() { |
readysteadygo2006 | 0:cbe8cd32b8d9 | 58 | return reading_type; |
readysteadygo2006 | 0:cbe8cd32b8d9 | 59 | } |
readysteadygo2006 | 0:cbe8cd32b8d9 | 60 |