Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: sensor.cpp
- Revision:
- 66:a89b7430b424
- Parent:
- 47:9e21b199c679
diff -r 9e4e08aae8d0 -r a89b7430b424 sensor.cpp
--- a/sensor.cpp Thu Jan 19 13:20:50 2017 +0100
+++ b/sensor.cpp Mon Jan 23 13:22:21 2017 +0100
@@ -1,5 +1,7 @@
#include "sensor.h"
+#include <algorithm>
+
Sensor::Sensor(SENSOR_TYPE id) : sensor_id_(id) {}
const float DigitalSensor::SEND_INTERVAL = 10.0;
@@ -41,3 +43,25 @@
}
void AnalogSensor::resetState() {}
+
+SoundSensor::SoundSensor(SENSOR_TYPE id, PinName pin) :
+ AnalogSensor(id, pin), values_() {
+}
+
+void SoundSensor::updateState() {
+ float data_read = sensor_.read();
+ values_.push_back(data_read);
+}
+
+Data SoundSensor::dataToSend() {
+ std::sort(values_.begin(), values_.end());
+ int q3_index = values_.size() * 0.75;
+ float q3 = values_[q3_index];
+ return Data(sensor_id_, q3);
+}
+
+void SoundSensor::resetState() {
+ values_.clear();
+}
+
+