diff --git a/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/pwmout_api.c b/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/pwmout_api.c index 212e8fa7e4..05b27da0f2 100644 --- a/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/pwmout_api.c +++ b/targets/TARGET_TOSHIBA/TARGET_TMPM4G9/pwmout_api.c @@ -193,7 +193,7 @@ void pwmout_period_us(pwmout_t *obj, int us) prscl = T32A_PRSCLx_32; obj->trailing_timing = (us * CALCULATE_RGC1_VAL); - obj->leading_timing = ((obj->trailing_timing)- (obj->trailing_timing * duty_cycle)); + obj->leading_timing = ((obj->trailing_timing) - (obj->trailing_timing * duty_cycle)); obj->p_t32a.p_instance->MOD = T32A_MODE_32; obj->p_t32a.p_instance->RUNC = (T32A_RUN_DISABLE | T32A_COUNT_STOP); @@ -207,6 +207,11 @@ void pwmout_period_us(pwmout_t *obj, int us) obj->p_t32a.p_instance->RUNC = (T32A_RUN_ENABLE | T32A_COUNT_START); } +int pwmout_read_period_us(pwmout_t *obj) +{ + return obj->trailing_timing; +} + void pwmout_pulsewidth(pwmout_t *obj, float seconds) { pwmout_pulsewidth_us(obj, (seconds * 1000000.0f)); @@ -227,6 +232,11 @@ void pwmout_pulsewidth_us(pwmout_t *obj, int us) pwmout_write(obj, value); } +int pwmout_read_pulsewidth_us(pwmout_t *obj) +{ + return obj->trailing_timing - obj->leading_timing; +} + const PinMap *pwmout_pinmap() { return PinMap_PWM;