diff --git a/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp b/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp index ac66050..6915d69 100644 --- a/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp +++ b/OtherDevices/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.cpp @@ -3,3 +3,22 @@ // #include "../../../include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h" + +DigitalActuatorRadiator::DigitalActuatorRadiator(int temps, float threshold) : DigitalActuator(temps), +threshold(threshold) {} + +void DigitalActuatorRadiator::activate() { + DigitalDevice::state = HIGH; +} + +void DigitalActuatorRadiator::Run() { + int previousState = LOW; + while (1){ + state = *ptrmem; + if ((state != previousState)||(state == HIGH)){ + AnalogSensorTemperature::setAlea(1); + } else if((state != previousState)||(state == LOW)) { + AnalogSensorTemperature::setAlea(-1); + } + } +} diff --git a/include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h b/include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h index 59042b8..491c7ce 100644 --- a/include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h +++ b/include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h @@ -12,15 +12,18 @@ #include #include "../AnalogDevice.h" + // exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device class AnalogSensorTemperature: public AnalogDevice { -private: - // fait osciller la valeur du cpateur de 1 - int alea; - public: + // fait osciller la valeur du cpateur de 1 + static int alea; //TODO modifier dans diagramme de classe + //constructeur ne pas oublier d'initialiser la classe mere AnalogSensorTemperature(int d,int t); + + static void setAlea(int alea); //TODO mettre dans diagramme de classe + // thread representant le capteur et permettant de fonctionner independamment de la board virtual void run(); }; diff --git a/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h b/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h index e335213..3892f96 100644 --- a/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h +++ b/include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h @@ -6,8 +6,16 @@ #define PROJET_VICTORAVECUNK_DIGITALACTUATORRADIATOR_H -class DigitalActuatorRadiator { +#include "../DigitalDevice.h" +#include "../../../include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h" +class DigitalActuatorRadiator : public DigitalActuator { +private: + float threshold; +public: + DigitalActuatorRadiator(int temps, float threshold); + void activate(); + void Run(); };