From 83a5c319b5e54cda93b270c1b3a9cd6b2494ba21 Mon Sep 17 00:00:00 2001 From: Dominic Clifton Date: Wed, 7 Jan 2015 23:02:05 +0000 Subject: [PATCH] CJMCU - Add support for LED2. Swap usage of LED0 and LED1. Currently the LED2 (blue) is just enabled after the main board initialisation is complete and then it stays on. --- src/main/drivers/light_led.h | 16 ++++++++++++++++ src/main/drivers/light_led_stm32f10x.c | 10 ++++++++++ src/main/main.c | 4 ++++ src/main/target/CJMCU/target.h | 4 ++-- 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/drivers/light_led.h b/src/main/drivers/light_led.h index 2d3d61bcd9..8f62bd5ab6 100644 --- a/src/main/drivers/light_led.h +++ b/src/main/drivers/light_led.h @@ -48,4 +48,20 @@ #define LED1_ON #endif + +#ifdef LED2 +#define LED2_TOGGLE digitalToggle(LED2_GPIO, LED2_PIN); +#ifndef LED2_INVERTED +#define LED2_OFF digitalHi(LED2_GPIO, LED2_PIN); +#define LED2_ON digitalLo(LED2_GPIO, LED2_PIN); +#else +#define LED2_OFF digitalLo(LED2_GPIO, LED2_PIN); +#define LED2_ON digitalHi(LED2_GPIO, LED2_PIN); +#endif // inverted +#else +#define LED2_TOGGLE +#define LED2_OFF +#define LED2_ON +#endif + void ledInit(void); diff --git a/src/main/drivers/light_led_stm32f10x.c b/src/main/drivers/light_led_stm32f10x.c index 991831283f..45fc55d466 100644 --- a/src/main/drivers/light_led_stm32f10x.c +++ b/src/main/drivers/light_led_stm32f10x.c @@ -46,6 +46,12 @@ void ledInit(void) { .gpio = LED1_GPIO, .cfg = { LED1_PIN, Mode_Out_PP, Speed_2MHz } + }, +#endif +#ifdef LED2 + { + .gpio = LED2_GPIO, + .cfg = { LED2_PIN, Mode_Out_PP, Speed_2MHz } } #endif }; @@ -58,9 +64,13 @@ void ledInit(void) #ifdef LED1 RCC_APB2PeriphClockCmd(LED1_PERIPHERAL, ENABLE); #endif +#ifdef LED2 + RCC_APB2PeriphClockCmd(LED2_PERIPHERAL, ENABLE); +#endif LED0_OFF; LED1_OFF; + LED2_OFF; for (i = 0; i < gpio_count; i++) { gpioInit(gpio_setup[i].gpio, &gpio_setup[i].cfg); diff --git a/src/main/main.c b/src/main/main.c index a34a715205..106dfb5be3 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -390,6 +390,10 @@ void init(void) #endif } #endif + +#ifdef CJMCU + LED2_ON; +#endif } #ifdef SOFTSERIAL_LOOPBACK diff --git a/src/main/target/CJMCU/target.h b/src/main/target/CJMCU/target.h index 85d5f490c6..ae82aadc84 100644 --- a/src/main/target/CJMCU/target.h +++ b/src/main/target/CJMCU/target.h @@ -23,11 +23,11 @@ #define FLASH_PAGE_SIZE ((uint16_t)0x400) #define LED0_GPIO GPIOC -#define LED0_PIN Pin_13 // PC13 (LED) +#define LED0_PIN Pin_14 // PC14 (LED) #define LED0 #define LED0_PERIPHERAL RCC_APB2Periph_GPIOC #define LED1_GPIO GPIOC -#define LED1_PIN Pin_14 // PC14 (LED) +#define LED1_PIN Pin_13 // PC13 (LED) #define LED1 #define LED1_PERIPHERAL RCC_APB2Periph_GPIOC #define LED2_GPIO GPIOC