Herzog Library 00.00.01  rel_libdev.herzog.00.00.01.10606
Functions | Variables
uart_device.c File Reference
#include <stdint.h>
#include <string.h>
#include "uart_device.h"
#include "errno.h"

Functions

void uart_reset_tx (UART_Device_t *dev)
 
void uart_reset_rx (UART_Device_t *dev)
 
UART_Device_tUART_devRequest (const char *name)
 Request an UART device. More...
 
int32_t UART_devInit (UART_Device_t *dev, UART_devBaudRate_t rate, UART_Dev_LineInitData_t *init)
 Initialize UART device. More...
 
uint32_t uart_read (UART_Device_t *dev, uint8_t *data)
 
void uart_write (UART_Device_t *dev, uint8_t data)
 
int32_t UART_devDataReceived (UART_Device_t *dev)
 Get the number of bytes received. More...
 
int32_t UART_devDataPendingTX (UART_Device_t *dev)
 Check the number of bytes pending on TX. More...
 
int32_t UART_devSendByte (UART_Device_t *dev, uint8_t *data, uint32_t len)
 Send data to UART device. More...
 
int32_t UART_devReceiveByte (UART_Device_t *dev, uint8_t *data, uint32_t len)
 Receive data to UART device. More...
 
int32_t UART_devClearBuffer (UART_Device_t *dev)
 Clear data buffer in UART device driver. More...
 
int32_t UART_devRegisterCallback (UART_Device_t *dev, uint32_t size, void *cb)
 Register a call back function to UART device driver. More...
 
void uart_tx_isr_handler (UART_Device_t *dev)
 
void uart_rx_isr_handler (UART_Device_t *dev)
 
int32_t UART_devCheckError (UART_Device_t *dev)
 Check UART device for error. More...
 
int32_t UART_devResetDevice (UART_Device_t *dev)
 Reset UART device. More...
 
void UART_Handler (void)
 

Variables

static const UART_Device_tUART_DeviceTable []
 The instances of UART device. More...
 
static const uint16_t board_rate_map [UART_DEV_BAUDRATE_MAX+1]
 
UART_Dev_State_t UART_State
 

Detailed Description

This file is proprietary to Indie Semiconductor. All rights reserved. Reproduction or distribution, in whole or in part, is forbidden except by express written permission of Indie Semiconductor.

Function Documentation

int32_t UART_devCheckError ( UART_Device_t dev)

Check UART device for error.

Parameters
devPointer to UART Device structure
Returns
0 for no error or 1 if error occurred.
int32_t UART_devClearBuffer ( UART_Device_t dev)

Clear data buffer in UART device driver.

Parameters
devPointer to UART Device structure
Returns
0 for success or error code upon a failure
int32_t UART_devDataPendingTX ( UART_Device_t dev)

Check the number of bytes pending on TX.

Parameters
devPointer to UART Device structure.
Returns
the number of bytes pending on TX or error code upon a failure
int32_t UART_devDataReceived ( UART_Device_t dev)

Get the number of bytes received.

Parameters
devPointer to UART Device structure.
Returns
the number of bytes received or error code upon a failure
int32_t UART_devInit ( UART_Device_t dev,
UART_devBaudRate_t  rate,
UART_Dev_LineInitData_t init 
)

Initialize UART device.

Parameters
devPointer to UART Device structure
rateBaud Rate
initPointer to initial data structure
Returns
0 for success or error code upon a failure
int32_t UART_devReceiveByte ( UART_Device_t dev,
uint8_t *  data,
uint32_t  len 
)

Receive data to UART device.

Parameters
devPointer to UART Device structure.
dataPointer to the data memory to store the received data.
lenThe size of the data memory.
Returns
0 for success or error code upon a failure
int32_t UART_devRegisterCallback ( UART_Device_t dev,
uint32_t  size,
void *  cb 
)

Register a call back function to UART device driver.

Parameters
devPointer to UART Device structure
sizeThe size of the data block received to trigger the callback.
cbThe pointer to the call back function.
Returns
0 for success or error code upon a failure
UART_Device_t* UART_devRequest ( const char *  name)

Request an UART device.

Parameters
nameName string of the UART device.
Returns
The pointer to the UART device or NULL upon a failure.
int32_t UART_devResetDevice ( UART_Device_t dev)

Reset UART device.

Parameters
devPointer to UART Device structure
Returns
0 for success or error code upon a failure
int32_t UART_devSendByte ( UART_Device_t dev,
uint8_t *  data,
uint32_t  len 
)

Send data to UART device.

Parameters
devPointer to UART Device structure.
dataPointer to the data memory to be sent.
lenThe size of the data memory.
Returns
0 for success or error code upon a failure
void UART_Handler ( void  )
uint32_t uart_read ( UART_Device_t dev,
uint8_t *  data 
)
void uart_reset_rx ( UART_Device_t dev)
void uart_reset_tx ( UART_Device_t dev)
void uart_rx_isr_handler ( UART_Device_t dev)
void uart_tx_isr_handler ( UART_Device_t dev)
void uart_write ( UART_Device_t dev,
uint8_t  data 
)

Variable Documentation

const uint16_t board_rate_map[UART_DEV_BAUDRATE_MAX+1]
static
Initial value:
= {
}
Definition: uart_device.h:34
Definition: uart_device.h:33
Definition: uart_device.h:36
Definition: uart_device.h:29
Definition: uart_device.h:37
Definition: uart_device.h:32
Definition: uart_device.h:28
Definition: uart_device.h:30
Definition: uart_device.h:27
Definition: uart_device.h:35
Definition: uart_device.h:31

The clock divider settings for each UART baud rate at 12M system clock.

const UART_Device_t* UART_DeviceTable[]
static
Initial value:
= {
NULL,
}

The instances of UART device.

The table of UART device instances supported by the platform.

UART_Dev_State_t UART_State
Initial value:
= {
.buf_size = UART_BUFF_SIZE,
.tx_buffer = {0},
.rx_buffer = {0},
.rx_outptr = 0,
.rx_inptr = 0,
.tx_outptr = 0,
.tx_inptr = 0,
.tx_init = 0,
.cb_size = 0,
.cb = NULL,
}
#define UART_BUFF_SIZE
Definition: uart_device.h:18

The The UART device state