Microchip® Advanced Software Framework

serial_bridge.c File Reference

Configurations for the WILC1000 Serial Bridge Application.

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

#include "asf.h"
#include "uart_stream.h"
#include "FreeRTOS.h"
#include "osprintf.h"
#include "os/include/net_init.h"
#include "os/include/m2m_wifi_ex.h"

Data Structures

struct  uart_cmd_hdr
 
struct  usart_frame
 

Enumerations

enum  cmd_err_code {
  CMD_ERR_NO_ERROR = 0,
  CMD_ERR_INTERNAL_ERROR,
  CMD_ERR_INVALID_FRAME
}
 

Functions

void bt_serial_bridge ()
 
static void buffer_to_cmd_hdr (uint8_t *buffer, struct uart_cmd_hdr *cmd_hdr)
 
static uint8_t checksum_check (uint8_t *buffer, uint8_t size)
 
void fatal (int code, const char *msg)
 
void hard_fault (uint32_t *args, uint32_t lr)
 
void HardFault_Handler (void)
 
int main (void)
 Main application function. More...
 
static sint8 serial_bridge (void)
 Process input UART command and forward to SPI. More...
 
static void usart_frame_parse (uint8_t *buffer, uint8_t size)
 Parse incoming frame and find the handler to process the request. More...
 
static int usart_read_block_handler (uint8_t *buffer, uint8_t size)
 
static int usart_read_reg_with_ret_handler (uint8_t *buffer, uint8_t size)
 
static int usart_reconfigure_handler (uint8_t *buffer, uint8_t size)
 
static int usart_sync_cmd_handler (uint8_t *buffer, uint8_t size)
 
static int usart_write_block_handler (uint8_t *buffer, uint8_t size)
 
static int usart_write_reg_handler (uint8_t *buffer, uint8_t size)
 
void vApplicationMallocFailedHook (void)
 
void vApplicationStackOverflowHook (xTaskHandle pxTask, signed char *pcTaskName)
 

Variables

static uint32_t fault_addr
 
uint8_t hci_recv_buffer [13]
 
uint32_t ms_ticks = 0
 SysTick counter to avoid busy wait delay. More...
 
uint8_t reset_buffer [13] = {0xA5,0x01,0x10,0x00,0x00,0x00,0x14,0x00,0x00,005,0x00,0x00,0x00}
 
uint8_t reset_sdio_buffer [13] = {0xA5,0x01,0x10,0x00,0x00,0x00,0x14,0x00,0x00,0xFF,0xFB,0xFF,0xFF}
 
struct usart_frame usart_handler []
 

Enumerator
CMD_ERR_NO_ERROR 
CMD_ERR_INTERNAL_ERROR 
CMD_ERR_INVALID_FRAME 

void bt_serial_bridge ( )
static uint8_t checksum_check ( uint8_t *  buffer,
uint8_t  size 
)
static
void fatal ( int  code,
const char *  msg 
)
void hard_fault ( uint32_t *  args,
uint32_t  lr 
)

References fault_addr, and osprintf().

void HardFault_Handler ( void  )
int main ( void  )

Main application function.

Application entry point.

Returns
program return value.

References board_init(), configure_usart(), serial_bridge(), sysclk_init(), vTaskStartScheduler(), and xTaskCreate.

static sint8 serial_bridge ( void  )
static

Process input UART command and forward to SPI.

References M2M_ERR_INIT, M2M_SUCCESS, NULL, os_m2m_wifi_init(), tstrWifiInitParam::pfAppWifiCb, usart_frame_parse(), usart_stream_read(), and usart_stream_reset().

Referenced by main().

static void usart_frame_parse ( uint8_t *  buffer,
uint8_t  size 
)
static

Parse incoming frame and find the handler to process the request.

References reset_buffer, reset_sdio_buffer, usart_stream_reset(), and usart_stream_write().

Referenced by serial_bridge().

static int usart_read_reg_with_ret_handler ( uint8_t *  buffer,
uint8_t  size 
)
static
static int usart_reconfigure_handler ( uint8_t *  buffer,
uint8_t  size 
)
static
static int usart_sync_cmd_handler ( uint8_t *  buffer,
uint8_t  size 
)
static
static int usart_write_block_handler ( uint8_t *  buffer,
uint8_t  size 
)
static
static int usart_write_reg_handler ( uint8_t *  buffer,
uint8_t  size 
)
static
void vApplicationMallocFailedHook ( void  )

Referenced by pvPortMalloc().

void vApplicationStackOverflowHook ( xTaskHandle  pxTask,
signed char *  pcTaskName 
)

References M2M_ERR.

uint32_t fault_addr
static

Referenced by hard_fault().

uint8_t hci_recv_buffer[13]
uint32_t ms_ticks = 0

SysTick counter to avoid busy wait delay.

uint8_t reset_buffer[13] = {0xA5,0x01,0x10,0x00,0x00,0x00,0x14,0x00,0x00,005,0x00,0x00,0x00}

Referenced by usart_frame_parse().

uint8_t reset_sdio_buffer[13] = {0xA5,0x01,0x10,0x00,0x00,0x00,0x14,0x00,0x00,0xFF,0xFB,0xFF,0xFF}

Referenced by usart_frame_parse().

struct usart_frame usart_handler[]
Initial value:
= {
{{0x12, 0}, 1, 1, usart_sync_cmd_handler},
{{0xa5, 0x00, 0}, 2, sizeof(struct uart_cmd_hdr) + 1, usart_read_reg_with_ret_handler},
{{0xa5, 0x01, 0}, 2, sizeof(struct uart_cmd_hdr) + 1, usart_write_reg_handler},
{{0xa5, 0x02, 0}, 2, sizeof(struct uart_cmd_hdr) + 1, usart_read_block_handler},
{{0xa5, 0x03, 0}, 2, sizeof(struct uart_cmd_hdr) + 1, usart_write_block_handler},
{{0xa5, 0x04, 0}, 2, 2, NULL},
{{0xa5, 0x05, 0}, 2, sizeof(struct uart_cmd_hdr) + 1, usart_reconfigure_handler},
{{0xa5, 0x0A, 0}, 2, 2, NULL},
}
static int usart_write_reg_handler(uint8_t *buffer, uint8_t size)
Definition: serial_bridge.c:238
static int usart_write_block_handler(uint8_t *buffer, uint8_t size)
Definition: serial_bridge.c:283
static int usart_sync_cmd_handler(uint8_t *buffer, uint8_t size)
Definition: serial_bridge.c:203
Definition: serial_bridge.c:163
static int usart_read_reg_with_ret_handler(uint8_t *buffer, uint8_t size)
Definition: serial_bridge.c:211
#define NULL
Definition: nm_bsp.h:70
static int usart_read_block_handler(uint8_t *buffer, uint8_t size)
Definition: serial_bridge.c:258
static int usart_reconfigure_handler(uint8_t *buffer, uint8_t size)
Definition: serial_bridge.c:322