tim008 tim008
/
pripremaLV8
Sumejja Porča
main.cpp@0:68fe7f3fda8a, 2014-05-08 (annotated)
- Committer:
- tim008
- Date:
- Thu May 08 12:26:44 2014 +0000
- Revision:
- 0:68fe7f3fda8a
priprema Zad01 Sumejja Porca
Who changed what in which revision?
User | Revision | Line number | New 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 | } |