|
enum | lin_lpuart_stop_bit_count_t {
kLPUART_OneStopBit = 0U,
kLPUART_TwoStopBit = 1U
} |
|
enum | _lin_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 = (int)(LPUART_STAT_LBKDIF_MASK),
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
} |
|
enum | _lin_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)
} |
|
enum | _lin_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)
} |
|
enum | lin_lpuart_bit_count_per_char_t {
LPUART_8_BITS_PER_CHAR = 0x0U,
LPUART_9_BITS_PER_CHAR = 0x1U,
LPUART_10_BITS_PER_CHAR = 0x2U
} |
|
|
status_t | LIN_LPUART_CalculateBaudRate (LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz, uint32_t *osr, uint16_t *sbr) |
| Calculates the best osr and sbr value for configured baudrate. More...
|
|
void | LIN_LPUART_SetBaudRate (LPUART_Type *base, uint32_t *osr, uint16_t *sbr) |
| Configure baudrate according to osr and sbr value. More...
|
|
lin_status_t | LIN_LPUART_Init (LPUART_Type *base, lin_user_config_t *linUserConfig, lin_state_t *linCurrentState, uint32_t linSourceClockFreq) |
| Initializes an LIN_LPUART instance for LIN Network. More...
|
|
lin_status_t | LIN_LPUART_Deinit (LPUART_Type *base) |
| Shuts down the LIN_LPUART by disabling interrupts and transmitter/receiver. More...
|
|
lin_status_t | LIN_LPUART_SendFrameDataBlocking (LPUART_Type *base, const uint8_t *txBuff, uint8_t txSize, uint32_t timeoutMSec) |
| Sends Frame data out through the LIN_LPUART module using blocking method. More...
|
|
lin_status_t | LIN_LPUART_SendFrameData (LPUART_Type *base, const uint8_t *txBuff, uint8_t txSize) |
| Sends frame data out through the LIN_LPUART module using non-blocking method. More...
|
|
lin_status_t | LIN_LPUART_GetTransmitStatus (LPUART_Type *base, uint8_t *bytesRemaining) |
| Get status of an on-going non-blocking transmission While sending frame data using non-blocking method, users can use this function to get status of that transmission. More...
|
|
lin_status_t | LIN_LPUART_RecvFrmDataBlocking (LPUART_Type *base, uint8_t *rxBuff, uint8_t rxSize, uint32_t timeoutMSec) |
| Receives frame data through the LIN_LPUART module using blocking method. More...
|
|
lin_status_t | LIN_LPUART_RecvFrmData (LPUART_Type *base, uint8_t *rxBuff, uint8_t rxSize) |
| Receives frame data through the LIN_LPUART module using non-blocking method. More...
|
|
lin_status_t | LIN_LPUART_AbortTransferData (LPUART_Type *base) |
| Aborts an on-going non-blocking transmission/reception. More...
|
|
lin_status_t | LIN_LPUART_GetReceiveStatus (LPUART_Type *base, uint8_t *bytesRemaining) |
| Get status of an on-going non-blocking reception While receiving frame data using non-blocking method, users can use this function to get status of that receiving. More...
|
|
lin_status_t | LIN_LPUART_GoToSleepMode (LPUART_Type *base) |
| This function puts current node to sleep mode This function changes current node state to LIN_NODE_STATE_SLEEP_MODE. More...
|
|
lin_status_t | LIN_LPUART_GotoIdleState (LPUART_Type *base) |
| Puts current LIN node to Idle state This function changes current node state to LIN_NODE_STATE_IDLE. More...
|
|
lin_status_t | LIN_LPUART_SendWakeupSignal (LPUART_Type *base) |
| Sends a wakeup signal through the LIN_LPUART interface. More...
|
|
lin_status_t | LIN_LPUART_MasterSendHeader (LPUART_Type *base, uint8_t id) |
| Sends frame header out through the LIN_LPUART module using a non-blocking method. More...
|
|
lin_status_t | LIN_LPUART_EnableIRQ (LPUART_Type *base) |
| Enables LIN_LPUART hardware interrupts. More...
|
|
lin_status_t | LIN_LPUART_DisableIRQ (LPUART_Type *base) |
| Disables LIN_LPUART hardware interrupts. More...
|
|
lin_status_t | LIN_LPUART_AutoBaudCapture (uint32_t instance) |
| This function capture bits time to detect break char, calculate baudrate from sync bits and enable transceiver if autobaud successful. More...
|
|
void | LIN_LPUART_IRQHandler (LPUART_Type *base) |
| LIN_LPUART RX TX interrupt handler. More...
|
|