Projet

Général

Profil

« Précédent | Suivant » 

Révision 541

Ajouté par Mafall FALL il y a presque 3 ans

revision code

Voir les différences:

branche/Mafall_FALL/sp4a12/main.c
if (trame_cmp(trame,"$GPGGA"))
printf ("> %s\n",trames); */
position p;
position p_initiale; // on declare une position initiale a laquelle on initialise la latitude et la longitude avec des valeurs
p_initiale.latitude=45.750403;
p_initiale.longitude= 3.110065;
float distance;
float vitesse;
float seuil=710;
int index;
static int cpt=0;
cpt++;
if (decode_trame(trame,&p))
{
printf ("> %s\n",trame);
printf("la latitude est %f \n la longitude est %f \n ",p.latitude,p.longitude); // affichage des positions de chaque trame GPGGA
printf ("> %s\n",trame);// on affiche la trame recue
vitesse=calcul_vitesse(p_initiale,p);//on calcule la vitesse entre la position de la trame et une position initiale
index= distance_a_la_plus_proche_zone(p,zones,sizeof(zones),&distance);// on calcule la distance la plus proche pour trouver l'index
if ((distance<seuil) && (vitesse>zones[index].vitmax))// on compare si la distance est inferieur au seuil donne et si la vitesse est superieur a celle definie pour cette zone
{
//si cest cas on affiche la distance et la vistance puis on declenche une alarme
printf(" La vitesse est egale a %f\n ",vitesse);
printf("La distance est egale a %f \n ",distance);
printf("Alarme ON \n");
printf(" Zone numero %d \n ",index);
}
else
//sinon l'alarme reste eteinte
printf("Alarme OFF \n ");
p_initiale = p;// on affecte a la position initiale la nouvelle position du vehicule
}
return 0;
}
......
}
float calcul_vitesse(position* pos1,position* pos2) // fonction qui calcule la vitesse entre deux positions
float calcul_vitesse(position pos1, position pos2) // fonction qui calcule la vitesse entre deux positions
{
float vitesse;
vitesse=3600*(calcul_distance(&pos1,&pos2)); // calcul de la vitesse entre pos1 et pos2 pendant 1s

Formats disponibles : Unified diff