This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 78535d012360f47f309e229540ad23f6f024f7d0 Author: zouboan <f...@feedforward.com.cn> AuthorDate: Sat Jun 25 10:17:33 2022 +0800 arch/stm32_capture: completion other slave mode selection --- arch/arm/src/stm32/stm32_capture.c | 29 ++++++++++++++++++++++++++--- arch/arm/src/stm32/stm32_capture.h | 8 ++++++-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/arch/arm/src/stm32/stm32_capture.c b/arch/arm/src/stm32/stm32_capture.c index 4e114a6f5e..57050a83ed 100644 --- a/arch/arm/src/stm32/stm32_capture.c +++ b/arch/arm/src/stm32/stm32_capture.c @@ -651,17 +651,40 @@ static int stm32_cap_setclock(struct stm32_cap_dev_s *dev, regval = GTIM_SMCR_DISAB; break; + case STM32_CAP_CLK_ENC1: + regval = GTIM_SMCR_ENCMD1; + break; + + case STM32_CAP_CLK_ENC2: + regval = GTIM_SMCR_ENCMD2; + break; + + case STM32_CAP_CLK_ENC3: + regval = GTIM_SMCR_ENCMD3; + break; + + case STM32_CAP_CLK_RST: + regval = GTIM_SMCR_RESET; + break; + + case STM32_CAP_CLK_GAT: + regval = GTIM_SMCR_GATED; + break; + + case STM32_CAP_CLK_TRG: + regval = GTIM_SMCR_TRIGGER; + break; + case STM32_CAP_CLK_EXT: regval = GTIM_SMCR_EXTCLK1; break; - /* TODO: Add other case */ - default: return ERROR; } - stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET, GTIM_SMCR_SMS_MASK, regval); + stm32_modifyreg16(priv, STM32_GTIM_SMCR_OFFSET, + GTIM_SMCR_SMS_MASK, regval); /* Set Maximum */ diff --git a/arch/arm/src/stm32/stm32_capture.h b/arch/arm/src/stm32/stm32_capture.h index ad8de8b078..347545fc31 100644 --- a/arch/arm/src/stm32/stm32_capture.h +++ b/arch/arm/src/stm32/stm32_capture.h @@ -127,9 +127,13 @@ typedef enum typedef enum { STM32_CAP_CLK_INT = 0, + STM32_CAP_CLK_ENC1, + STM32_CAP_CLK_ENC2, + STM32_CAP_CLK_ENC3, + STM32_CAP_CLK_RST, + STM32_CAP_CLK_GAT, + STM32_CAP_CLK_TRG, STM32_CAP_CLK_EXT, - - /* TODO: Add other clock */ } stm32_cap_clk_t; /* Capture flags */