Microchip® Advanced Software Framework

avr32/applications/uc3c_ek-can-lin-loopbacks-demo/main.c File Reference

AVR UC3C CAN-LIN Loopback Demo.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "compiler.h"
#include "board.h"
#include "power_clocks_lib.h"
#include "dsp.h"
#include "gui.h"
#include "controller.h"
#include "gpio.h"
#include "print_funcs.h"
#include "flashc.h"
#include "adcifa.h"
#include "twim.h"
#include "conf_at42qt1060.h"
#include "lin_task.h"
#include "can_task.h"
#include "conf_demo.h"

Enumerations

enum  state_function {
  STATE_FCT_IDLE,
  STATE_FCT_FUNCTION1,
  STATE_FCT_FUNCTION2,
  STATE_FCT_FUNCTION3,
  STATE_FCT_FUNCTION4,
  STATE_FCT_ZOOM
}
 
enum  state_master {
  STATE_IDLE,
  STATE_SOURCE1,
  STATE_OUTPUT1,
  STATE_OUTPUT2,
  STATE_OUTPUT3
}
 

Functions

void adc_process_init (void)
 ADC Process Init. More...
 
void adc_process_task (void)
 ADC Process Task. More...
 
void init_sys_clocks (void)
 Initializes the MCU system clocks. More...
 
int main (void)
 Main File Section: More...
 
static bool state_machine_global (int source_id, enum state_function *state)
 Global State Machine: More...
 
static void state_machine_task (void)
 Navigation State Machine: More...
 
static void twi_init (void)
 TWI Initialization for QTouch Controller. More...
 

Variables

adcifa_opt_t adc_config_t
 
volatile U16 adc_current_conversion
 External reference on ADC Current Conversion. More...
 
int16_t adc_values_seq0 [NUMBER_OF_INPUTS_ADC_SEQ0]
 
int16_t adc_values_seq1 [NUMBER_OF_INPUTS_ADC_SEQ1]
 
volatile avr32_adcifa_t * adcifa = &AVR32_ADCIFA
 
adcifa_sequencer_conversion_opt_t adcifa_sequence_conversion_opt_seq0 [NUMBER_OF_INPUTS_ADC_SEQ0]
 
adcifa_sequencer_conversion_opt_t adcifa_sequence_conversion_opt_seq1 [NUMBER_OF_INPUTS_ADC_SEQ1]
 
adcifa_sequencer_opt_t adcifa_sequence_opt
 
volatile bool input_fft_view = false
 
static bool new_state_fct = false
 
volatile bool output_fft_view = false
 
A_ALIGNED dsp16_t signal1_buf [BUFFER_LENGTH]
 
A_ALIGNED dsp16_t signal4_buf [BUFFER_LENGTH]
 
static enum state_master state = STATE_IDLE
 
static enum state_function state_fct = STATE_FCT_IDLE
 
volatile bool zoom_view = false
 
volatile int32_t zoom_view_id
 

Enumerator
STATE_FCT_IDLE 
STATE_FCT_FUNCTION1 
STATE_FCT_FUNCTION2 
STATE_FCT_FUNCTION3 
STATE_FCT_FUNCTION4 
STATE_FCT_ZOOM 
Enumerator
STATE_IDLE 
STATE_SOURCE1 
STATE_OUTPUT1 
STATE_OUTPUT2 
STATE_OUTPUT3 

void init_sys_clocks ( void  )

Initializes the MCU system clocks.

References PCL_OSC0, and pcl_switch_to_osc().

Referenced by init_board(), and main().

static bool state_machine_global ( int  source_id,
enum state_function state 
)
static

adcifa_opt_t adc_config_t
Initial value:
= {
.frequency = 1000000,
.reference_source = ADCIFA_ADCREF0,
.sample_and_hold_disable = false,
.single_sequencer_mode = false,
.free_running_mode_enable = false,
.sleep_mode_enable = false,
.mux_settle_more_time = false
}
#define ADCIFA_ADCREF0
Definition: adcifa.h:110
volatile U16 adc_current_conversion

External reference on ADC Current Conversion.

Referenced by adc_process_task(), and can_example_prepare_data_to_send().

int16_t adc_values_seq0[NUMBER_OF_INPUTS_ADC_SEQ0]
int16_t adc_values_seq1[NUMBER_OF_INPUTS_ADC_SEQ1]
volatile avr32_adcifa_t* adcifa = &AVR32_ADCIFA
adcifa_sequencer_conversion_opt_t adcifa_sequence_conversion_opt_seq0[NUMBER_OF_INPUTS_ADC_SEQ0]
Initial value:
= {
{
}
}
#define INPUT1_ADC_INN
Definition: uc3c_ek-can-lin-loopbacks-demo/conf/conf_demo.h:51
#define ADCIFA_SHG_1
Definition: adcifa.h:137
#define INPUT1_ADC_INP
Definition: uc3c_ek-can-lin-loopbacks-demo/conf/conf_demo.h:50

Referenced by adc_process_init().

adcifa_sequencer_conversion_opt_t adcifa_sequence_conversion_opt_seq1[NUMBER_OF_INPUTS_ADC_SEQ1]
Initial value:
= {
{
}
}
#define INPUT2_ADC_INN
Definition: uc3c_ek-can-lin-loopbacks-demo/conf/conf_demo.h:58
#define INPUT2_ADC_INP
Definition: uc3c_ek-can-lin-loopbacks-demo/conf/conf_demo.h:57
#define ADCIFA_SHG_8
Definition: adcifa.h:140

Referenced by adc_process_init().

adcifa_sequencer_opt_t adcifa_sequence_opt
Initial value:
= {
}
#define ADCIFA_SRES_12B
Definition: adcifa.h:131
#define ADCIFA_TRGSEL_SOFT
Definition: adcifa.h:118
#define ADCIFA_SOCB_ALLSEQ
Definition: adcifa.h:149
#define ADCIFA_SA_NO_EOS_SOFTACK
Definition: adcifa.h:185
#define NUMBER_OF_INPUTS_ADC_SEQ0
Definition: uc3c_ek-can-lin-loopbacks-demo/conf/conf_demo.h:48
#define ADCIFA_HWLA_NOADJ
Definition: adcifa.h:177
#define ADCIFA_SH_MODE_OVERSAMP
Definition: adcifa.h:169

Referenced by adcifa_calibrate_offset(), and main().

volatile bool input_fft_view = false
bool new_state_fct = false
static
volatile bool output_fft_view = false

Referenced by adc_process_task(), and gui_task().

Referenced by adc_process_task(), and gui_task().

enum state_master state = STATE_IDLE
static

Referenced by state_machine_task().

enum state_function state_fct = STATE_FCT_IDLE
static

Referenced by state_machine_task().

volatile bool zoom_view = false
volatile int32_t zoom_view_id