Sumejja Porča

Dependencies:   TSI mbed

Committer:
tim008
Date:
Thu May 08 12:26:44 2014 +0000
Revision:
0:68fe7f3fda8a
priprema Zad01 Sumejja Porca

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim008 0:68fe7f3fda8a 1 #include "mbed.h"
tim008 0:68fe7f3fda8a 2 #include "TSISensor.h"
tim008 0:68fe7f3fda8a 3
tim008 0:68fe7f3fda8a 4 Serial pc(USBTX, USBRX); // tx, rx
tim008 0:68fe7f3fda8a 5 PwmOut ledR(LED1), ledG(LED2), ledB(LED3);
tim008 0:68fe7f3fda8a 6 TSISensor tsi;
tim008 0:68fe7f3fda8a 7 Ticker ticker;
tim008 0:68fe7f3fda8a 8
tim008 0:68fe7f3fda8a 9 float brightness = 1.0;
tim008 0:68fe7f3fda8a 10
tim008 0:68fe7f3fda8a 11 void printTSI()
tim008 0:68fe7f3fda8a 12 {
tim008 0:68fe7f3fda8a 13 pc.printf("Percentage of tsi is %f\n", tsi.readPercentage());
tim008 0:68fe7f3fda8a 14 }
tim008 0:68fe7f3fda8a 15
tim008 0:68fe7f3fda8a 16 int getBrightness()
tim008 0:68fe7f3fda8a 17 {
tim008 0:68fe7f3fda8a 18 char c1 = pc.getc();
tim008 0:68fe7f3fda8a 19 char c2 = pc.getc();
tim008 0:68fe7f3fda8a 20 if( c1 < '0' || c2 < '0' || c1 > '9' || c2 > '9' ) return -1;
tim008 0:68fe7f3fda8a 21 else return (c1 - '0') * 10 + c2 - '0';
tim008 0:68fe7f3fda8a 22 }
tim008 0:68fe7f3fda8a 23 void getCommand()
tim008 0:68fe7f3fda8a 24 {
tim008 0:68fe7f3fda8a 25 char c = pc.getc();
tim008 0:68fe7f3fda8a 26 brightness = getBrightness();
tim008 0:68fe7f3fda8a 27 if(brightness == -1) return;
tim008 0:68fe7f3fda8a 28 switch(c)
tim008 0:68fe7f3fda8a 29 {
tim008 0:68fe7f3fda8a 30 case 'R':
tim008 0:68fe7f3fda8a 31 ledG = ledB = 1.0;
tim008 0:68fe7f3fda8a 32 ledR = brightness / 100.0;
tim008 0:68fe7f3fda8a 33 break;
tim008 0:68fe7f3fda8a 34 case 'G':
tim008 0:68fe7f3fda8a 35 ledR = ledB = 1.0;
tim008 0:68fe7f3fda8a 36 ledG = brightness / 100.0;
tim008 0:68fe7f3fda8a 37 break;
tim008 0:68fe7f3fda8a 38 case 'B':
tim008 0:68fe7f3fda8a 39 ledG = ledR = 1.0;
tim008 0:68fe7f3fda8a 40 ledB = brightness / 100.0;
tim008 0:68fe7f3fda8a 41 break;
tim008 0:68fe7f3fda8a 42 case 'P':
tim008 0:68fe7f3fda8a 43 ticker.attach(&printTSI, 1);
tim008 0:68fe7f3fda8a 44 break;
tim008 0:68fe7f3fda8a 45 case 'Z':
tim008 0:68fe7f3fda8a 46 ticker.detach();
tim008 0:68fe7f3fda8a 47 break;
tim008 0:68fe7f3fda8a 48 default:
tim008 0:68fe7f3fda8a 49 return;
tim008 0:68fe7f3fda8a 50 }
tim008 0:68fe7f3fda8a 51 }
tim008 0:68fe7f3fda8a 52
tim008 0:68fe7f3fda8a 53 int main() {
tim008 0:68fe7f3fda8a 54 pc.printf("Press XDD -> X to turn R/G/B diode up and DD to adjust its brightness,or P to start measuring TSI and Z to stop it\n");
tim008 0:68fe7f3fda8a 55 ledR = ledG = ledB = 1.0;
tim008 0:68fe7f3fda8a 56 pc.attach(&getCommand);
tim008 0:68fe7f3fda8a 57 while(1) {
tim008 0:68fe7f3fda8a 58
tim008 0:68fe7f3fda8a 59 }
tim008 0:68fe7f3fda8a 60 }