Revision 455

View differences:

branch/decroux/Emb_App/SessionM32C_E8a_system.ini
25 25
[Target]
26 26
M32C E8a SYSTEM=Renesas Communications
27 27
[USER_DATA]
28
RESET=ff001c
28
RESET=ff001a
branch/decroux/Emb_App/programme_principal_etud.c
128 128
unsigned int Mode;
129 129

  
130 130

  
131

  
131 132
// Tache qui met la tourelle a 45degres
132 133
void asservissement_tourelle()
133 134
{
......
144 145
		commTourel.data.id='T'; //Commade en vitesse de la tourelle poant le t?l?metre
145 146
		commTourel.data.rtr=0; 
146 147
   		commTourel.data.val=kt*(450-alpha); //Corecteur propotionel
147
		snd_dtq (CanTx,commTourel.msg);	
148
		snd_dtq (CanTx,commTourel.msg);
149
			
148 150
		dly_tsk(10);
149 151
	}
150 152
}
......
162 164
    	snd_dtq (CanTx,requeteDis.msg); // Interrogation du peripherique
163 165
		dis=periph[ADDR('U')].val; // Contient la derniere valeur renvoyee par le simulateur
164 166
		periph[ADDR('U')].maj; // Incremente a chaque reception
167

  
165 168
		//Assevicement 
166 169
		if(Mode==0x8304 || Mode==0x0304)//On est sur la piste noir
167 170
		{
168
			
169
			if(dis>5000 || dis<400 ||capt==0x6208) //Pour passer les trous et les tonneau 
171
			if(capt==0x7608)// Apr?s le saut 
170 172
			{
171
				LED_R=1;
172 173
				commRoues.data.id='D'; // Commande de l'angle des roues 
173 174
				commRoues.data.rtr=0; //Indique une requete d'?criture
175
				commRoues.data.val=kr*(dis-700); // Correction de la disance
176
				snd_dtq(CanTx,commRoues.msg);
177
			}
178
			else if(dis>5000 || dis<400 || capt==0x7210) //Pour passer les trous et les tonneau 
179
			{
180
				commRoues.data.id='D'; // Commande de l'angle des roues 
181
				commRoues.data.rtr=0; //Indique une requete d'?criture
174 182
				commRoues.data.val= 0; // Correction de la disance
175 183
				snd_dtq(CanTx,commRoues.msg);
176 184
			}
......
181 189
				commRoues.data.val=kr*(dis-1010); // Correction de la disance
182 190
				snd_dtq(CanTx,commRoues.msg);	
183 191
			}
192
			else if(capt==0x6208)//Passage de la bosse
193
			{
194
				
195
				if(dis>740 || dis<670)
196
				{
197
					commRoues.data.id='D'; // Commande de l'angle des roues 
198
					commRoues.data.rtr=0; //Indique une requete d'?criture
199
					commRoues.data.val= 0; // Correction de la disance
200
					snd_dtq(CanTx,commRoues.msg);
201
				}
202
				else
203
				{
204
					commRoues.data.id='D'; // Commande de l'angle des roues 
205
					commRoues.data.rtr=0; //Indique une requete d'?criture
206
					commRoues.data.val=kr*(dis-700); // Correction de la disance
207
					snd_dtq(CanTx,commRoues.msg);
208
				}	
209
			}
184 210
			else
185 211
			{
186 212
				commRoues.data.id='D'; // Commande de l'angle des roues 
......
191 217
		}
192 218
		else 
193 219
		{	
194
			if(dis>1000 ) //Pour passer les trous et les tonneau 
220
			if(dis>1000 ) //Pour passer les trous 
195 221
			{
196 222
				commRoues.data.id='D'; // Commande de l'angle des roues 
197 223
				commRoues.data.rtr=0; //Indique une requete d'?criture
......
215 241
void vitesse4(unsigned int valcapt)
216 242
{
217 243
		CanFrame commVit;
218
	 if(capt==0x6308 || capt==0x4a01||capt==0x6208) // Rallentissement pr?s du tonneau
244
	 	if( capt==0x4a01||capt==0x6208 ||capt==0x7608 ||capt==0x7620) // Rallentissement pr?s du tonneau, pour la bosse et apr?s le saut
219 245
		{
220 246
			commVit.data.id='V';
221 247
			commVit.data.rtr=0;
222 248
			commVit.data.val=15;
223 249
			snd_dtq (CanTx,commVit.msg);
250
		}
251
		else if(valcapt==0x7210)
252
		{
253
			commVit.data.id='V';
254
			commVit.data.rtr=0;
255
			commVit.data.val=42; 
256
			snd_dtq (CanTx,commVit.msg);
224 257
		}	
225 258
		else 
226 259
		{	commVit.data.id='V';
227 260
			commVit.data.rtr=0;
228
			commVit.data.val=25; //Reprise de vitesse une fois la voiure stabilis? piste rouge
261
			commVit.data.val=25; //Reprise de vitesse une fois la voiture stabilis? piste rouge
229 262
			snd_dtq (CanTx,commVit.msg);
230 263
		}		
231 264
}
......
299 332
	ports_mcu();
300 333
    lcd_init();
301 334
	periph_init();
302
	periph_nom("#AutoTest*");
335
	periph_nom("Aurelie*");
303 336

  
304 337
    can_init();
305 338
    clavier_init(1);

Also available in: Unified diff