FRA221_2015 / Mbed 2 deprecated Project_PokPakGame

Dependencies:   mbed

Fork of Project_PokPakGame by FRA221_7B

Revision:
3:054a677aca64
Parent:
2:8b6312dbfd2f
Child:
4:3605c624b64f
--- a/main.cpp	Sat Dec 05 09:26:20 2015 +0000
+++ b/main.cpp	Sat Dec 05 13:48:10 2015 +0000
@@ -16,6 +16,164 @@
     {{0xF1,0xFF,0xFF},{0xF1,0xF1,0xFF},{0xFF,0xF1,0xFF}} ,
     {{0xF8,0xFF,0xFF},{0xF8,0xF8,0xFF},{0xFF,0xF8,0xFF}}
 };
+int Row[8]= {1,2,4,8,16,32,64,128};
+int Col[8]= {127,191,223,239,247,251,253,254};
+int x,y,up,down,t,way,c;
+
+void Count()
+{
+    //3
+    for(c=0; c<3000; c++) {
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x40);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x28);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x14);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0x02);
+        wait_us(1);
+        Latch=1;
+    }
+
+    //2
+    for(c=0; c<2200; c++) {
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x40);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xD8);
+        wait_us(1);
+        DataPack.write(0xD8);
+        wait_us(1);
+        DataPack.write(0x20);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x10);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x08);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1B);
+        wait_us(1);
+        DataPack.write(0x1B);
+        wait_us(1);
+        DataPack.write(0x04);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0x02);
+        wait_us(1);
+        Latch=1;
+    }
+
+    //1
+    for(c=0; c<4000; c++) {
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xBF);
+        wait_us(1);
+        DataPack.write(0xBF);
+        wait_us(1);
+        DataPack.write(0x40);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xBD);
+        wait_us(1);
+        DataPack.write(0xBD);
+        wait_us(1);
+        DataPack.write(0x3C);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xFD);
+        wait_us(1);
+        DataPack.write(0xFD);
+        wait_us(1);
+        DataPack.write(0x02);
+        wait_us(1);
+        Latch=1;
+    }
+}
 
 void BaseColorUnder(int a,int b)
 {
@@ -113,13 +271,188 @@
 
 int main()
 {
-    
+
     DataPack.frequency(100000);
     DataPack.format(8,0);
+    x=2;
+    way=0;
     
+    Count();
+
     while(1) {
-        BaseUnder(1);
-        BaseUpper(0);
+        for(y=2; y<7; y++) {
+
+            if(x>6||x<1) {
+                way=way*-1;
+            }
+
+            x=x+way;
+            for(t=0; t<800; t++) {
+                BaseUnder(2);
+                up=BaseUpper(2);
+
+                Latch=0;
+                DataPack.write(Col[x]);
+                wait_us(1);
+                DataPack.write(0xFF);
+                wait_us(1);
+                DataPack.write(Col[x]);
+                wait_us(1);
+                DataPack.write(Row[y]);
+                wait_us(1);
+                Latch=1;
+            }
+        }
+
+        if(x==0) {
+            if(up>1) {
+                break;
+            }
+            way=1;
+        }
+        if(x==1) {
+            if(up>2) {
+                break;
+            } else if(up==1) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==2) {
+            if(up>3) {
+                break;
+            } else if(up==1) {
+                way=1;
+            } else if(up==2) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==3) {
+            if(up<2||up>4) {
+                break;
+            } else if(up==2) {
+                way=1;
+            } else if(up==3) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==4) {
+            if(up<3||up>5) {
+                break;
+            } else if(up==3) {
+                way=1;
+            } else if(up==4) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==5) {
+            if(up<4) {
+                break;
+            } else if(up==4) {
+                way=1;
+            } else if(up==5) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==6) {
+            if(up<5) {
+                break;
+            } else if(up==5) {
+                way=1;
+            } else way=0;
+        }
+        if(x==7) {
+            if(up<6) {
+                break;
+            }
+            way=1;
+        }
+
+        for(y=5; y>0; y--) {
+
+            if(x>6||x<1) {
+                way=way*-1;
+            }
+
+            x=x+way;
+            for(t=0; t<800; t++) {
+                down=BaseUnder(2);
+                BaseUpper(2);
+
+                Latch=0;
+                DataPack.write(Col[x]);
+                wait_us(1);
+                DataPack.write(0xFF);
+                wait_us(1);
+                DataPack.write(Col[x]);
+                wait_us(1);
+                DataPack.write(Row[y]);
+                wait_us(1);
+                Latch=1;
+            }
+        }
+
+        if(x==0) {
+            if(down>1) {
+                break;
+            }
+            way=1;
+        }
+        if(x==1) {
+            if(down>2) {
+                break;
+            } else if(down==1) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==2) {
+            if(down>3) {
+                break;
+            } else if(down==1) {
+                way=1;
+            } else if(down==2) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==3) {
+            if(down<2||down>4) {
+                break;
+            } else if(down==2) {
+                way=1;
+            } else if(down==3) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==4) {
+            if(down<3||down>5) {
+                break;
+            } else if(down==3) {
+                way=1;
+            } else if(down==4) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==5) {
+            if(down<4) {
+                break;
+            } else if(down==4) {
+                way=1;
+            } else if(down==5) {
+                way=0;
+            } else way=-1;
+        }
+        if(x==6) {
+            if(down<5) {
+                break;
+            } else if(down==5) {
+                way=1;
+            } else way=0;
+        }
+        if(x==7) {
+            if(down<6) {
+                break;
+            }
+            way=1;
+        }
+
     }
-    
 }