Application Lin Task Management.
Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.
#include <avr32/io.h>
#include "compiler.h"
#include "board.h"
#include "power_clocks_lib.h"
#include "gpio.h"
#include "tc.h"
#include "intc.h"
#include "usart.h"
#include "can.h"
#include "lin.h"
#include "dsp.h"
#include "lin_task.h"
#include "conf_demo.h"
Functions | |
void | lin_master_cb_task_ID12 (U8 *d_buf) |
Lin Callback when message is transmitted. More... | |
void | lin_master_task_ID12 (void) |
Lin Command When Id is transmitted. More... | |
void | lin_slave_task_ID12 (U8 *d_buf) |
Lin Callback when message is received. More... | |
void | lin_task () |
LIN Task. More... | |
void | lin_task_init (void) |
LIN Task Init. More... | |
void | lin_task_restart () |
LIN Task Restart. More... | |
void | lin_task_stop () |
LIN Task Stop. More... | |
void | start_scheduler (void) |
Start LIN scheduler for periodic transmission of LIN message. More... | |
static void | tc_irq (void) |
TC interrupt. More... | |
Variables | |
volatile U8 | lin_data_in_node1 [8] |
uint8_t | lin_data_out_node0 [8] |
can_mob_t | pCANMOB_message2 [1] |
A_ALIGNED dsp16_t | signal2_buf [BUFFER_LENGTH] |
volatile uint8_t | task_id = 0 |
volatile avr32_tc_t * | tc = TC_INSTANCE |
volatile avr32_usart_t * | usart_lin_node1 |
void lin_master_cb_task_ID12 | ( | U8 * | d_buf | ) |
Lin Callback when message is transmitted.
References can_mob_t::can_msg, can_msg_t::data, gpio_tgl_gpio_pin(), and Union64::u8.
Referenced by lin_task_init().
void lin_master_task_ID12 | ( | void | ) |
Lin Command When Id is transmitted.
lin_master_task_ID12
References lin_descript_list_node0, and lin_send_cmd().
Referenced by tc_irq().
void lin_slave_task_ID12 | ( | U8 * | d_buf | ) |
Lin Callback when message is received.
lin_slave_task_ID12
References gpio_tgl_gpio_pin().
Referenced by lin_task_init(), and main().
void lin_task | ( | void | ) |
LIN Task.
References BUFFER_LENGTH, i, and signal2_buf.
Referenced by main().
void lin_task_init | ( | void | ) |
LIN Task Init.
References st_lin_message::l_cmd, st_lin_message::l_dlc, st_lin_message::l_id, st_lin_message::l_pt_data, st_lin_message::l_pt_function, st_lin_message::l_status, lin_data_in_node1, lin_data_out_node0, lin_descript_list_node0, lin_init(), lin_master_cb_task_ID12(), lin_slave_task_ID12(), PUBLISH, start_scheduler(), and SUBSCRIBE.
Referenced by main().
void lin_task_restart | ( | void | ) |
LIN Task Restart.
References Disable_global_interrupt, Enable_global_interrupt, and lin_init().
void lin_task_stop | ( | void | ) |
LIN Task Stop.
void start_scheduler | ( | void | ) |
Start LIN scheduler for periodic transmission of LIN message.
References tc_waveform_opt_t::channel, tc_interrupt_t::etrgs, FPBA_HZ, INTC_register_interrupt(), TC_CHANNEL, TC_CLOCK_SOURCE_TC5, tc_configure_interrupts(), TC_EVT_EFFECT_NOOP, tc_init_waveform(), TC_INSTANCE_IRQ, tc_irq(), TC_SEL_NO_EDGE, tc_start(), TC_WAVEFORM_SEL_UP_MODE_RC_TRIGGER, and tc_write_rc().
Referenced by lin_task_init(), and main().
|
static |
TC interrupt.
References lin_master_task_ID12(), TC_CHANNEL, TC_INSTANCE, and tc_read_sr().
Referenced by start_scheduler().
volatile U8 lin_data_in_node1[8] |
Referenced by lin_task_init().
uint8_t lin_data_out_node0[8] |
Referenced by lin_task_init(), and main().
can_mob_t pCANMOB_message2[1] |
Referenced by can_example_prepare_data_to_receive(), can_out_callback_channel0(), and can_task().
A_ALIGNED dsp16_t signal2_buf[BUFFER_LENGTH] |
Referenced by gui_task(), and lin_task().
volatile uint8_t task_id = 0 |
Referenced by tc_irq().
volatile avr32_tc_t* tc = TC_INSTANCE |
Referenced by init_timer_isr(), main(), and start_scheduler().
volatile avr32_usart_t* usart_lin_node1 |
Referenced by lin_get_response(), lin_init(), lin_send_cmd(), and lin_tx_header_and_response().