Révision 503
Ajouté par crzemeta il y a plus de 6 ans
branch/zemeta/Emb_App/programme_principal_etud.c | ||
---|---|---|
sta_tsk(id_mode);
|
||
sta_tsk(id_piste);
|
||
sta_tsk(id_piste_verte_bleue); // ? activer pour piste verte et bleue
|
||
|
||
sta_tsk(id_comm_v);
|
||
sta_tsk(id_arret);
|
||
comRoue=-k2*error2 ;
|
||
sta_tsk(id_roue);
|
||
sta_tsk(id_detec); // ? activer pour piste rouge
|
||
... | ... | |
}
|
||
|
||
|
||
//Envoie commande vitesse voiture
|
||
//Envoie commande vitesse voiture en fonction de du feu
|
||
|
||
void avance_voiture()
|
||
{
|
||
... | ... | |
{
|
||
while (1)
|
||
{
|
||
if (num_piste==768)
|
||
if (num_piste==768 || num_piste==1024)
|
||
{
|
||
LED_R=0;
|
||
if(capt_detecte!=22019) // course normale
|
||
{
|
||
D=705;
|
||
consigne_tour=450;
|
||
if(appui_Bp!=1)
|
||
{
|
||
vitesse_roue = 20;
|
||
comRoue = -k2*error2 ;
|
||
}
|
||
else if (appui_Bp)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0;
|
||
}
|
||
|
||
}
|
||
else if (capt_detecte==22019) // detection de ligne droite de saut
|
||
... | ... | |
LED_R=1;
|
||
D=500;
|
||
consigne_tour=900;
|
||
if(appui_Bp!=1)
|
||
{
|
||
vitesse_roue = 45; //vitesse_roue = 45; // valeur pour un saut parfait dr la piste rouge
|
||
comRoue = 1 ;
|
||
}
|
||
else if (appui_Bp)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0 ;
|
||
}
|
||
//comRoue = 1 ; // pour eviter les collisions avec le mur ? l'atterissage
|
||
}
|
||
}
|
||
dly_tsk(10);
|
||
... | ... | |
{
|
||
D=705;
|
||
consigne_tour=450;
|
||
if(appui_Bp!=1)
|
||
}
|
||
dly_tsk(10);
|
||
}
|
||
}
|
||
|
||
void envoie_comm_v()
|
||
{
|
||
while(1)
|
||
{
|
||
if(appui_Bp!=1)
|
||
{
|
||
vitesse_roue = 35;
|
||
comRoue = -k2*error2 ;
|
||
if(num_piste==256 || num_piste==512)
|
||
{
|
||
comRoue = -k2*error2 ;
|
||
vitesse_roue = 35;
|
||
}
|
||
|
||
if (num_piste==768 || num_piste==1024)
|
||
{
|
||
if(capt_detecte!=22019)
|
||
{
|
||
vitesse_roue = 20;
|
||
comRoue = -k2*error2 ;
|
||
}
|
||
else if (capt_detecte==22019)
|
||
{
|
||
vitesse_roue = 45;
|
||
comRoue = 1 ;
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
else if (appui_Bp)
|
||
/*else if (appui_Bp)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0 ;
|
||
if(num_piste==256 || num_piste==512)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0 ;
|
||
}
|
||
|
||
if (num_piste==768 || num_piste==1024)
|
||
{
|
||
if(capt_detecte!=22019)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0 ;
|
||
}
|
||
else if (capt_detecte==22019)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0;
|
||
}
|
||
}
|
||
}*/
|
||
dly_tsk(5);
|
||
}
|
||
}
|
||
|
||
void arret_urgence()
|
||
{
|
||
while(1)
|
||
{
|
||
if (appui_Bp)
|
||
{
|
||
if(num_piste==256 || num_piste==512)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0 ;
|
||
}
|
||
|
||
if (num_piste==768 || num_piste==1024)
|
||
{
|
||
if(capt_detecte!=22019)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0 ;
|
||
}
|
||
else if (capt_detecte==22019)
|
||
{
|
||
vitesse_roue = 0;
|
||
comRoue = 0;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
dly_tsk(10);
|
||
dly_tsk(5);
|
||
}
|
||
}
|
||
|
||
|
||
void appui() // Detection de bouton poussoir droit
|
||
{
|
||
while(1)
|
branch/zemeta/Emb_App/conf_noyau.cfg | ||
---|---|---|
};
|
||
|
||
|
||
task[]{
|
||
entry_address = envoie_comm_v();
|
||
name = id_comm_v;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 2;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
task[]{
|
||
entry_address = arret_urgence();
|
||
name = id_arret;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 2;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
|
||
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
||
initial_pattern = 0x0000;
|
Formats disponibles : Unified diff
Sépararation de la tache d'envoi de commande et de celle de l'arrêt d'urgence : OK