IFTM_PERIPHERAL->MODE = FTM_MODE_WPDIS_MASK | FTM_MODE_FAULTM(2) | FTM_MODE_INIT_MASK |FTM_MODE_FTMEN_MASK;
IFTM_PERIPHERAL->CONF =FTM_CONF_BDMMODE(3);
IFTM_PERIPHERAL->SYNCONF= FTM_SYNCONF_HWTRIGMODE_MASK | FTM_SYNCONF_HWRSTCNT_MASK | FTM_SYNCONF_SYNCMODE_MASK;//
IFTM_PERIPHERAL->SYNC = FTM_SYNC_CNTMIN_MASK |FTM_SYNC_TRIG0_MASK |FTM_SYNC_REINIT_MASK ;//
IFTM_PERIPHERAL->COMBINE = FTM_COMBINE_COMBINE0_MASK | FTM_COMBINE_COMP0_MASK | FTM_COMBINE_DTEN0_MASK |
FTM_COMBINE_SYNCEN0_MASK | FTM_COMBINE_FAULTEN0_MASK | FTM_COMBINE_COMBINE1_MASK |
FTM_COMBINE_COMP1_MASK | FTM_COMBINE_DTEN1_MASK | FTM_COMBINE_SYNCEN1_MASK |
FTM_COMBINE_FAULTEN1_MASK ;
IFTM_PERIPHERAL->CNTIN=(uint32_t)(-500);
IFTM_PERIPHERAL->MOD=(uint32_t)(500);
IFTM_PERIPHERAL->POL=0;
IFTM_PERIPHERAL->DEADTIME = FTM_DEADTIME_DTVAL(38) | FTM_DEADTIME_DTPS(1); // 38 =0.55usec OK on PC929
IFTM_PERIPHERAL->CONTROLS[0].CnV=(uint32_t)(-400); IFTM_PERIPHERAL->CONTROLS[1].CnV=(uint32_t)(400);
IFTM_PERIPHERAL->CONTROLS[2].CnV=(uint32_t)(-200);IFTM_PERIPHERAL->CONTROLS[3].CnV=(uint32_t)(200);
IFTM_PERIPHERAL->CONTROLS[0].CnSC = FTM_CnSC_ELSB_MASK;
IFTM_PERIPHERAL->CONTROLS[1].CnSC = FTM_CnSC_ELSB_MASK;
IFTM_PERIPHERAL->CONTROLS[2].CnSC = FTM_CnSC_ELSB_MASK;
IFTM_PERIPHERAL->CONTROLS[3].CnSC = FTM_CnSC_ELSB_MASK;
/* Set LOAD ok register */
/* enable loading updated values */
IFTM_PERIPHERAL->PWMLOAD = FTM_PWMLOAD_LDOK_MASK;
/* Initialization Trigger Enable */
IFTM_PERIPHERAL->EXTTRIG = FTM_EXTTRIG_INITTRIGEN_MASK;
IFTM_PERIPHERAL->FLTCTRL = FTM_FLTCTRL_FAULT3EN_MASK |FTM_FLTCTRL_FFLTR3EN_MASK |FTM_FLTCTRL_FFVAL(5) ;
IFTM_PERIPHERAL->FLTPOL = FTM_FLTPOL_FLT1POL_MASK;
TRGMUX_SetTriggerSource(TRGMUX0, kTRGMUX_Ftm0, kTRGMUX_TriggerInput0, kTRGMUX_SourceCmp0Output);