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
- Committer:
- chevamax
- Date:
- 2017-04-01
- Revision:
- 17:cce0eada6d82
- Parent:
- 15:79a78f997f18
File content as of revision 17:cce0eada6d82:
#include "mbed.h" #include "ordre.h" #include "debug.h" #define TEMPS_ATTENTE_REMPLISSAGE 10 char getiemebit1(char c, int i) { return ((c>>(7-i)) & 1); } Ordre::Ordre(char* trameRecu){ idEmetteur = trameRecu[1]; idRecepteur = trameRecu[0]; niveauCuve = trameRecu[2]>>3; ordreAFaire = (trameRecu[2]&0x4)>>2; /*debug("idEmetteur = "); for(int i=0; i < 8; i++){ if(getiemebit1(trameRecu[1], i)){ debug("1"); } else{ debug("0"); } } debug("\r\n idRecepteur = "); for(int i=0; i < 8; i++){ if(getiemebit1(trameRecu[0], i)){ debug("1"); } else{ debug("0"); } } debug("\r\n niveauCuve = "); for(int i=0; i < 8; i++){ if(getiemebit1(niveauCuve, i)){ debug("1"); } else{ debug("0"); } } debug("\r\n ordreAfaire = "); for(int i=0; i < 8; i++){ if(getiemebit1(ordreAFaire, i)){ debug("1"); } else{ debug("0"); } } debug("\r\n");*/ } void Ordre::executerOrdre(Pompe p, Niveau n, char niveauCible){ //TODO debug("Execution de l'ordre 10s \r\n"); //wait(10); if(n.getNiveauCuve() < niveauCible){ p.activerPompe(); } while(n.getNiveauCuve() < niveauCible){ wait(TEMPS_ATTENTE_REMPLISSAGE); } p.arreterPompe(); debug("Fin execution ordre\r\n"); } char Ordre::getIdEmetteur(){ return idEmetteur; } char Ordre::getIdRecepteur(){ return idRecepteur; } char Ordre::getNiveauCuve(){ return niveauCuve; } char Ordre::getOrdreAFaire(){ return ordreAFaire; }