This is an automated email from the ASF dual-hosted git repository.

jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit a8f8979bfe0ed71aa17daf49d2b0cacbc93dd773
Author: raiden00pl <[email protected]>
AuthorDate: Wed May 20 13:01:37 2026 +0200

    boards/nucleo-c092rc: add pulse count example
    
    add pulse count example for nucleo-c092rc
    
    Signed-off-by: raiden00pl <[email protected]>
---
 .../nucleo-c092rc/configs/jumbo/defconfig          |  3 +++
 .../arm/stm32f0l0g0/nucleo-c092rc/include/board.h  |  6 +++++
 .../stm32f0l0g0/nucleo-c092rc/src/stm32_bringup.c  | 26 ++++++++++++++++++++++
 3 files changed, 35 insertions(+)

diff --git a/boards/arm/stm32f0l0g0/nucleo-c092rc/configs/jumbo/defconfig 
b/boards/arm/stm32f0l0g0/nucleo-c092rc/configs/jumbo/defconfig
index e3b8fb25c66..c3a1f4f8b40 100644
--- a/boards/arm/stm32f0l0g0/nucleo-c092rc/configs/jumbo/defconfig
+++ b/boards/arm/stm32f0l0g0/nucleo-c092rc/configs/jumbo/defconfig
@@ -36,6 +36,7 @@ CONFIG_EXAMPLES_ADC_GROUPSIZE=2
 CONFIG_EXAMPLES_ADC_SWTRIG=y
 CONFIG_EXAMPLES_BUTTONS=y
 CONFIG_EXAMPLES_HELLO=y
+CONFIG_EXAMPLES_PULSECOUNT=y
 CONFIG_EXAMPLES_PWM=y
 CONFIG_EXAMPLES_PWM_DEVPATH="/dev/pwm13"
 CONFIG_EXAMPLES_QENCODER=y
@@ -77,6 +78,8 @@ CONFIG_STM32F0L0G0_TIM14=y
 CONFIG_STM32F0L0G0_TIM14_CH1OUT=y
 CONFIG_STM32F0L0G0_TIM14_CHANNEL1=y
 CONFIG_STM32F0L0G0_TIM14_PWM=y
+CONFIG_STM32F0L0G0_TIM1=y
+CONFIG_STM32F0L0G0_TIM1_PULSECOUNT=y
 CONFIG_STM32F0L0G0_TIM3=y
 CONFIG_STM32F0L0G0_TIM3_QE=y
 CONFIG_STM32F0L0G0_USART2=y
diff --git a/boards/arm/stm32f0l0g0/nucleo-c092rc/include/board.h 
b/boards/arm/stm32f0l0g0/nucleo-c092rc/include/board.h
index 153327b730c..f85f0b12044 100644
--- a/boards/arm/stm32f0l0g0/nucleo-c092rc/include/board.h
+++ b/boards/arm/stm32f0l0g0/nucleo-c092rc/include/board.h
@@ -187,6 +187,12 @@
 
 #define GPIO_TIM14_CH1OUT   (GPIO_TIM14_CH1OUT_2|GPIO_SPEED_HIGH)
 
+/* Pulse count on TIM1:
+ *   TIM1_CH1OUT - PA8 (D7)
+ */
+
+#define GPIO_TIM1_CH1OUT    (GPIO_TIM1_CH1OUT_3|GPIO_SPEED_HIGH)
+
 /* DMA channels *************************************************************/
 
 /* ADC */
diff --git a/boards/arm/stm32f0l0g0/nucleo-c092rc/src/stm32_bringup.c 
b/boards/arm/stm32f0l0g0/nucleo-c092rc/src/stm32_bringup.c
index bab34624d47..ba1c4751664 100644
--- a/boards/arm/stm32f0l0g0/nucleo-c092rc/src/stm32_bringup.c
+++ b/boards/arm/stm32f0l0g0/nucleo-c092rc/src/stm32_bringup.c
@@ -28,6 +28,7 @@
 
 #include <nuttx/debug.h>
 
+#include <errno.h>
 #include <sys/types.h>
 
 #ifdef CONFIG_INPUT_BUTTONS
@@ -42,6 +43,10 @@
 #  include <stm32_wdg.h>
 #endif
 
+#ifdef CONFIG_PULSECOUNT
+#  include "stm32_pulsecount.h"
+#endif
+
 #ifdef CONFIG_SENSORS_QENCODER
 #  include "board_qencoder.h"
 #endif
@@ -75,6 +80,9 @@
 
 int stm32_bringup(void)
 {
+#ifdef CONFIG_PULSECOUNT
+  struct pulsecount_lowerhalf_s *pulsecount;
+#endif
   int ret;
 
 #ifdef CONFIG_STM32F0L0G0_IWDG
@@ -83,6 +91,24 @@ int stm32_bringup(void)
   stm32_iwdginitialize("/dev/watchdog0", STM32_LSI_FREQUENCY);
 #endif
 
+#ifdef CONFIG_PULSECOUNT
+  /* Initialize and register the pulse count driver. */
+
+  pulsecount = stm32_pulsecountinitialize(1);
+  if (pulsecount == NULL)
+    {
+      syslog(LOG_ERR, "ERROR: stm32_pulsecountinitialize failed\n");
+      return -ENODEV;
+    }
+
+  ret = pulsecount_register("/dev/pulsecount0", pulsecount);
+  if (ret < 0)
+    {
+      syslog(LOG_ERR, "ERROR: pulsecount_register failed: %d\n", ret);
+      return ret;
+    }
+#endif
+
 #if !defined(CONFIG_ARCH_LEDS) && defined(CONFIG_USERLED_LOWER)
   /* Register the LED driver */
 

Reply via email to