Classes et code de la partie pompe du Robot 2021
Dependencies: mbed ident_crac
Diff: bloc_monopompe.cpp
- Revision:
- 4:4bae30d48662
- Parent:
- 0:253443d82cba
- Child:
- 5:88ab89ab12ad
- Child:
- 6:b06c430a7e14
--- a/bloc_monopompe.cpp Fri Jan 15 07:59:57 2021 +0000 +++ b/bloc_monopompe.cpp Mon Jan 18 15:24:35 2021 +0000 @@ -6,7 +6,7 @@ _pompe.period_us(20) ; } -bool bloc_monopompe::aspirer (void) +void bloc_monopompe::aspirer (void) { _pompe = PWM_POMPE ; _electrovanne = ELEC_OUVERTE ; @@ -26,12 +26,10 @@ _electrovanne = ELEC_OUVERTE ; _gobelet_en_place = 0 ; } - return _gobelet_en_place ; } - } -bool bloc_monopompe::relacher (void) +void bloc_monopompe::relacher (void) { _electrovanne = ELEC_OUVERTE ; wait_ms(100) ; @@ -39,16 +37,36 @@ _gobelet_en_place = 1 ; else _gobelet_en_place = 0 ; - - return _gobelet_en_place ; } -bool bloc_monopompe::possession (void) +char bloc_monopompe::etat_actuel (void) { - if(_capteur.read() >= SEUIL_CPT) + char etat_groupe = 0 ; + bool etat_pompe; + bool etat_electrovanne ; + + if(_pompe.read() != 0) //test de la pompe + etat_pompe = 1 ; + else + etat_pompe = 0 ; + + if(_capteur.read() >= SEUIL_CPT) //test du capteur _gobelet_en_place = 1 ; else _gobelet_en_place = 0 ; - return _gobelet_en_place ; + if(_electrovanne.read()) //test de l'electrovanne + etat_pompe = 1 ; + else + etat_pompe = 0 ; + + // contenue du char : (cela evite l'utilisation de pointeurs (car on a la flemme)) + //0000 0 "bit pompe" "bit elec" "bit cpt" + return etat_groupe = (etat_pompe << 2) + (etat_electrovanne << 1) + _gobelet_en_place ; +} + +void bloc_monopompe::stop_pompe (void) +{ + _pompe = PWM_STOP_POMPE ; + _electrovanne = ELEC_OUVERTE ; } \ No newline at end of file