Tobias Wulf
/
SerialDimmer
Controll mbed LEDs via terminal
main.cpp@0:1ea8761e17a8, 2013-09-23 (annotated)
- Committer:
- flash_ahaa
- Date:
- Mon Sep 23 11:12:55 2013 +0000
- Revision:
- 0:1ea8761e17a8
Controll mbed onboard LEDs via Terminal
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
flash_ahaa | 0:1ea8761e17a8 | 1 | #include "mbed.h" |
flash_ahaa | 0:1ea8761e17a8 | 2 | |
flash_ahaa | 0:1ea8761e17a8 | 3 | PwmOut led1(LED1); |
flash_ahaa | 0:1ea8761e17a8 | 4 | PwmOut led2(LED2); |
flash_ahaa | 0:1ea8761e17a8 | 5 | PwmOut led3(LED3); |
flash_ahaa | 0:1ea8761e17a8 | 6 | PwmOut led4(LED4); |
flash_ahaa | 0:1ea8761e17a8 | 7 | |
flash_ahaa | 0:1ea8761e17a8 | 8 | Serial pc(USBTX, USBRX); // tx, rx |
flash_ahaa | 0:1ea8761e17a8 | 9 | |
flash_ahaa | 0:1ea8761e17a8 | 10 | // for serial comunication look under device manger what comX port your mbed got |
flash_ahaa | 0:1ea8761e17a8 | 11 | // and setup your terminal prog to the comX port |
flash_ahaa | 0:1ea8761e17a8 | 12 | // communication defaults for the mbed is 9600-8-N-1 |
flash_ahaa | 0:1ea8761e17a8 | 13 | // pc.putc(pc.getc()); gives you a callback for each char you'll hack in the terminal interface |
flash_ahaa | 0:1ea8761e17a8 | 14 | |
flash_ahaa | 0:1ea8761e17a8 | 15 | int main(void) { |
flash_ahaa | 0:1ea8761e17a8 | 16 | |
flash_ahaa | 0:1ea8761e17a8 | 17 | float brigthness[4] = {0.0, 0.0, 0.0, 0.0}; |
flash_ahaa | 0:1ea8761e17a8 | 18 | unsigned char ch = '\0'; |
flash_ahaa | 0:1ea8761e17a8 | 19 | unsigned char cmd = '\0'; |
flash_ahaa | 0:1ea8761e17a8 | 20 | |
flash_ahaa | 0:1ea8761e17a8 | 21 | pc.printf("\n\t\tSerial-Dimmer\n\n"); |
flash_ahaa | 0:1ea8761e17a8 | 22 | pc.printf("Press:\t1 - LED 1\n"); |
flash_ahaa | 0:1ea8761e17a8 | 23 | pc.printf("\t2 - LED 2\n"); |
flash_ahaa | 0:1ea8761e17a8 | 24 | pc.printf("\t3 - LED 3\n"); |
flash_ahaa | 0:1ea8761e17a8 | 25 | pc.printf("\t4 - LED 4\n"); |
flash_ahaa | 0:1ea8761e17a8 | 26 | pc.printf("\tu - to increase the chosen led\n"); |
flash_ahaa | 0:1ea8761e17a8 | 27 | pc.printf("\td - to dimm the chosen led\n"); |
flash_ahaa | 0:1ea8761e17a8 | 28 | pc.printf("\te - exit\n\n"); |
flash_ahaa | 0:1ea8761e17a8 | 29 | |
flash_ahaa | 0:1ea8761e17a8 | 30 | |
flash_ahaa | 0:1ea8761e17a8 | 31 | while(cmd != 'e') { |
flash_ahaa | 0:1ea8761e17a8 | 32 | |
flash_ahaa | 0:1ea8761e17a8 | 33 | cmd = pc.getc(); |
flash_ahaa | 0:1ea8761e17a8 | 34 | |
flash_ahaa | 0:1ea8761e17a8 | 35 | if((cmd == '1') || (cmd == '2') || (cmd == '3') || (cmd == '4')) { |
flash_ahaa | 0:1ea8761e17a8 | 36 | pc.printf("Choosed LED %c\n", cmd); |
flash_ahaa | 0:1ea8761e17a8 | 37 | ch = cmd; |
flash_ahaa | 0:1ea8761e17a8 | 38 | } |
flash_ahaa | 0:1ea8761e17a8 | 39 | |
flash_ahaa | 0:1ea8761e17a8 | 40 | switch(ch) { |
flash_ahaa | 0:1ea8761e17a8 | 41 | |
flash_ahaa | 0:1ea8761e17a8 | 42 | case '1': |
flash_ahaa | 0:1ea8761e17a8 | 43 | if((cmd == 'u') && (brigthness[0] < 1.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 44 | brigthness[0] += 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 45 | led1 = brigthness[0]; |
flash_ahaa | 0:1ea8761e17a8 | 46 | |
flash_ahaa | 0:1ea8761e17a8 | 47 | }if((cmd == 'd') && (brigthness[0] > 0.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 48 | brigthness[0] -= 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 49 | led1 = brigthness[0]; |
flash_ahaa | 0:1ea8761e17a8 | 50 | } |
flash_ahaa | 0:1ea8761e17a8 | 51 | break; |
flash_ahaa | 0:1ea8761e17a8 | 52 | |
flash_ahaa | 0:1ea8761e17a8 | 53 | case '2': |
flash_ahaa | 0:1ea8761e17a8 | 54 | if((cmd == 'u') && (brigthness[1] < 1.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 55 | brigthness[1] += 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 56 | led2 = brigthness[1]; |
flash_ahaa | 0:1ea8761e17a8 | 57 | } |
flash_ahaa | 0:1ea8761e17a8 | 58 | if((cmd == 'd') && (brigthness[1] > 0.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 59 | brigthness[1] -= 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 60 | led2 = brigthness[1]; |
flash_ahaa | 0:1ea8761e17a8 | 61 | } |
flash_ahaa | 0:1ea8761e17a8 | 62 | break; |
flash_ahaa | 0:1ea8761e17a8 | 63 | |
flash_ahaa | 0:1ea8761e17a8 | 64 | case '3': |
flash_ahaa | 0:1ea8761e17a8 | 65 | if((cmd == 'u') && (brigthness[2] < 1.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 66 | brigthness[2] += 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 67 | led3 = brigthness[2]; |
flash_ahaa | 0:1ea8761e17a8 | 68 | } |
flash_ahaa | 0:1ea8761e17a8 | 69 | if((cmd == 'd') && (brigthness[2] > 0.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 70 | brigthness[2]-= 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 71 | led3 = brigthness[2]; |
flash_ahaa | 0:1ea8761e17a8 | 72 | } |
flash_ahaa | 0:1ea8761e17a8 | 73 | break; |
flash_ahaa | 0:1ea8761e17a8 | 74 | |
flash_ahaa | 0:1ea8761e17a8 | 75 | case '4': |
flash_ahaa | 0:1ea8761e17a8 | 76 | if((cmd == 'u') && (brigthness[3] < 1.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 77 | brigthness[3] += 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 78 | led4 = brigthness[3]; |
flash_ahaa | 0:1ea8761e17a8 | 79 | } |
flash_ahaa | 0:1ea8761e17a8 | 80 | if((cmd == 'd') && (brigthness[3] > 0.0)) { |
flash_ahaa | 0:1ea8761e17a8 | 81 | brigthness[3] -= 0.01; |
flash_ahaa | 0:1ea8761e17a8 | 82 | led4 = brigthness[3]; |
flash_ahaa | 0:1ea8761e17a8 | 83 | } |
flash_ahaa | 0:1ea8761e17a8 | 84 | break; |
flash_ahaa | 0:1ea8761e17a8 | 85 | |
flash_ahaa | 0:1ea8761e17a8 | 86 | default: |
flash_ahaa | 0:1ea8761e17a8 | 87 | break; |
flash_ahaa | 0:1ea8761e17a8 | 88 | } |
flash_ahaa | 0:1ea8761e17a8 | 89 | } |
flash_ahaa | 0:1ea8761e17a8 | 90 | pc.printf( "\n\n\t\tQuit Serial-Dimmer!\n\n"); |
flash_ahaa | 0:1ea8761e17a8 | 91 | pc.printf("=============================================\n"); |
flash_ahaa | 0:1ea8761e17a8 | 92 | pc.printf("=============================================\n"); |
flash_ahaa | 0:1ea8761e17a8 | 93 | return 0; |
flash_ahaa | 0:1ea8761e17a8 | 94 | } |