Polytech school project. RICM4 students, see http://air.imag.fr/index.php/Projets-2016-2017-Station_de_pompage_connect%C3%A9e for more information
Dependencies: SX1272Lib mbed WakeUp
Fork of SX1272PingPong by
ordre.cpp
00001 #include "mbed.h" 00002 #include "ordre.h" 00003 #include "debug.h" 00004 00005 #define TEMPS_ATTENTE_REMPLISSAGE 10 00006 00007 char getiemebit1(char c, int i) 00008 { 00009 return ((c>>(7-i)) & 1); 00010 } 00011 00012 Ordre::Ordre(char* trameRecu){ 00013 idEmetteur = trameRecu[1]; 00014 idRecepteur = trameRecu[0]; 00015 niveauCuve = trameRecu[2]>>3; 00016 ordreAFaire = (trameRecu[2]&0x4)>>2; 00017 /*debug("idEmetteur = "); 00018 for(int i=0; i < 8; i++){ 00019 if(getiemebit1(trameRecu[1], i)){ 00020 debug("1"); 00021 } 00022 else{ 00023 debug("0"); 00024 } 00025 } 00026 debug("\r\n idRecepteur = "); 00027 for(int i=0; i < 8; i++){ 00028 if(getiemebit1(trameRecu[0], i)){ 00029 debug("1"); 00030 } 00031 else{ 00032 debug("0"); 00033 } 00034 } 00035 debug("\r\n niveauCuve = "); 00036 for(int i=0; i < 8; i++){ 00037 if(getiemebit1(niveauCuve, i)){ 00038 debug("1"); 00039 } 00040 else{ 00041 debug("0"); 00042 } 00043 } 00044 debug("\r\n ordreAfaire = "); 00045 for(int i=0; i < 8; i++){ 00046 if(getiemebit1(ordreAFaire, i)){ 00047 debug("1"); 00048 } 00049 else{ 00050 debug("0"); 00051 } 00052 } 00053 debug("\r\n");*/ 00054 } 00055 00056 void Ordre::executerOrdre(Pompe p, Niveau n, char niveauCible){ 00057 //TODO 00058 debug("Execution de l'ordre 10s \r\n"); 00059 //wait(10); 00060 if(n.getNiveauCuve() < niveauCible){ 00061 p.activerPompe(); 00062 } 00063 while(n.getNiveauCuve() < niveauCible){ 00064 wait(TEMPS_ATTENTE_REMPLISSAGE); 00065 } 00066 00067 p.arreterPompe(); 00068 debug("Fin execution ordre\r\n"); 00069 } 00070 00071 char Ordre::getIdEmetteur(){ 00072 return idEmetteur; 00073 } 00074 char Ordre::getIdRecepteur(){ 00075 return idRecepteur; 00076 } 00077 char Ordre::getNiveauCuve(){ 00078 return niveauCuve; 00079 } 00080 char Ordre::getOrdreAFaire(){ 00081 return ordreAFaire; 00082 }
Generated on Thu Jul 14 2022 10:55:31 by 1.7.2