diff --git a/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst b/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst index 0fa66201dd..6513090f46 100644 --- a/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst +++ b/Documentation/platforms/arm/stm32h7/boards/linum-stm32h753bi/index.rst @@ -478,8 +478,18 @@ This example use the timer 4 with channel 2 to generate a PWM output signal on b leds ------ -Example to blink 3 leds, the example use the gpios(PB0, PB1 and PC13) located on the expancion IO board:: +Example to blink the RBG led of board, using this example the board led status support stop to work:: + # turn on led red + printf \x00000001 > /dev/userleds + + # turn on led green + printf \x00000002 > /dev/userleds + + # turn on led blue + printf \x00000004 > /dev/userleds + + # Run blink leds sample nsh> leds leds_main: Starting the led_daemon leds_main: led_daemon started diff --git a/boards/arm/stm32h7/linum-stm32h753bi/configs/leds/defconfig b/boards/arm/stm32h7/linum-stm32h753bi/configs/leds/defconfig index 9d63ecd082..51cbb61955 100644 --- a/boards/arm/stm32h7/linum-stm32h753bi/configs/leds/defconfig +++ b/boards/arm/stm32h7/linum-stm32h753bi/configs/leds/defconfig @@ -5,8 +5,10 @@ # You can then do "make savedefconfig" to generate a new defconfig file that includes your # modifications. # +# CONFIG_ARCH_LEDS is not set # CONFIG_NSH_DISABLE_IFCONFIG is not set # CONFIG_NSH_DISABLE_PS is not set +# CONFIG_NSH_QUOTE is not set # CONFIG_STANDARD_SERIAL is not set # CONFIG_STM32H7_USE_LEGACY_PINMAP is not set CONFIG_ARCH="arm" diff --git a/boards/arm/stm32h7/linum-stm32h753bi/src/linum-stm32h753bi.h b/boards/arm/stm32h7/linum-stm32h753bi/src/linum-stm32h753bi.h index 2d9d3201af..a3e84e130f 100644 --- a/boards/arm/stm32h7/linum-stm32h753bi/src/linum-stm32h753bi.h +++ b/boards/arm/stm32h7/linum-stm32h753bi/src/linum-stm32h753bi.h @@ -49,19 +49,6 @@ #define GPIO_LED_GREEN GPIO_LD2 #define GPIO_LED_BLUE GPIO_LD3 -/* LED of shield */ - -#define GPIO_LED1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \ - GPIO_OUTPUT_SET | GPIO_PORTB | GPIO_PIN0) -#define GPIO_LED2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \ - GPIO_OUTPUT_SET | GPIO_PORTB | GPIO_PIN1) -#define GPIO_LED3 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \ - GPIO_OUTPUT_SET | GPIO_PORTC | GPIO_PIN13) - -#define LED1_BIT (1 << 0) -#define LED2_BIT (1 << 1) -#define LED3_BIT (1 << 2) -#define LED_NUM 3 /* Check if we can support the RTC driver */ #define HAVE_RTC_DRIVER 1 diff --git a/boards/arm/stm32h7/linum-stm32h753bi/src/stm32_userleds.c b/boards/arm/stm32h7/linum-stm32h753bi/src/stm32_userleds.c index b71af50b31..3120ff9357 100644 --- a/boards/arm/stm32h7/linum-stm32h753bi/src/stm32_userleds.c +++ b/boards/arm/stm32h7/linum-stm32h753bi/src/stm32_userleds.c @@ -37,7 +37,7 @@ #include "stm32.h" #include "linum-stm32h753bi.h" -#ifdef CONFIG_USERLED +#ifndef CONFIG_ARCH_LEDS /**************************************************************************** * Private Data @@ -47,9 +47,9 @@ static uint32_t g_ledcfg[BOARD_NLEDS] = { - GPIO_LED1, - GPIO_LED2, - GPIO_LED3 + GPIO_LED_RED, + GPIO_LED_GREEN, + GPIO_LED_BLUE }; /**************************************************************************** @@ -165,10 +165,10 @@ uint32_t board_userled_initialize(void) { /* Configure LED1-4 GPIOs for output */ - stm32_configgpio(GPIO_LED1); - stm32_configgpio(GPIO_LED2); - stm32_configgpio(GPIO_LED3); - return LED_NUM; + stm32_configgpio(GPIO_LED_RED); + stm32_configgpio(GPIO_LED_GREEN); + stm32_configgpio(GPIO_LED_BLUE); + return BOARD_NLEDS; } /**************************************************************************** @@ -177,7 +177,7 @@ uint32_t board_userled_initialize(void) void board_userled(int led, bool ledon) { - if ((unsigned)led < LED_NUM) + if ((unsigned)led < BOARD_NLEDS) { stm32_gpiowrite(g_ledcfg[led], ledon); } @@ -189,9 +189,9 @@ void board_userled(int led, bool ledon) void board_userled_all(uint32_t ledset) { - stm32_gpiowrite(GPIO_LED1, (ledset & LED1_BIT) == 0); - stm32_gpiowrite(GPIO_LED2, (ledset & LED2_BIT) == 0); - stm32_gpiowrite(GPIO_LED3, (ledset & LED3_BIT) == 0); + stm32_gpiowrite(GPIO_LED_RED, (ledset & BOARD_LED1_BIT) == 0); + stm32_gpiowrite(GPIO_LED_GREEN, (ledset & BOARD_LED2_BIT) == 0); + stm32_gpiowrite(GPIO_LED_BLUE, (ledset & BOARD_LED3_BIT) == 0); } /****************************************************************************