Fonction pour lancer les cerises revue, envoie des cerises une à une

This commit is contained in:
Samuel 2023-04-24 22:43:21 +02:00
parent ee53e6f5f9
commit 19834f0111

View File

@ -146,6 +146,7 @@ enum etat_action_t lance_balles(uint32_t step_ms){
LANCE_PROPULSEUR_ON, LANCE_PROPULSEUR_ON,
LANCE_TEMPO_PROP_ON, LANCE_TEMPO_PROP_ON,
LANCE_PORTE_OUVERTE, LANCE_PORTE_OUVERTE,
LANCE_OUVERTURE_INITIALE,
} etat_lance_balle = LANCE_PROPULSEUR_ON; } etat_lance_balle = LANCE_PROPULSEUR_ON;
switch(etat_lance_balle){ switch(etat_lance_balle){
@ -153,36 +154,38 @@ enum etat_action_t lance_balles(uint32_t step_ms){
i2c_annexe_active_propulseur(); i2c_annexe_active_propulseur();
tempo_ms = 1000; tempo_ms = 1000;
nb_iteration=0; nb_iteration=0;
etat_lance_balle = LANCE_TEMPO_PROP_ON; etat_lance_balle = LANCE_OUVERTURE_INITIALE;
break;
case LANCE_OUVERTURE_INITIALE:
if(temporisation_terminee(&tempo_ms, step_ms)){
i2c_annexe_ouvre_porte();
etat_lance_balle = LANCE_PORTE_OUVERTE;
tempo_ms = 250;
}
break; break;
case LANCE_TEMPO_PROP_ON: case LANCE_TEMPO_PROP_ON:
if (tempo_ms < step_ms){ if(temporisation_terminee(&tempo_ms, step_ms)){
i2c_annexe_ouvre_porte();
nb_iteration++; nb_iteration++;
if(nb_iteration > 10){ if(nb_iteration > 10){
nb_iteration=0;
etat_action = ACTION_TERMINEE; etat_action = ACTION_TERMINEE;
etat_lance_balle = LANCE_PROPULSEUR_ON; etat_lance_balle = LANCE_PROPULSEUR_ON;
i2c_annexe_desactive_propulseur(); i2c_annexe_desactive_propulseur();
}else{ }else{
etat_lance_balle = LANCE_PORTE_OUVERTE; etat_lance_balle = LANCE_PORTE_OUVERTE;
tempo_ms = 300; tempo_ms = 150;
} }
i2c_annexe_ouvre_porte();
}else{
tempo_ms -= step_ms;
} }
break; break;
case LANCE_PORTE_OUVERTE: case LANCE_PORTE_OUVERTE:
if (tempo_ms < step_ms){ if(temporisation_terminee(&tempo_ms, step_ms)){
i2c_annexe_ferme_porte(); i2c_annexe_mi_ferme_porte();
etat_lance_balle = LANCE_TEMPO_PROP_ON; etat_lance_balle = LANCE_TEMPO_PROP_ON;
tempo_ms = 450; tempo_ms = 500;
}else{
tempo_ms -= step_ms;
} }
break; break;