![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Refactoring Ironcup 2020
Dependencies: mbed mbed-rtos MotionSensor EthernetInterface
LED/LED.cpp@0:8f5db5085df7, 2020-09-21 (annotated)
- Committer:
- starling
- Date:
- Mon Sep 21 21:42:07 2020 +0000
- Revision:
- 0:8f5db5085df7
12 mar 2020
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
starling | 0:8f5db5085df7 | 1 | #include "LED.hpp" |
starling | 0:8f5db5085df7 | 2 | |
starling | 0:8f5db5085df7 | 3 | LED::LED(PinName red_main, PinName green_main, PinName blue_main, |
starling | 0:8f5db5085df7 | 4 | PinName red_nxp, PinName green_nxp, PinName blue_nxp): |
starling | 0:8f5db5085df7 | 5 | red_led_main(red_main), |
starling | 0:8f5db5085df7 | 6 | green_led_main(green_main), |
starling | 0:8f5db5085df7 | 7 | blue_led_main(blue_main), |
starling | 0:8f5db5085df7 | 8 | red_led_nxp(red_nxp), |
starling | 0:8f5db5085df7 | 9 | green_led_nxp(green_nxp), |
starling | 0:8f5db5085df7 | 10 | blue_led_nxp(blue_nxp) |
starling | 0:8f5db5085df7 | 11 | { |
starling | 0:8f5db5085df7 | 12 | RGB_LED_ON = 0; //active Low |
starling | 0:8f5db5085df7 | 13 | RGB_LED_OFF = 1; //active Low |
starling | 0:8f5db5085df7 | 14 | MAIN_RGB_LED_ON = 1; //active HIGH |
starling | 0:8f5db5085df7 | 15 | MAIN_RGB_LED_OFF = 0; |
starling | 0:8f5db5085df7 | 16 | } |
starling | 0:8f5db5085df7 | 17 | |
starling | 0:8f5db5085df7 | 18 | void LED::turn_leds_off_nxp() { |
starling | 0:8f5db5085df7 | 19 | red_led_nxp = RGB_LED_OFF; |
starling | 0:8f5db5085df7 | 20 | green_led_nxp = RGB_LED_OFF; |
starling | 0:8f5db5085df7 | 21 | blue_led_nxp = RGB_LED_OFF; |
starling | 0:8f5db5085df7 | 22 | } |
starling | 0:8f5db5085df7 | 23 | |
starling | 0:8f5db5085df7 | 24 | void LED::set_leds_color_nxp(int color) { |
starling | 0:8f5db5085df7 | 25 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 26 | |
starling | 0:8f5db5085df7 | 27 | switch(color) { |
starling | 0:8f5db5085df7 | 28 | case RED: |
starling | 0:8f5db5085df7 | 29 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 30 | red_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 31 | break; |
starling | 0:8f5db5085df7 | 32 | case GREEN: |
starling | 0:8f5db5085df7 | 33 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 34 | green_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 35 | break; |
starling | 0:8f5db5085df7 | 36 | case BLUE: |
starling | 0:8f5db5085df7 | 37 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 38 | blue_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 39 | break; |
starling | 0:8f5db5085df7 | 40 | case BLACK: |
starling | 0:8f5db5085df7 | 41 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 42 | break; |
starling | 0:8f5db5085df7 | 43 | case WHITE: |
starling | 0:8f5db5085df7 | 44 | red_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 45 | green_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 46 | blue_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 47 | break; |
starling | 0:8f5db5085df7 | 48 | case PURPLE: |
starling | 0:8f5db5085df7 | 49 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 50 | red_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 51 | blue_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 52 | break; |
starling | 0:8f5db5085df7 | 53 | case YELLOW: |
starling | 0:8f5db5085df7 | 54 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 55 | red_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 56 | green_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 57 | break; |
starling | 0:8f5db5085df7 | 58 | case AQUA: |
starling | 0:8f5db5085df7 | 59 | turn_leds_off_nxp(); |
starling | 0:8f5db5085df7 | 60 | blue_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 61 | green_led_nxp = RGB_LED_ON; |
starling | 0:8f5db5085df7 | 62 | break; |
starling | 0:8f5db5085df7 | 63 | default: |
starling | 0:8f5db5085df7 | 64 | break; |
starling | 0:8f5db5085df7 | 65 | } |
starling | 0:8f5db5085df7 | 66 | |
starling | 0:8f5db5085df7 | 67 | } |
starling | 0:8f5db5085df7 | 68 | |
starling | 0:8f5db5085df7 | 69 | void LED::turn_leds_off_main() { |
starling | 0:8f5db5085df7 | 70 | red_led_main = MAIN_RGB_LED_OFF; |
starling | 0:8f5db5085df7 | 71 | green_led_main = MAIN_RGB_LED_OFF; |
starling | 0:8f5db5085df7 | 72 | blue_led_main = MAIN_RGB_LED_OFF; |
starling | 0:8f5db5085df7 | 73 | } |
starling | 0:8f5db5085df7 | 74 | |
starling | 0:8f5db5085df7 | 75 | void LED::set_leds_color_main(int color) { |
starling | 0:8f5db5085df7 | 76 | switch(color) { |
starling | 0:8f5db5085df7 | 77 | case RED: |
starling | 0:8f5db5085df7 | 78 | turn_leds_off_main(); |
starling | 0:8f5db5085df7 | 79 | red_led_main = MAIN_RGB_LED_ON; |
starling | 0:8f5db5085df7 | 80 | break; |
starling | 0:8f5db5085df7 | 81 | case GREEN: |
starling | 0:8f5db5085df7 | 82 | turn_leds_off_main(); |
starling | 0:8f5db5085df7 | 83 | green_led_main = MAIN_RGB_LED_ON; |
starling | 0:8f5db5085df7 | 84 | break; |
starling | 0:8f5db5085df7 | 85 | case BLUE: |
starling | 0:8f5db5085df7 | 86 | turn_leds_off_main(); |
starling | 0:8f5db5085df7 | 87 | blue_led_main = MAIN_RGB_LED_ON; |
starling | 0:8f5db5085df7 | 88 | break; |
starling | 0:8f5db5085df7 | 89 | case BLACK: |
starling | 0:8f5db5085df7 | 90 | turn_leds_off_main(); |
starling | 0:8f5db5085df7 | 91 | break; |
starling | 0:8f5db5085df7 | 92 | case WHITE: |
starling | 0:8f5db5085df7 | 93 | red_led_main = MAIN_RGB_LED_ON; |
starling | 0:8f5db5085df7 | 94 | green_led_main = MAIN_RGB_LED_ON; |
starling | 0:8f5db5085df7 | 95 | blue_led_main = MAIN_RGB_LED_ON; |
starling | 0:8f5db5085df7 | 96 | break; |
starling | 0:8f5db5085df7 | 97 | default: |
starling | 0:8f5db5085df7 | 98 | break; |
starling | 0:8f5db5085df7 | 99 | } |
starling | 0:8f5db5085df7 | 100 | } |