rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Data Fields
UARTDriver Struct Reference

Structure representing an UART driver. More...

#include <hal_uart_lld.h>

Collaboration diagram for UARTDriver:
Collaboration graph
[legend]

Data Fields

uartstate_t state
 Driver state.
 
uarttxstate_t txstate
 Transmitter state.
 
uartrxstate_t rxstate
 Receiver state.
 
const UARTConfigconfig
 Current configuration data.
 
bool early
 Synchronization flag for transmit operations.
 
thread_reference_t threadrx
 Waiting thread on RX.
 
thread_reference_t threadtx
 Waiting thread on TX.
 
mutex_t mutex
 Mutex protecting the peripheral.
 
UART_DRIVER_EXT_FIELDS LPUART_Type * lpuart
 Pointer to the USART registers block.
 
lpuart_edma_handle_t dmaHandle
 LPUART common eDMA channel handle.
 
edma_handle_t lpuartRxEdmaHandle
 eDMA transfer handles.
 
edma_handle_t lpuartTxEdmaHandle
 
int pendingRxIrq
 Used to trigger the IRQ from our software handler. See uart_lld_callback() and UART_USE_RING_BUFFER.
 
lpuart_handle_t rxHandle
 Used for the RingBuffer mode or to handle UART errors in EDMA mode.
 
uint8_t rxRingBuffer [KINETIS_UART_RX_RING_BUFFER_SIZE]
 

Detailed Description

Structure representing an UART driver.

Note
Implementations may extend this structure to contain more, architecture dependent, fields.

Definition at line 182 of file hal_uart_lld.h.

Field Documentation

◆ config

const UARTConfig* UARTDriver::config

Current configuration data.

Definition at line 198 of file hal_uart_lld.h.

Referenced by uart_lld_start().

◆ dmaHandle

lpuart_edma_handle_t UARTDriver::dmaHandle

LPUART common eDMA channel handle.

Definition at line 231 of file hal_uart_lld.h.

Referenced by uart_lld_start(), uart_lld_start_receive(), uart_lld_start_send(), uart_lld_stop_receive(), and uart_lld_stop_send().

◆ early

bool UARTDriver::early

Synchronization flag for transmit operations.

Definition at line 203 of file hal_uart_lld.h.

◆ lpuart

UART_DRIVER_EXT_FIELDS LPUART_Type* UARTDriver::lpuart

Pointer to the USART registers block.

Definition at line 226 of file hal_uart_lld.h.

Referenced by uart_lld_blocking_send(), uart_lld_start(), uart_lld_start_receive(), uart_lld_start_send(), uart_lld_stop_receive(), and uart_lld_stop_send().

◆ lpuartRxEdmaHandle

edma_handle_t UARTDriver::lpuartRxEdmaHandle

eDMA transfer handles.

Definition at line 235 of file hal_uart_lld.h.

Referenced by uart_lld_start().

◆ lpuartTxEdmaHandle

edma_handle_t UARTDriver::lpuartTxEdmaHandle

Definition at line 235 of file hal_uart_lld.h.

Referenced by uart_lld_start().

◆ mutex

mutex_t UARTDriver::mutex

Mutex protecting the peripheral.

Definition at line 217 of file hal_uart_lld.h.

◆ pendingRxIrq

int UARTDriver::pendingRxIrq

Used to trigger the IRQ from our software handler. See uart_lld_callback() and UART_USE_RING_BUFFER.

Definition at line 241 of file hal_uart_lld.h.

Referenced by uart_lld_callback(), and uart_lld_start().

◆ rxHandle

lpuart_handle_t UARTDriver::rxHandle

Used for the RingBuffer mode or to handle UART errors in EDMA mode.

Definition at line 246 of file hal_uart_lld.h.

Referenced by uart_lld_start(), uart_lld_start_receive(), and uart_lld_stop_receive().

◆ rxRingBuffer

uint8_t UARTDriver::rxRingBuffer[KINETIS_UART_RX_RING_BUFFER_SIZE]

Definition at line 249 of file hal_uart_lld.h.

Referenced by uart_lld_start().

◆ rxstate

uartrxstate_t UARTDriver::rxstate

Receiver state.

Definition at line 194 of file hal_uart_lld.h.

Referenced by uart_lld_start().

◆ state

uartstate_t UARTDriver::state

Driver state.

Definition at line 186 of file hal_uart_lld.h.

Referenced by uart_lld_start(), and uart_lld_stop().

◆ threadrx

thread_reference_t UARTDriver::threadrx

Waiting thread on RX.

Definition at line 207 of file hal_uart_lld.h.

◆ threadtx

thread_reference_t UARTDriver::threadtx

Waiting thread on TX.

Definition at line 211 of file hal_uart_lld.h.

◆ txstate

uarttxstate_t UARTDriver::txstate

Transmitter state.

Definition at line 190 of file hal_uart_lld.h.

Referenced by uart_lld_start().


The documentation for this struct was generated from the following file: