Révision 455
Ajouté par audercoux il y a plus de 6 ans
branch/decroux/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff001c
|
||
RESET=ff001a
|
branch/decroux/Emb_App/programme_principal_etud.c | ||
---|---|---|
unsigned int Mode;
|
||
|
||
|
||
|
||
// Tache qui met la tourelle a 45degres
|
||
void asservissement_tourelle()
|
||
{
|
||
... | ... | |
commTourel.data.id='T'; //Commade en vitesse de la tourelle poant le t?l?metre
|
||
commTourel.data.rtr=0;
|
||
commTourel.data.val=kt*(450-alpha); //Corecteur propotionel
|
||
snd_dtq (CanTx,commTourel.msg);
|
||
snd_dtq (CanTx,commTourel.msg);
|
||
|
||
dly_tsk(10);
|
||
}
|
||
}
|
||
... | ... | |
snd_dtq (CanTx,requeteDis.msg); // Interrogation du peripherique
|
||
dis=periph[ADDR('U')].val; // Contient la derniere valeur renvoyee par le simulateur
|
||
periph[ADDR('U')].maj; // Incremente a chaque reception
|
||
|
||
//Assevicement
|
||
if(Mode==0x8304 || Mode==0x0304)//On est sur la piste noir
|
||
{
|
||
|
||
if(dis>5000 || dis<400 ||capt==0x6208) //Pour passer les trous et les tonneau
|
||
if(capt==0x7608)// Apr?s le saut
|
||
{
|
||
LED_R=1;
|
||
commRoues.data.id='D'; // Commande de l'angle des roues
|
||
commRoues.data.rtr=0; //Indique une requete d'?criture
|
||
commRoues.data.val=kr*(dis-700); // Correction de la disance
|
||
snd_dtq(CanTx,commRoues.msg);
|
||
}
|
||
else if(dis>5000 || dis<400 || capt==0x7210) //Pour passer les trous et les tonneau
|
||
{
|
||
commRoues.data.id='D'; // Commande de l'angle des roues
|
||
commRoues.data.rtr=0; //Indique une requete d'?criture
|
||
commRoues.data.val= 0; // Correction de la disance
|
||
snd_dtq(CanTx,commRoues.msg);
|
||
}
|
||
... | ... | |
commRoues.data.val=kr*(dis-1010); // Correction de la disance
|
||
snd_dtq(CanTx,commRoues.msg);
|
||
}
|
||
else if(capt==0x6208)//Passage de la bosse
|
||
{
|
||
|
||
if(dis>740 || dis<670)
|
||
{
|
||
commRoues.data.id='D'; // Commande de l'angle des roues
|
||
commRoues.data.rtr=0; //Indique une requete d'?criture
|
||
commRoues.data.val= 0; // Correction de la disance
|
||
snd_dtq(CanTx,commRoues.msg);
|
||
}
|
||
else
|
||
{
|
||
commRoues.data.id='D'; // Commande de l'angle des roues
|
||
commRoues.data.rtr=0; //Indique une requete d'?criture
|
||
commRoues.data.val=kr*(dis-700); // Correction de la disance
|
||
snd_dtq(CanTx,commRoues.msg);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
commRoues.data.id='D'; // Commande de l'angle des roues
|
||
... | ... | |
}
|
||
else
|
||
{
|
||
if(dis>1000 ) //Pour passer les trous et les tonneau
|
||
if(dis>1000 ) //Pour passer les trous
|
||
{
|
||
commRoues.data.id='D'; // Commande de l'angle des roues
|
||
commRoues.data.rtr=0; //Indique une requete d'?criture
|
||
... | ... | |
void vitesse4(unsigned int valcapt)
|
||
{
|
||
CanFrame commVit;
|
||
if(capt==0x6308 || capt==0x4a01||capt==0x6208) // Rallentissement pr?s du tonneau
|
||
if( capt==0x4a01||capt==0x6208 ||capt==0x7608 ||capt==0x7620) // Rallentissement pr?s du tonneau, pour la bosse et apr?s le saut
|
||
{
|
||
commVit.data.id='V';
|
||
commVit.data.rtr=0;
|
||
commVit.data.val=15;
|
||
snd_dtq (CanTx,commVit.msg);
|
||
}
|
||
else if(valcapt==0x7210)
|
||
{
|
||
commVit.data.id='V';
|
||
commVit.data.rtr=0;
|
||
commVit.data.val=42;
|
||
snd_dtq (CanTx,commVit.msg);
|
||
}
|
||
else
|
||
{ commVit.data.id='V';
|
||
commVit.data.rtr=0;
|
||
commVit.data.val=25; //Reprise de vitesse une fois la voiure stabilis? piste rouge
|
||
commVit.data.val=25; //Reprise de vitesse une fois la voiture stabilis? piste rouge
|
||
snd_dtq (CanTx,commVit.msg);
|
||
}
|
||
}
|
||
... | ... | |
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
||
periph_nom("#AutoTest*");
|
||
periph_nom("Aurelie*");
|
||
|
||
can_init();
|
||
clavier_init(1);
|
Formats disponibles : Unified diff
Passage de la piste noir ok