Revision 495 branch/belin/Emb_App/programme_principal_etud.c

View differences:

programme_principal_etud.c
184 184
				comm.data.id='D';
185 185
				comm.data.rtr = 0;
186 186
				comm.data.val = 0;
187
				LED_V=0;
188
				dly_tsk(10);
189 187
		}
190 188
		else{
191 189
				//Asservissement
......
201 199
	}	
202 200
}
203 201

  
202
void BP(){
203
	while(1){
204
		if(Bp_G==1) commMoteur(0);
205
		dly_tsk(15);
206
	}
207
}
208
void LJ(){
209
	if (Distance>2000){
210
		LED_J=1;
211
		dly_tsk(1000);
212
		LED_J=!LED_J;
213
	}
214
}
215

  
204 216
void capteur(){
205 217
	CanFrame req;
206 218
	CanFrame comm;
......
212 224
			capt=periph[ADDR('C')].val;
213 225
			
214 226
			//Circuit rouge
215
		if(capt==0x6a02)commMoteur(10);	
216
		if(capt==0x4203)commMoteur(30);
227
		if(capt==0x6a02)commMoteur(5);
228
		
229
		if(capt==0x5604) commMoteur(25);
217 230

  
218 231
		if(capt==0x7610 && GEL==0){
219 232
			GEL=1;
220
			commMoteur(44);
233
			commMoteur(53);
234
			K=2;
221 235
		}
236
		dly_tsk(30);
237
	}
222 238
		
223
		//Circuit noir
239
	/*	//Circuit noir
224 240
		if(capt==0x5601){
225 241
			GEL=1;
226 242
			K=1;
......
239 255

  
240 256
		}
241 257
		if(capt==0x5603) commMoteur(20);
258
		if(capt==0x6380) commMoteur(10);
242 259
		if(capt==0x7680){
243
			commMoteur(42);
260
			commMoteur(70);
244 261
			GEL=1;
245 262
			K=1;
246 263
		}
247
		if(capt==0x4203){
264
		if(capt==0x4203 || GEL==1){
248 265
			commMoteur(10);
249 266
			GEL=0;
250 267
		}
251 268
		if(capt==0x6208)commMoteur(0);
252
		if(capt==0x5604) commMoteur(13);
253
		dly_tsk(30);
254
	}
269
		dly_tsk(30);*/
255 270
}
271
}
272

  
256 273
		
257 274
void nomPiste(){
275
	CanFrame req;
258 276
	while(1){
259
		CanFrame req;
277
		lcd_init();
260 278
		req.data.id = 'M';
261 279
		req.data.rtr = 1;
262 280
		snd_dtq(CanTx, req.msg);
263 281
		NomPiste=periph[ADDR('M')].val;
264 282
		NomPiste=NomPiste<<8;
265 283
		switch(NomPiste){
266
			case 0x0400: lcd_str("Piste Noire");
267
			break;
268
			case 0x0300: lcd_str("Piste Rouge");
269
			break;
270
			case 0x0200: lcd_str("Piste Bleue");
271
			break;
272
			case 0x0100: lcd_str("Piste Verte");
273
			break;
274
			ter_tsk();
284
			case 0x0400:
285
				lcd_str("Piste Noire"); 
286
				break;
287
			case 0x0300 :
288
				lcd_str("Piste Rouge");
289
				break;
290
			case 0x0200 :
291
				lcd_str("Piste Bleue");
292
				break;
293
			case 0x0100 :
294
				lcd_str("Piste Verte");
295
				break;
296
				dly_tsk(30);
275 297
		}
298

  
299
				
276 300
	}
301

  
277 302
}
278
			
303

  
279 304
void main()
280 305
{
281 306
	ports_mcu();
282
    lcd_init();
283 307
	periph_init();
284 308
	periph_nom("#BelinMob*");
285 309
	can_init();
286 310
    clavier_init(1);
287 311
	capture_init();
288

  
312
	
313
	sta_tsk(ID_nomPiste);
289 314
	sta_tsk(ID_periph_rx);
290 315
	sta_tsk(ID_tourelle);
291 316
	sta_tsk(ID_position);
292 317
	sta_tsk(ID_capteur);
293
	//sta_tsk(ID_nomPiste);
318
	sta_tsk(ID_BP);
294 319
	dly_tsk(500);
295 320
	commMoteur(25);
296
	K=1;
321
	K=1;
322
	
297 323
    while(1)
298
    {
299
		LED_J=1;
300
		dly_tsk(100);
301
		LED_J=0;
302
		dly_tsk(100);
324
    {

325
		LED_V=1;

326
		dly_tsk(1000);

327
		LED_V=!LED_V;
328
		dly_tsk(30);
303 329
	}
304 330
}
305 331

  

Also available in: Unified diff