pwmout - K64F - add read methods for period and pulsewidth

pull/13492/head
talorion 2020-08-25 23:41:03 +02:00 committed by Gregor Mayramhof
parent 009191ea6b
commit 659bd2098d
1 changed files with 19 additions and 0 deletions

View File

@ -158,6 +158,16 @@ void pwmout_period_us(pwmout_t *obj, int us)
pwmout_write(obj, dc);
}
int pwmout_read_period_us(pwmout_t *obj)
{
uint32_t tmp = 0;
if (pwm_clock_mhz > 0) {
uint16_t mod = base->MOD & FTM_MOD_MOD_MASK;
tmp = ((mod) + 1) / pwm_clock_mhz;
}
return tmp;
}
void pwmout_pulsewidth(pwmout_t *obj, float seconds)
{
pwmout_pulsewidth_us(obj, seconds * 1000000.0f);
@ -179,6 +189,15 @@ void pwmout_pulsewidth_us(pwmout_t *obj, int us)
FTM_SetSoftwareTrigger(base, true);
}
int pwmout_read_pulsewidth_us(pwmout_t *obj)
{
uint32_t tmp = 0;
if (pwm_clock_mhz > 0) {
tmp = (base->CONTROLS[obj->pwm_name & 0xF].CnV) / pwm_clock_mhz;
}
return tmp;
}
const PinMap *pwmout_pinmap()
{
return PinMap_PWM;