tim010 tim010
/
Projekat15_pai_grupa6_tim010
Hadžić Muharem Mousavi Maedeh
main.cpp@0:0a484beeccaf, 2014-06-09 (annotated)
- Committer:
- tim010
- Date:
- Mon Jun 09 10:10:21 2014 +0000
- Revision:
- 0:0a484beeccaf
PAI-Projekat-Tema15-Grupa6-Tim010
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim010 | 0:0a484beeccaf | 1 | #include "mbed.h" |
tim010 | 0:0a484beeccaf | 2 | #include "N5110.h" |
tim010 | 0:0a484beeccaf | 3 | #include "PS2Mouse.h" |
tim010 | 0:0a484beeccaf | 4 | |
tim010 | 0:0a484beeccaf | 5 | //N5100 ekran(VCC,SCE,RST,D/C,MOSI,SCLK,LED) |
tim010 | 0:0a484beeccaf | 6 | N5110 ekran(dp4,dp24,dp23,dp25,dp2,dp6,dp18); |
tim010 | 0:0a484beeccaf | 7 | //CLKpin, DATApin |
tim010 | 0:0a484beeccaf | 8 | PS2Mouse mis(dp10, dp11); |
tim010 | 0:0a484beeccaf | 9 | |
tim010 | 0:0a484beeccaf | 10 | PS2Mouse::mouse_event_t event; |
tim010 | 0:0a484beeccaf | 11 | |
tim010 | 0:0a484beeccaf | 12 | int x=42,y=24; |
tim010 | 0:0a484beeccaf | 13 | int x1=x,y1=y; |
tim010 | 0:0a484beeccaf | 14 | int X,Y; |
tim010 | 0:0a484beeccaf | 15 | int pomX=0,pomY=0,brojac=0; |
tim010 | 0:0a484beeccaf | 16 | bool crtaj=false,brisi=true; |
tim010 | 0:0a484beeccaf | 17 | |
tim010 | 0:0a484beeccaf | 18 | void nacrtaj_pom(int a,int b,int d1,int d2){ |
tim010 | 0:0a484beeccaf | 19 | for(int i=0;i<=d1;i++){ |
tim010 | 0:0a484beeccaf | 20 | for(int j=0;j<=d2;j++){ |
tim010 | 0:0a484beeccaf | 21 | if(i==0||j==0||i==d1||j==d2){ |
tim010 | 0:0a484beeccaf | 22 | ekran.setPixel(a+i,b+j); |
tim010 | 0:0a484beeccaf | 23 | } |
tim010 | 0:0a484beeccaf | 24 | } |
tim010 | 0:0a484beeccaf | 25 | } |
tim010 | 0:0a484beeccaf | 26 | ekran.refresh(); |
tim010 | 0:0a484beeccaf | 27 | } |
tim010 | 0:0a484beeccaf | 28 | |
tim010 | 0:0a484beeccaf | 29 | void ocistiEkran(){ |
tim010 | 0:0a484beeccaf | 30 | ekran.clear(); |
tim010 | 0:0a484beeccaf | 31 | crtaj=false; |
tim010 | 0:0a484beeccaf | 32 | brisi=true; |
tim010 | 0:0a484beeccaf | 33 | } |
tim010 | 0:0a484beeccaf | 34 | |
tim010 | 0:0a484beeccaf | 35 | void pomjeranjeMisa(){ |
tim010 | 0:0a484beeccaf | 36 | if(x<0||x>83||y<0||y>47){ |
tim010 | 0:0a484beeccaf | 37 | if(x<0) x=0; |
tim010 | 0:0a484beeccaf | 38 | if(x>83) x=83; |
tim010 | 0:0a484beeccaf | 39 | if(y<0) y=0; |
tim010 | 0:0a484beeccaf | 40 | if(y>47) y=47; |
tim010 | 0:0a484beeccaf | 41 | return; |
tim010 | 0:0a484beeccaf | 42 | } |
tim010 | 0:0a484beeccaf | 43 | char znak=ekran.getPixel(x,y); |
tim010 | 0:0a484beeccaf | 44 | if(znak!=0){ |
tim010 | 0:0a484beeccaf | 45 | return; |
tim010 | 0:0a484beeccaf | 46 | } |
tim010 | 0:0a484beeccaf | 47 | if(brisi){ |
tim010 | 0:0a484beeccaf | 48 | ekran.clearPixel(x1,y1); |
tim010 | 0:0a484beeccaf | 49 | } |
tim010 | 0:0a484beeccaf | 50 | brisi=true; |
tim010 | 0:0a484beeccaf | 51 | ekran.setPixel(x,y); |
tim010 | 0:0a484beeccaf | 52 | x1=x; |
tim010 | 0:0a484beeccaf | 53 | y1=y; |
tim010 | 0:0a484beeccaf | 54 | ekran.refresh(); |
tim010 | 0:0a484beeccaf | 55 | } |
tim010 | 0:0a484beeccaf | 56 | |
tim010 | 0:0a484beeccaf | 57 | |
tim010 | 0:0a484beeccaf | 58 | |
tim010 | 0:0a484beeccaf | 59 | void oznaci(int a,int b){ |
tim010 | 0:0a484beeccaf | 60 | ekran.setPixel(a,b); |
tim010 | 0:0a484beeccaf | 61 | ekran.refresh(); |
tim010 | 0:0a484beeccaf | 62 | crtaj=true; |
tim010 | 0:0a484beeccaf | 63 | brisi=false; |
tim010 | 0:0a484beeccaf | 64 | } |
tim010 | 0:0a484beeccaf | 65 | |
tim010 | 0:0a484beeccaf | 66 | void nacrtaj(int a,int b){ |
tim010 | 0:0a484beeccaf | 67 | int d1=a-X; |
tim010 | 0:0a484beeccaf | 68 | if(d1<0) d1=-d1; |
tim010 | 0:0a484beeccaf | 69 | int d2=b-Y; |
tim010 | 0:0a484beeccaf | 70 | if(d2<0) d2=-d2; |
tim010 | 0:0a484beeccaf | 71 | int k1,k2; |
tim010 | 0:0a484beeccaf | 72 | if(a<X){ |
tim010 | 0:0a484beeccaf | 73 | k1=a; |
tim010 | 0:0a484beeccaf | 74 | } |
tim010 | 0:0a484beeccaf | 75 | else{ |
tim010 | 0:0a484beeccaf | 76 | k1=X; |
tim010 | 0:0a484beeccaf | 77 | } |
tim010 | 0:0a484beeccaf | 78 | |
tim010 | 0:0a484beeccaf | 79 | if(b<Y){ |
tim010 | 0:0a484beeccaf | 80 | k2=b; |
tim010 | 0:0a484beeccaf | 81 | } |
tim010 | 0:0a484beeccaf | 82 | else{ |
tim010 | 0:0a484beeccaf | 83 | k2=Y; |
tim010 | 0:0a484beeccaf | 84 | } |
tim010 | 0:0a484beeccaf | 85 | |
tim010 | 0:0a484beeccaf | 86 | nacrtaj_pom(k1,k2,d1,d2); |
tim010 | 0:0a484beeccaf | 87 | |
tim010 | 0:0a484beeccaf | 88 | crtaj=false; |
tim010 | 0:0a484beeccaf | 89 | brisi=false; |
tim010 | 0:0a484beeccaf | 90 | } |
tim010 | 0:0a484beeccaf | 91 | |
tim010 | 0:0a484beeccaf | 92 | DigitalOut enable(dp14); |
tim010 | 0:0a484beeccaf | 93 | |
tim010 | 0:0a484beeccaf | 94 | int main() { |
tim010 | 0:0a484beeccaf | 95 | enable=1; |
tim010 | 0:0a484beeccaf | 96 | ekran.init(); |
tim010 | 0:0a484beeccaf | 97 | ekran.setXYAddress(0,0); |
tim010 | 0:0a484beeccaf | 98 | pomjeranjeMisa(); |
tim010 | 0:0a484beeccaf | 99 | while(1) { |
tim010 | 0:0a484beeccaf | 100 | if (mis.processing(&event)) { |
tim010 | 0:0a484beeccaf | 101 | pomX+=event.x; |
tim010 | 0:0a484beeccaf | 102 | pomY+=event.y; |
tim010 | 0:0a484beeccaf | 103 | brojac++; |
tim010 | 0:0a484beeccaf | 104 | if(brojac==3){ |
tim010 | 0:0a484beeccaf | 105 | |
tim010 | 0:0a484beeccaf | 106 | if(pomX>0){ |
tim010 | 0:0a484beeccaf | 107 | x+=1; |
tim010 | 0:0a484beeccaf | 108 | } |
tim010 | 0:0a484beeccaf | 109 | else{ |
tim010 | 0:0a484beeccaf | 110 | x-=1; |
tim010 | 0:0a484beeccaf | 111 | } |
tim010 | 0:0a484beeccaf | 112 | |
tim010 | 0:0a484beeccaf | 113 | if(pomY>0){ |
tim010 | 0:0a484beeccaf | 114 | y-=1; |
tim010 | 0:0a484beeccaf | 115 | } |
tim010 | 0:0a484beeccaf | 116 | else{ |
tim010 | 0:0a484beeccaf | 117 | y+=1; |
tim010 | 0:0a484beeccaf | 118 | } |
tim010 | 0:0a484beeccaf | 119 | |
tim010 | 0:0a484beeccaf | 120 | pomjeranjeMisa(); |
tim010 | 0:0a484beeccaf | 121 | |
tim010 | 0:0a484beeccaf | 122 | pomX=pomY=brojac=0; |
tim010 | 0:0a484beeccaf | 123 | } |
tim010 | 0:0a484beeccaf | 124 | |
tim010 | 0:0a484beeccaf | 125 | if (event.left){ |
tim010 | 0:0a484beeccaf | 126 | if(!crtaj){ |
tim010 | 0:0a484beeccaf | 127 | X=x; |
tim010 | 0:0a484beeccaf | 128 | Y=y; |
tim010 | 0:0a484beeccaf | 129 | oznaci(X,Y); |
tim010 | 0:0a484beeccaf | 130 | } |
tim010 | 0:0a484beeccaf | 131 | else{ |
tim010 | 0:0a484beeccaf | 132 | nacrtaj(x,y); |
tim010 | 0:0a484beeccaf | 133 | } |
tim010 | 0:0a484beeccaf | 134 | } |
tim010 | 0:0a484beeccaf | 135 | if (event.right){ |
tim010 | 0:0a484beeccaf | 136 | ocistiEkran(); |
tim010 | 0:0a484beeccaf | 137 | } |
tim010 | 0:0a484beeccaf | 138 | |
tim010 | 0:0a484beeccaf | 139 | } |
tim010 | 0:0a484beeccaf | 140 | } |
tim010 | 0:0a484beeccaf | 141 | } |