<!clock: {"ALL" : "TMR2" };
  pin:   {"TIMER2OutputPinRadio":{"TIMER_TOUT_PIN_FROM_TX": "TM2",
								  "TIMER_TOUT_PIN_FROM_TX_EXT": "TM2_EXT"},
		  "TPWM2OutputPinRadio":{"TPWM_TOUT_PIN_FROM_TX": "TM2",
								 "TPWM_TOUT_PIN_FROM_TX_EXT": "TM2_EXT"},
		  "TIMER2EventCountCheckbox":{"1": "TM2"},
		  "TIMER2CaptureSourceSelect":{"TIMER2_CAP_FROM_EXTERNAL": "TM2_EXT"},
		  "ALL":[""]};
!>
<!filter:{"M252_G": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"1", "TM2_TK_SUPPORT":"0"        },
          "M252_E": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"0"        },
          "M252_D": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"0"        },
          "M252_C": {  "TM2_ACMP_SUPPORT":"0", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"0"        },
          "M254_E": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"0"        },
          "M256_E": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"1"        },
          "M258_E": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"1"        },
          "M254_D": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"0"        },
          "M256_D": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"0", "TM2_TK_SUPPORT":"1"        },
          "M254_G": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"1", "TM2_TK_SUPPORT":"0"        },
          "M256_G": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"1", "TM2_TK_SUPPORT":"1"        },
          "M258_G": {  "TM2_ACMP_SUPPORT":"1", "TM2_DAC_SUPPORT":"1", "TM2_TK_SUPPORT":"1"        }};!>

/*--------------------------------------------------------------------------*/
/* TIMER2 Configuration                                                     */
/*--------------------------------------------------------------------------*/
#define NUCODEGEN_TIMER2_FUNC_TIMER		0
#define NUCODEGEN_TIMER2_FUNC_PWM		1

#define NUCODEGEN_TIMER2_FUNC			<!id:TIMER2FUNCRadio;
										type:radio;
										label:Select TIMER2 function;
										data:NUCODEGEN_TIMER2_FUNC_TIMER;
										default:NUCODEGEN_TIMER2_FUNC_TIMER;
										enum:[NUCODEGEN_TIMER2_FUNC_TIMER, NUCODEGEN_TIMER2_FUNC_PWM];
										optionLabels:[Timer function, Timer Pwm function];
										dependencies:none;
										dependenciesOption:none;!>

#if (NUCODEGEN_TIMER2_FUNC == NUCODEGEN_TIMER2_FUNC_TIMER)
#define TIMER2_MODE						<!id:TIMER2ModeRadio;
										type:radio;
										label:Select TIMER2 operation mode;
										data:TIMER_ONESHOT_MODE;
										default:TIMER_ONESHOT_MODE;
										enum:[TIMER_ONESHOT_MODE, TIMER_PERIODIC_MODE, TIMER_TOGGLE_MODE, TIMER_CONTINUOUS_MODE];
										optionLabels:[One-shot, Periodic, Toggle, Continuous counting];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_TIMER;
										groupId:Timer_Common;
										groupName:Timer common configuration;!>

#define NUCODEGEN_TIMER2_TOUT_PIN		<!id:TIMER2OutputPinRadio;
										type:radio;
										label:Select TIMER2 output pin;
										data:TIMER_TOUT_PIN_FROM_TX;
										default:TIMER_TOUT_PIN_FROM_TX;
										enum:[TIMER_TOUT_PIN_FROM_TX, TIMER_TOUT_PIN_FROM_TX_EXT];
										optionLabels:[Output pin from TX, Output pin from TX_EXT];
										dependencies:TIMER2ModeRadio;
										dependenciesOption:TIMER_TOGGLE_MODE;
										groupId:Timer_Common;!>

#define TIMER2_FREQ						<!id:TIMER2FreqInteger;
										type:integer;
										label:Set TIMER2 frequency;
										data:1000000;
										default:1000000;
										helper:Enter your TIMER2 frequency 1 ~ Source Clocks/2(Hz);
										minimum:1;
										maximum:24000000;
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_TIMER;
										groupId:Timer_Common;!>

#define NUCODEGEN_TIMER2_VALUE			<!id:TIMER2SetValueCheckbox;
										type:checkbox;
										label:Enable TIMER2 set prescale & compared value;
										data:0;
										default:0;
										helper:Will change TIMER2 frequency;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_TIMER;
										groupId:Timer_Common;!>

#if NUCODEGEN_TIMER2_VALUE
	#define TIMER2_PRESCALE_VALUE		<!id:TIMER2PrescaleInteger;
										type:integer;
										label:TIMER2 prescale value;
										data:5;
										default:5;
										helper:Enter your TIMER2 prescale value(dec);
										minimum:0;
										maximum:255;
										dependencies:TIMER2SetValueCheckbox;
										dependenciesOption:1;
										groupId:Timer_Common;!>
	#define TIMER2_CMP_VALUE			<!id:TIMER2CMPHexText;
										type:hextext;
										label:TIMER2 compared value;
										data:0x5A5A5A;
										default:0x5A5A5A;
										helper:Enter your TIMER2 compared value(hex);
										minimum:0x2;
										maximum:0xFFFFFF;
										dependencies:TIMER2SetValueCheckbox;
										dependenciesOption:1;
										groupId:Timer_Common;!>
#endif //NUCODEGEN_TIMER2_VALUE

#define NUCODEGEN_TIMER2_WAKEUP			<!id:TIMER2WakeUpCheckbox;
										type:checkbox;
										label:Enable TIMER2 wake-up;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_TIMER;
										groupId:Timer_Common;!>

#define NUCODEGEN_TIMER2_INT			<!id:TIMER2IntCheckbox;
										type:checkbox;
										label:Enable TIMER2 time-out interrupt;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_TIMER;
										groupId:Timer_Common;!>

#define NUCODEGEN_TIMER2_EVENT_CNT		<!id:TIMER2EventCountCheckbox;
										type:checkbox;
										label:Enable TIMER2 event counting;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2ModeRadio;
										dependenciesOption:TIMER_ONESHOT_MODE|TIMER_PERIODIC_MODE|TIMER_CONTINUOUS_MODE;
										groupId:Event_Count;
										groupName:Event count configuration;
                                        filterExp:PB_dot3==1 or PA_dot7==1 or PD_dot0==1;!>

#define NUCODEGEN_TIMER2_COUNTER_PHASE	<!id:TIMER2PhaseRadio;
										type:radio;
										label:Select TIMER2 external count phase;
										data:TIMER_COUNTER_EVENT_FALLING;
										default:TIMER_COUNTER_EVENT_FALLING;
										enum:[TIMER_COUNTER_EVENT_FALLING, TIMER_COUNTER_EVENT_RISING];
										optionLabels:[Event falling edge, Event rising edge];
										dependencies:TIMER2EventCountCheckbox;
										dependenciesOption:1;
										groupId:Event_Count;
                                        filterExp:PB_dot3==1 or PA_dot7==1 or PD_dot0==1;!>

#define NUCODEGEN_TIMER2_EVENT_CNTDB	<!id:TIMER2EventCountDebounceCheckbox;
										type:checkbox;
										label:Enable TIMER2 event counting de-bounce;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2EventCountCheckbox;
										dependenciesOption:1;
										groupId:Event_Count;
                                        filterExp:PB_dot3==1 or PA_dot7==1 or PD_dot0==1;!>

#define NUCODEGEN_TIMER2_CAP			<!id:TIMER2CaptureCheckbox;
										type:checkbox;
										label:Enable TIMER2 capture;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2ModeRadio;
										dependenciesOption:TIMER_ONESHOT_MODE|TIMER_PERIODIC_MODE|TIMER_CONTINUOUS_MODE;
										groupId:Capture;
										groupName:Capture configuration;!>

#if NUCODEGEN_TIMER2_CAP

#define NUCODEGEN_TIMER2_CAP_SRC		<!id:TIMER2CaptureSourceSelect;
										type:select;
										label:Select TIMER2 capture trigger source;
										data:TIMER_CAPTURE_FROM_EXTERNAL;
										default:TIMER_CAPTURE_FROM_EXTERNAL;
										enum:[TIMER_CAPTURE_FROM_EXTERNAL, TIMER_CAPTURE_FROM_ACMP0, TIMER_CAPTURE_FROM_ACMP1, TIMER_CAPTURE_FROM_HXT, TIMER_CAPTURE_FROM_LXT, TIMER_CAPTURE_FROM_HIRC, TIMER_CAPTURE_FROM_LIRC, TIMER_CAPTURE_FROM_MIRC];
										optionLabels:[Capture source from external, Internal source from ACMP0, Internal source from ACMP1, Internal source from HXT, Internal source from LXT, Internal source from HIRC, Internal source from LIRC, Internal source from MIRC];
										dependencies:TIMER2CaptureCheckbox;
										dependenciesOption:1;
										groupId:Capture;
										filterExp:TM2_ACMP_SUPPORT>0;
										filterDefault: false;!><!id:TIMER2CaptureSourceSelect1;
										type:select;
										label:Select TIMER2 capture trigger source;
										data:TIMER_CAPTURE_FROM_EXTERNAL;
										default:TIMER_CAPTURE_FROM_EXTERNAL;
										enum:[TIMER_CAPTURE_FROM_EXTERNAL, TIMER_CAPTURE_FROM_HXT, TIMER_CAPTURE_FROM_LXT, TIMER_CAPTURE_FROM_HIRC, TIMER_CAPTURE_FROM_LIRC, TIMER_CAPTURE_FROM_MIRC];
										optionLabels:[Capture source from external, Internal source from HXT, Internal source from LXT, Internal source from HIRC, Internal source from LIRC, Internal source from MIRC];
										dependencies:TIMER2CaptureCheckbox;
										dependenciesOption:1;
										groupId:Capture;
										filterExp:TM2_ACMP_SUPPORT==0;
										filterDefault: false;!>
#endif //NUCODEGEN_TIMER2_CAP

#define NUCODEGEN_TIMER2_CAP_EDGE		<!id:TIMER2CaptureEdgeSelect;
										type:select;
										label:Select TIMER2 capture edge detect;
										data:TIMER_CAPTURE_EVENT_FALLING;
										default:TIMER_CAPTURE_EVENT_FALLING;
										enum:[TIMER_CAPTURE_EVENT_FALLING, TIMER_CAPTURE_EVENT_RISING, TIMER_CAPTURE_EVENT_FALLING_RISING, TIMER_CAPTURE_EVENT_RISING_FALLING, TIMER_CAPTURE_EVENT_GET_LOW_PERIOD, TIMER_CAPTURE_EVENT_GET_HIGH_PERIOD];
										optionLabels:[Capture falling edge, Capture rising edge, Capture both falling and rising edge first at falling edge, Capture both rising and falling edge first at rising edge, Capture first at falling edge follows at rising edge, Capture first at rising edge follows at falling edge];
										dependencies:TIMER2CaptureCheckbox;
										dependenciesOption:1;
										groupId:Capture;!>

#define NUCODEGEN_TIMER2_CAP_MODE		<!id:TIMER2CaptureModeRadio;
										type:radio;
										label:Select TIMER2 capture mode;
										data:TIMER_CAPTURE_FREE_COUNTING_MODE;
										default:TIMER_CAPTURE_FREE_COUNTING_MODE;
										enum:[TIMER_CAPTURE_FREE_COUNTING_MODE, TIMER_CAPTURE_COUNTER_RESET_MODE];
										optionLabels:[Free counting, Counter reset];
										dependencies:TIMER2CaptureCheckbox;
										dependenciesOption:1;
										groupId:Capture;!>

#define NUCODEGEN_TIMER2_CAPDB			<!id:TIMER2CaptureDebounceCheckbox;
										type:checkbox;
										label:Enable TIMER2 capture de-bounce;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2CaptureCheckbox;
										dependenciesOption:1;
										groupId:Capture;!>

#define NUCODEGEN_TIMER2_CAP_INT		<!id:TIMER2CaptureIntCheckbox;
										type:checkbox;
										label:Enable TIMER2 capture interrupt;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2CaptureCheckbox;
										dependenciesOption:1;
										groupId:Capture;!>

#define NUCODEGEN_TIMER2_TRG			<!id:TIMER2TriggerCheckbox;
										type:checkbox;
										label:Enable TIMER2 trigger;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_TIMER;
										groupId:Timer_Trigger;
										groupName:Timer trigger configuration;!>

#define NUCODEGEN_TIMER2_TRG_SRC		<!id:TIMER2TriggerConditionRadio;
										type:radio;
										label:TIMER2 trigger condition select;
										data:TIMER_TRGSEL_TIMEOUT_EVENT;
										default:TIMER_TRGSEL_TIMEOUT_EVENT;
										enum:[TIMER_TRGSEL_TIMEOUT_EVENT, TIMER_TRGSEL_CAPTURE_EVENT];
										optionLabels:[Time-out event, Capture event];
										dependencies:TIMER2TriggerCheckbox;
										dependenciesOption:1;
										groupId:Timer_Trigger;!>

#define NUCODEGEN_TIMER2_TRG_TARGET		<!id:TIMER2TriggerTargetCheckbox;
										type:checkbox;
										label:Select TIMER2 trigger target;
										data:0;
										default:0;
										sort:false;
										enum:[TIMER_TRGCTL_TRGPDMA_Msk, TIMER_TRGCTL_TRGDAC_Msk, TIMER_TRGCTL_TRGEADC_Msk, TIMER_TRGCTL_TRGPWM_Msk, TIMER_TRGCTL_TRGTK_Msk];
										optionLabels:[TIMER2 trigger PDMA, TIMER2 trigger DAC, TIMER2 trigger EADC, TIMER2 trigger PWM&BPWM, TIMER2 time-out trigger Touch-key];
										dependencies:TIMER2TriggerCheckbox;
										dependenciesOption:1;
										groupId:Timer_Trigger;
										filterExp:TM2_DAC_SUPPORT>0 and TM2_TK_SUPPORT>0;
										filterDefault: false;!><!id:TIMER2TriggerTargetCheckbox1;
										type:checkbox;
										label:Select TIMER2 trigger target;
										data:0;
										default:0;
										sort:false;
										enum:[TIMER_TRGCTL_TRGPDMA_Msk, TIMER_TRGCTL_TRGEADC_Msk, TIMER_TRGCTL_TRGPWM_Msk, TIMER_TRGCTL_TRGTK_Msk];
										optionLabels:[TIMER2 trigger PDMA, TIMER2 trigger EADC, TIMER2 trigger PWM&BPWM, TIMER2 time-out trigger Touch-key];
										dependencies:TIMER2TriggerCheckbox;
										dependenciesOption:1;
										groupId:Timer_Trigger;
										filterExp:TM2_DAC_SUPPORT==0 and TM2_TK_SUPPORT>0;
										filterDefault: false;!><!id:TIMER2TriggerTargetCheckbox2;
										type:checkbox;
										label:Select TIMER2 trigger target;
										data:0;
										default:0;
										sort:false;
										enum:[TIMER_TRGCTL_TRGPDMA_Msk, TIMER_TRGCTL_TRGDAC_Msk, TIMER_TRGCTL_TRGEADC_Msk, TIMER_TRGCTL_TRGPWM_Msk];
										optionLabels:[TIMER2 trigger PDMA, TIMER2 trigger DAC, TIMER2 trigger EADC, TIMER2 trigger PWM&BPWM];
										dependencies:TIMER2TriggerCheckbox;
										dependenciesOption:1;
										groupId:Timer_Trigger;
										filterExp:TM2_DAC_SUPPORT>0 and TM2_TK_SUPPORT==0;
										filterDefault: false;!><!id:TIMER2TriggerTargetCheckbox3;
										type:checkbox;
										label:Select TIMER2 trigger target;
										data:0;
										default:0;
										sort:false;
										enum:[TIMER_TRGCTL_TRGPDMA_Msk, TIMER_TRGCTL_TRGEADC_Msk, TIMER_TRGCTL_TRGPWM_Msk];
										optionLabels:[TIMER2 trigger PDMA, TIMER2 trigger EADC, TIMER2 trigger PWM&BPWM];
										dependencies:TIMER2TriggerCheckbox;
										dependenciesOption:1;
										groupId:Timer_Trigger;
										filterExp:TM2_DAC_SUPPORT==0 and TM2_TK_SUPPORT==0;
										filterDefault: false;!>

#endif //(NUCODEGEN_TIMER2_FUNC == NUCODEGEN_TIMER2_FUNC_TIMER)------------------------------------------------------------------------------------------------------

#if (NUCODEGEN_TIMER2_FUNC == NUCODEGEN_TIMER2_FUNC_PWM)
#define NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY	0
#define NUCODEGEN_TPWM2_CONFIG_VALUE		1

#define NUCODEGEN_TPWM2_CONFIG			<!id:TPWM2ConfigRadio;
										type:radio;
										label:TPWM2 config;
										data:NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY;
										default:NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY;
										enum:[NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY, NUCODEGEN_TPWM2_CONFIG_VALUE];
										optionLabels:[Config by frequency & duty, Config by value];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_PWM;
										groupId:TPWM_Common;
										groupName:TPWM common configuration;!>

#if (NUCODEGEN_TPWM2_CONFIG == NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY)
	#define TPWM2_FREQ					<!id:TPWM2OutputFreqInteger;
										type:integer;
										label:Set TPWM2 output frequency;
										data:1000000;
										default:1000000;
										helper:Enter your TPWM2 output frequency, 3 ~ Source Clocks/2(Hz);
										minimum:3;
										maximum:24000000;
										dependencies:TPWM2ConfigRadio;
										dependenciesOption:NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY;
										groupId:TPWM_Common;!>

	#define TPWM2_DUTY					<!id:TPWM2OutputDutyInteger;
										type:integer;
										label:Set TPWM2 output duty;
										data:50;
										default:50;
										helper:Enter your TPWM2 output duty, 0~100(%);
										minimum:0;
										maximum:100;
										dependencies:TPWM2ConfigRadio;
										dependenciesOption:NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY;
										groupId:TPWM_Common;!>
#endif //(NUCODEGEN_TPWM2_CONFIG == NUCODEGEN_TPWM2_CONFIG_FREQ_DUTY)

#if (NUCODEGEN_TPWM2_CONFIG == NUCODEGEN_TPWM2_CONFIG_VALUE)
	#define TPWM2_PRESCALE_VALUE		<!id:TPWM2PrescaleInteger;
										type:integer;
										label:TPWM2 prescale value;
										data:5;
										default:5;
										helper:Enter your TPWM2 prescale value;
										minimum:0;
										maximum:255;
										dependencies:TPWM2ConfigRadio;
										dependenciesOption:NUCODEGEN_TPWM2_CONFIG_VALUE;
										groupId:TPWM_Common;!>

	#define TPWM2_PERIOD_VALUE			<!id:TPWM2PeriodHexText;
										type:hextext;
										label:TPWM2 period value;
										data:0x5A5A;
										default:0x5A5A;
										helper:Enter your TPWM2 period value;
										minimum:0;
										maximum:0xFFFF;
										dependencies:TPWM2ConfigRadio;
										dependenciesOption:NUCODEGEN_TPWM2_CONFIG_VALUE;
										groupId:TPWM_Common;!>

	#define TPWM2_CMP_VALUE				<!id:TPWM2CMPHexText;
										type:hextext;
										label:TPWM2 compared value;
										data:0x5A5A;
										default:0x5A5A;
										helper:Enter your TPWM2 compared value;
										minimum:0;
										maximum:0xFFFF;
										dependencies:TPWM2ConfigRadio;
										dependenciesOption:NUCODEGEN_TPWM2_CONFIG_VALUE;
										groupId:TPWM_Common;!>
#endif //(NUCODEGEN_TPWM2_CONFIG == NUCODEGEN_TPWM2_CONFIG_VALUE)

#define NUCODEGEN_TPWM2_WAKEUP			<!id:TPWM2WakeUpCheckbox;
										type:checkbox;
										label:Enable TPWM2 wake-up;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_PWM;
										groupId:TPWM_Common;!>

#define NUCODEGEN_TPWM2_PERIOD_INT		<!id:TPWM2PeriodIntCheckbox;
										type:checkbox;
										label:Enable TPWM2 period point interrupt;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_PWM;
										groupId:TPWM_Common;!>

#define NUCODEGEN_TPWM2_CMP_UP_INT		<!id:TPWM2CompareIntCheckbox;
										type:checkbox;
										label:Enable TPWM2 compare interrupt;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_PWM;
										groupId:TPWM_Common;!>

#define NUCODEGEN_TPWM2_OUTPUT			<!id:TPWM2OutputCheckbox;
										type:checkbox;
										label:Enable TPWM2 output;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_PWM;
										groupId:TPWM_Output;
										groupName:TPWM output configuration;!>

#define NUCODEGEN_TPWM2_TOUT_PIN		<!id:TPWM2OutputPinRadio;
										type:radio;
										label:Select TPWM2 output pin;
										data:TPWM_TOUT_PIN_FROM_TX;
										default:TPWM_TOUT_PIN_FROM_TX;
										enum:[TPWM_TOUT_PIN_FROM_TX, TPWM_TOUT_PIN_FROM_TX_EXT];
										optionLabels:[Output pin from TX, Output pin from TX_EXT];
										dependencies:TPWM2OutputCheckbox;
										dependenciesOption:1;
										groupId:TPWM_Output;!>

#define NUCODEGEN_TPWM2_OUT_INV			<!id:TPWM2OutputInverseCheckbox;
										type:checkbox;
										label:Enable TPWM2 output inverse;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TPWM2OutputCheckbox;
										dependenciesOption:1;
										groupId:TPWM_Output;!>

#define NUCODEGEN_TPWM2_TRG				<!id:TPWM2TriggerCheckbox;
										type:checkbox;
										label:Enable TPWM2 trigger;
										data:0;
										default:0;
										enum:[1];
										optionLabels:[<br>];
										dependencies:TIMER2FUNCRadio;
										dependenciesOption:NUCODEGEN_TIMER2_FUNC_PWM;
										groupId:TPWM_Trigger;
										groupName:TPWM trigger configuration;!>

#define NUCODEGEN_TPWM2_TRG_SRC			<!id:TPWM2TriggerConditionRadio;
										type:radio;
										label:Select TPWM2 trigger condition;
										data:TPWM_TRIGGER_AT_PERIOD_POINT;
										default:TPWM_TRIGGER_AT_PERIOD_POINT;
										enum:[TPWM_TRIGGER_AT_PERIOD_POINT, TPWM_TRIGGER_AT_COMPARE_POINT, TPWM_TRIGGER_AT_PERIOD_OR_COMPARE_POINT];
										optionLabels:[Period point, Compare point, Period or compare point];
										dependencies:TPWM2TriggerCheckbox;
										dependenciesOption:1;
										groupId:TPWM_Trigger;!>

#define NUCODEGEN_TPWM2_TRG_TARGET		<!id:TPWM2TriggerTargetCheckbox;
										type:checkbox;
										label:Select TPWM2 trigger target;
										data:0;
										default:0;
										sort:false;
										enum:[TIMER_PWMTRGCTL_PWMTRGPDMA_Msk, TIMER_PWMTRGCTL_PWMTRGDAC_Msk, TIMER_PWMTRGCTL_PWMTRGEADC_Msk];
										optionLabels:[TPWM2 trigger PDMA, TPWM2 trigger DAC, TPWM2 trigger EADC];
										dependencies:TPWM2TriggerCheckbox;
										dependenciesOption:1;
										groupId:TPWM_Trigger;
										filterExp:TM2_DAC_SUPPORT>0;
										filterDefault: false;!><!id:TPWM2TriggerTargetCheckbox1;
										type:checkbox;
										label:Select TPWM2 trigger target;
										data:0;
										default:0;
										sort:false;
										enum:[TIMER_PWMTRGCTL_PWMTRGPDMA_Msk, TIMER_PWMTRGCTL_PWMTRGEADC_Msk];
										optionLabels:[TPWM2 trigger PDMA, TPWM2 trigger EADC];
										dependencies:TPWM2TriggerCheckbox;
										dependenciesOption:1;
										groupId:TPWM_Trigger;
										filterExp:TM2_DAC_SUPPORT==0;
										filterDefault: false;!>
#endif //(NUCODEGEN_TIMER2_FUNC == NUCODEGEN_TIMER2_FUNC_PWM)
