I am using a split GPT timer in my product. On startup it is configured as follows:
TimerConfigure(GPT2_BASE, TIMER_CFG_A_CAP_TIME | TIMER_CFG_B_CAP_TIME | TIMER_CFG_SPLIT_PAIR);
TimerEventControl(GPT2_BASE, TIMER_BOTH, TIMER_EVENT_BOTH_EDGES);
TimerPrescaleSet(GPT2_BASE, TIMER_BOTH, 0xFF);
TimerLoadSet(GPT2_BASE, TIMER_BOTH, 0xFFFF);
IOCPortConfigureSet(CHANNEL_DIO_C0, IOC_PORT_MCU_PORT_EVENT4, IOC_STD_INPUT);
EventRegister(EVENT_O_GPT2ACAPTSEL, EVENT_GPT2ACAPTSEL_EV_PORT_EVENT4);
IOCPortConfigureSet(CHANNEL_DIO_C1, IOC_PORT_MCU_PORT_EVENT5, IOC_STD_INPUT);
EventRegister(EVENT_O_GPT2BCAPTSEL, EVENT_GPT2BCAPTSEL_EV_PORT_EVENT5);
TimerIntEnable(GPT2_BASE, TIMER_CAPA_EVENT | TIMER_CAPB_EVENT);
TimerEnable(GPT2_BASE, TIMER_BOTH);
At some point in my application I need to reconfigure the TIMER_A to stop capturing and instead running in compare mode.
After x ms timeout it should pull the pin high for x ms.
How can I reconfigure the timer at runtime using the Timer API?