Rev 830 Rev 833
Line 18... Line 18...
18   18  
19 // pro komunikaci s OLSA, prvni se posila LSB 19 // pro komunikaci s OLSA, prvni se posila LSB
20 int main_reset[8]={1,1,0,1,1,0,0,0}; // hlavni reset 0x1B 20 int main_reset[8]={1,1,0,1,1,0,0,0}; // hlavni reset 0x1B
21 int set_mode_rg[8]={1,1,1,1,1,0,1,0}; // zapis do MODE registru 0x5F 21 int set_mode_rg[8]={1,1,1,1,1,0,1,0}; // zapis do MODE registru 0x5F
22 int clear_mode_rg[8]={0,0,0,0,0,0,0,0}; // nulovani MODE registru 0x00 22 int clear_mode_rg[8]={0,0,0,0,0,0,0,0}; // nulovani MODE registru 0x00
23 int test[8]={1,0,1,0,1,0,1,0,}; -  
24   23  
25 int left_offset[8]={0,0,0,0,0,0,1,0}; // offset leveho segmentu senzoru 0x40 24 int left_offset[8]={0,0,0,0,0,0,1,0}; // offset leveho segmentu senzoru 0x40
26 int mid_offset[8]={0,1,0,0,0,0,1,0}; // offset prostredniho segmentu senzoru 0x42 25 int mid_offset[8]={0,1,0,0,0,0,1,0}; // offset prostredniho segmentu senzoru 0x42
27 int right_offset[8]={0,0,1,0,0,0,1,0}; // offset praveho segmentu senzoru 0x44 26 int right_offset[8]={0,0,1,0,0,0,1,0}; // offset praveho segmentu senzoru 0x44
28 int offset[8]={1,0,0,0,0,0,0,1}; // minus jedna - pouzit pro vsechny segmenty 0x81 27 int offset[8]={1,0,0,0,0,0,0,1}; // minus jedna - pouzit pro vsechny segmenty 0x81
Line 323... Line 322...
323 printf("VYBRAT MOD... \r\n"); 322 printf("VYBRAT MOD... \r\n");
324 olsa_integration(); 323 olsa_integration();
325 olsa_send(readout); 324 olsa_send(readout);
326 while(true) 325 while(true)
327 { 326 {
328 int1 rbit; // hodnota cteneho bitu 327 int8 cpixel; // pocet prectenych pixelu
329 int8 cbit; // pocet prectenych 328 int8 cbit; // pocet prectenych bitu
330 int pixel_bits[8]={0}; // pixel bitove 329 int8 pixel; // hodnota precteneho pixelu
331 int8 pixel; 330 cpixel=0;
332 331 while(true)
333 if(!SDOUT) // zacatek prenosu -  
334 { 332 {
335 pixel=0; 333 output_low(SDIN);
336 for(cbit=0;cbit<8;cbit++) // cte jednotlive bity (8 bitu - 0 az 7) -  
337 olsa_pulse(); // impulz pro generovani dalsiho bitu -  
338 { -  
339 if(SDOUT) // zachycena 1 334 if(!SDOUT) // zacatek prenosu - zachycen start bit
340 { 335 {
341 pixel|1; 336 pixel=0;
342 } -  
343 else // zachycena 0 337 for(cbit=0;cbit<8;cbit++) // cte jednotlive bity (8 bitu - 0 az 7)
344 { 338 {
-   339 olsa_pulse(); // impulz pro generovani dalsiho bitu
-   340 if(SDOUT) // zachycena 1
345 pixel>>1; 341 {
-   342 pixel|=1; // zapise do bitu pixelu 1 - OR
-   343 }
-   344 else // zachycena 0
-   345 {
-   346 pixel|=0; // zapise do bitu pixelu 0 - OR
-   347 }
-   348 pixel<<=1; // posune pixel
346 } 349 }
-   350 olsa_pulse(); // generuje stop bit
347 } 351 cpixel++;
348 printf("pixel: %u \r\n",pixel); 352 printf("%x ",pixel);
349 } 353 }
350 else 354 else
351 { 355 {
-   356 olsa_pulse(); // generuje start bit, nebyl-li poslan
-   357 }
352 olsa_pulse(); 358 if(cpixel>102)
-   359 {
-   360 printf("/r/n");
-   361 }
353 } 362 }
354 } 363 }
355 } 364 }