Projet

Général

Profil

« Précédent | Suivant » 

Révision 573

Ajouté par albest il y a presque 4 ans

Optimisation de la fonction traitement en vue du tp6 (SP4b3)

Voir les différences:

main.c
return index;
}
Position pos_prec;
//Fonction ? modifier !!!!!
void traitement(char * trame){
Position * pos;
Position pos;
int alarme;
float vitesse;
static Position * pos_prec = {{0},{0}};
float seuil = 0.5;
int index;
float * distance;
float distance;
if (trame_cmp(trame,"GPGGA")==1){
printf ("> %s\n",trame);
if (decode_trame(trame,pos)==1){
vitesse = calcule_vitesse(*pos,*pos_prec);
index = distance_a_la_plus_poche_zone(*pos,zones,2,distance);
if ((*distance <= seuil) && (vitesse > zones[index].vitmax)){
if (decode_trame(trame,&pos)==1){
vitesse = calcule_vitesse(pos,pos_prec);
index = distance_a_la_plus_poche_zone(pos,zones,2,&distance);
if ((distance <= seuil) && (vitesse > zones[index].vitmax)){
alarme = 1;
printf("Alarme on \n");
}
alarme = 0;
printf("Alarme off \n");
}
*pos_prec = *pos;
pos_prec.latitude = pos.latitude;
pos_prec.longitude = pos.longitude;
}
}

Formats disponibles : Unified diff