Projet

Général

Profil

« Précédent | Suivant » 

Révision 187

Ajouté par Mafall FALL il y a environ 3 ans

Voir les différences:

branche/Mafall_FALL/sp4a12/main.c
"$GPGSA,A,3,,03,,22,14,,01,,18,,,,3.9,3.4,1.9*39",
"$GPVTG,99.4,T,,M,0.4,N,0.7,K*57",
"$GPZDA,141914.00,01,02,2006,00,00*69",
0};
0};
//Fonction ? modifier !!!!!
void traitement(char * trame)
{
static int cpt=0;
cpt++;
printf ("> %s\n",trames[4]);
}
int trame_cmp(char* trame, char* type)
int trame_cmp(char*trame, char*type)
{
int a=1; // permet de valider si le debut de la trame est conforme avec le type .
int i=1;;// varaiables pour parcourir les tableaux
while ( a==1 && (&type[i])!=0)
int i=1;
int verif=1;
while((verif==1) && (type[i-1] != '\0'))
{
if ( (&trame[i])!=&type[i-1])/********/
if (trame[i]!=type[i-1])
{
a=0;
printf("a= %d",a);
printf("le trame ne commence pas par ce type \n");
}else
{
verif=0;
}
i++;
}
}
if (a==1)
{
return verif;
}
printf("a= %d",a);
printf("Le Trame copmmence par le type donn? \n");
}
int decode_int(char c) // declaration de la fonction qui renvoie le nombre associ? au caractere
{
int i=0;
i=c-'0';
return i;
}
int decode_nombre(char * ch, int n) // fonction qui recupere les n premiers chiffres d'une chaine
{
int i; // pour parcourir les caract?res
int somme=0 ;// contient le nombre d?cod?
for (i=0;i<n;i++)
{
somme=(somme*10) + decode_int(ch[i]);
}
return somme;
}
decode_trame() // decode les coordonn?es du tram
{
}
//Fonction ? modifier !!!!!
void traitement(char * trame)
{
char * type[] = {"$GPGSV","$GPGSV", "$GPRMC","$GPGLL","$GPGGA","$GPGSA ","$GPVTG" ,"$GPZDA",0};
int result=0;
int i=0;
while (trames[i] && type[i])
result = trame_cmp (&trames[i++], &type[i++]);
//Ajouter vos tests unitaires dans cette fonction.
void tests_unitaires(void){
if ( decode_nombre("3103", 2)!= 31){
printf("Erreur Test unitaire decode_nombre.\n");
exit(-1);
}
static int cpt=0;
cpt++;
printf ("> %s\n",trame);
}
//Ajouter vos tests unitaires dans cette fonction.
void tests_unitaires(void){
if ( decode_int('1')!= 1){
printf("Erreur Test unitaire decode_int.\n");
exit(-1);
}
if (5!=5){
printf ("Erreur Test unitaire basique.\n");
exit(-1);
}
}
if (trame_cmp("$GPGSV suite chaine","GPGSV")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$GPRMC suite chaine","GPRMC")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$GPGLL suite chaine","GPGLL")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$GPGGA suite chaine","GPGGA")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$GPRMC suite chaine","GPGGA")!=0){
printf ("Erreur Test unitaire trame_cmp.\n");
if (trame_cmp("$GPGSA suite chaine","GPGSA")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$GPRMC... ", "GPRMC" )!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
if (trame_cmp("$GPVTG suite chaine","GPVTG")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
if (trame_cmp("$APRMC...", "GPGGA")!=0){
printf ("Erreur Test unitaire trame_cmp.\n");
if (trame_cmp("$GPZDA suite chaine","GPZDA")!=1){
printf ("Erreur Test unitaire trame_cmp.\n");
exit(-1);
}
}
}
// Ne pas modifier cette fonction
int main(int argc,char ** argv)
{

Formats disponibles : Unified diff