diff --git a/hal/targets.json b/hal/targets.json index 62facad941..035ddb7bb6 100644 --- a/hal/targets.json +++ b/hal/targets.json @@ -1375,7 +1375,7 @@ "supported_form_factors": ["ARDUINO"], "inherits": ["MCU_NRF51_32K"], "progen": {"target": "nrf51-dk"}, - "device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPI_ASYNCH"] + "device_has": ["ANALOGIN", "ERROR_PATTERN", "I2C", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SERIAL_ASYNCH", "SLEEP", "SPI", "SPI_ASYNCH"] }, "NRF51_DK_BOOT": { "supported_form_factors": ["ARDUINO"], diff --git a/hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/pwmout_api.c b/hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/pwmout_api.c index 063b94d37b..2b4d27f3c6 100644 --- a/hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/pwmout_api.c +++ b/hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF51822/pwmout_api.c @@ -138,7 +138,7 @@ void pwmout_init(pwmout_t *obj, PinName pin) void pwmout_free(pwmout_t *obj) { - MBED_ASSERT(obj->pwm != (PWMName)NC); + MBED_ASSERT(obj->pwm_name != (PWMName)NC); MBED_ASSERT(obj->pwm_channel < PWM_CHANNELS_PER_INSTANCE); pwm_t * pwm = (pwm_t *) obj->pwm_struct; @@ -160,7 +160,8 @@ void pwmout_write(pwmout_t *obj, float value) if (value > 1.0f) { value = 1.0f; } - uint16_t ticks = (uint16_t)((float)app_pwm_cycle_ticks_get(pwm->instance) * value); + + app_pwm_channel_duty_set(pwm->instance, obj->pwm_channel, (app_pwm_duty_t)(value * 100.0f) ); } float pwmout_read(pwmout_t *obj)