Révision 187
Ajouté par Mafall FALL il y a environ 3 ans
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