Projet

Général

Profil

« Précédent | Suivant » 

Révision 395

Ajouté par Yannis SENOUCI il y a presque 3 ans

version finale

Voir les différences:

branch/SENOUCI/sp4a12/main.c
float d;
int zone_nb,trame_ok;
int alarme=0;
int seuil=1;
int seuil_d=1; /*distance maximale pour que l'alarme se d?clenche*/
trame_ok=1;
cpt++;
......
if(trame_ok==1)
{
trame_ok=0;
decode_trame(trame,&pos);
if(&pos)
decode_trame(trame,&pos); /*d?coder la trame arriv?e pour avoir la longitude et la latitude*/
if(&pos) /*v?rifier si pos existe*/
{
v=calcul_vitesse(pos,pos_prec);
zone_nb=distance_a_la_proche_zone(pos,zones,nombre_zone,&d);
if((d<seuil)&(v>zones[zone_nb].vitmax))
zone_nb=distance_a_la_proche_zone(pos,zones,nombre_zone,&d); /*d?finir la zone la plus proche de la position actuelle pos*/
if((d<seuil_d)&(v>zones[zone_nb].vitmax)) /*verifier si la voiture est proche de la zone et si la vitesse du vehicule est trop ?lev?e pour cette zone*/
{
alarme=1;
}
......
{
printf("alarme OFF\n");
}
pos_prec=pos;
pos_prec=pos; /*la position donn?e par la trame trait?e devient la position pr?c?dente pour le calcul de vitesse et de distance de la prochaine trame*/
}
printf("vitesse : %.2f distance : %.2f\n\n",v,d);
}

Formats disponibles : Unified diff