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 |
} |