Template for Collaboration

This commit is contained in:
Cameron Bray 2020-05-16 18:03:48 +02:00
parent 25d5cfe796
commit 354f1d0a14
10 changed files with 36 additions and 30 deletions

View file

@ -9,7 +9,7 @@ AnalogSensorLuminosity::AnalogSensorLuminosity(int temps):AnalogDevice(200, temp
void AnalogSensorLuminosity::run(){ void AnalogSensorLuminosity::run(){
while(1){ while(1){
val = luminosite_environnement; val = Board::luminosite_environnement;
if(ptrmem!=NULL){ if(ptrmem!=NULL){
*ptrmem = val; *ptrmem = val;
} }

View file

@ -5,7 +5,7 @@
#include "../../../include/DigitalDevices/DigitalActuators/IntelligentDigitalActuatorLED.h" #include "../../../include/DigitalDevices/DigitalActuators/IntelligentDigitalActuatorLED.h"
// IntelligentDigitalActuatorLED ////////////////// // IntelligentDigitalActuatorLED //////////////////
IntelligentDigitalActuatorLED::IntelligentDigitalActuatorLED(int t):DigitalDevice(t){} IntelligentDigitalActuatorLED::IntelligentDigitalActuatorLED(int t):DigitalActuator(t){}
void IntelligentDigitalActuatorLED::run(){ void IntelligentDigitalActuatorLED::run(){
int previousState = LOW; //initialisee a eteint int previousState = LOW; //initialisee a eteint
@ -13,17 +13,17 @@ void IntelligentDigitalActuatorLED::run(){
if(ptrmem!=NULL) { if(ptrmem!=NULL) {
state = *ptrmem; state = *ptrmem;
if (state == LOW) { if (state == LOW) {
cout << "((((eteint))))\n";
if (state != previousState) { if (state != previousState) {
luminosite_environnement -= 50; cout << "((((eteint))))\n";
Board::luminosite_environnement -= 50;
previousState = state;
} }
previousState = state;
} else { //state == HIGH } else { //state == HIGH
cout << "((((allume))))\n";
if (state != previousState) { if (state != previousState) {
luminosite_environnement += 50; cout << "((((allume))))\n";
Board::luminosite_environnement += 50;
previousState = state;
} }
previousState = state;
} }
} }
sleep(temps); sleep(temps);

View file

@ -14,7 +14,7 @@ int ExternalDigitalSensorButton::getState(){
} }
void ExternalDigitalSensorButton::setState() { void ExternalDigitalSensorButton::setState() {
if (ifstream("D:\\Documents\\Etudes\\INSA\\4A\\BECpp\\Projet_VictorAvecUnK\\src\\on.txt")){ if (ifstream ("D:\\Documents\\Etudes\\INSA\\4A\\BECpp\\Projet_VictorAvecUnK\\src\\on.txt")){
state = HIGH; state = HIGH;
} else { } else {
state = LOW; state = LOW;

View file

@ -89,6 +89,7 @@ bool* I2C::getVide(int addr){
} }
// classe generique reprenstant un capteur/actionneur // classe generique reprenstant un capteur/actionneur
int Board::luminosite_environnement = 200;
Device::Device(){ Device::Device(){
ptrtype=NULL; ptrtype=NULL;
ptrmem=NULL; ptrmem=NULL;

View file

@ -67,6 +67,7 @@ public:
// representation generique d'un capteur ou d'un actionneur numerique, analogique ou sur le bue I2C // representation generique d'un capteur ou d'un actionneur numerique, analogique ou sur le bue I2C
class Device{ class Device{
protected: protected:
// lien avec la carte pour lire/ecrire une valeur // lien avec la carte pour lire/ecrire une valeur
unsigned short *ptrmem; unsigned short *ptrmem;
@ -90,6 +91,7 @@ public:
// classe representant une carte arduino // classe representant une carte arduino
class Board{ class Board{
public: public:
static int luminosite_environnement;
// valeur sur les pin // valeur sur les pin
unsigned short io[MAX_IO_PIN]; unsigned short io[MAX_IO_PIN];
// pin d'entree ou de sortie // pin d'entree ou de sortie

View file

@ -14,7 +14,7 @@
#include "../DigitalDevice.h" #include "../DigitalDevice.h"
class IntelligentDigitalActuatorLED: public DigitalDevice{ class IntelligentDigitalActuatorLED: public DigitalActuator{
public: public:
// initialisation du temps de rafraichiisement // initialisation du temps de rafraichiisement

View file

@ -1,8 +1,11 @@
#include "mydevices.h" #include "mydevices.h"
//int luminosite_environnement = 200;
using namespace std; using namespace std;
// classe I2CActuatorScreen // classe I2CActuatorScreen
I2CActuatorScreen::I2CActuatorScreen ():Device(){} I2CActuatorScreen::I2CActuatorScreen ():Device(){}

View file

@ -8,7 +8,6 @@
#include <fstream> #include <fstream>
#include "core_simulation.h" #include "core_simulation.h"
static int luminosite_environnement = 200;
// exemple d'actionneur sur le bus I2C permettant d'echanger des tableaux de caracteres : un ecran, ne pas oublier d'heriter de Device // exemple d'actionneur sur le bus I2C permettant d'echanger des tableaux de caracteres : un ecran, ne pas oublier d'heriter de Device
class I2CActuatorScreen : public Device{ class I2CActuatorScreen : public Device{
protected: protected:

View file

View file

@ -21,26 +21,27 @@ void Board::loop(){
static int bascule=0; static int bascule=0;
int i=0; int i=0;
for(i=0;i<10;i++){ for(i=0;i<10;i++){
// lecture sur la pin 1 : capteur de temperature if (i%3==0) {
val1=analogRead(1); // lecture sur la pin 1 : capteur de temperature
sprintf(buf,"temperature %d",val1); val1 = analogRead(1);
Serial.println(buf); sprintf(buf, "temperature %d", val1);
Serial.println(buf);
// lecture sur la pin 2 : capteur de temperature // lecture sur la pin 2 : capteur de temperature
val=analogRead(2); val = analogRead(2);
sprintf(buf,"luminosite %d",val); sprintf(buf, "luminosite %d", val);
Serial.println(buf); Serial.println(buf);
}
if(cpt%5==0){
// tous les 5 fois on affiche sur l ecran la temperature
sprintf(buf,"%d",val1);
bus.write(1,buf,100);
if(cpt%5==0){ }
// tous les 5 fois on affiche sur l ecran la temperature cpt++;
sprintf(buf,"%d",val1); sleep(1);
bus.write(1,buf,100);
}
cpt++;
sleep(1);
} }
// on eteint et on allume la LED // on eteint et on allume la LED
if(analogRead(4)) if(analogRead(4))