main + engine

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
yruiewyrui3
Date:
Thu Jun 02 09:11:20 2016 +0000
Parent:
0:2294f5ee0610
Commit message:
0.2s bez nowego komunikatu, zatrzymanie

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 2294f5ee0610 -r cad75f28ec58 main.cpp
--- a/main.cpp	Wed Jun 01 10:47:53 2016 +0000
+++ b/main.cpp	Thu Jun 02 09:11:20 2016 +0000
@@ -7,6 +7,7 @@
 char lewa[3];
 int p=0;
 int l=0;
+Timer t;
 
 int main(){
     Engine eng_left = Engine(PB_13, PB_4, PB_10);
@@ -15,64 +16,75 @@
     stm.baud(115200);
     
     while(true){
-        bufor[i] = stm.getc();
-        if(bufor[7] == NULL)
+        
+        if(t.read_ms()>200){
+            eng_left.move(0);
+            eng_right.move(0);
+            }
+        
+        if((bufor[7] == NULL)&&(stm.readable()))
         {
+            bufor[i] = stm.getc();
             ++i;
             continue;
         }
-    
-        /*for (int j=0; j<8; j++)
-        {
-            stm.putc(bufor[j]);
-        }*/
-        for(int j=0; j<=2; j++)
-        {
-            lewa[j]=bufor[j+1];   
-        }
-        for(int k=0; k<=2; k++)
+        if(bufor[7] != NULL)
         {
-            prawa[k]=bufor[k+5]; 
-        }
-        sscanf(prawa, "%3d", &p);
-        sscanf(lewa, "%3d", &l);
-        
-         if(abs(l)>100) {
-            l=100;
-        }
-        if(abs(p)>100) {
-            p=100;
-        }
-        
-        stm.printf("liczba lewa: %d  \n", l);
-        stm.printf("liczba prawa: %d  \n", p);
-        
-        if(bufor[0]=='-') l=-l;
-        if(bufor[4]=='-') p=-p;
-        
-        eng_left.move(l);
-        eng_right.move(p);
-      
-        if ((l==0) && (p==0)) {
-            stm.printf("Pale gume w miejscu bo kazali mi stac");    
+            t.stop();
+            t.reset();
+            t.start();
+                
+            for(int j=0; j<=2; j++)
+            {
+                lewa[j]=bufor[j+1];   
+            }
+                
+            for(int k=0; k<=2; k++)
+            {
+                prawa[k]=bufor[k+5]; 
             }
-        else if ((l>0)&& (p>0)){            
-            stm.printf("Jade do przodu. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);
-            }
-        else if ((l<0)&& (p<0)){
-            stm.printf("Jade do tylu. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);                
-            }
-        else if ((l>=0)&& (p<=0)){
-            stm.printf("Obracam sie w prawo. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);
+                
+            sscanf(prawa, "%3d", &p);
+            sscanf(lewa, "%3d", &l);
+            
+            if(abs(l)>100) {
+                l=100;
+                }
+                
+            if(abs(p)>100) {
+                p=100;
+                }
+                
+            stm.printf("liczba lewa: %d  \n", l);
+            stm.printf("liczba prawa: %d  \n", p);
+            
+            if(bufor[0]=='-') l=-l;
+            if(bufor[4]=='-') p=-p;
+                
+            eng_left.move(l);
+            eng_right.move(p);
+                
+            if ((l==0) && (p==0)) {
+                stm.printf("Pale gume w miejscu bo kazali mi stac");    
+                }
+            else if ((l>0)&& (p>0)){            
+                stm.printf("Jade do przodu. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);
+                }
+            else if ((l<0)&& (p<0)){
+                stm.printf("Jade do tylu. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);                
+                }
+            else if ((l>=0)&& (p<=0)){
+                stm.printf("Obracam sie w prawo. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);
+                }
+            else if  ((l<=0)&& (p>=0)){
+                stm.printf("Obracam sie w lewo. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);
+                }        
+              
+            i=0;
+            for (int j=0; j<8; j++)
+            {
+                bufor[j]=NULL;
             }
-        else if  ((l<=0)&& (p>=0)){
-            stm.printf("Obracam sie w lewo. Predkosc lewej strony to %d, a prawej strony to %d \n", l, p);
-            }        
-        
-        i=0;
-        for (int j=0; j<8; j++)
-        {
-            bufor[j]=NULL;
         }
     }    
 }
\ No newline at end of file