sensor lib
Dependents: gather_sensor_data
Diff: ML8511Sensor.cpp
- Revision:
- 0:cbe8cd32b8d9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ML8511Sensor.cpp Thu Sep 08 14:05:15 2016 +0000 @@ -0,0 +1,48 @@ +#include "ML8511Sensor.h" + +ML8511Sensor::ML8511Sensor(PinName analog_in_pin_name): ML8511_sensor(analog_in_pin_name) { + reading_type = ML8511_ALL; + analog_in_pname = analog_in_pin_name; +} + + +sensorStatus ML8511Sensor::readSensor(string &sensor_reading) { + + //add start to reading + sensor_reading = "{"; + + //Read + if ((reading_type & ML8511_UV) == ML8511_UV) { + // UV index + // 1V=0 + // 2V=10 + float uv = (ML8511_sensor.read()*3.3-1.0)/(2.0-1.0)*10.0; + //check required here + + char reading_type_string[10]; + sprintf(reading_type_string, "%05X", ML8511_UV); + char uv_string[10]; + sprintf(uv_string, "%2.2f", uv); + sensor_reading = sensor_reading + reading_type_string + ":" + uv_string; + } + + //add end to reading + sensor_reading = sensor_reading + "}"; + + return SENSOR_SUCCESS; +} + + +sensorStatus ML8511Sensor::setReadingType(sensorReadingType sensor_reading_types) { + if ((sensor_reading_types > ML8511_FIRST) && (sensor_reading_types <= ML8511_ALL)) { + reading_type = sensor_reading_types; + return SENSOR_SUCCESS; + } else { + return SENSOR_PARAM_OUT_RANGE; + } +} + +sensorReadingType ML8511Sensor::getReadingType() { + return reading_type; +} +