Projet

Général

Profil

« Précédent | Suivant » 

Révision 583

Ajouté par Orlani RIVERA il y a presque 3 ans

version finale du TP1/2

Voir les différences:

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