Projet

Général

Profil

« Précédent | Suivant » 

Révision 297

Ajouté par jotoribio il y a plus de 6 ans

Circuit rouge amélioré

Voir les différences:

branch/toribio/Emb_App/programme_principal_etud.c
//lecture de la position de la roue
CanFrame req,comm;
UINT flag;
if ((sauter==0) && (noir==0)){
if ((sauter==0) || (sauter==3)){
//Commande de l'angle de roue en zone normal
comm.data.id='D';
comm.data.rtr=0; //indique une ?criture
......
dly_tsk(5);
}
else if (sauter==3 ){
else if (sauter==2 ){
//Commande de l'angle de roue
comm.data.id='D';
comm.data.rtr=0;
if (distance>1000);
else comm.data.val=k*(distance-700);
else comm.data.val=0;
snd_dtq(CanTx, comm.msg);
dly_tsk(5);
}
......
requete.data.id='V';
requete.data.rtr=0;
if (sauter==1){ //augmentation de la vitesse pour sauter
requete.data.val=45;}
else if (sauter==3){ //diminution vitesse pour apr?s saut
requete.data.val=10;}
requete.data.val=45;
}
else if ((sauter==0) && (noir==0)){
requete.data.val=35;} //pas de saut
else if ((sauter==2) && (noir==0)){
requete.data.val=10;} //pendant le saut
else if ((sauter==3) && (noir==0)){
requete.data.val=20;} //virage
else if ((sauter==0) && (noir==2)){
requete.data.val=10;} //pas de saut
requete.data.val=20;} //pas de saut
snd_dtq(CanTx, requete.msg);
dly_tsk(5);
}
......
void saut(){
while(1){
if (numcapt==3 && virage!=16896){
dly_tsk(400);
dly_tsk(1000);
sauter=1; //Renvoie 1 si c'est la zone du saut
dly_tsk(2000);
sauter=2;
dly_tsk(1600);
sauter=3;
dly_tsk(2500);
}
else if (numcapt==3 && virage==16896){
sauter=3;} // virage apres saut
sauter=0;} // virage apres saut
else if (numcapt==4 && virage==22016){
sauter=0;} // retour ? la regulation normal

Formats disponibles : Unified diff