Controll mbed LEDs via terminal

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }