tim003 tim003
/
LV8_Grupa3_Tim003_z1
Omerovic Mirza Kicin Adnan
Diff: main.cpp
- Revision:
- 0:0fbe88248a46
diff -r 000000000000 -r 0fbe88248a46 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon May 05 15:30:09 2014 +0000 @@ -0,0 +1,64 @@ +#include "mbed.h" +#include "TSISensor.h" +#include <string> + +Serial pc(USBTX, USBRX); +PwmOut crvena(LED_RED), zelena(LED_GREEN), plava(LED_BLUE); +TSISensor senzor; +Ticker tiker; + +string unos = ""; +bool mjerenje = false; + +bool daLiJeBroj(char znak) { + return znak >= '0' && znak <= '9'; +} + +void prikaziStatus() { + if(mjerenje==true) + pc.printf("Sad je vako: %f\n", senzor.readPercentage()); +} + +int main() { + + crvena = 1.; + zelena = 1.; + plava = 1.; + + + while(1) { + unos.push_back(pc.getc()); + if(unos.length() == 3) { + if(daLiJeBroj(unos[1])==false || daLiJeBroj(unos[2])==false) + unos = ""; + float intenzitet = ((unos[2] - '0') + 10 * (unos[1] - '0')) / 100.; + if(unos[0]=='R') { + crvena = 1 - intenzitet; + unos = ""; + } + else if(unos[0]=='G') + { + zelena = 1 - intenzitet; + unos = ""; + } + else if (unos[0]=='B') + { + plava = 1 - intenzitet; + unos = ""; + } + else unos = ""; + } + else if(unos[unos.length()-1] == 'P') { + unos=""; + mjerenje = true; + tiker.attach(prikaziStatus, 1.); + } else if(unos[unos.length()-1] == 'Z') { + unos=""; + mjerenje = false; + tiker.detach(); + } + } + + + return 0; +} \ No newline at end of file