Handles Serial bridge driver functionalities.
Copyright (c) 2017-2018 Microchip Technology Inc. and its subsidiaries.
#include "asf.h"
#include "serial_bridge.h"
#include "conf_serialbridge.h"
#include "serial_fifo.h"
#include "ble_utils.h"
#include "conf_serialdrv.h"
Functions | |
void | platform_dtm_interface_receive (uint8_t rx_data) |
void | platform_start_rx (void) |
uint8_t | serial_bridge_init (void) |
This module performs serial input/output functionalities via UART. More... | |
void | serial_bridge_task (void) |
Bridges the UARTS. More... | |
static void | serial_drv_edbg_read_cb (struct usart_module *const module) |
static void | serial_drv_edbg_write_cb (struct usart_module *const module) |
static uint8_t | serial_eread_byte (uint16_t *data) |
Variables | |
static uint8_t | ble_eusart_rx_buf [BLE_MAX_RX_PAYLOAD_SIZE] |
static ser_fifo_desc_t | ble_eusart_rx_fifo |
static uint8_t | ble_eusart_tx_buf [BLE_MAX_TX_PAYLOAD_SIZE] |
static ser_fifo_desc_t | ble_eusart_tx_fifo |
uint8_t | ble_usart_rx_buf [BLE_MAX_RX_PAYLOAD_SIZE] |
ser_fifo_desc_t | ble_usart_rx_fifo |
static uint8_t | ble_usart_tx_buf [BLE_MAX_TX_PAYLOAD_SIZE] |
ser_fifo_desc_t | ble_usart_tx_fifo |
static struct usart_module | eusart_instance |
static uint16_t | g_etxdata |
static uint16_t | g_txdata |
static uint16_t | rx_edata |
struct usart_module | usart_instance |
void platform_dtm_interface_receive | ( | uint8_t | rx_data | ) |
References platform_start_rx, and ser_fifo_push_uint8().
Referenced by ble_init().
void platform_start_rx | ( | void | ) |
References rx_data, and serial_read_byte().
uint8_t serial_bridge_init | ( | void | ) |
This module performs serial input/output functionalities via UART.
Initializes the Serial IO Module
References usart_config::baudrate, ble_eusart_rx_buf, ble_eusart_tx_buf, BLE_MAX_RX_PAYLOAD_SIZE, BLE_MAX_TX_PAYLOAD_SIZE, ble_usart_rx_buf, ble_usart_tx_buf, CONF_SB_BAUDRATE, CONF_SB_MUX_SETTING, CONF_SB_PINMUX_PAD0, CONF_SB_PINMUX_PAD1, CONF_SB_PINMUX_PAD2, CONF_SB_PINMUX_PAD3, CONF_SB_USART_MODULE, eusart_instance, GCLK_GENERATOR_0, usart_config::generator_source, usart_config::mux_setting, usart_config::pinmux_pad0, usart_config::pinmux_pad1, usart_config::pinmux_pad2, usart_config::pinmux_pad3, rx_edata, ser_fifo_init(), serial_drv_edbg_read_cb(), serial_drv_edbg_write_cb(), serial_eread_byte(), STATUS_OK, USART_CALLBACK_BUFFER_RECEIVED, USART_CALLBACK_BUFFER_TRANSMITTED, usart_enable(), usart_enable_callback(), usart_get_config_defaults(), usart_init(), and usart_register_callback().
Referenced by main().
void serial_bridge_task | ( | void | ) |
Bridges the UARTS.
Takes | the data from one USART Rx to other USART Tx and vice versa |
References eusart_instance, g_etxdata, g_txdata, LED0, LED_Toggle, SER_FIFO_OK, ser_fifo_pull_uint8(), ser_fifo_push_uint8(), STATUS_OK, usart_get_job_status(), usart_instance, USART_TRANSCEIVER_TX, and usart_write_job().
Referenced by main().
|
static |
References rx_edata, ser_fifo_push_uint8(), serial_eread_byte(), and STATUS_BUSY.
Referenced by serial_bridge_init().
|
static |
References eusart_instance, g_etxdata, SER_FIFO_OK, ser_fifo_pull_uint8(), STATUS_OK, and usart_write_job().
Referenced by serial_bridge_init().
|
static |
References eusart_instance, and usart_read_job().
Referenced by serial_bridge_init(), and serial_drv_edbg_read_cb().
|
static |
Referenced by serial_bridge_init().
|
static |
|
static |
Referenced by serial_bridge_init().
|
static |
uint8_t ble_usart_rx_buf[BLE_MAX_RX_PAYLOAD_SIZE] |
Referenced by serial_bridge_init().
ser_fifo_desc_t ble_usart_rx_fifo |
|
static |
Referenced by serial_bridge_init().
ser_fifo_desc_t ble_usart_tx_fifo |
|
static |
Referenced by serial_bridge_init(), serial_bridge_task(), serial_drv_edbg_write_cb(), and serial_eread_byte().
|
static |
Referenced by serial_bridge_task(), and serial_drv_edbg_write_cb().
|
static |
Referenced by serial_bridge_task().
|
static |
Referenced by serial_bridge_init(), and serial_drv_edbg_read_cb().
struct usart_module usart_instance |