Refactoring Ironcup 2020

Dependencies:   mbed mbed-rtos MotionSensor EthernetInterface

Committer:
starling
Date:
Mon Sep 21 21:42:07 2020 +0000
Revision:
0:8f5db5085df7
12 mar 2020

Who changed what in which revision?

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