Révision 395
Ajouté par Yannis SENOUCI il y a presque 3 ans
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
version finale