2016-02-04 17:19:21 +01:00
|
|
|
#ifndef HALINTERFACES_H
|
|
|
|
|
#define HALINTERFACES_H
|
|
|
|
|
|
2016-02-24 21:51:16 +01:00
|
|
|
|
2016-02-24 14:37:48 +01:00
|
|
|
class Hardware
|
2016-02-04 17:19:21 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setup() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class HardwarePowerConsumption : public Hardware
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
// returns number of pulses from power meter
|
2016-02-24 21:51:16 +01:00
|
|
|
virtual unsigned int getConsumption() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
virtual void reset() = 0;
|
|
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
2016-02-24 14:37:48 +01:00
|
|
|
class HardwareTemperature : public Hardware
|
2016-02-04 17:19:21 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual int getTemperature() = 0;
|
|
|
|
|
virtual int getHumidity() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
2016-02-24 14:37:48 +01:00
|
|
|
class HardwareLight : public Hardware
|
2016-02-04 17:19:21 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setup() = 0;
|
2016-02-24 21:51:16 +01:00
|
|
|
virtual unsigned int getLuminosity() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Protocol
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setup() = 0;
|
|
|
|
|
virtual void send() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
2016-02-24 21:51:16 +01:00
|
|
|
class ProtocolPowerConsumption : public Protocol
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setConsumption(unsigned int cons) = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ProtocolTemperature : public Protocol
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setTemperature(float temp) = 0;
|
|
|
|
|
virtual void setHumidity(unsigned char humidity) = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class ProtocolLight : public Protocol
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setLuminosity(int lumen) = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // HALINTERFACES_H
|