rusEFI
The most advanced open source ECU
|
Data Structures | |
struct | _lpuart_config |
LPUART configuration structure. More... | |
struct | _lpuart_transfer |
LPUART transfer structure. More... | |
struct | _lpuart_handle |
LPUART handle structure. More... | |
Functions | |
Software Reset | |
static void | LPUART_SoftwareReset (LPUART_Type *base) |
Resets the LPUART using software. | |
Initialization and deinitialization | |
status_t | LPUART_Init (LPUART_Type *base, const lpuart_config_t *config, uint32_t srcClock_Hz) |
Initializes an LPUART instance with the user configuration structure and the peripheral clock. | |
void | LPUART_Deinit (LPUART_Type *base) |
Deinitializes a LPUART instance. | |
void | LPUART_GetDefaultConfig (lpuart_config_t *config) |
Gets the default configuration structure. | |
status_t | LPUART_SetBaudRate (LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz) |
Sets the LPUART instance baudrate. | |
Status | |
uint32_t | LPUART_GetStatusFlags (LPUART_Type *base) |
Gets LPUART status flags. | |
status_t | LPUART_ClearStatusFlags (LPUART_Type *base, uint32_t mask) |
Clears status flags with a provided mask. | |
Interrupts | |
void | LPUART_EnableInterrupts (LPUART_Type *base, uint32_t mask) |
Enables LPUART interrupts according to a provided mask. | |
void | LPUART_DisableInterrupts (LPUART_Type *base, uint32_t mask) |
Disables LPUART interrupts according to a provided mask. | |
uint32_t | LPUART_GetEnabledInterrupts (LPUART_Type *base) |
Gets enabled LPUART interrupts. | |
static uint32_t | LPUART_GetDataRegisterAddress (LPUART_Type *base) |
Gets the LPUART data register address. | |
static void | LPUART_EnableTxDMA (LPUART_Type *base, bool enable) |
Enables or disables the LPUART transmitter DMA request. | |
static void | LPUART_EnableRxDMA (LPUART_Type *base, bool enable) |
Enables or disables the LPUART receiver DMA. | |
Bus Operations | |
uint32_t | LPUART_GetInstance (LPUART_Type *base) |
Get the LPUART instance from peripheral base address. | |
static void | LPUART_EnableTx (LPUART_Type *base, bool enable) |
Enables or disables the LPUART transmitter. | |
static void | LPUART_EnableRx (LPUART_Type *base, bool enable) |
Enables or disables the LPUART receiver. | |
static void | LPUART_WriteByte (LPUART_Type *base, uint8_t data) |
Writes to the transmitter register. | |
static uint8_t | LPUART_ReadByte (LPUART_Type *base) |
Reads the receiver register. | |
void | LPUART_WriteBlocking (LPUART_Type *base, const uint8_t *data, size_t length) |
Writes to the transmitter register using a blocking method. | |
status_t | LPUART_ReadBlocking (LPUART_Type *base, uint8_t *data, size_t length) |
Reads the receiver data register using a blocking method. | |
Transactional | |
void | LPUART_TransferCreateHandle (LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_callback_t callback, void *userData) |
Initializes the LPUART handle. | |
status_t | LPUART_TransferSendNonBlocking (LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_t *xfer) |
Transmits a buffer of data using the interrupt method. | |
void | LPUART_TransferStartRingBuffer (LPUART_Type *base, lpuart_handle_t *handle, uint8_t *ringBuffer, size_t ringBufferSize) |
Sets up the RX ring buffer. | |
void | LPUART_TransferStopRingBuffer (LPUART_Type *base, lpuart_handle_t *handle) |
Aborts the background transfer and uninstalls the ring buffer. | |
size_t | LPUART_TransferGetRxRingBufferLength (LPUART_Type *base, lpuart_handle_t *handle) |
Get the length of received data in RX ring buffer. | |
void | LPUART_TransferAbortSend (LPUART_Type *base, lpuart_handle_t *handle) |
Aborts the interrupt-driven data transmit. | |
status_t | LPUART_TransferGetSendCount (LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count) |
Gets the number of bytes that have been written to the LPUART transmitter register. | |
status_t | LPUART_TransferReceiveNonBlocking (LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_t *xfer, size_t *receivedBytes) |
Receives a buffer of data using the interrupt method. | |
void | LPUART_TransferAbortReceive (LPUART_Type *base, lpuart_handle_t *handle) |
Aborts the interrupt-driven data receiving. | |
status_t | LPUART_TransferGetReceiveCount (LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count) |
Gets the number of bytes that have been received. | |
void | LPUART_TransferHandleIRQ (LPUART_Type *base, lpuart_handle_t *handle) |
LPUART IRQ handle function. | |
void | LPUART_TransferHandleErrorIRQ (LPUART_Type *base, lpuart_handle_t *handle) |
LPUART Error IRQ handle function. | |
Driver version | |
enum | _lpuart_status { kStatus_LPUART_TxBusy = MAKE_STATUS(kStatusGroup_LPUART, 0) , kStatus_LPUART_RxBusy = MAKE_STATUS(kStatusGroup_LPUART, 1) , kStatus_LPUART_TxIdle = MAKE_STATUS(kStatusGroup_LPUART, 2) , kStatus_LPUART_RxIdle = MAKE_STATUS(kStatusGroup_LPUART, 3) , kStatus_LPUART_TxWatermarkTooLarge = MAKE_STATUS(kStatusGroup_LPUART, 4) , kStatus_LPUART_RxWatermarkTooLarge = MAKE_STATUS(kStatusGroup_LPUART, 5) , kStatus_LPUART_FlagCannotClearManually = MAKE_STATUS(kStatusGroup_LPUART, 6) , kStatus_LPUART_Error = MAKE_STATUS(kStatusGroup_LPUART, 7) , kStatus_LPUART_RxRingBufferOverrun , kStatus_LPUART_RxHardwareOverrun = MAKE_STATUS(kStatusGroup_LPUART, 9) , kStatus_LPUART_NoiseError = MAKE_STATUS(kStatusGroup_LPUART, 10) , kStatus_LPUART_FramingError = MAKE_STATUS(kStatusGroup_LPUART, 11) , kStatus_LPUART_ParityError = MAKE_STATUS(kStatusGroup_LPUART, 12) , kStatus_LPUART_BaudrateNotSupport , kStatus_LPUART_IdleLineDetected = MAKE_STATUS(kStatusGroup_LPUART, 14) } |
Error codes for the LPUART driver. More... | |
enum | _lpuart_parity_mode { kLPUART_ParityDisabled = 0x0U , kLPUART_ParityEven = 0x2U , kLPUART_ParityOdd = 0x3U } |
LPUART parity mode. More... | |
enum | _lpuart_data_bits { kLPUART_EightDataBits = 0x0U , kLPUART_SevenDataBits = 0x1U } |
LPUART data bits count. More... | |
enum | _lpuart_stop_bit_count { kLPUART_OneStopBit = 0U , kLPUART_TwoStopBit = 1U } |
LPUART stop bit count. More... | |
enum | _lpuart_transmit_cts_source { kLPUART_CtsSourcePin = 0U , kLPUART_CtsSourceMatchResult = 1U } |
LPUART transmit CTS source. More... | |
enum | _lpuart_transmit_cts_config { kLPUART_CtsSampleAtStart = 0U , kLPUART_CtsSampleAtIdle = 1U } |
LPUART transmit CTS configure. More... | |
enum | _lpuart_idle_type_select { kLPUART_IdleTypeStartBit = 0U , kLPUART_IdleTypeStopBit = 1U } |
LPUART idle flag type defines when the receiver starts counting. More... | |
enum | _lpuart_idle_config { kLPUART_IdleCharacter1 = 0U , kLPUART_IdleCharacter2 = 1U , kLPUART_IdleCharacter4 = 2U , kLPUART_IdleCharacter8 = 3U , kLPUART_IdleCharacter16 = 4U , kLPUART_IdleCharacter32 = 5U , kLPUART_IdleCharacter64 = 6U , kLPUART_IdleCharacter128 = 7U } |
LPUART idle detected configuration. This structure defines the number of idle characters that must be received before the IDLE flag is set. More... | |
enum | _lpuart_interrupt_enable { kLPUART_LinBreakInterruptEnable = (LPUART_BAUD_LBKDIE_MASK >> 8) , kLPUART_RxActiveEdgeInterruptEnable = (LPUART_BAUD_RXEDGIE_MASK >> 8) , kLPUART_TxDataRegEmptyInterruptEnable = (LPUART_CTRL_TIE_MASK) , kLPUART_TransmissionCompleteInterruptEnable = (LPUART_CTRL_TCIE_MASK) , kLPUART_RxDataRegFullInterruptEnable = (LPUART_CTRL_RIE_MASK) , kLPUART_IdleLineInterruptEnable = (LPUART_CTRL_ILIE_MASK) , kLPUART_RxOverrunInterruptEnable = (LPUART_CTRL_ORIE_MASK) , kLPUART_NoiseErrorInterruptEnable = (LPUART_CTRL_NEIE_MASK) , kLPUART_FramingErrorInterruptEnable = (LPUART_CTRL_FEIE_MASK) , kLPUART_ParityErrorInterruptEnable = (LPUART_CTRL_PEIE_MASK) , kLPUART_TxFifoOverflowInterruptEnable = (LPUART_FIFO_TXOFE_MASK >> 8) , kLPUART_RxFifoUnderflowInterruptEnable = (LPUART_FIFO_RXUFE_MASK >> 8) } |
LPUART interrupt configuration structure, default settings all disabled. More... | |
enum | _lpuart_flags { kLPUART_TxDataRegEmptyFlag , kLPUART_TransmissionCompleteFlag , kLPUART_RxDataRegFullFlag , kLPUART_IdleLineFlag = (LPUART_STAT_IDLE_MASK) , kLPUART_RxOverrunFlag = (LPUART_STAT_OR_MASK) , kLPUART_NoiseErrorFlag = (LPUART_STAT_NF_MASK) , kLPUART_FramingErrorFlag , kLPUART_ParityErrorFlag = (LPUART_STAT_PF_MASK) , kLPUART_LinBreakFlag , kLPUART_RxActiveEdgeFlag , kLPUART_RxActiveFlag , kLPUART_DataMatch1Flag = LPUART_STAT_MA1F_MASK , kLPUART_DataMatch2Flag = LPUART_STAT_MA2F_MASK , kLPUART_NoiseErrorInRxDataRegFlag , kLPUART_ParityErrorInRxDataRegFlag , kLPUART_TxFifoEmptyFlag = (LPUART_FIFO_TXEMPT_MASK >> 16) , kLPUART_RxFifoEmptyFlag = (LPUART_FIFO_RXEMPT_MASK >> 16) , kLPUART_TxFifoOverflowFlag , kLPUART_RxFifoUnderflowFlag } |
LPUART status flags. More... | |
typedef enum _lpuart_parity_mode | lpuart_parity_mode_t |
LPUART parity mode. | |
typedef enum _lpuart_data_bits | lpuart_data_bits_t |
LPUART data bits count. | |
typedef enum _lpuart_stop_bit_count | lpuart_stop_bit_count_t |
LPUART stop bit count. | |
typedef enum _lpuart_transmit_cts_source | lpuart_transmit_cts_source_t |
LPUART transmit CTS source. | |
typedef enum _lpuart_transmit_cts_config | lpuart_transmit_cts_config_t |
LPUART transmit CTS configure. | |
typedef enum _lpuart_idle_type_select | lpuart_idle_type_select_t |
LPUART idle flag type defines when the receiver starts counting. | |
typedef enum _lpuart_idle_config | lpuart_idle_config_t |
LPUART idle detected configuration. This structure defines the number of idle characters that must be received before the IDLE flag is set. | |
typedef struct _lpuart_config | lpuart_config_t |
LPUART configuration structure. | |
typedef struct _lpuart_transfer | lpuart_transfer_t |
LPUART transfer structure. | |
typedef struct _lpuart_handle | lpuart_handle_t |
typedef void(* | lpuart_transfer_callback_t) (LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData) |
LPUART transfer callback function. | |