Handles Serial driver functionalities.
Copyright (c) 2017-2018 Microchip Technology Inc. and its subsidiaries.
#include "asf.h"
#include "serial_drv.h"
#include "serial_fifo.h"
#include "ble_utils.h"
#include "conf_serialdrv.h"
Functions | |
uint8_t | configure_serial_drv (uint32_t bus_baudrate) |
Initializes the Serial IO Module. More... | |
void | configure_usart_after_patch (uint32_t baudrate) |
void | platform_configure_sleep_manager (void) |
void | platform_enter_critical_section (void) |
void | platform_leave_critical_section (void) |
void | platform_process_rxdata (uint8_t t_rx_data) |
void | platform_restore_from_sleep (void) |
uint32_t | platform_serial_drv_tx_status (void) |
void | platform_set_ble_rts_high (void) |
void | platform_set_ble_rts_low (void) |
void | platform_set_hostsleep (void) |
void | platform_start_rx (void) |
This module performs serial input/output functionalities via UART. More... | |
uint16_t | serial_drive_rx_data_count (void) |
static void | serial_drv_read_cb (struct usart_module *const usart_module) |
uint16_t | serial_drv_send (uint8_t *data, uint16_t len) |
Transmits data via UART. More... | |
static void | serial_drv_write_cb (struct usart_module *const usart_module) |
uint8_t | serial_read_byte (uint16_t *data) |
uint8_t | serial_read_data (uint8_t *data, uint16_t max_len) |
Receives data from UART. More... | |
static void | usart_configure_flowcontrol (uint32_t baudrate) |
Variables | |
static uint16_t | rx_data |
struct usart_module | usart_instance |
[module_inst] More... | |
volatile bool | wakeup_pin_status = true |
uint8_t configure_serial_drv | ( | uint32_t | ) |
Initializes the Serial IO Module.
References usart_config::baudrate, 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_data, serial_drv_read_cb(), serial_drv_write_cb(), serial_read_byte(), STATUS_OK, USART_CALLBACK_BUFFER_RECEIVED, USART_CALLBACK_BUFFER_TRANSMITTED, usart_configure_flowcontrol(), usart_enable(), usart_enable_callback(), usart_get_config_defaults(), usart_init(), usart_instance, usart_register_callback(), and usart_reset().
Referenced by platform_configure_primary_uart(), and platform_init().
void configure_usart_after_patch | ( | uint32_t | baudrate | ) |
References usart_configure_flowcontrol().
Referenced by platform_configure_hw_fc_uart().
void platform_configure_sleep_manager | ( | void | ) |
Referenced by platform_init().
void platform_enter_critical_section | ( | void | ) |
References system_interrupt_enter_critical_section().
Referenced by platform_start_timer(), and platform_stop_timer().
void platform_leave_critical_section | ( | void | ) |
References system_interrupt_leave_critical_section().
Referenced by platform_start_timer(), and platform_stop_timer().
void platform_process_rxdata | ( | uint8_t | t_rx_data | ) |
void platform_restore_from_sleep | ( | void | ) |
Referenced by platform_enter_sleep().
uint32_t platform_serial_drv_tx_status | ( | void | ) |
References usart_get_job_status(), usart_instance, and USART_TRANSCEIVER_TX.
void platform_set_ble_rts_high | ( | void | ) |
References usart_disable_transceiver(), usart_instance, and USART_TRANSCEIVER_RX.
Referenced by platform_enter_sleep().
void platform_set_ble_rts_low | ( | void | ) |
References usart_enable_transceiver(), usart_instance, and USART_TRANSCEIVER_RX.
Referenced by platform_enter_sleep().
void platform_set_hostsleep | ( | void | ) |
References system_set_sleepmode(), and system_sleep().
Referenced by platform_enter_sleep().
void platform_start_rx | ( | void | ) |
This module performs serial input/output functionalities via UART.
References rx_data, and serial_read_byte().
Referenced by main(), platform_dtm_interface_receive(), and platform_recv_async().
uint16_t serial_drive_rx_data_count | ( | void | ) |
Referenced by platform_enter_sleep(), and platform_gpio_set().
|
static |
References platform_process_rxdata(), and rx_data.
Referenced by configure_serial_drv(), and usart_configure_flowcontrol().
uint16_t serial_drv_send | ( | uint8_t * | data, |
uint16_t | len | ||
) |
Transmits data via UART.
data | Pointer to the buffer where the data to be transmitted is present |
length | Number of bytes to be transmitted |
References STATUS_OK, usart_get_job_status(), usart_instance, USART_TRANSCEIVER_TX, and usart_write_buffer_job().
Referenced by platform_send_sync().
|
static |
Referenced by configure_serial_drv(), and usart_configure_flowcontrol().
uint8_t serial_read_byte | ( | uint16_t * | data | ) |
References usart_instance, and usart_read_job().
Referenced by configure_serial_drv(), platform_start_rx(), and usart_configure_flowcontrol().
uint8_t serial_read_data | ( | uint8_t * | data, |
uint16_t | max_len | ||
) |
Receives data from UART.
data | pointer to the buffer where the received data is to be stored |
max_length | maximum length of data to be received |
References usart_instance, and usart_read_buffer_job().
|
inlinestatic |
References usart_config::baudrate, 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_data, serial_drv_read_cb(), serial_drv_write_cb(), serial_read_byte(), STATUS_OK, USART_CALLBACK_BUFFER_RECEIVED, USART_CALLBACK_BUFFER_TRANSMITTED, usart_enable(), usart_enable_callback(), usart_get_config_defaults(), usart_init(), usart_instance, usart_register_callback(), and usart_reset().
Referenced by configure_serial_drv(), and configure_usart_after_patch().
|
static |
Referenced by configure_serial_drv(), platform_start_rx(), serial_drv_read_cb(), and usart_configure_flowcontrol().
struct usart_module usart_instance |
[module_inst]