Rev 829 Rev 830
Line 2... Line 2...
2   2  
3 // NEPOUZIVAT PINY B6 A B7, JSOU VYHRAZENY PRO SERIOVOU KOMUNIKACI 3 // NEPOUZIVAT PINY B6 A B7, JSOU VYHRAZENY PRO SERIOVOU KOMUNIKACI
4 // BAUD RATE = 9600 4 // BAUD RATE = 9600
5   5  
6 // univerzalni LED diody 6 // univerzalni LED diody
7 #define LED1 PIN_A4 7 #define LED1 PIN_E0
8 #define LED2 PIN_A5 8 #define LED2 PIN_E1
9   9  
10 // piezo pipak 10 // piezo pipak
11 #DEFINE SOUND_HI PIN_B4 11 #DEFINE SOUND_HI PIN_B4
12 #DEFINE SOUND_LO PIN_B5 12 #DEFINE SOUND_LO PIN_B5
13   13  
14 // radkovy senzor 14 // radkovy senzor
15 #define SDIN PIN_D4 // seriovy vstup 15 #define SDIN PIN_D4 // seriovy vstup
16 #define SDOUT input(PIN_B2) // seriovy vystup 16 #define SDOUT input(PIN_C5) // seriovy vystup
17 #define SCLK PIN_D5 // takt 17 #define SCLK PIN_D5 // takt
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
Line 39... Line 39...
39 int olsa_lseg[51]={0}; // leva cast radky (pixely 0 - 50) 39 int olsa_lseg[51]={0}; // leva cast radky (pixely 0 - 50)
40 int olsa_rseg[51]={0}; // prava cast radky (pixely 51 - 101) 40 int olsa_rseg[51]={0}; // prava cast radky (pixely 51 - 101)
41 int8 *line_lp=&olsa_lseg; // ukazatel na levou cast radky 41 int8 *line_lp=&olsa_lseg; // ukazatel na levou cast radky
42 int8 *line_rp=&olsa_rseg; // ukazatel na pravou cast radky 42 int8 *line_rp=&olsa_rseg; // ukazatel na pravou cast radky
43   43  
44 int8 pixel_dec; // dec hodnota jednoho pixelu -  
45 int1 pixel_bin[8]={0}; // bin hodnota jednoho pixelu -  
46 int8 pixel_counter; // pocet prectenych pixelu -  
47 int8 rbit; // pocet prectenych bitu -  
48 int8 cbit; // pocet prevedenych pixelu -  
49   -  
50 //naraznik 44 //naraznik
51 #define BUMPL input(PIN_D6) 45 #define BUMPL input(PIN_D6)
52 #define BUMPR input(PIN_D7) 46 #define BUMPR input(PIN_D7)
53   47  
54 //nouzove senzory 48 //nouzove senzory
Line 324... Line 318...
324 olsa_reset(); 318 olsa_reset();
325 olsa_setup(); 319 olsa_setup();
326 beep(500,200); // pipni pri startu 320 beep(500,200); // pipni pri startu
327 printf("OK! \r\n"); 321 printf("OK! \r\n");
328 delay_ms(500); 322 delay_ms(500);
329 printf("VYBRAT MOD... \r\n"); 323 printf("VYBRAT MOD... \r\n");
-   324 olsa_integration();
-   325 olsa_send(readout);
330 while(true) 326 while(true)
-   327 {
-   328 int1 rbit; // hodnota cteneho bitu
-   329 int8 cbit; // pocet prectenych
-   330 int pixel_bits[8]={0}; // pixel bitove
-   331 int8 pixel;
-   332
-   333 if(!SDOUT) // zacatek prenosu
-   334 {
-   335 pixel=0;
-   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
-   340 {
-   341 pixel|1;
-   342 }
-   343 else // zachycena 0
-   344 {
-   345 pixel>>1;
-   346 }
-   347 }
-   348 printf("pixel: %u \r\n",pixel);
-   349 }
-   350 else
331 { 351 {
332 olsa_integration(); 352 olsa_pulse();
-   353 }
333 } 354 }
334 } 355 }