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;
|
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
|
//classe AnalogSensorTemperature
|
||||||
AnalogSensorTemperature::AnalogSensorTemperature(int d,int t):Device(),val(t),temps(d){
|
AnalogSensorTemperature::AnalogSensorTemperature(int val,int temps):AnalogDevice(val,temps){
|
||||||
alea=1;
|
alea=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,26 +56,8 @@ void AnalogSensorLuminosity::run(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IntelligentDigitalActuatorLED //////////////////
|
||||||
//classe DigitalActuatorLED
|
IntelligentDigitalActuatorLED::IntelligentDigitalActuatorLED(int t):DigitalDevice(t){
|
||||||
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){
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IntelligentDigitalActuatorLED::run(){
|
void IntelligentDigitalActuatorLED::run(){
|
||||||
|
@ -96,19 +101,23 @@ void I2CActuatorScreen::run(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//ExternalDigDevice/////////////////////////
|
||||||
|
|
||||||
|
ExternalDigitalSensorButton::ExternalDigitalSensorButton(int temps):DigitalDevice(temps) {}
|
||||||
|
|
||||||
int ExternalDigitalSensorButton::getState(){
|
int ExternalDigitalSensorButton::getState(){
|
||||||
|
setState(); //determine if on.txt exists before getting state
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ExternalDigitalSensorButton::setState() {
|
||||||
if (ifstream("on.txt")){
|
if (ifstream("on.txt")){
|
||||||
state = 1;
|
state = 1;
|
||||||
} else {
|
} else {
|
||||||
state = 0;
|
state = 0;
|
||||||
}
|
}
|
||||||
return state;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExternalDigitalSensorButton::ExternalDigitalSensorButton(int temps) {
|
|
||||||
state = 0;
|
|
||||||
this->temps = temps;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExternalDigitalSensorButton::run() {
|
void ExternalDigitalSensorButton::run() {
|
||||||
while (1) {
|
while (1) {
|
||||||
|
@ -116,3 +125,8 @@ void ExternalDigitalSensorButton::run() {
|
||||||
sleep(temps);
|
sleep(temps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
56
mydevices.h
56
mydevices.h
|
@ -10,16 +10,36 @@
|
||||||
|
|
||||||
static int luminosite_environnement = 200;
|
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
|
// exemple de capteur analogique de temperature, ne pas oublier d'heriter de Device
|
||||||
class AnalogSensorTemperature: public Device {
|
class AnalogSensorTemperature: public AnalogDevice {
|
||||||
private:
|
private:
|
||||||
// fait osciller la valeur du cpateur de 1
|
// fait osciller la valeur du cpateur de 1
|
||||||
int alea;
|
int alea;
|
||||||
// valeur de temperature mesuree
|
|
||||||
int val;
|
|
||||||
// temps entre 2 prises de valeurs
|
|
||||||
int temps;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//constructeur ne pas oublier d'initialiser la classe mere
|
//constructeur ne pas oublier d'initialiser la classe mere
|
||||||
|
@ -40,13 +60,6 @@ public:
|
||||||
virtual void run();
|
virtual void run();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// exemple d'actionneur digital : une led, ne pas oublier d'heriter de Device
|
// exemple d'actionneur digital : une led, ne pas oublier d'heriter de Device
|
||||||
class DigitalActuatorLED: public Device {
|
class DigitalActuatorLED: public Device {
|
||||||
private:
|
private:
|
||||||
|
@ -64,13 +77,8 @@ public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class IntelligentDigitalActuatorLED: public Device{
|
class IntelligentDigitalActuatorLED: public DigitalDevice{
|
||||||
private:
|
|
||||||
// etat de la LED
|
|
||||||
int state;
|
|
||||||
// temps entre 2 affichage de l etat de la led
|
|
||||||
int temps;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// initialisation du temps de rafraichiisement
|
// initialisation du temps de rafraichiisement
|
||||||
IntelligentDigitalActuatorLED(int t);
|
IntelligentDigitalActuatorLED(int t);
|
||||||
|
@ -94,14 +102,14 @@ public:
|
||||||
virtual void run();
|
virtual void run();
|
||||||
};
|
};
|
||||||
|
|
||||||
class ExternalDigitalSensorButton : public Device{
|
class ExternalDigitalSensorButton : public DigitalDevice{
|
||||||
private:
|
|
||||||
int state;
|
|
||||||
int temps;
|
|
||||||
public:
|
public:
|
||||||
ExternalDigitalSensorButton(int temps);
|
ExternalDigitalSensorButton(int temps);
|
||||||
virtual void run();
|
|
||||||
int getState();
|
int getState();
|
||||||
|
void setState();
|
||||||
|
|
||||||
|
virtual void run();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue