Skip to content

Commit 1fd2fc2

Browse files
Vajnarxiaoxiang781216
authored andcommitted
stm32f746g-disco: Fix USERLED support
Provide correct pin name BOARD_LED1 and associated bit mask BOARD_LED1_BIT. Also use non-negated `ledon`. Add initialization into bringup code. Signed-off-by: Martin Vajnar <martin.vajnar@gmail.com>
1 parent bfad0f1 commit 1fd2fc2

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

boards/arm/stm32f7/stm32f746g-disco/src/stm32_bringup.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@
4242
# include <nuttx/video/fb.h>
4343
#endif
4444

45+
#if defined(CONFIG_USERLED_LOWER) && !defined(CONFIG_ARCH_LEDS)
46+
# include <nuttx/leds/userled.h>
47+
#endif
48+
4549
/****************************************************************************
4650
* Public Functions
4751
****************************************************************************/
@@ -150,6 +154,14 @@ int stm32_bringup(void)
150154
}
151155
#endif
152156

157+
#if defined(CONFIG_USERLED_LOWER) && !defined(CONFIG_ARCH_LEDS)
158+
ret = userled_lower_initialize("/dev/led0");
159+
if (ret < 0)
160+
{
161+
syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret);
162+
}
163+
#endif
164+
153165
UNUSED(ret); /* May not be used */
154166
return OK;
155167
}

boards/arm/stm32f7/stm32f746g-disco/src/stm32_userleds.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
****************************************************************************/
2626

2727
#include <nuttx/config.h>
28+
#include <arch/board/board.h>
2829

2930
#include <stdbool.h>
3031
#include <nuttx/debug.h>
@@ -67,9 +68,9 @@ uint32_t board_userled_initialize(void)
6768

6869
void board_userled(int led, bool ledon)
6970
{
70-
if (led == BOARD_STATUS_LED)
71+
if (led == BOARD_LED1)
7172
{
72-
stm32_gpiowrite(GPIO_LD1, !ledon);
73+
stm32_gpiowrite(GPIO_LD1, ledon);
7374
}
7475
}
7576

@@ -86,7 +87,7 @@ void board_userled(int led, bool ledon)
8687

8788
void board_userled_all(uint32_t ledset)
8889
{
89-
stm32_gpiowrite(GPIO_LD1, (ledset & BOARD_STATUS_LED_BIT) != 0);
90+
stm32_gpiowrite(GPIO_LD1, (ledset & BOARD_LED1_BIT) != 0);
9091
}
9192

9293
#endif /* !CONFIG_ARCH_LEDS */

0 commit comments

Comments
 (0)