Révision 347
Ajouté par casotty il y a plus de 6 ans
branch/sotty/Emb_App/programme_principal_etud.c | ||
---|---|---|
#define PISTE_ROUGE 3
|
||
#define PISTE_NOIRE 4
|
||
|
||
void strategie(void);
|
||
void strategie(VP_INT stacd);
|
||
void couleur_piste(void);
|
||
void rotation_tourelle(unsigned int angle);
|
||
int position_tourelle(void);
|
||
... | ... | |
}
|
||
|
||
couleur_piste();
|
||
|
||
sta_tsk(ID_strategie);
|
||
while(1)
|
||
{
|
||
strategie();
|
||
//strategie();
|
||
LED_J=1;
|
||
dly_tsk(100);
|
||
LED_J=0;
|
||
... | ... | |
}
|
||
}
|
||
|
||
void couleur_piste(void){
|
||
//Obtention de la piste
|
||
num_piste = send_requete(MODE_COURSE) & 0x00FF;
|
||
}
|
||
|
||
void strategie(void){
|
||
|
||
void strategie(VP_INT stacd){
|
||
static int k = 0;
|
||
|
||
capteur = send_requete(INFO_CAPTEUR);//**
|
||
switch(num_piste){
|
||
case PISTE_VERTE :
|
||
break;
|
||
while(1){
|
||
capteur = send_requete(INFO_CAPTEUR);//**
|
||
switch(num_piste){
|
||
case PISTE_VERTE :
|
||
break;
|
||
|
||
case PISTE_BLEUE :
|
||
break;
|
||
case PISTE_BLEUE :
|
||
break;
|
||
|
||
case PISTE_ROUGE :
|
||
switch(capteur){
|
||
case 0x6301 : //Capteur perso avant bosse rouge
|
||
ang_roue = 0;//*****
|
||
vit_roue = 45;
|
||
break;
|
||
case PISTE_ROUGE :
|
||
switch(capteur){
|
||
case 0x6301 : //Capteur perso avant bosse rouge
|
||
ang_roue = 0;//*****
|
||
vit_roue = 45;
|
||
break;
|
||
|
||
case 0x4203 : //Capteur apres bosse rouge
|
||
vit_roue = 8;
|
||
k = 0;
|
||
break;
|
||
case 0x4203 : //Capteur apres bosse rouge
|
||
vit_roue = 8;
|
||
k = 0;
|
||
break;
|
||
|
||
case 0x6304 : // Capteur perso apres bosse rouge
|
||
if (k == 0){
|
||
k = vit_roue*3;
|
||
}
|
||
if(k < (vit_max-3)*3){
|
||
vit_roue = k/3;
|
||
k++;
|
||
}
|
||
break;
|
||
case 0x6304 : // Capteur perso apres bosse rouge
|
||
if (k == 0){
|
||
k = vit_roue*3;
|
||
}
|
||
if(k < (vit_max-3)*3){
|
||
vit_roue = k/3;
|
||
k++;
|
||
}
|
||
break;
|
||
|
||
case 0x5604 :
|
||
if(k < (vit_max-3)*3){
|
||
vit_roue = k/3;
|
||
k++;
|
||
}
|
||
break;
|
||
case 0x5604 :
|
||
if(k < (vit_max-3)*3){
|
||
vit_roue = k/3;
|
||
k++;
|
||
}
|
||
break;
|
||
|
||
case 0x4304 : // Capteur avant fin
|
||
vit_roue = vit_max;
|
||
case 0x4304 : // Capteur avant fin
|
||
vit_roue = vit_max;
|
||
break;
|
||
}
|
||
break;
|
||
|
||
case PISTE_NOIRE :
|
||
switch(capteur){
|
||
case 0x6302 :
|
||
if(distance_mur > 1000 || distance_mur < 0) { //Trou dans le mur //**
|
||
ang_roue = 0;
|
||
}
|
||
else {
|
||
ang_roue = (K_roue*(distance_mur-700));//**
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
|
||
case PISTE_NOIRE :
|
||
switch(capteur){
|
||
case 0x6302 :
|
||
if(distance_mur > 1000 || distance_mur < 0) { //Trou dans le mur //**
|
||
ang_roue = 0;
|
||
}
|
||
else {
|
||
ang_roue = (K_roue*(distance_mur-700));//**
|
||
}
|
||
break;
|
||
|
||
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
dly_tsk(10);
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
... | ... | |
|
||
|
||
|
||
void couleur_piste(void){
|
||
//Obtention de la piste
|
||
num_piste = send_requete(MODE_COURSE) & 0x00FF;
|
||
}
|
||
|
||
|
||
void rotation_tourelle(unsigned int angle){
|
||
send_commande(VITESSE_TOURELLE,angle);
|
||
}
|
branch/sotty/Emb_App/conf_noyau.cfg | ||
---|---|---|
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
task[]{
|
||
entry_address = strategie();
|
||
name = ID_strategie;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 7;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
Formats disponibles : Unified diff
Strategie passée en tache