Microchip® Advanced Software Framework

ble_host_sdk/services/serial/uart/sam0/serial_drv.c File Reference
#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 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...
 
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 (uint32_t baudrate)
 

Variables

static uint16_t rx_data
 
struct usart_module usart_instance
 
volatile bool wakeup_pin_status = true
 

uint8_t configure_serial_drv ( uint32_t  )

Initializes the Serial IO Module.

Returns
STATUS_OK for successful initialization and FAILURE incase the IO is not initialized

Referenced by platform_configure_primary_uart(), and platform_init().

void platform_configure_sleep_manager ( void  )

Referenced by platform_init().

void platform_enter_critical_section ( void  )
void platform_leave_critical_section ( void  )
void platform_process_rxdata ( uint8_t  t_rx_data)

Referenced by serial_drv_read_cb().

void platform_restore_from_sleep ( void  )

Referenced by platform_enter_sleep().

uint32_t platform_serial_drv_tx_status ( void  )
void platform_set_ble_rts_high ( void  )

Referenced by platform_enter_sleep().

void platform_set_ble_rts_low ( void  )

Referenced by platform_enter_sleep().

void platform_set_hostsleep ( void  )

Referenced by platform_enter_sleep().

void platform_start_rx ( void  )

This module performs serial input/output functionalities via UART.

Referenced by main(), platform_dtm_interface_receive(), platform_recv_async(), and usart_configure().

uint16_t serial_drive_rx_data_count ( void  )
static void serial_drv_read_cb ( struct usart_module *const  usart_module)
static

References platform_process_rxdata(), and rx_data.

Referenced by usart_configure().

uint16_t serial_drv_send ( uint8_t *  data,
uint16_t  len 
)

Transmits data via UART.

Parameters
dataPointer to the buffer where the data to be transmitted is present
lengthNumber of bytes to be transmitted
Returns
Number of bytes actually transmitted

Referenced by platform_send_sync().

uint8_t serial_read_byte ( uint16_t *  data)
uint8_t serial_read_data ( uint8_t *  data,
uint16_t  max_len 
)

Receives data from UART.

Parameters
datapointer to the buffer where the received data is to be stored
max_lengthmaximum length of data to be received
Returns
actual number of bytes received

volatile bool wakeup_pin_status = true