From 8600c09ba22dbf9a8160900398d600ae2e52e406 Mon Sep 17 00:00:00 2001 From: bray Date: Fri, 22 May 2020 15:43:33 +0200 Subject: [PATCH] I2C reorganisation delete devices.cpp on est des genies --- OtherDevices/I2CDevices/Keyboard.cpp | 5 ++++ OtherDevices/I2CDevices/Screen.cpp | 21 ++++++++++++++++ board.cpp | 4 +-- include/AnalogDevices/AnalogDevice.h | 5 +++- include/DigitalDevices/DigitalDevice.h | 5 +++- include/I2CDevices/Keyboard.h | 14 +++++++++++ include/I2CDevices/Screen.h | 25 ++++++++++++++++++ mydevices.cpp | 35 -------------------------- mydevices.h | 24 ------------------ sketch_ino.cpp | 7 ++---- 10 files changed, 77 insertions(+), 68 deletions(-) create mode 100644 OtherDevices/I2CDevices/Keyboard.cpp create mode 100644 OtherDevices/I2CDevices/Screen.cpp create mode 100644 include/I2CDevices/Keyboard.h create mode 100644 include/I2CDevices/Screen.h delete mode 100644 mydevices.cpp delete mode 100644 mydevices.h diff --git a/OtherDevices/I2CDevices/Keyboard.cpp b/OtherDevices/I2CDevices/Keyboard.cpp new file mode 100644 index 0000000..192888a --- /dev/null +++ b/OtherDevices/I2CDevices/Keyboard.cpp @@ -0,0 +1,5 @@ +// +// Created by camer on 22/05/2020. +// + +#include "../../include/I2CDevices/Keyboard.h" diff --git a/OtherDevices/I2CDevices/Screen.cpp b/OtherDevices/I2CDevices/Screen.cpp new file mode 100644 index 0000000..b0f4fad --- /dev/null +++ b/OtherDevices/I2CDevices/Screen.cpp @@ -0,0 +1,21 @@ +// +// Created by camer on 22/05/2020. +// + +#include "../../include/I2CDevices/Screen.h" +using namespace std; + + + +// classe I2CActuatorScreen +Screen::Screen ():Device(){} + +void Screen::run(){ + while(1){ + if ( (i2cbus!=NULL)&&!(i2cbus->isEmptyRegister(i2caddr))){ + Device::i2cbus->requestFrom(i2caddr, buf, I2C_BUFFER_SIZE); + cout << "---screen :"<< buf << endl; + } + sleep(1); + } +} \ No newline at end of file diff --git a/board.cpp b/board.cpp index 7512bd2..661026a 100644 --- a/board.cpp +++ b/board.cpp @@ -1,5 +1,4 @@ #include "core_simulation.h" -#include "mydevices.h" #include "include/AnalogDevices/AnalogSensors/AnalogSensorTemperature.h" #include "include/DigitalDevices/DigitalActuators/IntelligentDigitalActuatorLED.h" #include "include/AnalogDevices/AnalogSensors/AnalogSensorLuminosity.h" @@ -7,6 +6,7 @@ #include "include/AnalogDevices/AnalogSensors/AnalogSensorManometre.h" #include "include/DigitalDevices/DigitalActuators/DigitalActuatorRadiator.h" #include "include/DigitalDevices/DigitalActuators/DigitalActuatorElectrovanne.h" +#include "include/I2CDevices/Screen.h" int main(){ // creation d'une board @@ -15,7 +15,7 @@ int main(){ AnalogSensorTemperature temperature(TEMP,DELAY); //DigitalActuatorLED led1(DELAY); IntelligentDigitalActuatorLED led1(DELAY); - I2CActuatorScreen screen; + Screen screen; AnalogSensorLuminosity luminosite(DELAY); ExternalDigitalSensorButton button(DELAY); AnalogSensorManometre manometre(PRESSURE,DELAY); diff --git a/include/AnalogDevices/AnalogDevice.h b/include/AnalogDevices/AnalogDevice.h index 82182c1..42615fc 100644 --- a/include/AnalogDevices/AnalogDevice.h +++ b/include/AnalogDevices/AnalogDevice.h @@ -2,7 +2,10 @@ // Created by camer on 16/05/2020. // #include "../../core_simulation.h" -#include "../../mydevices.h" +#include +#include +#include +#include #ifndef PROJET_VICTORAVECUNK_ANALOGDEVICE_H #define PROJET_VICTORAVECUNK_ANALOGDEVICE_H diff --git a/include/DigitalDevices/DigitalDevice.h b/include/DigitalDevices/DigitalDevice.h index 7a69033..2f38260 100644 --- a/include/DigitalDevices/DigitalDevice.h +++ b/include/DigitalDevices/DigitalDevice.h @@ -7,7 +7,10 @@ #include "../../core_simulation.h" -#include "../../mydevices.h" +#include +#include +#include +#include class DigitalDevice : public Device { protected: diff --git a/include/I2CDevices/Keyboard.h b/include/I2CDevices/Keyboard.h new file mode 100644 index 0000000..889b556 --- /dev/null +++ b/include/I2CDevices/Keyboard.h @@ -0,0 +1,14 @@ +// +// Created by camer on 22/05/2020. +// + +#ifndef PROJET_VICTORAVECUNK_KEYBOARD_H +#define PROJET_VICTORAVECUNK_KEYBOARD_H + + +class Keyboard { + +}; + + +#endif //PROJET_VICTORAVECUNK_KEYBOARD_H diff --git a/include/I2CDevices/Screen.h b/include/I2CDevices/Screen.h new file mode 100644 index 0000000..2f5d3ac --- /dev/null +++ b/include/I2CDevices/Screen.h @@ -0,0 +1,25 @@ +// +// Created by camer on 22/05/2020. +// + +#ifndef PROJET_VICTORAVECUNK_SCREEN_H +#define PROJET_VICTORAVECUNK_SCREEN_H + + +#include "../../core_simulation.h" +#include + +class Screen : public Device{ +protected: + // memorise l'affichage de l'ecran + char buf[I2C_BUFFER_SIZE]; + +public: + // constructeur + Screen (); + // thread representant le capteur et permettant de fonctionner independamment de la board + virtual void run(); +}; + + +#endif //PROJET_VICTORAVECUNK_SCREEN_H diff --git a/mydevices.cpp b/mydevices.cpp deleted file mode 100644 index 3c372d1..0000000 --- a/mydevices.cpp +++ /dev/null @@ -1,35 +0,0 @@ - -#include "mydevices.h" - - -using namespace std; - - - -// classe I2CActuatorScreen -I2CActuatorScreen::I2CActuatorScreen ():Device(){} - -void I2CActuatorScreen::run(){ - while(1){ - if ( (i2cbus!=NULL)&&!(i2cbus->isEmptyRegister(i2caddr))){ - Device::i2cbus->requestFrom(i2caddr, buf, I2C_BUFFER_SIZE); - cout << "---screen :"<< buf << endl; - } - sleep(1); - } -} - - -//TODO Capteur de temperature a revoir avec conditions -//TODO Electrovanne / moteur (a voir food) -//TODO Radiateur rechauffer terrarium -//TODO PHmetre pour qualite de l'eau -//TODO regarder les manometre -//TODO Electrovanne pour remplir la piscine - -//TODO Ecran d'affichage avec infos de temps, derniere bouffe, infos sur tortues -//TODO Bouton pour sauter prochaine bouffe (I2C) - - - - diff --git a/mydevices.h b/mydevices.h deleted file mode 100644 index be9ef7f..0000000 --- a/mydevices.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef MYDEVICES_H -#define MYDEVICES_H - -#include -#include -#include -#include -#include -#include "core_simulation.h" - -// 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{ -protected: - // memorise l'affichage de l'ecran - char buf[I2C_BUFFER_SIZE]; - -public: - // constructeur - I2CActuatorScreen (); - // thread representant le capteur et permettant de fonctionner independamment de la board - virtual void run(); -}; -//class ExternalDigitalSensorButton: public Device -#endif diff --git a/sketch_ino.cpp b/sketch_ino.cpp index c504190..a8c058d 100644 --- a/sketch_ino.cpp +++ b/sketch_ino.cpp @@ -30,8 +30,6 @@ void Board::setup(){ // la boucle de controle arduino void Board::loop(){ char buf[100]; - int val; - int val1; static int cpt=0; static int bascule=0; int i=0; @@ -73,10 +71,9 @@ void Board::loop(){ // if(cpt%5==0){ // tous les 5 fois on affiche sur l ecran la temperature - sprintf(buf,"%d",val1); + sprintf(buf,"%f",temperature.getValue()); bus.write(1,buf,100); - - + //bus.requestFrom(1,buf,100); // } cpt++; sleep(1);