Hi @Senlent ,
thanks for the demo project.
Unfortunately this does only cover the RTD configuration itself, not any interfacing to change timing parameters during runtime.
I am testing a function like this now - which I added as a new function in Emios_Pwm_Ip.c:
Emios_Pwm_Ip_StatusType Emios_Pwm_Ip_SetDaocAB(uint8 Instance,
uint8 Channel,
Emios_Pwm_Ip_PeriodType A,
Emios_Pwm_Ip_PeriodType B)
{
[...]
/* Configure Leading Edge in reg A */
Emios_Pwm_Ip_SetUCRegA(Base, Channel, A);
/* Configure Trailing Edge in reg B */
Emios_Pwm_Ip_SetUCRegB(Base, Channel, B);
/* Push A/B */
Emios_Pwm_Ip_SetOutputUpdate(Base, Channel, TRUE);
[...]
}
This is what I was searching for, am I right that nothing like this exists?
I also don't really understand why the function Emios_Pwm_Ip_IrqDaocHandler always re-enables the DAOC, so I end up with a blinking LED in the example - my understanding was that DAOC is supposed to be a one-time event.
Thanks!
Best regards,
grol