Expulsion des balles une par une.
This commit is contained in:
parent
7ac7b653d6
commit
0b8b32a494
23
Strategie.c
23
Strategie.c
@ -140,6 +140,7 @@ void Homologation(uint32_t step_ms){
|
|||||||
enum etat_action_t lance_balles(uint32_t step_ms){
|
enum etat_action_t lance_balles(uint32_t step_ms){
|
||||||
enum etat_action_t etat_action = ACTION_EN_COURS;
|
enum etat_action_t etat_action = ACTION_EN_COURS;
|
||||||
static uint32_t tempo_ms;
|
static uint32_t tempo_ms;
|
||||||
|
static uint32_t nb_iteration;
|
||||||
|
|
||||||
static enum{
|
static enum{
|
||||||
LANCE_PROPULSEUR_ON,
|
LANCE_PROPULSEUR_ON,
|
||||||
@ -151,14 +152,24 @@ enum etat_action_t lance_balles(uint32_t step_ms){
|
|||||||
case LANCE_PROPULSEUR_ON:
|
case LANCE_PROPULSEUR_ON:
|
||||||
i2c_annexe_active_propulseur();
|
i2c_annexe_active_propulseur();
|
||||||
tempo_ms = 1000;
|
tempo_ms = 1000;
|
||||||
|
nb_iteration=0;
|
||||||
etat_lance_balle = LANCE_TEMPO_PROP_ON;
|
etat_lance_balle = LANCE_TEMPO_PROP_ON;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LANCE_TEMPO_PROP_ON:
|
case LANCE_TEMPO_PROP_ON:
|
||||||
if (tempo_ms < step_ms){
|
if (tempo_ms < step_ms){
|
||||||
etat_lance_balle = LANCE_PORTE_OUVERTE;
|
nb_iteration++;
|
||||||
|
if(nb_iteration > 10){
|
||||||
|
etat_action = ACTION_TERMINEE;
|
||||||
|
etat_lance_balle = LANCE_PROPULSEUR_ON;
|
||||||
|
i2c_annexe_desactive_propulseur();
|
||||||
|
}else{
|
||||||
|
etat_lance_balle = LANCE_PORTE_OUVERTE;
|
||||||
|
tempo_ms = 300;
|
||||||
|
}
|
||||||
|
|
||||||
i2c_annexe_ouvre_porte();
|
i2c_annexe_ouvre_porte();
|
||||||
tempo_ms = 6000;
|
|
||||||
}else{
|
}else{
|
||||||
tempo_ms -= step_ms;
|
tempo_ms -= step_ms;
|
||||||
}
|
}
|
||||||
@ -166,13 +177,15 @@ enum etat_action_t lance_balles(uint32_t step_ms){
|
|||||||
|
|
||||||
case LANCE_PORTE_OUVERTE:
|
case LANCE_PORTE_OUVERTE:
|
||||||
if (tempo_ms < step_ms){
|
if (tempo_ms < step_ms){
|
||||||
etat_lance_balle = LANCE_PROPULSEUR_ON;
|
i2c_annexe_ferme_porte();
|
||||||
i2c_annexe_desactive_propulseur();
|
etat_lance_balle = LANCE_TEMPO_PROP_ON;
|
||||||
etat_action = ACTION_TERMINEE;
|
tempo_ms = 450;
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
tempo_ms -= step_ms;
|
tempo_ms -= step_ms;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
return etat_action;
|
return etat_action;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user