Révision 297
Ajouté par jotoribio il y a plus de 6 ans
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
Circuit rouge amélioré