Setup Code

Add these macros to the top of your main application C-file:
/* Use TC Peripheral 0. */
#define TC             TC0
#define TC_PERIPHERAL  0
/* Configure TC0 channel 1 as waveform output. */
#define TC_CHANNEL_WAVEFORM 1
#define ID_TC_WAVEFORM      ID_TC1
#define PIN_TC_WAVEFORM     PIN_TC0_TIOA1
#define PIN_TC_WAVEFORM_MUX PIN_TC0_TIOA1_MUX
Add these macros and function to your main application C-file:
#define TC_WAVEFORM_TIMER_SELECTION TC_CMR_TCCLKS_TIMER_CLOCK4 
#define TC_WAVEFORM_DIVISOR     128 
#define TC_WAVEFORM_FREQUENCY   178 
#define TC_WAVEFORM_DUTY_CYCLE  30 
* static void tc_waveform_initialize(void)
* {
*   uint32_t ra, rc;
*
*   // Configure the PMC to enable the TC module.
*   sysclk_enable_peripheral_clock(ID_TC_WAVEFORM);
*
*   // Init TC to waveform mode.
*   tc_init(TC, TC_CHANNEL_WAVEFORM,
*           TC_WAVEFORM_TIMER_SELECTION // Waveform Clock Selection
*           | TC_CMR_WAVE       // Waveform mode is enabled
*           | TC_CMR_ACPA_SET   // RA Compare Effect: set
*           | TC_CMR_ACPC_CLEAR // RC Compare Effect: clear
*           | TC_CMR_CPCTRG     // UP mode with automatic trigger on RC Compare
*   );
*
*   // Configure waveform frequency and duty cycle.
*   rc = (sysclk_get_peripheral_bus_hz(TC) /
*           TC_WAVEFORM_DIVISOR /
*           TC_WAVEFORM_FREQUENCY;
*   tc_write_rc(TC, TC_CHANNEL_WAVEFORM, rc);
*   ra = (100 - TC_WAVEFORM_FREQUENCY_DUTY_CYCLE * rc / 100;
*   tc_write_ra(TC, TC_CHANNEL_WAVEFORM, ra);
*
*   // Enable TC TC_CHANNEL_WAVEFORM.
*   tc_start(TC, TC_CHANNEL_WAVEFORM);
* }