Esempio n. 1
0
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);
}
Esempio n. 2
0
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);    
}
Esempio n. 4
0
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;
    }
}
Esempio n. 6
0
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);
}
Esempio n. 7
0
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;
}