| Line 35... |
Line 35... |
| 35 |
int stop_int[8]={0,0,0,0,1,0,0,0}; // konec integrace 0x10 |
35 |
int stop_int[8]={0,0,0,0,1,0,0,0}; // konec integrace 0x10 |
| 36 |
int readout[8]={0,1,0,0,0,0,0,0}; // cteni senzoru 0x02 |
36 |
int readout[8]={0,1,0,0,0,0,0,0}; // cteni senzoru 0x02 |
| 37 |
|
37 |
|
| 38 |
int olsa_lseg[51]={0}; // leva cast radky (pixely 0 - 50) |
38 |
int olsa_lseg[51]={0}; // leva cast radky (pixely 0 - 50) |
| 39 |
int olsa_rseg[51]={0}; // prava cast radky (pixely 51 - 101) |
39 |
int olsa_rseg[51]={0}; // prava cast radky (pixely 51 - 101) |
| 40 |
int8 *line_lp=&olsa_lseg; // ukazatel na levou cast radky |
40 |
int8 *lp; // ukazatel pro levou polovinu radky |
| 41 |
int8 *line_rp=&olsa_rseg; // ukazatel na pravou cast radky |
41 |
int8 *rp; // ukazatel pro levou polovinu radky |
| 42 |
|
42 |
|
| 43 |
//naraznik |
43 |
//naraznik |
| 44 |
#define BUMPL input(PIN_D6) |
44 |
#define BUMPL input(PIN_D6) |
| 45 |
#define BUMPR input(PIN_D7) |
45 |
#define BUMPR input(PIN_D7) |
| 46 |
|
46 |
|
| Line 323... |
Line 323... |
| 323 |
while(true) |
323 |
while(true) |
| 324 |
{ |
324 |
{ |
| 325 |
int8 cpixel; // pocet prectenych pixelu |
325 |
int8 cpixel; // pocet prectenych pixelu |
| 326 |
int8 cbit; // pocet prectenych bitu |
326 |
int8 cbit; // pocet prectenych bitu |
| 327 |
int8 pixel; // hodnota precteneho pixelu |
327 |
int8 pixel; // hodnota precteneho pixelu |
| - |
|
328 |
int8 tisk; |
| - |
|
329 |
int8 *tiskp; |
| 328 |
cpixel=0; |
330 |
cpixel=0; |
| - |
|
331 |
lp=0; |
| - |
|
332 |
rp=0; |
| 329 |
olsa_integration(); |
333 |
olsa_integration(); |
| 330 |
olsa_send(readout); |
334 |
olsa_send(readout); |
| 331 |
do // precte 102 pixelu |
335 |
do // precte 102 pixelu |
| 332 |
{ |
336 |
{ |
| 333 |
if(!SDOUT) // zacatek prenosu - zachycen start bit |
337 |
if(!SDOUT) // zacatek prenosu - zachycen start bit |
| Line 345... |
Line 349... |
| 345 |
pixel|=0; // zapise do bitu pixelu 0 - OR |
349 |
pixel|=0; // zapise do bitu pixelu 0 - OR |
| 346 |
} |
350 |
} |
| 347 |
pixel<<=1; // posune pixel |
351 |
pixel<<=1; // posune pixel |
| 348 |
} |
352 |
} |
| 349 |
olsa_pulse(); // generuje stop bit |
353 |
olsa_pulse(); // generuje stop bit |
| - |
|
354 |
if(cpixel<52) // ulozeni do pole |
| - |
|
355 |
{ |
| - |
|
356 |
olsa_lseg[lp]=pixel; // leva polovina radky - leve pole |
| - |
|
357 |
lp++; |
| - |
|
358 |
} |
| - |
|
359 |
else |
| - |
|
360 |
{ |
| - |
|
361 |
olsa_rseg[rp]=pixel; // prava polovina cary - prave pole |
| - |
|
362 |
rp++; |
| - |
|
363 |
} |
| 350 |
cpixel++; |
364 |
cpixel++; |
| 351 |
printf("%x ",pixel); // tisk na seriovku - pote zapis do pole |
365 |
//printf("%x ",pixel); // tisk na seriovku - pote zapis do pole |
| 352 |
} |
366 |
} |
| 353 |
else |
367 |
else |
| 354 |
{ |
368 |
{ |
| 355 |
olsa_pulse(); // generuje start bit, nebyl-li poslan |
369 |
olsa_pulse(); // generuje start bit, nebyl-li poslan |
| 356 |
} |
370 |
} |
| 357 |
} |
371 |
} |
| 358 |
while(cpixel<102); // precte 102 pixelu |
372 |
while(cpixel<102); // precte 102 pixelu |
| 359 |
printf("\r\n"); // po precteni vsech pixelu posle "enter" |
373 |
printf("Nove snimani... \r\n"); // po precteni vsech pixelu posle |
| - |
|
374 |
for(tiskp=0;tiskp<52;tiskp++) // tisk leve casti radky |
| - |
|
375 |
{ |
| - |
|
376 |
tisk=olsa_lseg[tiskp]; |
| - |
|
377 |
printf("%x ",tisk); |
| - |
|
378 |
} |
| - |
|
379 |
for(tiskp=0;tiskp<52;tiskp++) // tisk prave casti radky |
| - |
|
380 |
{ |
| - |
|
381 |
tisk=olsa_rseg[tiskp]; |
| - |
|
382 |
printf("%x ",tisk); |
| - |
|
383 |
} |
| - |
|
384 |
|
| 360 |
} |
385 |
} |
| 361 |
} |
386 |
} |