Elma Gazetic Nadin Hasanic

Dependencies:   TSI mbed

Committer:
tim004
Date:
Mon May 05 08:52:20 2014 +0000
Revision:
0:9e046233a0c4
LV8_PAI_TIM004_Zadatak_1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim004 0:9e046233a0c4 1 #include "mbed.h"
tim004 0:9e046233a0c4 2 #include "TSISensor.h"
tim004 0:9e046233a0c4 3
tim004 0:9e046233a0c4 4 #include <string>
tim004 0:9e046233a0c4 5
tim004 0:9e046233a0c4 6 Serial pc(USBTX, USBRX);
tim004 0:9e046233a0c4 7 PwmOut red(LED_RED), green(LED_GREEN),blue(LED_BLUE);
tim004 0:9e046233a0c4 8
tim004 0:9e046233a0c4 9 TSISensor tsi;
tim004 0:9e046233a0c4 10
tim004 0:9e046233a0c4 11 Ticker status;
tim004 0:9e046233a0c4 12
tim004 0:9e046233a0c4 13 string rijec = "";
tim004 0:9e046233a0c4 14 bool mjerenje = false;
tim004 0:9e046233a0c4 15
tim004 0:9e046233a0c4 16 bool is_digit(char c) {
tim004 0:9e046233a0c4 17 return c >= '0' && c <= '9';
tim004 0:9e046233a0c4 18 }
tim004 0:9e046233a0c4 19
tim004 0:9e046233a0c4 20
tim004 0:9e046233a0c4 21
tim004 0:9e046233a0c4 22 void show_status() {
tim004 0:9e046233a0c4 23 if(mjerenje)
tim004 0:9e046233a0c4 24 pc.printf("%f\n", tsi.readPercentage());
tim004 0:9e046233a0c4 25
tim004 0:9e046233a0c4 26 if(rijec.length() == 1 && rijec[0] == 'P') {
tim004 0:9e046233a0c4 27 mjerenje = true;
tim004 0:9e046233a0c4 28 } else if(rijec.length() == 1 && rijec[0] == 'Z') {
tim004 0:9e046233a0c4 29 mjerenje = false;
tim004 0:9e046233a0c4 30 }
tim004 0:9e046233a0c4 31 }
tim004 0:9e046233a0c4 32
tim004 0:9e046233a0c4 33 int main() {
tim004 0:9e046233a0c4 34
tim004 0:9e046233a0c4 35 red = 1.;
tim004 0:9e046233a0c4 36 green = 1.;
tim004 0:9e046233a0c4 37 blue = 1.;
tim004 0:9e046233a0c4 38 status.attach(show_status, 1.);
tim004 0:9e046233a0c4 39
tim004 0:9e046233a0c4 40 while(true) {
tim004 0:9e046233a0c4 41 rijec.push_back(pc.getc());
tim004 0:9e046233a0c4 42 if(rijec.length() == 3) {
tim004 0:9e046233a0c4 43 if(!is_digit(rijec[1]) || !is_digit(rijec[2]))
tim004 0:9e046233a0c4 44 rijec="";
tim004 0:9e046233a0c4 45 float intenzitet = ((rijec[2] - '0') + 10 * (rijec[1] - '0')) / 100.;
tim004 0:9e046233a0c4 46 switch(rijec[0]) {
tim004 0:9e046233a0c4 47 case 'R':
tim004 0:9e046233a0c4 48 red = 1 - intenzitet;
tim004 0:9e046233a0c4 49 rijec = "";
tim004 0:9e046233a0c4 50 break;
tim004 0:9e046233a0c4 51
tim004 0:9e046233a0c4 52 case 'G':
tim004 0:9e046233a0c4 53 green = 1 - intenzitet;
tim004 0:9e046233a0c4 54 rijec = "";
tim004 0:9e046233a0c4 55 break;
tim004 0:9e046233a0c4 56
tim004 0:9e046233a0c4 57 case 'B':
tim004 0:9e046233a0c4 58 blue = 1 - intenzitet;
tim004 0:9e046233a0c4 59 rijec = "";
tim004 0:9e046233a0c4 60 break;
tim004 0:9e046233a0c4 61
tim004 0:9e046233a0c4 62 default:
tim004 0:9e046233a0c4 63 rijec="";
tim004 0:9e046233a0c4 64 }
tim004 0:9e046233a0c4 65 } else if(rijec.length() == 1 && rijec[0] == 'P') {
tim004 0:9e046233a0c4 66 mjerenje = true;
tim004 0:9e046233a0c4 67 } else if(rijec.length() == 1 && rijec[0] == 'Z') {
tim004 0:9e046233a0c4 68 mjerenje = false;
tim004 0:9e046233a0c4 69 }
tim004 0:9e046233a0c4 70 }
tim004 0:9e046233a0c4 71
tim004 0:9e046233a0c4 72 return 0;
tim004 0:9e046233a0c4 73 }