Révision 541
Ajouté par Mafall FALL il y a presque 3 ans
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
revision code