diff --git a/Test_strategie.c b/Test_strategie.c index baefde7..850f12b 100644 --- a/Test_strategie.c +++ b/Test_strategie.c @@ -439,17 +439,45 @@ int test_accostage(){ int test_tirette_et_couleur(){ int lettre; uint couleur, tirette; + enum couleur_t couleur_old; + couleur_old = COULEUR_INCONNUE; printf("Tirette et couleur\n"); + i2c_maitre_init(); stdio_flush(); + tirette= attente_tirette(); do{ + i2c_gestion(i2c0); + i2c_annexe_gestion(); + printf(">tirette:%d\n", attente_tirette()); if(lire_couleur() == COULEUR_VERT){ printf(">couleur:Vert|t\n"); }else{ printf(">couleur:Bleu|t\n"); } + + if(attente_tirette()){ + if(couleur_old != lire_couleur() || tirette != attente_tirette()){ + tirette = attente_tirette(); + couleur_old = lire_couleur(); + if(couleur_old == COULEUR_VERT){ + // Tout vert + i2c_annexe_couleur_balise(0b00011100, 0x0FFF); + }else{ + // Tout bleu + i2c_annexe_couleur_balise(0b00000011, 0x0FFF); + } + } + }else{ + if(tirette != attente_tirette()){ + tirette = attente_tirette(); + // Tout libre + i2c_annexe_couleur_balise(0, 0x00); + } + } + sleep_ms(10); lettre = getchar_timeout_us(0);