Revision 190 branch/daval/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
123 123

  
124 124
int consigne = 450; 	//valeur de la consigne
125 125
int angle=0 ; 			//valeur retournee
126
int k=1; 				//gain du correcteur
126
float k=1.9; 				//gain du correcteur
127 127
int valeur = 0 ; 		//valeur envoyee
128 128

  
129
int consigne_roue=750;
130
int C=1.5;
131
int orientation_roue =0;
132
int vitesse_voulue=20;
129
int consigne_roue=735;		// Consigne en angle pour que les roues soient un peu pr?s droite
130
float C=1.;					// Gain asservissment des roues
131
int orientation_roue =0;	// valeur corrigee pour l orientation des roues
132
int vitesse_voulue=45;		// Commande de vitesse que l'on envoie
133 133
CanFrame vitesse;
134 134
CanFrame requete;
135 135

  
......
158 158
		commande.data.rtr=0; 			//Indique une ecriture
159 159
		valeur=k*(consigne-angle); 
160 160
		commande.data.val=valeur;
161
		snd_dtq (CanTx,commande.msg); 	//Envoi modif
161
		snd_dtq (CanTx,commande.msg); 	//Envoi modification
162 162
		dly_tsk(5);
163 163
	}
164 164
}
165 165

  
166 166
void avance()
167 167
{
168
		vitesse.data.id='V';			//Envoi d'une commande en vitesse
169
		vitesse.data.rtr=0; 			//Indique une ecriture
170
		vitesse.data.val=vitesse_voulue;
168
		vitesse.data.id='V';				//Envoi d'une commande en vitesse
169
		vitesse.data.rtr=0; 				//Indique une ecriture
170
		vitesse.data.val=vitesse_voulue;	
171 171
		snd_dtq (CanTx,vitesse.msg);
172 172
		dly_tsk(15);
173 173

  
......
180 180
    while(1)
181 181
	{
182 182
		
183
        requete_dist.data.id= 'U' ;
184
        requete_dist.data.rtr= 1 ;							//requete lecture
185
        periph[ADDR('U')].ev= 0x02 ;
183
        requete_dist.data.id= 'U' ;			
184
        requete_dist.data.rtr= 1 ;							//requete lecture distance donne par le telemetre
185
        periph[ADDR('U')].ev= 0x01 ;						//L evenement est declenche a chaque fois que la valeur du periph U et mise ? jour
186 186
        snd_dtq(CanTx, requete_dist.msg);
187
        wai_flg (ev_periph, 0x02, TWF_ANDW, &flag);			//Attente lecture
187
        wai_flg (ev_periph, 0x01, TWF_ANDW, &flag);			//Attente lecture
188 188
        distance_mesure=periph[ADDR('U')].val;
189 189
		dly_tsk(15);
190 190
		

Also available in: Unified diff