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 "ML8511Sensor.h"
readysteadygo2006 0:cbe8cd32b8d9 2
readysteadygo2006 0:cbe8cd32b8d9 3 ML8511Sensor::ML8511Sensor(PinName analog_in_pin_name): ML8511_sensor(analog_in_pin_name) {
readysteadygo2006 0:cbe8cd32b8d9 4 reading_type = ML8511_ALL;
readysteadygo2006 0:cbe8cd32b8d9 5 analog_in_pname = analog_in_pin_name;
readysteadygo2006 0:cbe8cd32b8d9 6 }
readysteadygo2006 0:cbe8cd32b8d9 7
readysteadygo2006 0:cbe8cd32b8d9 8
readysteadygo2006 0:cbe8cd32b8d9 9 sensorStatus ML8511Sensor::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
readysteadygo2006 0:cbe8cd32b8d9 15 if ((reading_type & ML8511_UV) == ML8511_UV) {
readysteadygo2006 0:cbe8cd32b8d9 16 // UV index
readysteadygo2006 0:cbe8cd32b8d9 17 // 1V=0
readysteadygo2006 0:cbe8cd32b8d9 18 // 2V=10
readysteadygo2006 0:cbe8cd32b8d9 19 float uv = (ML8511_sensor.read()*3.3-1.0)/(2.0-1.0)*10.0;
readysteadygo2006 0:cbe8cd32b8d9 20 //check required here
readysteadygo2006 0:cbe8cd32b8d9 21
readysteadygo2006 0:cbe8cd32b8d9 22 char reading_type_string[10];
readysteadygo2006 0:cbe8cd32b8d9 23 sprintf(reading_type_string, "%05X", ML8511_UV);
readysteadygo2006 0:cbe8cd32b8d9 24 char uv_string[10];
readysteadygo2006 0:cbe8cd32b8d9 25 sprintf(uv_string, "%2.2f", uv);
readysteadygo2006 0:cbe8cd32b8d9 26 sensor_reading = sensor_reading + reading_type_string + ":" + uv_string;
readysteadygo2006 0:cbe8cd32b8d9 27 }
readysteadygo2006 0:cbe8cd32b8d9 28
readysteadygo2006 0:cbe8cd32b8d9 29 //add end to reading
readysteadygo2006 0:cbe8cd32b8d9 30 sensor_reading = sensor_reading + "}";
readysteadygo2006 0:cbe8cd32b8d9 31
readysteadygo2006 0:cbe8cd32b8d9 32 return SENSOR_SUCCESS;
readysteadygo2006 0:cbe8cd32b8d9 33 }
readysteadygo2006 0:cbe8cd32b8d9 34
readysteadygo2006 0:cbe8cd32b8d9 35
readysteadygo2006 0:cbe8cd32b8d9 36 sensorStatus ML8511Sensor::setReadingType(sensorReadingType sensor_reading_types) {
readysteadygo2006 0:cbe8cd32b8d9 37 if ((sensor_reading_types > ML8511_FIRST) && (sensor_reading_types <= ML8511_ALL)) {
readysteadygo2006 0:cbe8cd32b8d9 38 reading_type = sensor_reading_types;
readysteadygo2006 0:cbe8cd32b8d9 39 return SENSOR_SUCCESS;
readysteadygo2006 0:cbe8cd32b8d9 40 } else {
readysteadygo2006 0:cbe8cd32b8d9 41 return SENSOR_PARAM_OUT_RANGE;
readysteadygo2006 0:cbe8cd32b8d9 42 }
readysteadygo2006 0:cbe8cd32b8d9 43 }
readysteadygo2006 0:cbe8cd32b8d9 44
readysteadygo2006 0:cbe8cd32b8d9 45 sensorReadingType ML8511Sensor::getReadingType() {
readysteadygo2006 0:cbe8cd32b8d9 46 return reading_type;
readysteadygo2006 0:cbe8cd32b8d9 47 }
readysteadygo2006 0:cbe8cd32b8d9 48