essai de commande RGB
Fork of PwmOut_HelloWorld_WIZwiki-W7500 by
main.cpp@4:8f19603751cc, 2016-05-15 (annotated)
- Committer:
- Fo170
- Date:
- Sun May 15 00:11:43 2016 +0000
- Revision:
- 4:8f19603751cc
- Parent:
- 3:c97f8e12e04c
Modification du Mode RGB
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:50d2b9c62765 | 1 | #include "mbed.h" |
Fo170 | 4:8f19603751cc | 2 | #if defined(TARGET_WIZwiki_W7500) |
Fo170 | 4:8f19603751cc | 3 | Serial pc(USBTX, USBRX); // tx, rx |
Fo170 | 3:c97f8e12e04c | 4 | /* W7500 |
Fo170 | 3:c97f8e12e04c | 5 | LED1 = LED_RED = LEDR = PC_8 |
Fo170 | 3:c97f8e12e04c | 6 | LED2 = LED_GREEN = LEDG = PC_9 |
Fo170 | 3:c97f8e12e04c | 7 | LED3 = LED_BLUE = LEDB = PC_5 |
Fo170 | 3:c97f8e12e04c | 8 | LED4 = LED_BLUE |
Fo170 | 3:c97f8e12e04c | 9 | */ |
Fo170 | 3:c97f8e12e04c | 10 | DigitalOut red(LED_RED); |
Fo170 | 3:c97f8e12e04c | 11 | DigitalOut green(LED_GREEN); |
Fo170 | 3:c97f8e12e04c | 12 | DigitalOut blue(LED_BLUE); |
Fo170 | 4:8f19603751cc | 13 | #endif |
Fo170 | 4:8f19603751cc | 14 | |
Fo170 | 4:8f19603751cc | 15 | #define LED_ON 0 |
Fo170 | 4:8f19603751cc | 16 | #define LED_OFF 1 |
Fo170 | 4:8f19603751cc | 17 | |
Fo170 | 4:8f19603751cc | 18 | #define _WHITE_ 0xFFFFFF //9 |
Fo170 | 4:8f19603751cc | 19 | #define _PURPLE_ 0xFF00FF //7 |
Fo170 | 4:8f19603751cc | 20 | #define _BLUE_ 0x0000FF //6 |
Fo170 | 4:8f19603751cc | 21 | #define _CYAN_ 0x00FFFF //55 |
Fo170 | 4:8f19603751cc | 22 | #define _GREEN_ 0x00FF00 //5 |
Fo170 | 4:8f19603751cc | 23 | #define _YELLOW_ 0xFFFF00 //4 |
Fo170 | 4:8f19603751cc | 24 | #define _ORANGE_ 0x10FF00 //3 |
Fo170 | 4:8f19603751cc | 25 | #define _RED_ 0xFF0000 //2 |
Fo170 | 4:8f19603751cc | 26 | #define _BLACK_ 0x000000 //0 |
Fo170 | 4:8f19603751cc | 27 | |
Fo170 | 4:8f19603751cc | 28 | Ticker RGB_led_ticker; |
Fo170 | 4:8f19603751cc | 29 | |
Fo170 | 4:8f19603751cc | 30 | int j_color = 0; |
Fo170 | 4:8f19603751cc | 31 | int r_value = 0; |
Fo170 | 4:8f19603751cc | 32 | int g_value = 0; |
Fo170 | 4:8f19603751cc | 33 | int b_value = 0; |
Fo170 | 4:8f19603751cc | 34 | |
Fo170 | 4:8f19603751cc | 35 | void RGB_led() |
Fo170 | 4:8f19603751cc | 36 | { |
Fo170 | 4:8f19603751cc | 37 | ++j_color; |
Fo170 | 4:8f19603751cc | 38 | if(j_color >= 256) j_color = 0; |
Fo170 | 4:8f19603751cc | 39 | |
Fo170 | 4:8f19603751cc | 40 | if(r_value <= j_color) red = LED_ON; |
Fo170 | 4:8f19603751cc | 41 | else red = LED_OFF; |
Fo170 | 4:8f19603751cc | 42 | |
Fo170 | 4:8f19603751cc | 43 | if(g_value <= j_color) green = LED_ON; |
Fo170 | 4:8f19603751cc | 44 | else green = LED_OFF; |
Fo170 | 4:8f19603751cc | 45 | |
Fo170 | 4:8f19603751cc | 46 | if(b_value <= j_color) blue = LED_ON; |
Fo170 | 4:8f19603751cc | 47 | else blue = LED_OFF; |
Fo170 | 4:8f19603751cc | 48 | } |
Fo170 | 4:8f19603751cc | 49 | |
Fo170 | 4:8f19603751cc | 50 | void RGB_COLOR(int r, int g, int b) |
Fo170 | 4:8f19603751cc | 51 | { |
Fo170 | 4:8f19603751cc | 52 | r_value = 255 - r; |
Fo170 | 4:8f19603751cc | 53 | g_value = 255 - g; |
Fo170 | 4:8f19603751cc | 54 | b_value = 255 - b; |
Fo170 | 4:8f19603751cc | 55 | /* |
Fo170 | 4:8f19603751cc | 56 | if(r_value<0) r = 0; |
Fo170 | 4:8f19603751cc | 57 | if(r_value>255) r = 255; |
Fo170 | 4:8f19603751cc | 58 | |
Fo170 | 4:8f19603751cc | 59 | if(g_value<0) g = 0; |
Fo170 | 4:8f19603751cc | 60 | if(g_value>255) g = 255; |
Fo170 | 4:8f19603751cc | 61 | |
Fo170 | 4:8f19603751cc | 62 | if(b_value<0) b = 0; |
Fo170 | 4:8f19603751cc | 63 | if(b_value>255) b = 255; |
Fo170 | 4:8f19603751cc | 64 | */ |
Fo170 | 4:8f19603751cc | 65 | } |
Fo170 | 4:8f19603751cc | 66 | |
Fo170 | 4:8f19603751cc | 67 | void init_rgb_color(void) |
Fo170 | 4:8f19603751cc | 68 | { |
Fo170 | 4:8f19603751cc | 69 | RGB_led_ticker.attach(&RGB_led, 0.01); |
Fo170 | 4:8f19603751cc | 70 | } |
Fo170 | 4:8f19603751cc | 71 | |
Fo170 | 4:8f19603751cc | 72 | void COLOR(int c) |
Fo170 | 4:8f19603751cc | 73 | { |
Fo170 | 4:8f19603751cc | 74 | switch(c) |
Fo170 | 4:8f19603751cc | 75 | { |
Fo170 | 4:8f19603751cc | 76 | case _WHITE_: |
Fo170 | 4:8f19603751cc | 77 | //red = LED_ON, green = LED_ON, blue = LED_ON; |
Fo170 | 4:8f19603751cc | 78 | RGB_COLOR(255, 255, 255); |
Fo170 | 4:8f19603751cc | 79 | break; |
Fo170 | 4:8f19603751cc | 80 | |
Fo170 | 4:8f19603751cc | 81 | case _PURPLE_: |
Fo170 | 4:8f19603751cc | 82 | //red = LED_ON, green = LED_OFF, blue = LED_ON; |
Fo170 | 4:8f19603751cc | 83 | RGB_COLOR(255, 0, 255); |
Fo170 | 4:8f19603751cc | 84 | break; |
Fo170 | 4:8f19603751cc | 85 | |
Fo170 | 4:8f19603751cc | 86 | case _BLUE_: |
Fo170 | 4:8f19603751cc | 87 | //red = LED_OFF, green = LED_OFF, blue = LED_ON; |
Fo170 | 4:8f19603751cc | 88 | RGB_COLOR(0, 0, 255); |
Fo170 | 4:8f19603751cc | 89 | break; |
Fo170 | 4:8f19603751cc | 90 | |
Fo170 | 4:8f19603751cc | 91 | case _CYAN_: |
Fo170 | 4:8f19603751cc | 92 | //red = LED_OFF, green = LED_ON, blue = LED_ON; |
Fo170 | 4:8f19603751cc | 93 | RGB_COLOR(0, 255, 255); |
Fo170 | 4:8f19603751cc | 94 | break; |
Fo170 | 4:8f19603751cc | 95 | |
Fo170 | 4:8f19603751cc | 96 | case _GREEN_: |
Fo170 | 4:8f19603751cc | 97 | //red = LED_OFF, green = LED_ON, blue = LED_OFF; |
Fo170 | 4:8f19603751cc | 98 | RGB_COLOR(0, 255, 0); |
Fo170 | 4:8f19603751cc | 99 | break; |
Fo170 | 4:8f19603751cc | 100 | |
Fo170 | 4:8f19603751cc | 101 | case _YELLOW_: |
Fo170 | 4:8f19603751cc | 102 | //red = LED_ON, green = LED_ON, blue = LED_OFF; |
Fo170 | 4:8f19603751cc | 103 | RGB_COLOR(255, 255, 0); |
Fo170 | 4:8f19603751cc | 104 | break; |
Fo170 | 4:8f19603751cc | 105 | /* |
Fo170 | 4:8f19603751cc | 106 | case _ORANGE_: |
Fo170 | 4:8f19603751cc | 107 | RGB_COLOR(80, 80, 0); |
Fo170 | 4:8f19603751cc | 108 | break; |
Fo170 | 4:8f19603751cc | 109 | */ |
Fo170 | 4:8f19603751cc | 110 | case _RED_: |
Fo170 | 4:8f19603751cc | 111 | //red = LED_ON, green = LED_OFF, blue = LED_OFF; |
Fo170 | 4:8f19603751cc | 112 | RGB_COLOR(255, 0, 0); |
Fo170 | 4:8f19603751cc | 113 | break; |
Fo170 | 4:8f19603751cc | 114 | |
Fo170 | 4:8f19603751cc | 115 | case _BLACK_: |
Fo170 | 4:8f19603751cc | 116 | default: |
Fo170 | 4:8f19603751cc | 117 | //red = LED_OFF, green = LED_OFF, blue = LED_OFF; |
Fo170 | 4:8f19603751cc | 118 | RGB_COLOR(0, 0, 0); |
Fo170 | 4:8f19603751cc | 119 | } |
Fo170 | 4:8f19603751cc | 120 | } |
Fo170 | 3:c97f8e12e04c | 121 | |
Fo170 | 3:c97f8e12e04c | 122 | int i; |
mbedAustin | 1:5160ea45399b | 123 | |
Fo170 | 4:8f19603751cc | 124 | int main() |
Fo170 | 4:8f19603751cc | 125 | { |
Fo170 | 4:8f19603751cc | 126 | // Serial port configuration (valeurs par defaut) : 9600 baud, 8-bit data, no parity, stop bit |
Fo170 | 4:8f19603751cc | 127 | pc.baud(9600); |
Fo170 | 4:8f19603751cc | 128 | pc.format(8, SerialBase::None, 1); |
Fo170 | 4:8f19603751cc | 129 | |
Fo170 | 4:8f19603751cc | 130 | pc.printf("\n\rHello World!\n\r"); |
Fo170 | 4:8f19603751cc | 131 | init_rgb_color(); |
Fo170 | 4:8f19603751cc | 132 | /* |
Fo170 | 4:8f19603751cc | 133 | while(1000) |
Fo170 | 4:8f19603751cc | 134 | { |
Fo170 | 4:8f19603751cc | 135 | for (i=1; i<7; i++) |
Fo170 | 4:8f19603751cc | 136 | { |
Fo170 | 3:c97f8e12e04c | 137 | red = i & 1; |
Fo170 | 3:c97f8e12e04c | 138 | blue = i & 2; |
Fo170 | 3:c97f8e12e04c | 139 | green = i & 4; |
Fo170 | 3:c97f8e12e04c | 140 | wait(0.2); |
Fo170 | 3:c97f8e12e04c | 141 | } |
Fo170 | 3:c97f8e12e04c | 142 | } |
Fo170 | 4:8f19603751cc | 143 | */ |
Fo170 | 4:8f19603751cc | 144 | COLOR(_BLACK_); |
Fo170 | 4:8f19603751cc | 145 | pc.printf("\n\r_BLACK_\n\r"); |
Fo170 | 4:8f19603751cc | 146 | wait(5.0); |
Fo170 | 4:8f19603751cc | 147 | COLOR(_RED_); |
Fo170 | 4:8f19603751cc | 148 | pc.printf("\n\r_RED_\n\r"); |
Fo170 | 4:8f19603751cc | 149 | wait(5.0); |
Fo170 | 4:8f19603751cc | 150 | /*COLOR(_ORANGE_); |
Fo170 | 4:8f19603751cc | 151 | pc.printf("\n\r_ORANGE_\n\r");*/ |
Fo170 | 4:8f19603751cc | 152 | wait(5.0); |
Fo170 | 4:8f19603751cc | 153 | COLOR(_YELLOW_); |
Fo170 | 4:8f19603751cc | 154 | pc.printf("\n\r_YELLOW_\n\r"); |
Fo170 | 4:8f19603751cc | 155 | wait(5.0); |
Fo170 | 4:8f19603751cc | 156 | COLOR(_GREEN_); |
Fo170 | 4:8f19603751cc | 157 | pc.printf("\n\r_GREEN_\n\r"); |
Fo170 | 4:8f19603751cc | 158 | wait(5.0); |
Fo170 | 4:8f19603751cc | 159 | COLOR(_CYAN_); |
Fo170 | 4:8f19603751cc | 160 | pc.printf("\n\r_CYAN_\n\r"); |
Fo170 | 4:8f19603751cc | 161 | wait(5.0); |
Fo170 | 4:8f19603751cc | 162 | COLOR(_BLUE_); |
Fo170 | 4:8f19603751cc | 163 | pc.printf("\n\r_BLUE_\n\r"); |
Fo170 | 4:8f19603751cc | 164 | wait(5.0); |
Fo170 | 4:8f19603751cc | 165 | COLOR(_PURPLE_); |
Fo170 | 4:8f19603751cc | 166 | pc.printf("\n\rH_PURPLE_\n\r"); |
Fo170 | 4:8f19603751cc | 167 | wait(5.0); |
Fo170 | 4:8f19603751cc | 168 | COLOR(_WHITE_); |
Fo170 | 4:8f19603751cc | 169 | pc.printf("\n\r_WHITE_\n\r"); |
Fo170 | 4:8f19603751cc | 170 | wait(5.0); |
mbed_official | 0:50d2b9c62765 | 171 | } |