Run fait
This commit is contained in:
parent
b01f407157
commit
5bfd6e3687
6 changed files with 44 additions and 19 deletions
|
@ -4,9 +4,9 @@
|
||||||
#include "../../include/AnalogDevices/AnalogDevice.h"
|
#include "../../include/AnalogDevices/AnalogDevice.h"
|
||||||
//AnalogDevice ///////////////////
|
//AnalogDevice ///////////////////
|
||||||
|
|
||||||
AnalogDevice::AnalogDevice(int val, int temps) : Device(), val(val), temps(temps) {}
|
AnalogDevice::AnalogDevice(float val, int temps) : Device(), val(val), temps(temps) {}
|
||||||
|
|
||||||
int AnalogDevice::getVal() const {
|
float AnalogDevice::getVal() const {
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,6 @@ int AnalogDevice::getTemps() const {
|
||||||
return temps;
|
return temps;
|
||||||
}
|
}
|
||||||
|
|
||||||
AnalogSensor::AnalogSensor(int val, int temps) : AnalogDevice(val, temps) {}
|
AnalogSensor::AnalogSensor(float val, int temps) : AnalogDevice(val, temps) {}
|
||||||
|
|
||||||
AnalogActuator::AnalogActuator(int val, int temps) : AnalogDevice(val, temps) {}
|
AnalogActuator::AnalogActuator(float val, int temps) : AnalogDevice(val, temps) {}
|
||||||
|
|
|
@ -6,14 +6,19 @@
|
||||||
|
|
||||||
//classe AnalogSensorTemperature
|
//classe AnalogSensorTemperature
|
||||||
AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){
|
AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){
|
||||||
alea=1;
|
alea = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnalogSensorTemperature::run(){
|
void AnalogSensorTemperature::run(){
|
||||||
|
int cpt = 0;
|
||||||
while(1){
|
while(1){
|
||||||
alea=1-alea;
|
if((ptrmem!=NULL)&&(cpt%5==0))
|
||||||
if(ptrmem!=NULL)
|
|
||||||
*ptrmem=val+alea;
|
*ptrmem=val+alea;
|
||||||
sleep(temps);
|
sleep(temps);
|
||||||
|
cpt ++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnalogSensorTemperature::setAlea(int alea) {
|
||||||
|
AnalogSensorTemperature::alea = alea;
|
||||||
|
}
|
||||||
|
|
|
@ -4,8 +4,21 @@
|
||||||
|
|
||||||
#include "../../../include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h"
|
#include "../../../include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h"
|
||||||
|
|
||||||
DigitalActuatorRadiator::DigitalActuatorRadiator(int temps) : DigitalActuator(temps) {}
|
DigitalActuatorRadiator::DigitalActuatorRadiator(int temps, float threshold) : DigitalActuator(temps),
|
||||||
|
threshold(threshold) {}
|
||||||
|
|
||||||
void DigitalActuatorRadiator::activate() {
|
void DigitalActuatorRadiator::activate() {
|
||||||
DigitalDevice::state = HIGH;
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -11,24 +11,24 @@
|
||||||
|
|
||||||
class AnalogDevice : public Device{
|
class AnalogDevice : public Device{
|
||||||
protected:
|
protected:
|
||||||
int val;
|
float val;
|
||||||
// temps entre 2 prises de valeurs
|
// temps entre 2 prises de valeurs
|
||||||
int temps;
|
int temps;
|
||||||
// valeur de temperature mesuree
|
// valeur de temperature mesuree
|
||||||
public:
|
public:
|
||||||
AnalogDevice(int val, int temps);
|
AnalogDevice(float val, int temps);
|
||||||
|
|
||||||
int getVal() const;
|
float getVal() const;
|
||||||
int getTemps() const;
|
int getTemps() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class AnalogSensor : public AnalogDevice{
|
class AnalogSensor : public AnalogDevice{
|
||||||
public:
|
public:
|
||||||
AnalogSensor(int val, int temps);
|
AnalogSensor(float val, int temps);
|
||||||
};
|
};
|
||||||
|
|
||||||
class AnalogActuator : public AnalogDevice{
|
class AnalogActuator : public AnalogDevice{
|
||||||
public:
|
public:
|
||||||
AnalogActuator(int val, int temps);
|
AnalogActuator(float val, int temps);
|
||||||
};
|
};
|
||||||
#endif //PROJET_VICTORAVECUNK_ANALOGDEVICE_H
|
#endif //PROJET_VICTORAVECUNK_ANALOGDEVICE_H
|
|
@ -12,15 +12,18 @@
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include "../AnalogDevice.h"
|
#include "../AnalogDevice.h"
|
||||||
|
|
||||||
|
|
||||||
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
|
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
|
||||||
class AnalogSensorTemperature: public AnalogDevice {
|
class AnalogSensorTemperature: public AnalogDevice {
|
||||||
private:
|
|
||||||
// fait osciller la valeur du cpateur de 1
|
|
||||||
int alea;
|
|
||||||
|
|
||||||
public:
|
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
|
//constructeur ne pas oublier d'initialiser la classe mere
|
||||||
AnalogSensorTemperature(int d,int t);
|
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
|
// thread representant le capteur et permettant de fonctionner independamment de la board
|
||||||
virtual void run();
|
virtual void run();
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,11 +7,15 @@
|
||||||
|
|
||||||
|
|
||||||
#include "../DigitalDevice.h"
|
#include "../DigitalDevice.h"
|
||||||
|
#include "../../../include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h"
|
||||||
|
|
||||||
class DigitalActuatorRadiator : public DigitalActuator {
|
class DigitalActuatorRadiator : public DigitalActuator {
|
||||||
|
private:
|
||||||
|
float threshold;
|
||||||
public:
|
public:
|
||||||
DigitalActuatorRadiator(int temps);
|
DigitalActuatorRadiator(int temps, float threshold);
|
||||||
void activate();
|
void activate();
|
||||||
|
void Run();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue