Reorganisation classes
This commit is contained in:
parent
3b0cdae871
commit
e006311022
2 changed files with 72 additions and 50 deletions
|
@ -4,8 +4,31 @@
|
|||
|
||||
using namespace std;
|
||||
|
||||
//DigitalDevice ///////////////////
|
||||
DigitalDevice::DigitalDevice(int temps) : temps(temps), state(0) {}
|
||||
|
||||
int DigitalDevice::getState() const {
|
||||
return state;
|
||||
}
|
||||
|
||||
int DigitalDevice::getTemps() const {
|
||||
return temps;
|
||||
}
|
||||
|
||||
//AnalogDevice ///////////////////
|
||||
|
||||
AnalogDevice::AnalogDevice(int val, int temps) : val(val), temps(temps),Device() {}
|
||||
|
||||
int AnalogDevice::getVal() const {
|
||||
return val;
|
||||
}
|
||||
|
||||
int AnalogDevice::getTemps() const {
|
||||
return temps;
|
||||
}
|
||||
|
||||
//classe AnalogSensorTemperature
|
||||
AnalogSensorTemperature::AnalogSensorTemperature(int d,int t):Device(),val(t),temps(d){
|
||||
AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){
|
||||
alea=1;
|
||||
}
|
||||
|
||||
|
@ -33,26 +56,8 @@ void AnalogSensorLuminosity::run(){
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//classe DigitalActuatorLED
|
||||
DigitalActuatorLED::DigitalActuatorLED(int t):Device(),state(LOW),temps(t){
|
||||
}
|
||||
|
||||
void DigitalActuatorLED::run(){
|
||||
while(1){
|
||||
if(ptrmem!=NULL)
|
||||
state=*ptrmem;
|
||||
if (state==LOW)
|
||||
cout << "((((eteint))))\n";
|
||||
else
|
||||
cout << "((((allume))))\n";
|
||||
sleep(temps);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
IntelligentDigitalActuatorLED::IntelligentDigitalActuatorLED(int t):Device(),state(LOW),temps(t){
|
||||
// IntelligentDigitalActuatorLED //////////////////
|
||||
IntelligentDigitalActuatorLED::IntelligentDigitalActuatorLED(int t):DigitalDevice(t){
|
||||
}
|
||||
|
||||
void IntelligentDigitalActuatorLED::run(){
|
||||
|
@ -96,19 +101,23 @@ void I2CActuatorScreen::run(){
|
|||
}
|
||||
|
||||
|
||||
//ExternalDigDevice/////////////////////////
|
||||
|
||||
ExternalDigitalSensorButton::ExternalDigitalSensorButton(int temps):DigitalDevice(temps) {}
|
||||
|
||||
int ExternalDigitalSensorButton::getState(){
|
||||
setState(); //determine if on.txt exists before getting state
|
||||
return state;
|
||||
}
|
||||
|
||||
void ExternalDigitalSensorButton::setState() {
|
||||
if (ifstream("on.txt")){
|
||||
state = 1;
|
||||
} else {
|
||||
state = 0;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
ExternalDigitalSensorButton::ExternalDigitalSensorButton(int temps) {
|
||||
state = 0;
|
||||
this->temps = temps;
|
||||
}
|
||||
|
||||
void ExternalDigitalSensorButton::run() {
|
||||
while (1) {
|
||||
|
@ -116,3 +125,8 @@ void ExternalDigitalSensorButton::run() {
|
|||
sleep(temps);
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
56
mydevices.h
56
mydevices.h
|
@ -10,16 +10,36 @@
|
|||
|
||||
static int luminosite_environnement = 200;
|
||||
|
||||
class DigitalDevice : public Device {
|
||||
protected:
|
||||
int state;
|
||||
int temps;
|
||||
public:
|
||||
DigitalDevice(int temps);
|
||||
|
||||
|
||||
int getState() const;
|
||||
int getTemps() const;
|
||||
};
|
||||
|
||||
class AnalogDevice : public Device{
|
||||
protected:
|
||||
int val;
|
||||
// temps entre 2 prises de valeurs
|
||||
int temps;
|
||||
// valeur de temperature mesuree
|
||||
public:
|
||||
AnalogDevice(int val, int temps);
|
||||
|
||||
int getVal() const;
|
||||
int getTemps() const;
|
||||
};
|
||||
|
||||
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
|
||||
class AnalogSensorTemperature: public Device {
|
||||
class AnalogSensorTemperature: public AnalogDevice {
|
||||
private:
|
||||
// fait osciller la valeur du cpateur de 1
|
||||
int alea;
|
||||
// valeur de temperature mesuree
|
||||
int val;
|
||||
// temps entre 2 prises de valeurs
|
||||
int temps;
|
||||
|
||||
public:
|
||||
//constructeur ne pas oublier d'initialiser la classe mere
|
||||
|
@ -40,13 +60,6 @@ public:
|
|||
virtual void run();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// exemple d'actionneur digital : une led, ne pas oublier d'heriter de Device
|
||||
class DigitalActuatorLED: public Device {
|
||||
private:
|
||||
|
@ -64,13 +77,8 @@ public:
|
|||
|
||||
|
||||
|
||||
class IntelligentDigitalActuatorLED: public Device{
|
||||
private:
|
||||
// etat de la LED
|
||||
int state;
|
||||
// temps entre 2 affichage de l etat de la led
|
||||
int temps;
|
||||
|
||||
class IntelligentDigitalActuatorLED: public DigitalDevice{
|
||||
|
||||
public:
|
||||
// initialisation du temps de rafraichiisement
|
||||
IntelligentDigitalActuatorLED(int t);
|
||||
|
@ -94,14 +102,14 @@ public:
|
|||
virtual void run();
|
||||
};
|
||||
|
||||
class ExternalDigitalSensorButton : public Device{
|
||||
private:
|
||||
int state;
|
||||
int temps;
|
||||
class ExternalDigitalSensorButton : public DigitalDevice{
|
||||
public:
|
||||
ExternalDigitalSensorButton(int temps);
|
||||
virtual void run();
|
||||
|
||||
int getState();
|
||||
void setState();
|
||||
|
||||
virtual void run();
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue