Révision 583
Ajouté par Orlani RIVERA il y a presque 3 ans
branch/RIVERA_Orlani/sp4a12/main.c | ||
---|---|---|
}
|
||
|
||
|
||
float calcule_distance(position p1, position p2)
|
||
float calcul_distance(position p1, position p2)
|
||
{
|
||
float distance;
|
||
distance=(2*3.14*6370/360)*sqrt((p1.latitude-p2.latitude)*(p1.latitude-p2.latitude)+(p1.longitude-p2.longitude)*(p1.longitude-p2.longitude));
|
||
return distance;
|
||
}
|
||
|
||
float calcule_vitesse(position p1, position p2)
|
||
float calcul_vitesse(position p1, position p2)
|
||
{
|
||
float vitesse, distance;
|
||
distance = calcule_distance(p1,p2);
|
||
... | ... | |
void traitement(char * trame)
|
||
{
|
||
static int cpt=0;
|
||
cpt = cpt++ ;
|
||
/* printf ("> %s\n",trame);*/
|
||
|
||
/* if (trame_cmp(trame, "GPGGA") == 1)
|
||
cpt++;
|
||
float d,vitesse; //d = distance
|
||
int a,trame_ok;
|
||
int nb_zones = 4;
|
||
Position p;
|
||
trame_ok = decode_trame(trame,&p);
|
||
if(trame_ok==1) // si la trame est valide
|
||
{
|
||
printf ("> %s\n",trame);
|
||
}*/
|
||
printf("%s\n", trame);
|
||
a = distance_a_la_plus_proche_zone(p,zones,nb_zones,&d);
|
||
vitesse = calcul_vitesse(p,zones[a].rpos); // calcul de la vitesse
|
||
if(d > 680 && vitesse > 2464890) // valeurs seuil
|
||
{
|
||
printf("alarme=on\n"); // si les conditions sont r?unies alarme=on
|
||
printf("distance: %f ", d);
|
||
printf("vitesse;%f\n",vitesse);
|
||
}
|
||
else
|
||
{
|
||
printf("alarme=off\n"); // sinon alarme=off
|
||
}
|
||
}
|
||
}
|
||
|
||
//Ajouter vos tests unitaires dans cette fonction.
|
Formats disponibles : Unified diff
version finale du TP1/2