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/nuttx.git
The following commit(s) were added to refs/heads/master by this push: new ade23b92d1 arch/{nrf52|nrf53}/pwm: fix compilation for MULTICHAN not set ade23b92d1 is described below commit ade23b92d1f81842bea6669ddb6ae206da37732c Author: raiden00pl <raide...@railab.me> AuthorDate: Thu Jun 15 15:12:42 2023 +0200 arch/{nrf52|nrf53}/pwm: fix compilation for MULTICHAN not set --- arch/arm/src/nrf52/nrf52_pwm.c | 19 ++++++++++++++++--- arch/arm/src/nrf53/nrf53_pwm.c | 16 +++++++++++++--- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/arch/arm/src/nrf52/nrf52_pwm.c b/arch/arm/src/nrf52/nrf52_pwm.c index 634fa9687a..9ef60a4c4c 100644 --- a/arch/arm/src/nrf52/nrf52_pwm.c +++ b/arch/arm/src/nrf52/nrf52_pwm.c @@ -66,6 +66,9 @@ struct nrf52_pwm_s uint32_t ch1_pin; /* Channel 2 pin */ uint32_t ch2_pin; /* Channel 3 pin */ uint32_t ch3_pin; /* Channel 4 pin */ +#ifndef CONFIG_PWM_MULTICHAN + uint8_t channel; /* Assigned channel */ +#endif /* Sequence 0 */ @@ -143,6 +146,9 @@ struct nrf52_pwm_s g_nrf52_pwm0 = #ifdef CONFIG_NRF52_PWM0_CH3 .ch3_pin = NRF52_PWM0_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF52_PWM0_CHANNEL +#endif }; #endif @@ -165,6 +171,9 @@ struct nrf52_pwm_s g_nrf52_pwm1 = #ifdef CONFIG_NRF52_PWM1_CH3 .ch3_pin = NRF52_PWM1_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF52_PWM1_CHANNEL +#endif }; #endif @@ -187,6 +196,9 @@ struct nrf52_pwm_s g_nrf52_pwm2 = #ifdef CONFIG_NRF52_PWM2_CH3 .ch3_pin = NRF52_PWM2_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF52_PWM2_CHANNEL +#endif }; #endif @@ -209,6 +221,9 @@ struct nrf52_pwm_s g_nrf52_pwm3 = #ifdef CONFIG_NRF52_PWM3_CH3 .ch3_pin = NRF52_PWM3_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF52_PWM3_CHANNEL +#endif }; #endif @@ -592,9 +607,7 @@ static int nrf52_pwm_start(struct pwm_lowerhalf_s *dev, } #else - ret = nrf52_pwm_duty(dev, - (info->channels[0].channel - 1), - info->duty); + ret = nrf52_pwm_duty(priv, priv->channel, info->duty); #endif /* CONFIG_PWM_MULTICHAN */ /* Start sequence 0 */ diff --git a/arch/arm/src/nrf53/nrf53_pwm.c b/arch/arm/src/nrf53/nrf53_pwm.c index 3186082f82..c15693ffe3 100644 --- a/arch/arm/src/nrf53/nrf53_pwm.c +++ b/arch/arm/src/nrf53/nrf53_pwm.c @@ -66,6 +66,9 @@ struct nrf53_pwm_s uint32_t ch1_pin; /* Channel 2 pin */ uint32_t ch2_pin; /* Channel 3 pin */ uint32_t ch3_pin; /* Channel 4 pin */ +#ifndef CONFIG_PWM_MULTICHAN + uint8_t channel; /* Assigned channel */ +#endif /* Sequence 0 */ @@ -143,6 +146,9 @@ struct nrf53_pwm_s g_nrf53_pwm0 = #ifdef CONFIG_NRF53_PWM0_CH3 .ch3_pin = NRF53_PWM0_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF53_PWM0_CHANNEL +#endif }; #endif @@ -165,6 +171,9 @@ struct nrf53_pwm_s g_nrf53_pwm1 = #ifdef CONFIG_NRF53_PWM1_CH3 .ch3_pin = NRF53_PWM1_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF53_PWM1_CHANNEL +#endif }; #endif @@ -187,6 +196,9 @@ struct nrf53_pwm_s g_nrf53_pwm2 = #ifdef CONFIG_NRF53_PWM2_CH3 .ch3_pin = NRF53_PWM2_CH3_PIN, #endif +#ifndef CONFIG_PWM_MULTICHAN + .channel = CONFIG_NRF53_PWM2_CHANNEL +#endif }; #endif @@ -570,9 +582,7 @@ static int nrf53_pwm_start(struct pwm_lowerhalf_s *dev, } #else - ret = nrf53_pwm_duty(dev, - (info->channels[0].channel - 1), - info->duty); + ret = nrf53_pwm_duty(priv, priv->channel, info->duty); #endif /* CONFIG_PWM_MULTICHAN */ /* Start sequence 0 */