void testMorseDetecteImpulsionsET() { morseReinitialise(); fileReinitialise(); morseEnfoncePioche(); attendTicTac(1); morseLiberePioche(); testeEgaliteChars("MDIET01", fileDefile(), CARACTERE_POINT); attendTicTac(MORSE_MIN_DUREE_PAUSE); testeEgaliteChars("MDIET02", fileDefile(), CARACTERE_PAUSE); testeEgaliteChars("MDIET03", fileDefile(), 'E'); testeEgaliteChars("MDIET04", fileDefile(), '\r'); testeEgaliteChars("MDIET05", fileDefile(), '\n'); morseEnfoncePioche(); attendTicTac(MORSE_MAX_DUREE_POINT + 1); morseLiberePioche(); testeEgaliteChars("MDIET06", fileDefile(), CARACTERE_LIGNE); attendTicTac(MORSE_MIN_DUREE_PAUSE); testeEgaliteChars("MDIET07", fileDefile(), CARACTERE_PAUSE); testeEgaliteChars("MDIET08", fileDefile(), 'T'); testeEgaliteChars("MDIET09", fileDefile(), '\r'); testeEgaliteChars("MDIET10", fileDefile(), '\n'); attendTicTac(MORSE_MIN_DUREE_PAUSE); testeEgaliteEntiers("MDIET11", fileEstVide(), 255); attendTicTac(MORSE_MIN_DUREE_PAUSE * 2); testeEgaliteEntiers("MDIET12", fileEstVide(), 255); }
void testMorseIgnorePauseInitiale() { morseReinitialise(); fileReinitialise(); attendTicTac(MORSE_MIN_DUREE_PAUSE); testeEgaliteEntiers("IPI01", fileEstVide(), 255); attendTicTac(MORSE_MIN_DUREE_PAUSE); testeEgaliteEntiers("IPI02", fileEstVide(), 255); }
/** * Récupère un caractère de la file de réception. * Si la file de réception est vide, la méthode attend qu'un * caractère soit disponible. * @return Un caractère de la file de réception */ char uartGetch() { unsigned char n = 0; while(fileEstVide(&fileReception)) { n++; }; return fileDefile(&fileReception); }
void testEnfileEtDefile() { fileReinitialise(); testeEgaliteEntiers("FIL01", fileEstVide(), 255); testeEgaliteEntiers("FIL02", fileDefile(), 0); testeEgaliteEntiers("FIL03", fileDefile(), 0); fileEnfile(10); fileEnfile(20); testeEgaliteEntiers("FIL04", fileEstVide(), 0); testeEgaliteEntiers("FIL05", fileDefile(), 10); testeEgaliteEntiers("FIL06", fileDefile(), 20); testeEgaliteEntiers("FIL07", fileEstVide(), 255); testeEgaliteEntiers("FIL08", fileDefile(), 0); }
/** * Indique qu'il n'y a plus de caractères à transmettre. * @return 255 si il n'y a plus de caractères à transmettre. * @see uartTransmission */ unsigned char uartCaracteresDisponiblesPourTransmission() { if (fileEstVide(&fileTransmission)) { uartEtat = UART_TRANSMISSION_EN_REPOS; return 0; } else { return 255; } }
void testDebordePuisRecupereLesCaracteres() { fileReinitialise(); char c = 1; while(!fileEstPleine()) { fileEnfile(c++); } testeEgaliteEntiers("FDB001", fileDefile(), 1); testeEgaliteEntiers("FDB002", fileDefile(), 2); while(!fileEstVide()) { c = fileDefile(); } fileEnfile(1); // Ces caractères sont ignorés... fileEnfile(1); // ... car la file est pleine. testeEgaliteEntiers("FDB003", c, FILE_TAILLE); }
void parcourLarg(tGraphe graphe, tNomSommet som) { int nb_sommets; tNumeroSommet current; //tNomSommet destination; nb_sommets = grapheNbSommets(graphe); numerosParcourus = (tNumeroSommet*)malloc(nb_sommets*sizeof(tNumeroSommet)); numerosEnfiles = (tNumeroSommet*)malloc(nb_sommets*sizeof(tNumeroSommet)); current = grapheChercheSommetParNom(graphe, som); enfiler(current); while(!fileEstVide()){ int i, nb_successeurs; tNomSommet sommet; current = numerosEnfiles[enfilesIndex++]; grapheRecupNomSommet (graphe, current, sommet); printf(" %s ",sommet); if (grapheEstOriente(graphe)) { nb_successeurs = grapheNbSuccesseursSommet(graphe,current); for ( i = 0 ; i < nb_successeurs ; i++ ){ enfiler(grapheSuccesseurSommetNumero(graphe,current,i)); } } else { nb_successeurs = grapheNbVoisinsSommet(graphe,current); for ( i = 0 ; i < nb_successeurs ; i++ ){ enfiler(grapheVoisinSommetNumero(graphe,current,i)); } } } printf("\n"); free(numerosParcourus); free(numerosEnfiles); }
/** * @return 255 / -1 si il reste des données à émettre. */ unsigned char i2cDonneesDisponiblesPourEmission() { if (fileEstVide(&fileEmission)) { return 0; } return 255; }