IoT - Kubus / Mbed 2 deprecated Kubus

Dependencies:   mbed nRF24L01P

Committer:
pannaanna
Date:
Mon Jan 23 13:22:21 2017 +0100
Revision:
66:a89b7430b424
Parent:
56:065bd3a75d97
3rd quartile for sound sensor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pannaannap 27:27cffdb2e9d3 1 #include "common.h"
pannaannap 27:27cffdb2e9d3 2
pannaanna 66:a89b7430b424 3 #include <vector>
pannaanna 66:a89b7430b424 4
pannaannap 27:27cffdb2e9d3 5 class Sensor {
pannaannap 27:27cffdb2e9d3 6 public:
pannaannap 27:27cffdb2e9d3 7 explicit Sensor(SENSOR_TYPE id);
Micha? ?azowik 56:065bd3a75d97 8
pannaannap 27:27cffdb2e9d3 9 virtual void updateState() = 0;
pannaannap 27:27cffdb2e9d3 10 virtual Data dataToSend() = 0;
pannaannap 27:27cffdb2e9d3 11 virtual void resetState() = 0;
pannaanna 37:1251e35fe43e 12 SENSOR_TYPE getId() { return sensor_id_; };
Micha? ?azowik 56:065bd3a75d97 13
pannaannap 27:27cffdb2e9d3 14 protected:
pannaannap 27:27cffdb2e9d3 15 SENSOR_TYPE sensor_id_;
pannaannap 27:27cffdb2e9d3 16 };
pannaannap 27:27cffdb2e9d3 17
pannaannap 27:27cffdb2e9d3 18 class DigitalSensor: public Sensor {
pannaannap 27:27cffdb2e9d3 19 public:
pannaannap 27:27cffdb2e9d3 20 explicit DigitalSensor(SENSOR_TYPE id, PinName pin=PA_10);
Micha? ?azowik 56:065bd3a75d97 21
pannaannap 27:27cffdb2e9d3 22 virtual void updateState();
pannaannap 27:27cffdb2e9d3 23 virtual Data dataToSend();
pannaannap 27:27cffdb2e9d3 24 virtual void resetState();
Micha? ?azowik 56:065bd3a75d97 25
pannaannap 27:27cffdb2e9d3 26 static const float SEND_INTERVAL;
pannaannap 27:27cffdb2e9d3 27 private:
pannaannap 27:27cffdb2e9d3 28 DigitalIn sensor_;
pannaannap 27:27cffdb2e9d3 29 bool last_state_;
pannaannap 27:27cffdb2e9d3 30 int32_t changes_counter_;
pannaannap 27:27cffdb2e9d3 31 };
pannaannap 27:27cffdb2e9d3 32
pannaannap 27:27cffdb2e9d3 33 class AnalogSensor: public Sensor {
pannaannap 27:27cffdb2e9d3 34 public:
pannaannap 27:27cffdb2e9d3 35 explicit AnalogSensor(SENSOR_TYPE id, PinName pin=PA_4);
Micha? ?azowik 56:065bd3a75d97 36
pannaannap 27:27cffdb2e9d3 37 virtual void updateState();
pannaannap 27:27cffdb2e9d3 38 virtual Data dataToSend();
pannaannap 27:27cffdb2e9d3 39 virtual void resetState();
Micha? ?azowik 56:065bd3a75d97 40
pannaannap 27:27cffdb2e9d3 41 static const float SEND_INTERVAL;
pannaanna 66:a89b7430b424 42 protected:
pannaannap 27:27cffdb2e9d3 43 AnalogIn sensor_;
sbarzowski 34:e67581c9b50d 44 };
pannaanna 66:a89b7430b424 45
pannaanna 66:a89b7430b424 46
pannaanna 66:a89b7430b424 47 class SoundSensor: public AnalogSensor {
pannaanna 66:a89b7430b424 48 public:
pannaanna 66:a89b7430b424 49 explicit SoundSensor(SENSOR_TYPE id, PinName pin=PA_4);
pannaanna 66:a89b7430b424 50
pannaanna 66:a89b7430b424 51 virtual void updateState();
pannaanna 66:a89b7430b424 52 virtual Data dataToSend();
pannaanna 66:a89b7430b424 53 virtual void resetState();
pannaanna 66:a89b7430b424 54
pannaanna 66:a89b7430b424 55 private:
pannaanna 66:a89b7430b424 56 std::vector<float> values_;
pannaanna 66:a89b7430b424 57 };