sensor lib
Dependents: gather_sensor_data
ML8511Sensor.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 "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 |