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.
sensor.h
- Committer:
- sbarzowski
- Date:
- 2017-01-18
- Branch:
- multipipe
- Revision:
- 51:090149c4aa28
- Parent:
- 50:e83e38fece23
- Child:
- 56:065bd3a75d97
File content as of revision 51:090149c4aa28:
#include "common.h"
class Sensor {
public:
explicit Sensor(SENSOR_TYPE id);
virtual void updateState() = 0;
virtual Data dataToSend() = 0;
virtual void resetState() = 0;
SENSOR_TYPE getId() { return sensor_id_; };
protected:
SENSOR_TYPE sensor_id_;
};
class DigitalSensor: public Sensor {
public:
explicit DigitalSensor(SENSOR_TYPE id, PinName pin=PA_10);
virtual void updateState();
virtual Data dataToSend();
virtual void resetState();
static const float SEND_INTERVAL;
private:
DigitalIn sensor_;
bool last_state_;
int32_t changes_counter_;
};
class AnalogSensor: public Sensor {
public:
explicit AnalogSensor(SENSOR_TYPE id, PinName pin=PA_4);
virtual void updateState();
virtual Data dataToSend();
virtual void resetState();
static const float SEND_INTERVAL;
private:
AnalogIn sensor_;
};