Révision 293
Ajouté par ahkurklu il y a presque 4 ans
branch/KURKLU/sp4a12/main.c | ||
---|---|---|
float longitude;
|
||
}Position;
|
||
|
||
typedef struct t_zone{
|
||
Position rpos;
|
||
float vitmax;
|
||
} Zone;
|
||
|
||
//Trames de tests ? modifier si n?cessaire.
|
||
char * trames[]= {"$GPGSV,3,2,10,15,03,077,,18,04,041,42,19,85,271,,20,08,214,*7C",
|
||
... | ... | |
"$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};
|
||
|
||
Zone zones[]={{{44.7887762,-3.012},50},
|
||
{{44.7891220,-3.013},70},
|
||
{{45.7896227,-3.014},70},
|
||
{{45.8791420,-3.014},70},
|
||
{{46.2971220,-3.011},70}
|
||
};
|
||
|
||
|
||
int decode_int(char c);
|
||
int decode_trames(char * trame, Position * p);
|
||
|
||
... | ... | |
exit(-1);
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
int distance_a_la_proche_zone(Position p, Zone r[],int nb_zones,float * d){
|
||
int i,j;
|
||
if(nb_zones == 0){
|
||
return -1;
|
||
}
|
||
else {
|
||
*d = calcule_distance(p,r[0].rpos);
|
||
j=0;
|
||
for(i=1;i<nb_zones;i++){
|
||
if(calcule_distance(p,r[i].rpos)<*d){
|
||
*d= calcule_distance(p,r[i].rpos);
|
||
j=i;
|
||
}
|
||
}
|
||
return j;
|
||
}
|
||
|
||
}
|
||
|
||
void test_unitaire_distance_proche(void){
|
||
float d;
|
||
Position p ={44.7891220, -3.013};
|
||
if(distance_a_la_proche_zone(p,zones, 5,&d) != 1){
|
||
printf("Erreur test unitaire distance proche\n");
|
||
exit(-1);
|
||
}
|
||
|
||
p.latitude=46.2971220;
|
||
p.longitude=-3.011;
|
||
|
||
if(distance_a_la_proche_zone(p,zones, 5,&d) != 4){
|
||
printf("Erreur test unitaire distance proche\n");
|
||
exit(-1);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
//Ajouter vos tests unitaires dans cette fonction.
|
||
void tests_unitaires(void){
|
||
if (5!=5){
|
||
... | ... | |
test_unitaire_conversion_long_float();
|
||
test_unitaire_conversion_long_lat_float();
|
||
tests_unitaires_decode_tram();
|
||
tests_unitaires_distance();
|
||
tests_unitaires_distance();
|
||
test_unitaire_distance_proche();
|
||
}
|
||
|
||
|
Formats disponibles : Unified diff
ajout table zone dangereuse ajout fonction distance_a_la_plus_proche_zone() ajout test unitaire