diff --git a/radio/src/boards/generic_stm32/CMakeLists.txt b/radio/src/boards/generic_stm32/CMakeLists.txt index 629da13d7..3bc0d12e8 100644 --- a/radio/src/boards/generic_stm32/CMakeLists.txt +++ b/radio/src/boards/generic_stm32/CMakeLists.txt @@ -33,6 +33,7 @@ set(BOARD_LIB_SRC boards/generic_stm32/bor_level.cpp boards/generic_stm32/rgb_leds.cpp boards/generic_stm32/battery_voltage.cpp + boards/generic_stm32/led_driver.cpp ) add_library(minimal_board_lib OBJECT EXCLUDE_FROM_ALL ${MINIMAL_BOARD_LIB_SRC}) diff --git a/radio/src/boards/jumper-h750/led_driver.cpp b/radio/src/boards/generic_stm32/led_driver.cpp similarity index 84% rename from radio/src/boards/jumper-h750/led_driver.cpp rename to radio/src/boards/generic_stm32/led_driver.cpp index 3eb16a009..937e90dbf 100644 --- a/radio/src/boards/jumper-h750/led_driver.cpp +++ b/radio/src/boards/generic_stm32/led_driver.cpp @@ -28,17 +28,24 @@ #include "stm32_ws2812.h" #endif +#define __weak __attribute__((weak)) + #define GET_RED(color) (((color) & 0xFF0000) >>16) #define GET_GREEN(color) (((color) & 0x00FF00) >> 8) #define GET_BLUE(color) ((color) & 0x0000FF) +#if !defined(GPIO_LED_GPIO_ON) +#define GPIO_LED_GPIO_ON gpio_set +#define GPIO_LED_GPIO_OFF gpio_clear +#endif + #if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) static const uint32_t fsLeds[] = {FSLED_GPIO_PIN_1, FSLED_GPIO_PIN_2, FSLED_GPIO_PIN_3, FSLED_GPIO_PIN_4, FSLED_GPIO_PIN_5, FSLED_GPIO_PIN_6}; #endif -void ledInit() +__weak void ledInit() { #if defined(LED_GREEN_GPIO) gpio_init(LED_GREEN_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); @@ -60,7 +67,7 @@ void ledInit() } #if defined(FUNCTION_SWITCHES_RGB_LEDS) -void fsLedRGB(uint8_t index, uint32_t color) +__weak void fsLedRGB(uint8_t index, uint32_t color) { ws2812_set_color(index, GET_RED(color), \ GET_GREEN(color),GET_BLUE(color)); @@ -75,23 +82,23 @@ uint8_t getRGBColorIndex(uint32_t color) return 5; // Custom value set with Companion } #elif defined(FUNCTION_SWITCHES) -void fsLedOff(uint8_t index) +__weak void fsLedOff(uint8_t index) { gpio_clear(fsLeds[index]); } -void fsLedOn(uint8_t index) +__weak void fsLedOn(uint8_t index) { gpio_set(fsLeds[index]); } -bool fsLedState(uint8_t index) +__weak bool fsLedState(uint8_t index) { return gpio_read(fsLeds[index]) ? true : false; } #endif -void ledOff() +__weak void ledOff() { #if defined(LED_RED_GPIO) GPIO_LED_GPIO_OFF(LED_RED_GPIO); @@ -104,7 +111,7 @@ void ledOff() #endif } -void ledRed() +__weak void ledRed() { ledOff(); #if defined(LED_RED_GPIO) @@ -112,7 +119,7 @@ void ledRed() #endif } -void ledGreen() +__weak void ledGreen() { ledOff(); #if defined(LED_GREEN_GPIO) @@ -120,7 +127,7 @@ void ledGreen() #endif } -void ledBlue() +__weak void ledBlue() { ledOff(); #if defined(LED_BLUE_GPIO) @@ -128,7 +135,9 @@ void ledBlue() #endif } -uint32_t fsGetLedRGB(uint8_t index) +#if defined(FUNCTION_SWITCHES_RGB_LEDS) +__weak uint32_t fsGetLedRGB(uint8_t index) { return rgbGetLedColor(index + CFS_LED_STRIP_START); -} \ No newline at end of file +} +#endif diff --git a/radio/src/boards/rm-h750/led_driver.cpp b/radio/src/boards/rm-h750/led_driver.cpp deleted file mode 100644 index 9036255b3..000000000 --- a/radio/src/boards/rm-h750/led_driver.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) EdgeTX - * - * Based on code named - * opentx - https://github.com/opentx/opentx - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include "hal/gpio.h" -#include "hal/rgbleds.h" -#include "stm32_gpio.h" -#include "stm32_ws2812.h" -#include "boards/generic_stm32/rgb_leds.h" -#include "board.h" - -#define GET_RED(color) (((color) & 0xFF0000) >>16) -#define GET_GREEN(color) (((color) & 0x00FF00) >> 8) -#define GET_BLUE(color) ((color) & 0x0000FF) - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) -static const uint32_t fsLeds[] = {FSLED_GPIO_PIN_1, FSLED_GPIO_PIN_2, - FSLED_GPIO_PIN_3, FSLED_GPIO_PIN_4, - FSLED_GPIO_PIN_5, FSLED_GPIO_PIN_6}; -#endif - -void ledInit() -{ -#if defined(LED_GREEN_GPIO) - gpio_init(LED_GREEN_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_RED_GPIO) - gpio_init(LED_RED_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_BLUE_GPIO) - gpio_init(LED_BLUE_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) - for (size_t i = 0; i < DIM(fsLeds); i++) { - gpio_init(fsLeds[i], GPIO_OUT, GPIO_PIN_SPEED_LOW); - } -#endif -} - -#if defined(FUNCTION_SWITCHES_RGB_LEDS) -void fsLedRGB(uint8_t index, uint32_t color) -{ - ws2812_set_color(index + CFS_LED_STRIP_START, GET_RED(color), GET_GREEN(color), - GET_BLUE(color)); -} - -uint32_t fsGetLedRGB(uint8_t index) -{ - return rgbGetLedColor(index + CFS_LED_STRIP_START); -} - -uint8_t getRGBColorIndex(uint32_t color) -{ - for (uint8_t i = 0; i < DIM(colorTable); i++) { - if (color == colorTable[i]) - return(i + 1); - } - return 0; // Custom value set with Companion -} -#elif defined(FUNCTION_SWITCHES) -void fsLedOff(uint8_t index) -{ - gpio_clear(fsLeds[index]); -} - -void fsLedOn(uint8_t index) -{ - gpio_set(fsLeds[index]); -} - -bool fsLedState(uint8_t index) -{ - return gpio_read(fsLeds[index]) ? true : false; -} -#endif - -void ledOff() -{ -#if defined(LED_RED_GPIO) - GPIO_LED_GPIO_OFF(LED_RED_GPIO); -#endif -#if defined(LED_BLUE_GPIO) - GPIO_LED_GPIO_OFF(LED_BLUE_GPIO); -#endif -#if defined(LED_GREEN_GPIO) - GPIO_LED_GPIO_OFF(LED_GREEN_GPIO); -#endif -} - -void ledRed() -{ -#if defined(LED_RED_GPIO) - ledOff(); - GPIO_LED_GPIO_ON(LED_RED_GPIO); -#endif -} - -void ledGreen() -{ -#if defined(LED_GREEN_GPIO) - ledOff(); - GPIO_LED_GPIO_ON(LED_GREEN_GPIO); -#endif -} - -void ledBlue() -{ -#if defined(LED_BLUE_GPIO) - ledOff(); - GPIO_LED_GPIO_ON(LED_BLUE_GPIO); -#endif -} diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index b04ff492d..a2b53803f 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -247,7 +247,6 @@ set(TARGET_SRC_DIR targets/${TARGET_DIR}) set(BOARD_COMMON_SRC ${TARGET_SRC_DIR}/board.cpp - ${TARGET_SRC_DIR}/led_driver.cpp ${TARGET_SRC_DIR}/haptic_driver.cpp ${TARGET_SRC_DIR}/backlight_driver.cpp targets/common/arm/stm32/abnormal_reboot.cpp diff --git a/radio/src/targets/horus/board.cpp b/radio/src/targets/horus/board.cpp index 222e7e6f8..f3696a34d 100644 --- a/radio/src/targets/horus/board.cpp +++ b/radio/src/targets/horus/board.cpp @@ -258,7 +258,9 @@ void boardOff() rgbLedClearAll(); #endif +#if defined(STATUS_LEDS) && !defined(BOOT) ledOff(); +#endif backlightEnable(0); while (pwrPressed()) { diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index 0679f50bb..add82ae43 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -676,12 +676,12 @@ // Customisable switches leds #if defined(RADIO_T15) -#define FSLED_GPIO_1 GPIO_PIN(GPIOA, 15) //PA.15 -#define FSLED_GPIO_2 GPIO_PIN(GPIOC, 5) //PC.05 -#define FSLED_GPIO_3 GPIO_PIN(GPIOH, 13) //PH.13 -#define FSLED_GPIO_4 GPIO_PIN(GPIOG, 11) //PG.11 -#define FSLED_GPIO_5 GPIO_PIN(GPIOC, 3) //PC.03 -#define FSLED_GPIO_6 GPIO_PIN(GPIOC, 1) //PC.01 +#define FSLED_GPIO_PIN_1 GPIO_PIN(GPIOA, 15) //PA.15 +#define FSLED_GPIO_PIN_2 GPIO_PIN(GPIOC, 5) //PC.05 +#define FSLED_GPIO_PIN_3 GPIO_PIN(GPIOH, 13) //PH.13 +#define FSLED_GPIO_PIN_4 GPIO_PIN(GPIOG, 11) //PG.11 +#define FSLED_GPIO_PIN_5 GPIO_PIN(GPIOC, 3) //PC.03 +#define FSLED_GPIO_PIN_6 GPIO_PIN(GPIOC, 1) //PC.01 #endif // Serial Port (DEBUG) diff --git a/radio/src/targets/horus/led_driver.cpp b/radio/src/targets/horus/led_driver.cpp deleted file mode 100644 index 4ff554e54..000000000 --- a/radio/src/targets/horus/led_driver.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) EdgeTX - * - * Based on code named - * opentx - https://github.com/opentx/opentx - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include "board.h" -#include "boards/generic_stm32/rgb_leds.h" -#include "colors.h" -#include "hal/gpio.h" -#include "stm32_gpio.h" - -void ledInit() -{ -#if defined(LED_GPIO) - gpio_init(LED_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif -#if defined(LED_RED_GPIO) - gpio_init(LED_RED_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif -#if defined(LED_GREEN_GPIO) - gpio_init(LED_GREEN_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif -#if defined(LED_BLUE_GPIO) - gpio_init(LED_BLUE_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) - gpio_init(FSLED_GPIO_1, GPIO_OUT, GPIO_PIN_SPEED_LOW); - gpio_init(FSLED_GPIO_2, GPIO_OUT, GPIO_PIN_SPEED_LOW); - gpio_init(FSLED_GPIO_3, GPIO_OUT, GPIO_PIN_SPEED_LOW); - gpio_init(FSLED_GPIO_4, GPIO_OUT, GPIO_PIN_SPEED_LOW); - gpio_init(FSLED_GPIO_5, GPIO_OUT, GPIO_PIN_SPEED_LOW); - gpio_init(FSLED_GPIO_6, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif -} - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) -gpio_t fsLeds[] = {FSLED_GPIO_1, FSLED_GPIO_2, FSLED_GPIO_3, - FSLED_GPIO_4, FSLED_GPIO_5, FSLED_GPIO_6}; - -void fsLedOff(uint8_t index) { gpio_clear(fsLeds[index]); } - -void fsLedOn(uint8_t index) { gpio_set(fsLeds[index]); } - -bool fsLedState(uint8_t index) { return (gpio_read(fsLeds[index])); } -#endif - -#if defined(LED_GPIO) - -// Single GPIO for dual color LED -void ledOff() { gpio_init(LED_GPIO, GPIO_IN_PU, GPIO_PIN_SPEED_LOW); } - -void ledRed() -{ - ledInit(); - gpio_set(LED_GPIO); -} - -void ledBlue() -{ - ledInit(); - gpio_clear(LED_GPIO); -} - -#elif defined(LED_RED_GPIO) || defined(LED_GREEN_GPIO) || defined(LED_BLUE_GPIO) - -void ledOff() -{ -#if defined(LED_RED_GPIO) - gpio_clear(LED_RED_GPIO); -#endif -#if defined(LED_GREEN_GPIO) - gpio_clear(LED_GREEN_GPIO); -#endif -#if defined(LED_BLUE_GPIO) - gpio_clear(LED_BLUE_GPIO); -#endif -} - -#if defined(LED_RED_GPIO) -void ledRed() -{ - ledOff(); - gpio_set(LED_RED_GPIO); -} -#endif - -#if defined(LED_GREEN_GPIO) -void ledGreen() -{ - ledOff(); - gpio_set(LED_GREEN_GPIO); -} -#endif - -#if defined(LED_BLUE_GPIO) -void ledBlue() -{ - ledOff(); - gpio_set(LED_BLUE_GPIO); -} -#endif - -#endif diff --git a/radio/src/targets/pa01/CMakeLists.txt b/radio/src/targets/pa01/CMakeLists.txt index 47e899f1c..940461638 100644 --- a/radio/src/targets/pa01/CMakeLists.txt +++ b/radio/src/targets/pa01/CMakeLists.txt @@ -144,7 +144,7 @@ set(CMSIS_SRC ${TARGET_SRC_DIR}/system_clock.c) add_library(board OBJECT EXCLUDE_FROM_ALL ${BOARD_COMMON_SRC} ${TARGET_SRC_DIR}/led_driver.cpp - ${TARGET_SRC_DIR}/battery_driver.cpp + ${TARGET_SRC_DIR}/battery_driver.cpp targets/common/arm/stm32/audio_dac_driver.cpp targets/common/arm/stm32/heartbeat_driver.cpp targets/common/arm/stm32/lsm6ds_driver.cpp diff --git a/radio/src/targets/pa01/led_driver.cpp b/radio/src/targets/pa01/led_driver.cpp index 17c633f43..db3fa7e07 100644 --- a/radio/src/targets/pa01/led_driver.cpp +++ b/radio/src/targets/pa01/led_driver.cpp @@ -26,42 +26,11 @@ #include "boards/generic_stm32/rgb_leds.h" #include "board.h" -#if defined(LED_STRIP_GPIO) -#include "boards/generic_stm32/rgb_leds.h" -#endif #define GET_RED(color) (((color) & 0xF80000) >>16) #define GET_GREEN(color) (((color) & 0x000F800) >> 8) #define GET_BLUE(color) (((color) & 0xF8)) -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) -static const uint32_t fsLeds[] = {FSLED_GPIO_PIN_1, FSLED_GPIO_PIN_2, - FSLED_GPIO_PIN_3, FSLED_GPIO_PIN_4, - FSLED_GPIO_PIN_5, FSLED_GPIO_PIN_6}; -#endif - -void ledInit() -{ -#if defined(LED_GREEN_GPIO) - gpio_init(LED_GREEN_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_RED_GPIO) - gpio_init(LED_RED_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_BLUE_GPIO) - gpio_init(LED_BLUE_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) - for (size_t i = 0; i < DIM(fsLeds); i++) { - gpio_init(fsLeds[i], GPIO_OUT, GPIO_PIN_SPEED_LOW); - } -#endif -} - -#if defined(FUNCTION_SWITCHES_RGB_LEDS) // used to map switch number to led number in the rgbled chain uint8_t ledMapping[] = {4, 6, 0, 2}; @@ -73,35 +42,6 @@ void fsLedRGB(uint8_t index, uint32_t color) GET_GREEN(color),GET_BLUE(color)); } -uint32_t fsGetLedRGB(uint8_t index) -{ - return rgbGetLedColor(ledMapping[index]); -} -uint8_t getRGBColorIndex(uint32_t color) -{ - for (uint8_t i = 0; i < (sizeof(colorTable) / sizeof(colorTable[0])); i++) { - if (color == colorTable[i]) - return(i); - } - return 5; // Custom value set with Companion -} -#elif defined(FUNCTION_SWITCHES) -void fsLedOff(uint8_t index) -{ - gpio_clear(fsLeds[index]); -} - -void fsLedOn(uint8_t index) -{ - gpio_set(fsLeds[index]); -} - -bool fsLedState(uint8_t index) -{ - return gpio_read(fsLeds[index]) ? true : false; -} -#endif - void ledOff() { ws2812_set_color(8, 0, 0, 0); diff --git a/radio/src/targets/st16/led_driver.cpp b/radio/src/targets/st16/led_driver.cpp index 84c740479..dab8919b4 100644 --- a/radio/src/targets/st16/led_driver.cpp +++ b/radio/src/targets/st16/led_driver.cpp @@ -24,42 +24,12 @@ #include "stm32_gpio.h" #include "boards/generic_stm32/rgb_leds.h" #include "board.h" -#if defined(LED_STRIP_GPIO) -#include "boards/generic_stm32/rgb_leds.h" -#endif #define GET_RED(color) (((color) & 0xFF0000) >>16) #define GET_GREEN(color) (((color) & 0x00FF00) >> 8) #define GET_BLUE(color) ((color) & 0x0000FF) -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) -static const uint32_t fsLeds[] = {FSLED_GPIO_PIN_1, FSLED_GPIO_PIN_2, - FSLED_GPIO_PIN_3, FSLED_GPIO_PIN_4, - FSLED_GPIO_PIN_5, FSLED_GPIO_PIN_6}; -#endif -void ledInit() -{ -#if defined(LED_GREEN_GPIO) - gpio_init(LED_GREEN_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_RED_GPIO) - gpio_init(LED_RED_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_BLUE_GPIO) - gpio_init(LED_BLUE_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) - for (size_t i = 0; i < DIM(fsLeds); i++) { - gpio_init(fsLeds[i], GPIO_OUT, GPIO_PIN_SPEED_LOW); - } -#endif -} - -#if defined(FUNCTION_SWITCHES_RGB_LEDS) void fsLedRGB(uint8_t index, uint32_t color) { index = (index * 2) + CFS_LED_STRIP_START; @@ -72,61 +42,3 @@ uint32_t fsGetLedRGB(uint8_t index) return rgbGetLedColor((index * 2) + CFS_LED_STRIP_START); } -uint8_t getRGBColorIndex(uint32_t color) -{ - for (uint8_t i = 0; i < (sizeof(colorTable) / sizeof(colorTable[0])); i++) { - if (color == colorTable[i]) - return(i); - } - return 5; // Custom value set with Companion -} -#elif defined(FUNCTION_SWITCHES) -void fsLedOff(uint8_t index) -{ - gpio_clear(fsLeds[index]); -} - -void fsLedOn(uint8_t index) -{ - gpio_set(fsLeds[index]); -} - -bool fsLedState(uint8_t index) -{ - return gpio_read(fsLeds[index]) ? true : false; -} -#endif - -void ledOff() -{ -#if defined(LED_RED_GPIO) - GPIO_LED_GPIO_OFF(LED_RED_GPIO); -#endif -#if defined(LED_BLUE_GPIO) - GPIO_LED_GPIO_OFF(LED_BLUE_GPIO); -#endif -#if defined(LED_GREEN_GPIO) - GPIO_LED_GPIO_OFF(LED_GREEN_GPIO); -#endif -} - -void ledRed() -{ -#if defined(LED_RED_GPIO) - GPIO_LED_GPIO_ON(LED_RED_GPIO); -#endif -} - -void ledGreen() -{ -#if defined(LED_GREEN_GPIO) - GPIO_LED_GPIO_ON(LED_GREEN_GPIO); -#endif -} - -void ledBlue() -{ -#if defined(LED_BLUE_GPIO) - GPIO_LED_GPIO_ON(LED_BLUE_GPIO); -#endif -} diff --git a/radio/src/targets/t15pro/CMakeLists.txt b/radio/src/targets/t15pro/CMakeLists.txt index cd02286b1..c306379ab 100644 --- a/radio/src/targets/t15pro/CMakeLists.txt +++ b/radio/src/targets/t15pro/CMakeLists.txt @@ -146,7 +146,6 @@ set(CMSIS_SRC ${BOARD_SRC_DIR}/system_clock.c) # Firmware board library add_library(board OBJECT EXCLUDE_FROM_ALL ${BOARD_COMMON_SRC} - ${BOARD_SRC_DIR}/led_driver.cpp ${BOARD_SRC_DIR}/touch_driver.cpp targets/common/arm/stm32/audio_dac_driver.cpp targets/common/arm/stm32/heartbeat_driver.cpp diff --git a/radio/src/targets/taranis/CMakeLists.txt b/radio/src/targets/taranis/CMakeLists.txt index d299d0f72..42dc98695 100644 --- a/radio/src/targets/taranis/CMakeLists.txt +++ b/radio/src/targets/taranis/CMakeLists.txt @@ -599,7 +599,6 @@ set(TARGET_SRC_DIR targets/${TARGET_DIR}) set(BOARD_COMMON_SRC ${TARGET_SRC_DIR}/board.cpp - ${TARGET_SRC_DIR}/led_driver.cpp ${TARGET_SRC_DIR}/haptic_driver.cpp ${TARGET_SRC_DIR}/backlight_driver.cpp ${TARGET_SRC_DIR}/${LCD_DRIVER} @@ -648,10 +647,6 @@ add_library(board OBJECT EXCLUDE_FROM_ALL ) set(FIRMWARE_SRC ${FIRMWARE_SRC} $) -if(STATUS_LEDS) - target_sources(board PRIVATE ${TARGET_SRC_DIR}/led_driver.cpp) -endif() - if(BIND_KEY) add_definitions(-DBIND_KEY) target_sources(board PRIVATE ${TARGET_SRC_DIR}/bind_button_driver.cpp) diff --git a/radio/src/targets/taranis/led_driver.cpp b/radio/src/targets/taranis/led_driver.cpp deleted file mode 100644 index e0561ba89..000000000 --- a/radio/src/targets/taranis/led_driver.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (C) EdgeTX - * - * Based on code named - * opentx - https://github.com/opentx/opentx - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include "hal/gpio.h" -#include "hal/rgbleds.h" -#include "stm32_gpio.h" -#include "boards/generic_stm32/rgb_leds.h" -#include "board.h" -#if defined(LED_STRIP_GPIO) -#include "stm32_ws2812.h" -#endif - -#define GET_RED(color) (((color) & 0xFF0000) >>16) -#define GET_GREEN(color) (((color) & 0x000FF00) >> 8) -#define GET_BLUE(color) (((color) & 0xFF)) - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) -static const uint32_t fsLeds[] = {FSLED_GPIO_PIN_1, FSLED_GPIO_PIN_2, - FSLED_GPIO_PIN_3, FSLED_GPIO_PIN_4, - FSLED_GPIO_PIN_5, FSLED_GPIO_PIN_6}; -#endif - -void ledInit() -{ -#if defined(LED_GREEN_GPIO) - gpio_init(LED_GREEN_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_RED_GPIO) - gpio_init(LED_RED_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(LED_BLUE_GPIO) - gpio_init(LED_BLUE_GPIO, GPIO_OUT, GPIO_PIN_SPEED_LOW); -#endif - -#if defined(FUNCTION_SWITCHES) && !defined(FUNCTION_SWITCHES_RGB_LEDS) - for (size_t i = 0; i < DIM(fsLeds); i++) { - gpio_init(fsLeds[i], GPIO_OUT, GPIO_PIN_SPEED_LOW); - } -#endif -} - -#if defined(FUNCTION_SWITCHES_RGB_LEDS) -void fsLedRGB(uint8_t index, uint32_t color) -{ - ws2812_set_color(index + CFS_LED_STRIP_START, GET_RED(color), GET_GREEN(color), - GET_BLUE(color)); -} - -uint32_t fsGetLedRGB(uint8_t index) -{ - return rgbGetLedColor(index + CFS_LED_STRIP_START); -} - -uint8_t getRGBColorIndex(uint32_t color) -{ - for (uint8_t i = 0; i < DIM(colorTable); i++) { - if (color == colorTable[i]) - return(i + 1); - } - return 0; // Custom value set with Companion -} -#elif defined(FUNCTION_SWITCHES) -void fsLedOff(uint8_t index) -{ - gpio_clear(fsLeds[index]); -} - -void fsLedOn(uint8_t index) -{ - gpio_set(fsLeds[index]); -} - -bool fsLedState(uint8_t index) -{ - return gpio_read(fsLeds[index]) ? true : false; -} -#endif - -void ledOff() -{ -#if defined(LED_RED_GPIO) - GPIO_LED_GPIO_OFF(LED_RED_GPIO); -#endif -#if defined(LED_BLUE_GPIO) - GPIO_LED_GPIO_OFF(LED_BLUE_GPIO); -#endif -#if defined(LED_GREEN_GPIO) - GPIO_LED_GPIO_OFF(LED_GREEN_GPIO); -#endif -} - -void ledRed() -{ - ledOff(); -#if defined(LED_RED_GPIO) - GPIO_LED_GPIO_ON(LED_RED_GPIO); -#endif -} - -void ledGreen() -{ - ledOff(); -#if defined(LED_GREEN_GPIO) - GPIO_LED_GPIO_ON(LED_GREEN_GPIO); -#endif -} - -void ledBlue() -{ - ledOff(); -#if defined(LED_BLUE_GPIO) - GPIO_LED_GPIO_ON(LED_BLUE_GPIO); -#endif -} diff --git a/radio/src/targets/tx15/CMakeLists.txt b/radio/src/targets/tx15/CMakeLists.txt index 5d9f6ac2e..daffba863 100644 --- a/radio/src/targets/tx15/CMakeLists.txt +++ b/radio/src/targets/tx15/CMakeLists.txt @@ -177,7 +177,6 @@ set(CMSIS_SRC ${BOARD_SRC_DIR}/system_clock.c) # Firmware board library add_library(board OBJECT EXCLUDE_FROM_ALL ${BOARD_COMMON_SRC} - ${BOARD_SRC_DIR}/led_driver.cpp ${BOARD_SRC_DIR}/tp_gt911.cpp ${BOARD_SRC_DIR}/audio_driver.cpp drivers/icm42607C.cpp