Dominik Święch
/
AktalnyCZOSN
main + engine
Diff: main.cpp
- Revision:
- 1:cad75f28ec58
- Parent:
- 0:2294f5ee0610
--- 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