F29H85x-SDK  1.03.00.00
 
LIN

Introduction

Functions

static bool LIN_isBaseValid (uint32_t base)
 
static void LIN_setLINMode (uint32_t base, LIN_LINMode mode)
 
static void LIN_setMaximumBaudRate (uint32_t base, uint32_t vclk, uint32_t mbr)
 
static void LIN_setMessageFiltering (uint32_t base, LIN_MessageFilter type)
 
static void LIN_enableParity (uint32_t base)
 
static void LIN_disableParity (uint32_t base)
 
static uint16_t LIN_generateParityID (uint16_t identifier)
 
static void LIN_setIDByte (uint32_t base, uint16_t identifier)
 
static void LIN_setIDResponderTask (uint32_t base, uint16_t identifier)
 
static void LIN_sendWakeupSignal (uint32_t base)
 
static void LIN_enterSleep (uint32_t base)
 
static void LIN_sendChecksum (uint32_t base)
 
static void LIN_triggerChecksumCompare (uint32_t base)
 
static bool LIN_isTxReady (uint32_t base)
 
static void LIN_setFrameLength (uint32_t base, uint16_t length)
 
static void LIN_setCommMode (uint32_t base, LIN_CommMode mode)
 
static void LIN_setTxMask (uint32_t base, uint16_t mask)
 
static void LIN_setRxMask (uint32_t base, uint16_t mask)
 
static uint16_t LIN_getTxMask (uint32_t base)
 
static uint16_t LIN_getRxMask (uint32_t base)
 
static bool LIN_isRxReady (uint32_t base)
 
static uint16_t LIN_getRxIdentifier (uint32_t base)
 
static bool LIN_isTxMatch (uint32_t base)
 
static bool LIN_isRxMatch (uint32_t base)
 
static void LIN_enableInterrupt (uint32_t base, uint32_t intFlags)
 
static void LIN_disableInterrupt (uint32_t base, uint32_t intFlags)
 
static void LIN_clearInterruptStatus (uint32_t base, uint32_t intFlags)
 
static void LIN_setInterruptLevel0 (uint32_t base, uint32_t intFlags)
 
static void LIN_setInterruptLevel1 (uint32_t base, uint32_t intFlags)
 
static void LIN_enableModuleErrors (uint32_t base, uint32_t errors)
 
static void LIN_disableModuleErrors (uint32_t base, uint32_t errors)
 
static void LIN_enableAutomaticBaudrate (uint32_t base)
 
static void LIN_disableAutomaticBaudrate (uint32_t base)
 
static void LIN_stopExtendedFrame (uint32_t base)
 
static void LIN_setChecksumType (uint32_t base, LIN_ChecksumType type)
 
static void LIN_setSyncFields (uint32_t base, uint16_t syncBreak, uint16_t delimiter)
 
static void LIN_enableSCIMode (uint32_t base)
 
static void LIN_disableSCIMode (uint32_t base)
 
static void LIN_setSCICommMode (uint32_t base, LIN_SCICommMode mode)
 
static void LIN_enableSCIParity (uint32_t base, LIN_SCIParityType parity)
 
static void LIN_disableSCIParity (uint32_t base)
 
static void LIN_setSCIStopBits (uint32_t base, LIN_SCIStopBits number)
 
static void LIN_enableSCISleepMode (uint32_t base)
 
static void LIN_disableSCISleepMode (uint32_t base)
 
static void LIN_enterSCILowPower (uint32_t base)
 
static void LIN_exitSCILowPower (uint32_t base)
 
static void LIN_setSCICharLength (uint32_t base, uint16_t numBits)
 
static void LIN_setSCIFrameLength (uint32_t base, uint16_t length)
 
static bool LIN_isSCIDataAvailable (uint32_t base)
 
static bool LIN_isSCISpaceAvailable (uint32_t base)
 
static uint16_t LIN_readSCICharNonBlocking (uint32_t base, bool emulation)
 
static uint16_t LIN_readSCICharBlocking (uint32_t base, bool emulation)
 
static void LIN_writeSCICharNonBlocking (uint32_t base, uint16_t data)
 
static void LIN_writeSCICharBlocking (uint32_t base, uint16_t data)
 
static void LIN_enableSCIModuleErrors (uint32_t base, uint32_t errors)
 
static void LIN_disableSCIModuleErrors (uint32_t base, uint32_t errors)
 
static void LIN_enableSCIInterrupt (uint32_t base, uint32_t intFlags)
 
static void LIN_disableSCIInterrupt (uint32_t base, uint32_t intFlags)
 
static void LIN_clearSCIInterruptStatus (uint32_t base, uint32_t intFlags)
 
static void LIN_setSCIInterruptLevel0 (uint32_t base, uint32_t intFlags)
 
static void LIN_setSCIInterruptLevel1 (uint32_t base, uint32_t intFlags)
 
static bool LIN_isSCIReceiverIdle (uint32_t base)
 
static bool LIN_getSCITxFrameType (uint32_t base)
 
static bool LIN_getSCIRxFrameType (uint32_t base)
 
static bool LIN_isSCIBreakDetected (uint32_t base)
 
static void LIN_enableModule (uint32_t base)
 
static void LIN_disableModule (uint32_t base)
 
static void LIN_setBaudRatePrescaler (uint32_t base, uint32_t prescaler, uint32_t divider)
 
static void LIN_enableDataTransmitter (uint32_t base)
 
static void LIN_disableDataTransmitter (uint32_t base)
 
static void LIN_enableDataReceiver (uint32_t base)
 
static void LIN_disableDataReceiver (uint32_t base)
 
static void LIN_performSoftwareReset (uint32_t base)
 
static void LIN_enterSoftwareReset (uint32_t base)
 
static void LIN_exitSoftwareReset (uint32_t base)
 
static bool LIN_isBusBusy (uint32_t base)
 
static bool LIN_isTxBufferEmpty (uint32_t base)
 
static void LIN_enableExtLoopback (uint32_t base, LIN_LoopbackType loopbackType, LIN_AnalogLoopback path)
 
static void LIN_disableExtLoopback (uint32_t base)
 
static void LIN_enableIntLoopback (uint32_t base)
 
static void LIN_disableIntLoopback (uint32_t base)
 
static uint32_t LIN_getInterruptStatus (uint32_t base)
 
static uint32_t LIN_getInterruptLevel (uint32_t base)
 
static uint16_t LIN_getInterruptLine0Offset (uint32_t base)
 
static uint16_t LIN_getInterruptLine1Offset (uint32_t base)
 
static void LIN_enableMultibufferMode (uint32_t base)
 
static void LIN_disableMultibufferMode (uint32_t base)
 
static void LIN_setTransmitDelay (uint32_t base, uint16_t delay)
 
static void LIN_setPinSampleMask (uint32_t base, LIN_PinSampleMask mask)
 
static void LIN_setDebugSuspendMode (uint32_t base, LIN_DebugMode mode)
 
static void LIN_enableGlobalInterrupt (uint32_t base, LIN_InterruptLine line)
 
static void LIN_disableGlobalInterrupt (uint32_t base, LIN_InterruptLine line)
 
static void LIN_clearGlobalInterruptStatus (uint32_t base, LIN_InterruptLine line)
 
static bool LIN_getGlobalInterruptStatus (uint32_t base, LIN_InterruptLine line)
 
static bool LIN_getPinStatus (uint32_t base, LIN_PinType pin)
 
void LIN_initModule (uint32_t base)
 
void LIN_initSCIModule (uint32_t base)
 
void LIN_sendData (uint32_t base, uint16_t *data)
 
void LIN_getData (uint32_t base, uint16_t *const data)
 

Enumerations

enum  LIN_LoopbackType { LIN_LOOPBACK_DIGITAL = 0U , LIN_LOOPBACK_ANALOG = 2U }
 
enum  LIN_AnalogLoopback { LIN_ANALOG_LOOP_NONE = 0U , LIN_ANALOG_LOOP_TX = 0U , LIN_ANALOG_LOOP_RX = 1U }
 
enum  LIN_CommMode { LIN_COMM_LIN_USELENGTHVAL = 0x0000U , LIN_COMM_LIN_ID4ID5LENCTL = 0x0001U }
 
enum  LIN_SCICommMode { LIN_COMM_SCI_IDLELINE = 0x0000U , LIN_COMM_SCI_ADDRBIT = 0x0001U }
 
enum  LIN_LINMode { LIN_MODE_LIN_RESPONDER = 0x0000U , LIN_MODE_LIN_COMMANDER = 0x0020U }
 
enum  LIN_InterruptLine { LIN_INTERRUPT_LINE0 = 0x0U , LIN_INTERRUPT_LINE1 = 0x1U }
 
enum  LIN_MessageFilter { LIN_MSG_FILTER_IDBYTE = 0x0U , LIN_MSG_FILTER_IDRESPONDER = 0x1U }
 
enum  LIN_ChecksumType { LIN_CHECKSUM_CLASSIC = 0x0U , LIN_CHECKSUM_ENHANCED = 0x1U }
 
enum  LIN_DebugMode { LIN_DEBUG_FROZEN = 0x0U , LIN_DEBUG_COMPLETE = 0x1U }
 
enum  LIN_PinSampleMask { LIN_PINMASK_NONE = 0x0U , LIN_PINMASK_CENTER = 0x1U , LIN_PINMASK_CENTER_SCLK = 0x2U , LIN_PINMASK_CENTER_2SCLK = 0x3U }
 
enum  LIN_SCIParityType { LIN_SCI_PAR_ODD = 0x0U , LIN_SCI_PAR_EVEN = 0x1U }
 
enum  LIN_SCIStopBits { LIN_SCI_STOP_ONE = 0x0U , LIN_SCI_STOP_TWO = 0x1U }
 
enum  LIN_PinType { LIN_PINTYPE_TX = 0x4U , LIN_PINTYPE_RX = 0x2U }
 

Macros

#define LIN_IO_DFT_KEY   (0xAU)
 LIN IO DFT Key.
 
#define LIN_WAKEUP_KEY   (0xF0U)
 LIN Wakeup Key.
 
#define LIN_ID0   (0x1U)
 LIN Parity ID0 Mask.
 
#define LIN_ID1   (0x2U)
 LIN Parity ID1 Mask.
 
#define LIN_ID2   (0x4U)
 LIN Parity ID2 Mask.
 
#define LIN_ID3   (0x8U)
 LIN Parity ID3 Mask.
 
#define LIN_ID4   (0x10U)
 LIN Parity ID4 Mask.
 
#define LIN_ID5   (0x20U)
 LIN Parity ID5 Mask.
 
#define LIN_INT_ALL   (0xFF0023D2U)
 All interrupts.
 
#define LIN_INT_WAKEUP   (0x00000002U)
 Wakeup.
 
#define LIN_INT_TO   (0x00000010U)
 Time out.
 
#define LIN_INT_TOAWUS   (0x00000040U)
 Time out after wakeup signal.
 
#define LIN_INT_TOA3WUS   (0x00000080U)
 Time out after 3 wakeup signals.
 
#define LIN_INT_TX   (0x00000100U)
 Transmit buffer ready.
 
#define LIN_INT_RX   (0x00000200U)
 Receive buffer ready.
 
#define LIN_INT_ID   (0x00002000U)
 Received matching identifier.
 
#define LIN_INT_PE   (0x01000000U)
 Parity error.
 
#define LIN_INT_OE   (0x02000000U)
 Overrun error.
 
#define LIN_INT_FE   (0x04000000U)
 Framing error.
 
#define LIN_INT_NRE   (0x08000000U)
 No response error.
 
#define LIN_INT_ISFE   (0x10000000U)
 Inconsistent sync field error.
 
#define LIN_INT_CE   (0x20000000U)
 Checksum error.
 
#define LIN_INT_PBE   (0x40000000U)
 Physical bus error.
 
#define LIN_INT_BE   (0x80000000U)
 Bit error.
 
#define LIN_FLAG_BREAK   (LIN_SCIFLR_BRKDT)
 Break-Detect.
 
#define LIN_FLAG_WAKEUP   (LIN_SCIFLR_WAKEUP)
 Wakeup.
 
#define LIN_FLAG_IDLE   (LIN_SCIFLR_IDLE)
 Bus Idle.
 
#define LIN_FLAG_BUSY   (LIN_SCIFLR_BUSY)
 Busy.
 
#define LIN_FLAG_TO   (LIN_SCIFLR_TIMEOUT)
 Time out.
 
#define LIN_FLAG_TOAWUS   (LIN_SCIFLR_TOAWUS)
 
#define LIN_FLAG_TOA3WUS   (LIN_SCIFLR_TOA3WUS)
 
#define LIN_FLAG_TXRDY   (LIN_SCIFLR_TXRDY)
 Transmit Buffer ready.
 
#define LIN_FLAG_RXRDY   (LIN_SCIFLR_RXRDY)
 Receive Buffer ready.
 
#define LIN_FLAG_TXWAKE   (LIN_SCIFLR_TXWAKE)
 
#define LIN_FLAG_TXEMPTY   (LIN_SCIFLR_TXEMPTY)
 Transmitter Empty.
 
#define LIN_FLAG_RXWAKE   (LIN_SCIFLR_RXWAKE)
 Receiver Wakeup detect.
 
#define LIN_FLAG_TXID   (LIN_SCIFLR_IDTXFLAG)
 ID on Transmit.
 
#define LIN_FLAG_RXID   (LIN_SCIFLR_IDRXFLAG)
 ID on Receive.
 
#define LIN_FLAG_PE   (LIN_SCIFLR_PE)
 Parity Error.
 
#define LIN_FLAG_OE   (LIN_SCIFLR_OE)
 Overrun Error.
 
#define LIN_FLAG_FE   (LIN_SCIFLR_FE)
 Framing Error.
 
#define LIN_FLAG_NRE   (LIN_SCIFLR_NRE)
 No-Response Error.
 
#define LIN_FLAG_ISFE   (LIN_SCIFLR_ISFE)
 
#define LIN_FLAG_CE   (LIN_SCIFLR_CE)
 Checksum Error.
 
#define LIN_FLAG_PBE   (LIN_SCIFLR_PBE)
 Physical Bus Error.
 
#define LIN_FLAG_BE   (LIN_SCIFLR_BE)
 Bit Error.
 
#define LIN_VECT_NONE   (0x00)
 No Interrupt.
 
#define LIN_VECT_WAKEUP   (0x01)
 Wakeup.
 
#define LIN_VECT_ISFE   (0x02)
 Inconsistent-sync-field Error.
 
#define LIN_VECT_PE   (0x03)
 Parity Error.
 
#define LIN_VECT_ID   (0x04)
 ID Interrupt.
 
#define LIN_VECT_PBE   (0x05)
 Physical Bus Error.
 
#define LIN_VECT_FE   (0x06)
 Frame Error.
 
#define LIN_VECT_BREAK   (0x07)
 Break detect.
 
#define LIN_VECT_CE   (0x08)
 Checksum Error.
 
#define LIN_VECT_OE   (0x09)
 Overrun Error.
 
#define LIN_VECT_BE   (0x0A)
 Bit Error.
 
#define LIN_VECT_RX   (0x0B)
 Receive Interrupt.
 
#define LIN_VECT_TX   (0x0C)
 Transmit Interrupt.
 
#define LIN_VECT_NRE   (0x0D)
 No-response Error.
 
#define LIN_VECT_TOAWUS   (0x0E)
 Timeout after wakeup signal.
 
#define LIN_VECT_TOA3WUS   (0x0F)
 Timeout after 3 wakeup signals.
 
#define LIN_VECT_TO   (0x10)
 Timeout (Bus Idle)
 
#define LIN_ALL_ERRORS   (0xF0000000U)
 All module errors.
 
#define LIN_BIT_ERROR   (0x80000000U)
 Bit Error.
 
#define LIN_BUS_ERROR   (0x40000000U)
 Physical Bus Error.
 
#define LIN_CHECKSUM_ERROR   (0x20000000U)
 Checksum Error.
 
#define LIN_ISF_ERROR   (0x10000000U)
 Inconsistent Synch Field Error.
 
#define LIN_SCI_ALL_ERRORS   (0x7000000U)
 All module errors.
 
#define LIN_SCI_FRAME_ERROR   (0x4000000U)
 Frame Error.
 
#define LIN_SCI_PARITY_ERROR   (0x2000000U)
 Parity Error.
 
#define LIN_SCI_BREAK_ERROR   (0x1000000U)
 Break Detect Error.
 
#define LIN_SCI_INT_ALL   (0x7000303U)
 All Interrupts.
 
#define LIN_SCI_INT_BREAK   (0x1U)
 Break Detect.
 
#define LIN_SCI_INT_WAKEUP   (0x2U)
 Wakeup.
 
#define LIN_SCI_INT_TX   (0x100U)
 Transmit Buffer.
 
#define LIN_SCI_INT_RX   (0x200U)
 Receive Buffer.
 
#define LIN_SCI_INT_TX_DMA   (0x10000U)
 DMA Transmit.
 
#define LIN_SCI_INT_RX_DMA   (0x20000U)
 DMA Receive.
 
#define LIN_SCI_INT_RX_DMA_ALL   (0x40000U)
 DMA Receive All.
 
#define LIN_SCI_INT_PARITY   (0x1000000U)
 Parity Error.
 
#define LIN_SCI_INT_OVERRUN   (0x2000000U)
 Overrun Error.
 
#define LIN_SCI_INT_FRAME   (0x4000000U)
 Framing Error.
 

Macro Definition Documentation

◆ LIN_IO_DFT_KEY

#define LIN_IO_DFT_KEY   (0xAU)

LIN IO DFT Key.

◆ LIN_WAKEUP_KEY

#define LIN_WAKEUP_KEY   (0xF0U)

LIN Wakeup Key.

◆ LIN_ID0

#define LIN_ID0   (0x1U)

LIN Parity ID0 Mask.

◆ LIN_ID1

#define LIN_ID1   (0x2U)

LIN Parity ID1 Mask.

◆ LIN_ID2

#define LIN_ID2   (0x4U)

LIN Parity ID2 Mask.

◆ LIN_ID3

#define LIN_ID3   (0x8U)

LIN Parity ID3 Mask.

◆ LIN_ID4

#define LIN_ID4   (0x10U)

LIN Parity ID4 Mask.

◆ LIN_ID5

#define LIN_ID5   (0x20U)

LIN Parity ID5 Mask.

◆ LIN_INT_ALL

#define LIN_INT_ALL   (0xFF0023D2U)

All interrupts.

◆ LIN_INT_WAKEUP

#define LIN_INT_WAKEUP   (0x00000002U)

Wakeup.

◆ LIN_INT_TO

#define LIN_INT_TO   (0x00000010U)

Time out.

◆ LIN_INT_TOAWUS

#define LIN_INT_TOAWUS   (0x00000040U)

Time out after wakeup signal.

◆ LIN_INT_TOA3WUS

#define LIN_INT_TOA3WUS   (0x00000080U)

Time out after 3 wakeup signals.

◆ LIN_INT_TX

#define LIN_INT_TX   (0x00000100U)

Transmit buffer ready.

◆ LIN_INT_RX

#define LIN_INT_RX   (0x00000200U)

Receive buffer ready.

◆ LIN_INT_ID

#define LIN_INT_ID   (0x00002000U)

Received matching identifier.

◆ LIN_INT_PE

#define LIN_INT_PE   (0x01000000U)

Parity error.

◆ LIN_INT_OE

#define LIN_INT_OE   (0x02000000U)

Overrun error.

◆ LIN_INT_FE

#define LIN_INT_FE   (0x04000000U)

Framing error.

◆ LIN_INT_NRE

#define LIN_INT_NRE   (0x08000000U)

No response error.

◆ LIN_INT_ISFE

#define LIN_INT_ISFE   (0x10000000U)

Inconsistent sync field error.

◆ LIN_INT_CE

#define LIN_INT_CE   (0x20000000U)

Checksum error.

◆ LIN_INT_PBE

#define LIN_INT_PBE   (0x40000000U)

Physical bus error.

◆ LIN_INT_BE

#define LIN_INT_BE   (0x80000000U)

Bit error.

◆ LIN_FLAG_BREAK

#define LIN_FLAG_BREAK   (LIN_SCIFLR_BRKDT)

Break-Detect.

◆ LIN_FLAG_WAKEUP

#define LIN_FLAG_WAKEUP   (LIN_SCIFLR_WAKEUP)

Wakeup.

◆ LIN_FLAG_IDLE

#define LIN_FLAG_IDLE   (LIN_SCIFLR_IDLE)

Bus Idle.

◆ LIN_FLAG_BUSY

#define LIN_FLAG_BUSY   (LIN_SCIFLR_BUSY)

Busy.

◆ LIN_FLAG_TO

#define LIN_FLAG_TO   (LIN_SCIFLR_TIMEOUT)

Time out.

◆ LIN_FLAG_TOAWUS

#define LIN_FLAG_TOAWUS   (LIN_SCIFLR_TOAWUS)

Time out after wakeup signal

◆ LIN_FLAG_TOA3WUS

#define LIN_FLAG_TOA3WUS   (LIN_SCIFLR_TOA3WUS)

Time out after 3 wakeup signals

◆ LIN_FLAG_TXRDY

#define LIN_FLAG_TXRDY   (LIN_SCIFLR_TXRDY)

Transmit Buffer ready.

◆ LIN_FLAG_RXRDY

#define LIN_FLAG_RXRDY   (LIN_SCIFLR_RXRDY)

Receive Buffer ready.

◆ LIN_FLAG_TXWAKE

#define LIN_FLAG_TXWAKE   (LIN_SCIFLR_TXWAKE)

Transmitter Wakeup Method Select

◆ LIN_FLAG_TXEMPTY

#define LIN_FLAG_TXEMPTY   (LIN_SCIFLR_TXEMPTY)

Transmitter Empty.

◆ LIN_FLAG_RXWAKE

#define LIN_FLAG_RXWAKE   (LIN_SCIFLR_RXWAKE)

Receiver Wakeup detect.

◆ LIN_FLAG_TXID

#define LIN_FLAG_TXID   (LIN_SCIFLR_IDTXFLAG)

ID on Transmit.

◆ LIN_FLAG_RXID

#define LIN_FLAG_RXID   (LIN_SCIFLR_IDRXFLAG)

ID on Receive.

◆ LIN_FLAG_PE

#define LIN_FLAG_PE   (LIN_SCIFLR_PE)

Parity Error.

◆ LIN_FLAG_OE

#define LIN_FLAG_OE   (LIN_SCIFLR_OE)

Overrun Error.

◆ LIN_FLAG_FE

#define LIN_FLAG_FE   (LIN_SCIFLR_FE)

Framing Error.

◆ LIN_FLAG_NRE

#define LIN_FLAG_NRE   (LIN_SCIFLR_NRE)

No-Response Error.

◆ LIN_FLAG_ISFE

#define LIN_FLAG_ISFE   (LIN_SCIFLR_ISFE)

Inconsistent Sync Field Error

◆ LIN_FLAG_CE

#define LIN_FLAG_CE   (LIN_SCIFLR_CE)

Checksum Error.

◆ LIN_FLAG_PBE

#define LIN_FLAG_PBE   (LIN_SCIFLR_PBE)

Physical Bus Error.

◆ LIN_FLAG_BE

#define LIN_FLAG_BE   (LIN_SCIFLR_BE)

Bit Error.

◆ LIN_VECT_NONE

#define LIN_VECT_NONE   (0x00)

No Interrupt.

◆ LIN_VECT_WAKEUP

#define LIN_VECT_WAKEUP   (0x01)

Wakeup.

◆ LIN_VECT_ISFE

#define LIN_VECT_ISFE   (0x02)

Inconsistent-sync-field Error.

◆ LIN_VECT_PE

#define LIN_VECT_PE   (0x03)

Parity Error.

◆ LIN_VECT_ID

#define LIN_VECT_ID   (0x04)

ID Interrupt.

◆ LIN_VECT_PBE

#define LIN_VECT_PBE   (0x05)

Physical Bus Error.

◆ LIN_VECT_FE

#define LIN_VECT_FE   (0x06)

Frame Error.

◆ LIN_VECT_BREAK

#define LIN_VECT_BREAK   (0x07)

Break detect.

◆ LIN_VECT_CE

#define LIN_VECT_CE   (0x08)

Checksum Error.

◆ LIN_VECT_OE

#define LIN_VECT_OE   (0x09)

Overrun Error.

◆ LIN_VECT_BE

#define LIN_VECT_BE   (0x0A)

Bit Error.

◆ LIN_VECT_RX

#define LIN_VECT_RX   (0x0B)

Receive Interrupt.

◆ LIN_VECT_TX

#define LIN_VECT_TX   (0x0C)

Transmit Interrupt.

◆ LIN_VECT_NRE

#define LIN_VECT_NRE   (0x0D)

No-response Error.

◆ LIN_VECT_TOAWUS

#define LIN_VECT_TOAWUS   (0x0E)

Timeout after wakeup signal.

◆ LIN_VECT_TOA3WUS

#define LIN_VECT_TOA3WUS   (0x0F)

Timeout after 3 wakeup signals.

◆ LIN_VECT_TO

#define LIN_VECT_TO   (0x10)

Timeout (Bus Idle)

◆ LIN_ALL_ERRORS

#define LIN_ALL_ERRORS   (0xF0000000U)

All module errors.

◆ LIN_BIT_ERROR

#define LIN_BIT_ERROR   (0x80000000U)

Bit Error.

◆ LIN_BUS_ERROR

#define LIN_BUS_ERROR   (0x40000000U)

Physical Bus Error.

◆ LIN_CHECKSUM_ERROR

#define LIN_CHECKSUM_ERROR   (0x20000000U)

Checksum Error.

◆ LIN_ISF_ERROR

#define LIN_ISF_ERROR   (0x10000000U)

Inconsistent Synch Field Error.

◆ LIN_SCI_ALL_ERRORS

#define LIN_SCI_ALL_ERRORS   (0x7000000U)

All module errors.

◆ LIN_SCI_FRAME_ERROR

#define LIN_SCI_FRAME_ERROR   (0x4000000U)

Frame Error.

◆ LIN_SCI_PARITY_ERROR

#define LIN_SCI_PARITY_ERROR   (0x2000000U)

Parity Error.

◆ LIN_SCI_BREAK_ERROR

#define LIN_SCI_BREAK_ERROR   (0x1000000U)

Break Detect Error.

◆ LIN_SCI_INT_ALL

#define LIN_SCI_INT_ALL   (0x7000303U)

All Interrupts.

◆ LIN_SCI_INT_BREAK

#define LIN_SCI_INT_BREAK   (0x1U)

Break Detect.

◆ LIN_SCI_INT_WAKEUP

#define LIN_SCI_INT_WAKEUP   (0x2U)

Wakeup.

◆ LIN_SCI_INT_TX

#define LIN_SCI_INT_TX   (0x100U)

Transmit Buffer.

◆ LIN_SCI_INT_RX

#define LIN_SCI_INT_RX   (0x200U)

Receive Buffer.

◆ LIN_SCI_INT_TX_DMA

#define LIN_SCI_INT_TX_DMA   (0x10000U)

DMA Transmit.

◆ LIN_SCI_INT_RX_DMA

#define LIN_SCI_INT_RX_DMA   (0x20000U)

DMA Receive.

◆ LIN_SCI_INT_RX_DMA_ALL

#define LIN_SCI_INT_RX_DMA_ALL   (0x40000U)

DMA Receive All.

◆ LIN_SCI_INT_PARITY

#define LIN_SCI_INT_PARITY   (0x1000000U)

Parity Error.

◆ LIN_SCI_INT_OVERRUN

#define LIN_SCI_INT_OVERRUN   (0x2000000U)

Overrun Error.

◆ LIN_SCI_INT_FRAME

#define LIN_SCI_INT_FRAME   (0x4000000U)

Framing Error.

Enumeration Type Documentation

◆ LIN_LoopbackType

The following are defines for the type parameter of the LIN_enableExtLoopback() function.

Enumerator
LIN_LOOPBACK_DIGITAL 

Digital Loopback Mode.

LIN_LOOPBACK_ANALOG 

Analog Loopback Mode.

◆ LIN_AnalogLoopback

The following are defines for the path parameter of the LIN_enableExtLoopback() function.

Enumerator
LIN_ANALOG_LOOP_NONE 

Default path for digital loopback mode.

LIN_ANALOG_LOOP_TX 

Analog loopback through transmit pin.

LIN_ANALOG_LOOP_RX 

Analog loopback through receive pin.

◆ LIN_CommMode

The following are defines for the mode parameter of the LIN_setCommMode() function.

Enumerator
LIN_COMM_LIN_USELENGTHVAL 

Use the length indicated in the LENGTH field of the SCIFORMAT register.

LIN_COMM_LIN_ID4ID5LENCTL 

Use ID4 and ID5 to convey the length.

◆ LIN_SCICommMode

The following are defines for the mode parameter of the LIN_setSCICommMode() function.

Enumerator
LIN_COMM_SCI_IDLELINE 

Idle-line mode is used.

LIN_COMM_SCI_ADDRBIT 

Address bit mode is used.

◆ LIN_LINMode

The following are defines for the mode parameter of the LIN_setLINMode() function.

Enumerator
LIN_MODE_LIN_RESPONDER 

The node is in responder mode.

LIN_MODE_LIN_COMMANDER 

The node is in commander mode.

◆ LIN_InterruptLine

The following are defines for the line parameter of the LIN_enableGlobalInterrupt(), LIN_disableGlobalInterrupt(), LIN_clearGlobalInterruptStatus(), and LIN_getGlobalInterruptStatus() functions.

Enumerator
LIN_INTERRUPT_LINE0 

Interrupt line 0.

LIN_INTERRUPT_LINE1 

Interrupt line 1.

◆ LIN_MessageFilter

The following are defines for the type parameter of the LIN_setMessageFiltering() function.

Enumerator
LIN_MSG_FILTER_IDBYTE 

LIN Message ID Byte Filtering.

LIN_MSG_FILTER_IDRESPONDER 

ID Responder Task Byte Filtering.

◆ LIN_ChecksumType

The following are defines for the type parameter of the LIN_setChecksumType() function.

Enumerator
LIN_CHECKSUM_CLASSIC 

Checksum Classic.

LIN_CHECKSUM_ENHANCED 

Checksum Enhanced.

◆ LIN_DebugMode

The following are defines for the mode parameter of the LIN_setDebugSuspendMode() function.

Enumerator
LIN_DEBUG_FROZEN 

Freeze module during debug.

LIN_DEBUG_COMPLETE 

Complete Tx/Rx before Freezing.

◆ LIN_PinSampleMask

The following are defines for the mask parameter of the LIN_setPinSampleMask() function.

Enumerator
LIN_PINMASK_NONE 

No Pin Mask.

LIN_PINMASK_CENTER 

Invert Tx Pin value at T-bit center.

LIN_PINMASK_CENTER_SCLK 

Invert Tx Pin value at T-bit center + SCLK.

LIN_PINMASK_CENTER_2SCLK 

Invert Tx Pin value at T-bit center + 2 SCLK.

◆ LIN_SCIParityType

The following are defines for the parity parameter of the LIN_enableSCIParity() function.

Enumerator
LIN_SCI_PAR_ODD 

Odd parity.

LIN_SCI_PAR_EVEN 

Even parity.

◆ LIN_SCIStopBits

The following are defines for the number parameter of the LIN_setSCIStopBits() function.

Enumerator
LIN_SCI_STOP_ONE 

Use One Stop bit.

LIN_SCI_STOP_TWO 

Use Two Stop bits.

◆ LIN_PinType

The following are defines for the pin parameter of the LIN_getPinStatus() function.

Enumerator
LIN_PINTYPE_TX 

Transmit Pin.

LIN_PINTYPE_RX 

Receive Pin.

Function Documentation

◆ LIN_isBaseValid()

static bool LIN_isBaseValid ( uint32_t base)
inlinestatic

◆ LIN_setLINMode()

static void LIN_setLINMode ( uint32_t base,
LIN_LINMode mode )
inlinestatic

Sets the LIN mode

Parameters
baseis the LIN module base address
modeis the desired mode (responder or commander)

In LIN mode only, this function sets the mode of the LIN mode to either responder or commander. The mode parameter should be passed a value of LIN_MODE_LIN_RESPONDER or LIN_MODE_LIN_COMMANDER to configure the mode of the LIN module specified by base.

Returns
None.

◆ LIN_setMaximumBaudRate()

static void LIN_setMaximumBaudRate ( uint32_t base,
uint32_t vclk,
uint32_t mbr )
inlinestatic

Set Maximum Baud Rate Prescaler

Parameters
baseis the LIN module base address
vclkis the LIN VCLK (Hz)
mbris the desired maximum baud rate (Hz)

In LIN mode only, this function is used to set the maximum baud rate prescaler used during synchronization phase of a responder module if the ADAPT bit is set. The operating baud rate in the LIN network must be within 10% of the provided maximum baud rate.

Note
Use LIN_enableAutomaticBaudrate() to set the ADAPT bit and enable automatic bit rate mod detection.
Returns
None.

◆ LIN_setMessageFiltering()

static void LIN_setMessageFiltering ( uint32_t base,
LIN_MessageFilter type )
inlinestatic

Set Message filtering Type

Parameters
baseis the LIN module base address
typeis the mask filtering comparison type

In LIN mode only, this function sets the message filtering type. The type parameter can be one of the following values:

  • LIN_MSG_FILTER_IDBYTE - Filtering uses LIN message ID Byte
  • LIN_MSG_FILTER_IDRESPONDER - Filtering uses the responder Task ID Byte
Returns
None.

◆ LIN_enableParity()

static void LIN_enableParity ( uint32_t base)
inlinestatic

Enable Parity mode.

Parameters
baseis the LIN module base address

In LIN mode only, this function enables the parity check.

Returns
None.

◆ LIN_disableParity()

static void LIN_disableParity ( uint32_t base)
inlinestatic

Disable Parity mode.

Parameters
baseis the LIN module base address

In LIN mode only, this function disables the parity check.

Returns
None.

◆ LIN_generateParityID()

static uint16_t LIN_generateParityID ( uint16_t identifier)
inlinestatic

Generate Parity Identifier

Parameters
identifieris the LIN header ID byte

In LIN mode only, this function generates the identifier parity bits and appends them to the identifier.

Note
An ID must be generated with parity before header generation in LIN commander mode when parity is enabled using the function LIN_enableParity().
Returns
Returns the identifier appended with parity bits.

◆ LIN_setIDByte()

static void LIN_setIDByte ( uint32_t base,
uint16_t identifier )
inlinestatic

Set ID Byte

Parameters
baseis the LIN module base address
identifieris the LIN header ID byte

In LIN mode only, this function sets the message ID byte. In commander mode, writing to this ID initiates a header transmission. In responder task, this ID is used for message filtering when HGENCTRL is 0.

Returns
None.

◆ LIN_setIDResponderTask()

static void LIN_setIDResponderTask ( uint32_t base,
uint16_t identifier )
inlinestatic

Set ID-Responder Task Byte

Parameters
baseis the LIN module base address
identifieris the Received ID comparison ID

In LIN mode only, this function sets the identifier to which the received ID of an incoming Header will be compared in order to decide whether a RX response, a TX response, or no action is required.

Returns
None.

◆ LIN_sendWakeupSignal()

static void LIN_sendWakeupSignal ( uint32_t base)
inlinestatic

Send LIN wakeup signal

Parameters
baseis the LIN module base address

In LIN mode only, this function sends the LIN wakeup signal to terminate the sleep mode of any LIN node connected to the bus.

Returns
None.

◆ LIN_enterSleep()

static void LIN_enterSleep ( uint32_t base)
inlinestatic

Enter LIN Sleep Mode.

Parameters
baseis the LIN module base address

In LIN mode only, this function puts the LIN module into a low-power, sleep mode. This can also be called to forcefully enter sleep when there is no activity on the bus.

Note
If this function is called while the receiver is actively receiving data and the wakeup interrupt is disabled, then the module will delay sleep mode from being entered until completion of reception.
Returns
None.

◆ LIN_sendChecksum()

static void LIN_sendChecksum ( uint32_t base)
inlinestatic

Send Checksum Byte

Parameters
baseis the LIN module base address

In LIN mode only, this function enables the transmitter with extended frames to send a checkbyte.

Returns
None.

◆ LIN_triggerChecksumCompare()

static void LIN_triggerChecksumCompare ( uint32_t base)
inlinestatic

Trigger Checksum Compare

Parameters
baseis the LIN module base address

In LIN mode only, this function enables the receiver for extended frames to trigger a checksum compare.

Returns
None.

◆ LIN_isTxReady()

static bool LIN_isTxReady ( uint32_t base)
inlinestatic

Check Tx buffer ready flag

Parameters
baseis the LIN module base address

In LIN mode only, this function checks to see if the Tx ready flag is set indicating that the Tx buffer(s) is/are ready to get another character.

Returns
Returns true if the TX ready flag is set, else returns false

◆ LIN_setFrameLength()

static void LIN_setFrameLength ( uint32_t base,
uint16_t length )
inlinestatic

Set LIN Frame Length

Parameters
baseis the LIN module base address
lengthis the number of bytes.

In LIN mode only, this function sets the number of bytes in the response field.

The length parameter must be in a range between 1 and 8.

Returns
None.

◆ LIN_setCommMode()

static void LIN_setCommMode ( uint32_t base,
LIN_CommMode mode )
inlinestatic

Set LIN communication mode

Parameters
baseis the LIN module base address
modeis the selected communication mode

In LIN mode only, this function is used to choose how the length of data is conveyed. This choice relates to the version of LIN being used. The mode parameter can have one of two values:

  • LIN_COMM_LIN_USELENGTHVAL will use the length set with the LIN_setFrameLength() function.
  • LIN_COMM_LIN_ID4ID5LENCTL will use ID4 and ID5 for length control.
Returns
None.

◆ LIN_setTxMask()

static void LIN_setTxMask ( uint32_t base,
uint16_t mask )
inlinestatic

Sets the transmit ID mask

Parameters
baseis the LIN module base address
maskis the mask value to be set

In LIN mode only, this function sets the mask used for filtering an incoming ID message to determine if the TX ID flag should be set.

Returns
None.

◆ LIN_setRxMask()

static void LIN_setRxMask ( uint32_t base,
uint16_t mask )
inlinestatic

Sets the receive ID mask

Parameters
baseis the LIN module base address
maskis the mask value to be set

In LIN mode only, this function sets the mask used for filtering an incoming ID message to determine if the ID RX flag should be set.

Returns
None.

◆ LIN_getTxMask()

static uint16_t LIN_getTxMask ( uint32_t base)
inlinestatic

Gets the transmit ID mask

Parameters
baseis the LIN module base address

In LIN mode only, this function gets the mask used for filtering an incoming ID message to determine if the TX ID flag should be set.

Returns
Returns the Transmit ID Mask.

◆ LIN_getRxMask()

static uint16_t LIN_getRxMask ( uint32_t base)
inlinestatic

Gets the receive ID mask

Parameters
baseis the LIN module base address

In LIN mode only, this function gets the mask used for filtering an incoming ID message to determine if the ID RX flag should be set.

Returns
Returns the Receive ID Mask.

◆ LIN_isRxReady()

static bool LIN_isRxReady ( uint32_t base)
inlinestatic

Check if Rx data is ready

Parameters
baseis the LIN module base address

In LIN mode only, checks to see if the Rx ready bit is set indicating that a valid message frame has been received.

Returns
Returns true if the Rx ready flag is set, else returns false.

◆ LIN_getRxIdentifier()

static uint16_t LIN_getRxIdentifier ( uint32_t base)
inlinestatic

Get last received identifier

Parameters
baseis the LIN module base address

In LIN mode only, this function gets the last received identifier.

Returns
Returns the Received Identifier.

◆ LIN_isTxMatch()

static bool LIN_isTxMatch ( uint32_t base)
inlinestatic

Checks for Tx ID Match Received

Parameters
baseis the LIN module base address

In LIN mode only, this function checks if an ID is received with a TX match and no ID-parity error.

Returns
Returns true if a valid ID is matched, else returns false.

◆ LIN_isRxMatch()

static bool LIN_isRxMatch ( uint32_t base)
inlinestatic

Checks for Rx ID Match Received

Parameters
baseis the LIN module base address

In LIN mode only, this function checks if an ID is received with a RX match and no ID-parity error.

Returns
Returns true if a valid ID is matched, else returns false.

◆ LIN_enableInterrupt()

static void LIN_enableInterrupt ( uint32_t base,
uint32_t intFlags )
inlinestatic

Enable interrupts

Parameters
baseis the LIN module base address
intFlagsis the bit mask of the interrupt sources to be enabled.

In LIN mode only, this function enables the interrupts for the specified interrupt sources.

The intFlags parameter can be set to the following value to set all the flag bits:

  • LIN_INT_ALL - All Interrupts

To set individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_INT_WAKEUP - Wakeup
  • LIN_INT_TO - Time out
  • LIN_INT_TOAWUS - Time out after wakeup signal
  • LIN_INT_TOA3WUS - Time out after 3 wakeup signals
  • LIN_INT_TX - Transmit buffer ready
  • LIN_INT_RX - Receive buffer ready
  • LIN_INT_ID - Received matching identifier
  • LIN_INT_PE - Parity error
  • LIN_INT_OE - Overrun error
  • LIN_INT_FE - Framing error
  • LIN_INT_NRE - No response error
  • LIN_INT_ISFE - Inconsistent sync field error
  • LIN_INT_CE - Checksum error
  • LIN_INT_PBE - Physical bus error
  • LIN_INT_BE - Bit error
Returns
None.

◆ LIN_disableInterrupt()

static void LIN_disableInterrupt ( uint32_t base,
uint32_t intFlags )
inlinestatic

Disable interrupts

Parameters
baseis the LIN module base address
intFlagsis the bit mask of the interrupt sources to be disabled.

In LIN mode only, this function disables the interrupts for the specified interrupt sources.

The intFlags parameter can be set to the following value to disable all the flag bits:

  • LIN_INT_ALL - All Interrupts

To disable individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_INT_WAKEUP - Wakeup
  • LIN_INT_TO - Time out
  • LIN_INT_TOAWUS - Time out after wakeup signal
  • LIN_INT_TOA3WUS - Time out after 3 wakeup signals
  • LIN_INT_TX - Transmit buffer ready
  • LIN_INT_RX - Receive buffer ready
  • LIN_INT_ID - Received matching identifier
  • LIN_INT_PE - Parity error
  • LIN_INT_OE - Overrun error
  • LIN_INT_FE - Framing error
  • LIN_INT_NRE - No response error
  • LIN_INT_ISFE - Inconsistent sync field error
  • LIN_INT_CE - Checksum error
  • LIN_INT_PBE - Physical bus error
  • LIN_INT_BE - Bit error
Returns
None.

◆ LIN_clearInterruptStatus()

static void LIN_clearInterruptStatus ( uint32_t base,
uint32_t intFlags )
inlinestatic

Clear interrupt status

Parameters
baseis the LIN module base address
intFlagsis the bit mask of the interrupt sources to be cleared.

In LIN mode only, this function clears the specified status flags.

The intFlags parameter can be set to the following value to clear all the flag bits:

  • LIN_INT_ALL - All Interrupts

To clear individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_INT_WAKEUP - Wakeup
  • LIN_INT_TO - Time out
  • LIN_INT_TOAWUS - Time out after wakeup signal
  • LIN_INT_TOA3WUS - Time out after 3 wakeup signals
  • LIN_INT_TX - Transmit buffer ready
  • LIN_INT_RX - Receive buffer ready
  • LIN_INT_ID - Received matching identifier
  • LIN_INT_PE - Parity error
  • LIN_INT_OE - Overrun error
  • LIN_INT_FE - Framing error
  • LIN_INT_NRE - No response error
  • LIN_INT_ISFE - Inconsistent sync field error
  • LIN_INT_CE - Checksum error
  • LIN_INT_PBE - Physical bus error
  • LIN_INT_BE - Bit error
Returns
None.

◆ LIN_setInterruptLevel0()

static void LIN_setInterruptLevel0 ( uint32_t base,
uint32_t intFlags )
inlinestatic

Set interrupt level to 0

Parameters
baseis the LIN module base address
intFlagsis the bit mask of interrupt sources to be configured

In LIN mode only, this function sets the specified interrupt sources to level 0.

The intFlags parameter can be set to the following value to set all the flag bits:

  • LIN_INT_ALL - All Interrupts

To set individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_INT_WAKEUP - Wakeup
  • LIN_INT_TO - Time out
  • LIN_INT_TOAWUS - Time out after wakeup signal
  • LIN_INT_TOA3WUS - Time out after 3 wakeup signals
  • LIN_INT_TX - Transmit buffer ready
  • LIN_INT_RX - Receive buffer ready
  • LIN_INT_ID - Received matching identifier
  • LIN_INT_PE - Parity error
  • LIN_INT_OE - Overrun error
  • LIN_INT_FE - Framing error
  • LIN_INT_NRE - No response error
  • LIN_INT_ISFE - Inconsistent sync field error
  • LIN_INT_CE - Checksum error
  • LIN_INT_PBE - Physical bus error
  • LIN_INT_BE - Bit error
Returns
None.

◆ LIN_setInterruptLevel1()

static void LIN_setInterruptLevel1 ( uint32_t base,
uint32_t intFlags )
inlinestatic

Set interrupt level to 1

Parameters
baseis the LIN module base address
intFlagsis the bit mask of interrupt sources to be configured

In LIN mode only, this function sets the specified interrupt sources to level 1.

The intFlags parameter can be set to the following value to set all the flag bits:

  • LIN_INT_ALL - All Interrupts

To set individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_INT_WAKEUP - Wakeup
  • LIN_INT_TO - Time out
  • LIN_INT_TOAWUS - Time out after wakeup signal
  • LIN_INT_TOA3WUS - Time out after 3 wakeup signals
  • LIN_INT_TX - Transmit buffer ready
  • LIN_INT_RX - Receive buffer ready
  • LIN_INT_ID - Received matching identifier
  • LIN_INT_PE - Parity error
  • LIN_INT_OE - Overrun error
  • LIN_INT_FE - Framing error
  • LIN_INT_NRE - No response error
  • LIN_INT_ISFE - Inconsistent sync field error
  • LIN_INT_CE - Checksum error
  • LIN_INT_PBE - Physical bus error
  • LIN_INT_BE - Bit error
Returns
None.

◆ LIN_enableModuleErrors()

static void LIN_enableModuleErrors ( uint32_t base,
uint32_t errors )
inlinestatic

Enable Module Errors for Testing

Parameters
baseis the LIN module base address
errorsis the specified errors to be enabled

In LIN mode only, this function enables the specified errors in the module for testing. The errors parameter can be a logical OR-ed result of the following values or LIN_ALL_ERRORS can be used to enable all of them:

  • LIN_BIT_ERROR - Simulates a bit error
  • LIN_BUS_ERROR - Simulates a physical bus error
  • LIN_CHECKSUM_ERROR - Simulates a checksum error
  • LIN_ISF_ERROR - Simulates an inconsistent synch field error
Note
To disable these errors, use the LIN_disableModuleErrors() function.
Returns
None.

◆ LIN_disableModuleErrors()

static void LIN_disableModuleErrors ( uint32_t base,
uint32_t errors )
inlinestatic

Disable Module Errors for Testing

Parameters
baseis the LIN module base address
errorsis the specified errors to be disabled

In LIN mode only, this function disables the specified errors in the module for testing. The errors parameter can be a logical OR-ed result of the following values or LIN_ALL_ERRORS can be used to disable all of them:

  • LIN_BIT_ERROR - Simulates a bit error
  • LIN_BUS_ERROR - Simulates a physical bus error
  • LIN_CHECKSUM_ERROR - Simulates a checksum error
  • LIN_ISF_ERROR - Simulates an inconsistent synch field error
Returns
None.

◆ LIN_enableAutomaticBaudrate()

static void LIN_enableAutomaticBaudrate ( uint32_t base)
inlinestatic

Enable Automatic Baudrate Adjustment

Parameters
baseis the LIN module base address

In LIN mode only, this function enables the automatic baudrate adjustment mode during the detection of the Synch Field.

Note
The baudrate selection register will be updated automatically by a responder node if this mode is enabled.
Returns
None.

◆ LIN_disableAutomaticBaudrate()

static void LIN_disableAutomaticBaudrate ( uint32_t base)
inlinestatic

Disable Automatic Baudrate Adjustment

Parameters
baseis the LIN module base address

In LIN mode only, this function disables the automatic baudrate adjustment mode during the detection of the Synch Field. This results in a fixed baud rate.

Returns
None.

◆ LIN_stopExtendedFrame()

static void LIN_stopExtendedFrame ( uint32_t base)
inlinestatic

Stops LIN Extended Frame Communication

Parameters
baseis the LIN module base address

In LIN mode only, this function stops the extended frame communication. Once stopped, the bit is automatically cleared.

Note
This function can only be called during extended frame communication.
Returns
None.

◆ LIN_setChecksumType()

static void LIN_setChecksumType ( uint32_t base,
LIN_ChecksumType type )
inlinestatic

Set Checksum Type

Parameters
baseis the LIN module base address
typeis the checksum type

In LIN mode only, this function sets the checksum type. The type parameter can be one of the following two values:

  • LIN_CHECKSUM_CLASSIC - Checksum Classic
  • LIN_CHECKSUM_ENHANCED - Checksum Enhanced
Returns
None.

◆ LIN_setSyncFields()

static void LIN_setSyncFields ( uint32_t base,
uint16_t syncBreak,
uint16_t delimiter )
inlinestatic

Set Sync Break Extend and Delimiter

Parameters
baseis the LIN module base address
syncBreakis the sync break extend value
delimiteris the sync delimiter value

In LIN mode only, this function sets the 3-bit sync break extend value and the 2-bit sync delimiter compare value.

The break parameter can be a value between 0 to 7. Details:

  • 0 - Sync Break has no additional T-bit
  • 1 - Sync Break has 1 additional T-bit
  • ...
  • 7 - Sync Break has 7 additional T-bits

The delimiter parameter can be a value between 1 to 4. Details:

  • 1 - Delimiter has 1 T-bit
  • 2 - Delimiter has 2 T-bits
  • 3 - Delimiter has 3 T-bits
  • 4 - Delimiter has 4 T-bits
Returns
None.

◆ LIN_enableSCIMode()

static void LIN_enableSCIMode ( uint32_t base)
inlinestatic

Enable SCI Mode

Parameters
baseis the LIN module base address

This function enables the LIN peripheral to function as a SCI.

Returns
None.

◆ LIN_disableSCIMode()

static void LIN_disableSCIMode ( uint32_t base)
inlinestatic

Disable SCI Mode

Parameters
baseis the LIN module base address

This function disables the SCI mode of the LIN peripheral.

Returns
None.

◆ LIN_setSCICommMode()

static void LIN_setSCICommMode ( uint32_t base,
LIN_SCICommMode mode )
inlinestatic

Set SCI communication mode

Parameters
baseis the LIN module base address
modeis the selected communication mode

In SCI mode only, this function is used to select between idle-line mode and address-bit mode. The mode parameter can have one of the following values:

  • LIN_COMM_SCI_IDLELINE - Idle-line mode.
  • LIN_COMM_SCI_ADDRBIT - Address-bit mode.
Returns
None.

◆ LIN_enableSCIParity()

static void LIN_enableSCIParity ( uint32_t base,
LIN_SCIParityType parity )
inlinestatic

Enable SCI Parity mode.

Parameters
baseis the LIN module base address
parityis the SCI parity type

In SCI mode only, this function enables the parity check and sets the parity type. The parity parameter can one of the following values:

  • LIN_SCI_PAR_ODD - Sets Odd parity
  • LIN_SCI_PAR_EVEN - Sets Even parity
Returns
None.

◆ LIN_disableSCIParity()

static void LIN_disableSCIParity ( uint32_t base)
inlinestatic

Disable SCI Parity mode.

Parameters
baseis the LIN module base address

In SCI mode only, this function disables the parity check.

Returns
None.

◆ LIN_setSCIStopBits()

static void LIN_setSCIStopBits ( uint32_t base,
LIN_SCIStopBits number )
inlinestatic

Set the number of stop bits for SCI

Parameters
baseis the LIN module base address
numberis the number of stop bits

In SCI mode only, this function sets the number of stop bits transmitted. The number parameter can be one of the following values:

  • LIN_SCI_STOP_ONE - Set one stop bit
  • LIN_SCI_STOP_TWO - Set two stop bits
Returns
None.

◆ LIN_enableSCISleepMode()

static void LIN_enableSCISleepMode ( uint32_t base)
inlinestatic

Enable SCI Sleep mode.

Parameters
baseis the LIN module base address

In SCI mode only, this function enables the receive sleep mode functionality.

Note
The receiver still operates when the sleep mode is enabled, however, RXRDY is updated and SCIRD is loaded with new data only when an address frame is detected.
Returns
None.

◆ LIN_disableSCISleepMode()

static void LIN_disableSCISleepMode ( uint32_t base)
inlinestatic

Disable SCI Sleep mode.

Parameters
baseis the LIN module base address

In SCI mode only, this function disables the receive sleep mode functionality.

Returns
None.

◆ LIN_enterSCILowPower()

static void LIN_enterSCILowPower ( uint32_t base)
inlinestatic

Enter SCI Local Low-Power Mode

Parameters
baseis the LIN module base address

In SCI mode only, this function enters the SCI local low-power mode.

Note
If this function is called while the receiver is actively receiving data and the wakeup interrupt is disabled, then the module will delay sleep mode from being entered until completion of reception.
Returns
None.

◆ LIN_exitSCILowPower()

static void LIN_exitSCILowPower ( uint32_t base)
inlinestatic

Exit SCI Local Low-Power Mode

Parameters
baseis the LIN module base address

In SCI mode only, this function exits the SCI local low-power mode.

Returns
None.

◆ LIN_setSCICharLength()

static void LIN_setSCICharLength ( uint32_t base,
uint16_t numBits )
inlinestatic

Set SCI character length

Parameters
baseis the LIN module base address
numBitsis the number of bits per character.

In SCI mode only, this function sets the number of bits per character.

The numBits parameter must be in a range between 1 and 8.

Returns
None.

◆ LIN_setSCIFrameLength()

static void LIN_setSCIFrameLength ( uint32_t base,
uint16_t length )
inlinestatic

Set SCI Frame Length

Parameters
baseis the LIN module base address
lengthis the number of characters

In SCI mode only, this function sets the number of characters in the response field.

The length parameter must be in a range between 1 and 8.

Returns
None.

◆ LIN_isSCIDataAvailable()

static bool LIN_isSCIDataAvailable ( uint32_t base)
inlinestatic

Check if new SCI data is ready to be read

Parameters
baseis the LIN module base address

In SCI mode only, this function checks to see if the Rx ready bit is set indicating that a new data has been received.

Returns
Returns true if the Rx ready flag is set, else returns false.

◆ LIN_isSCISpaceAvailable()

static bool LIN_isSCISpaceAvailable ( uint32_t base)
inlinestatic

Check if space is available in SCI Transmit Buffer

Parameters
baseis the LIN module base address

In SCI mode only, this function checks to see if the Tx ready flag is set indicating that the Tx buffer(s) is/are ready to get another character.

Returns
Returns true if the TX ready flag is set, else returns false

◆ LIN_readSCICharNonBlocking()

static uint16_t LIN_readSCICharNonBlocking ( uint32_t base,
bool emulation )
inlinestatic

Reads a SCI character without blocking

Parameters
baseis the LIN module base address
emulationsets whether the data is being read by an emulator or not

In SCI mode only, this function gets the byte of data received. The emulation parameter can have one of the following values:

  • true - Emulator is being used, the RXRDY flag won't be cleared
  • false - Emulator isn't being used, the RXRDY flag will be cleared automatically on read
Note
  1. If the SCI receives data that is fewer than 8 bits in length, the data is left-justified and padded with trailing zeros.
  2. To determine if new data is available to read, use the function LIN_isSCIDataAvailable().
Returns
Returns the received data.

◆ LIN_readSCICharBlocking()

static uint16_t LIN_readSCICharBlocking ( uint32_t base,
bool emulation )
inlinestatic

Reads a SCI character with Blocking

Parameters
baseis the LIN module base address
emulationsets whether the data is being read by an emulator or not

In SCI mode only, this function gets the byte of data received. If new data isn't available, this function will wait until new data arrives. The emulation parameter can have one of the following values:

  • true - Emulator is being used, the RXRDY flag won't be cleared
  • false - Emulator isn't being used, the RXRDY flag will be cleared automatically on read
Note
If the SCI receives data that is fewer than 8 bits in length, the data is left-justified and padded with trailing zeros.
Returns
Returns the received data.

◆ LIN_writeSCICharNonBlocking()

static void LIN_writeSCICharNonBlocking ( uint32_t base,
uint16_t data )
inlinestatic

Sends a SCI character without blocking

Parameters
baseis the LIN module base address
datais the byte of data to be transmitted

In SCI mode only, this function sets the byte of data to be transmitted without blocking.

Note
The transmit ready flag gets set when this buffer is ready to be loaded with another byte of data. Use LIN_isSCISpaceAvailable() to determine if space is available to write another character.
Returns
None.

◆ LIN_writeSCICharBlocking()

static void LIN_writeSCICharBlocking ( uint32_t base,
uint16_t data )
inlinestatic

Sends a SCI character with blocking

Parameters
baseis the LIN module base address
datais the byte of data to be transmitted

In SCI mode only, this function sets the byte of data to be transmitted with blocking functionality. If the buffer isn't ready to get new data written to, this function will wait until space is available.

Returns
None.

◆ LIN_enableSCIModuleErrors()

static void LIN_enableSCIModuleErrors ( uint32_t base,
uint32_t errors )
inlinestatic

Enable SCI Module Errors for Testing

Parameters
baseis the LIN module base address
errorsis the specified errors to be enabled

In SCI mode only, this function enables the specified errors in the module for testing. The errors parameter can be a logical OR-ed result of the following values or LIN_SCI_ALL_ERRORS can be used to enable all of them:

  • LIN_SCI_FRAME_ERROR - Simulates a frame error
  • LIN_SCI_PARITY_ERROR - Simulates a parity error
  • LIN_SCI_BREAK_ERROR - Simulates a break detect error
Note
To disable these errors, use the LIN_disableSCIModuleErrors() function.
Returns
None.

◆ LIN_disableSCIModuleErrors()

static void LIN_disableSCIModuleErrors ( uint32_t base,
uint32_t errors )
inlinestatic

Disable SCI Module Errors for Testing

Parameters
baseis the LIN module base address
errorsis the specified errors to be disabled

In SCI mode only, this function disables the specified errors in the module for testing. The errors parameter can be a logical OR-ed result of the following values or LIN_SCI_ALL_ERRORS can be used to enable all of them:

  • LIN_SCI_FRAME_ERROR - Simulates a frame error
  • LIN_SCI_PARITY_ERROR - Simulates a parity error
  • LIN_SCI_BREAK_ERROR - Simulates a break detect error
Returns
None.

◆ LIN_enableSCIInterrupt()

static void LIN_enableSCIInterrupt ( uint32_t base,
uint32_t intFlags )
inlinestatic

Enable SCI interrupts

Parameters
baseis the LIN module base address
intFlagsis the bit mask of the interrupt sources to be enabled.

In SCI mode only, this function enables the interrupts for the specified interrupt sources.

The intFlags parameter can be set to the following value to set all the flag bits:

  • LIN_SCI_INT_ALL - All Interrupts

To set individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_SCI_INT_BREAK - Break Detect
  • LIN_SCI_INT_WAKEUP - Wakeup
  • LIN_SCI_INT_TX - Transmit Buffer
  • LIN_SCI_INT_RX - Receive Buffer
  • LIN_SCI_INT_TX_DMA - DMA Transmit
  • LIN_SCI_INT_RX_DMA - DMA Receive
  • LIN_SCI_INT_RX_DMA_ALL - DMA Receive All
  • LIN_SCI_INT_PARITY - Parity Error
  • LIN_SCI_INT_OVERRUN - Overrun Error
  • LIN_SCI_INT_FRAME - Framing Error
Returns
None.

◆ LIN_disableSCIInterrupt()

static void LIN_disableSCIInterrupt ( uint32_t base,
uint32_t intFlags )
inlinestatic

Disable SCI interrupts

Parameters
baseis the LIN module base address
intFlagsis the bit mask of the interrupt sources to be disabled.

In SCI mode only, this function disables the interrupts for the specified interrupt sources.

The intFlags parameter can be set to the following value to disable all the flag bits:

  • LIN_SCI_INT_ALL - All Interrupts

To disable individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_SCI_INT_BREAK - Break Detect
  • LIN_SCI_INT_WAKEUP - Wakeup
  • LIN_SCI_INT_TX - Transmit Buffer
  • LIN_SCI_INT_RX - Receive Buffer
  • LIN_SCI_INT_TX_DMA - DMA Transmit
  • LIN_SCI_INT_RX_DMA - DMA Receive
  • LIN_SCI_INT_RX_DMA_ALL - DMA Receive All
  • LIN_SCI_INT_PARITY - Parity Error
  • LIN_SCI_INT_OVERRUN - Overrun Error
  • LIN_SCI_INT_FRAME - Framing Error
Returns
None.

◆ LIN_clearSCIInterruptStatus()

static void LIN_clearSCIInterruptStatus ( uint32_t base,
uint32_t intFlags )
inlinestatic

Clear SCI interrupt status

Parameters
baseis the LIN module base address
intFlagsis the bit mask of the interrupt sources to be cleared.

In SCI mode only, this function clears the specified status flags.

The intFlags parameter can be set to the following value to clear all the flag bits:

  • LIN_SCI_INT_ALL - All Interrupts

To clear individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_SCI_INT_BREAK - Break Detect
  • LIN_SCI_INT_WAKEUP - Wakeup
  • LIN_SCI_INT_TX - Transmit Buffer
  • LIN_SCI_INT_RX - Receive Buffer
  • LIN_SCI_INT_TX_DMA - DMA Transmit
  • LIN_SCI_INT_RX_DMA - DMA Receive
  • LIN_SCI_INT_RX_DMA_ALL - DMA Receive All
  • LIN_SCI_INT_PARITY - Parity Error
  • LIN_SCI_INT_OVERRUN - Overrun Error
  • LIN_SCI_INT_FRAME - Framing Error
Returns
None.

◆ LIN_setSCIInterruptLevel0()

static void LIN_setSCIInterruptLevel0 ( uint32_t base,
uint32_t intFlags )
inlinestatic

Set SCI interrupt level to 0

Parameters
baseis the LIN module base address
intFlagsis the bit mask of interrupt sources to be configured

In SCI mode only, this function sets the specified interrupt sources to level 0.

The intFlags parameter can be set to the following value to set all the flag bits:

  • LIN_SCI_INT_ALL - All Interrupts

To set individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_SCI_INT_BREAK - Break Detect
  • LIN_SCI_INT_WAKEUP - Wakeup
  • LIN_SCI_INT_TX - Transmit Buffer
  • LIN_SCI_INT_RX - Receive Buffer
  • LIN_SCI_INT_TX_DMA - DMA Transmit
  • LIN_SCI_INT_RX_DMA - DMA Receive
  • LIN_SCI_INT_RX_DMA_ALL - DMA Receive All
  • LIN_SCI_INT_PARITY - Parity Error
  • LIN_SCI_INT_OVERRUN - Overrun Error
  • LIN_SCI_INT_FRAME - Framing Error
Returns
None.

◆ LIN_setSCIInterruptLevel1()

static void LIN_setSCIInterruptLevel1 ( uint32_t base,
uint32_t intFlags )
inlinestatic

Set SCI interrupt level to 1

Parameters
baseis the LIN module base address
intFlagsis the bit mask of interrupt sources to be configured

In SCI mode only, this function sets the specified interrupt sources to level 1.

The intFlags parameter can be set to the following value to set all the flag bits:

  • LIN_SCI_INT_ALL - All Interrupts

To set individual flags, the intFlags parameter can be the logical OR of any of the following:

  • LIN_SCI_INT_BREAK - Break Detect
  • LIN_SCI_INT_WAKEUP - Wakeup
  • LIN_SCI_INT_TX - Transmit Buffer
  • LIN_SCI_INT_RX - Receive Buffer
  • LIN_SCI_INT_TX_DMA - DMA Transmit
  • LIN_SCI_INT_RX_DMA - DMA Receive
  • LIN_SCI_INT_RX_DMA_ALL - DMA Receive All
  • LIN_SCI_INT_PARITY - Parity Error
  • LIN_SCI_INT_OVERRUN - Overrun Error
  • LIN_SCI_INT_FRAME - Framing Error
Returns
None.

◆ LIN_isSCIReceiverIdle()

static bool LIN_isSCIReceiverIdle ( uint32_t base)
inlinestatic

Check if SCI Receiver is Idle

Parameters
baseis the LIN module base address

In SCI mode only, this function checks if the receiver is in an idle state.

Returns
Returns true if the state is idle, else returns false.

◆ LIN_getSCITxFrameType()

static bool LIN_getSCITxFrameType ( uint32_t base)
inlinestatic

Gets the SCI Transmit Frame Type

Parameters
baseis the LIN module base address

In SCI mode only, this function gets the transmit frame type which can be either data or an address.

Returns
Returns true if the frame will be an address, and returns false if the frame will be data.

◆ LIN_getSCIRxFrameType()

static bool LIN_getSCIRxFrameType ( uint32_t base)
inlinestatic

Gets the SCI Receiver Frame Type

Parameters
baseis the LIN module base address

In SCI mode only, this function gets the receiver frame type which can be either an address or not an address.

Returns
Returns true if the frame is an address, and returns false if the frame isn't an address.

◆ LIN_isSCIBreakDetected()

static bool LIN_isSCIBreakDetected ( uint32_t base)
inlinestatic

Check if SCI Detected a Break Condition

Parameters
baseis the LIN module base address

In SCI mode only, this function checks if the module detected a break condition on the Rx pin.

Returns
Returns true if break detected, else returns false.

◆ LIN_enableModule()

static void LIN_enableModule ( uint32_t base)
inlinestatic

Enables the LIN module.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function sets the RESET bit of the SCIGCR0 register. Registers in this module are not writable until this has been done. Additionally, the transmit and receive pin control functionality is enabled.

Returns
None.

◆ LIN_disableModule()

static void LIN_disableModule ( uint32_t base)
inlinestatic

Disable the LIN module.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function clears the RESET bit of the SCIGCR0 register. Registers in this module are not writable when this bit is cleared. Additionally, the transmit and receive pin control functionality is disabled.

Returns
None.

◆ LIN_setBaudRatePrescaler()

static void LIN_setBaudRatePrescaler ( uint32_t base,
uint32_t prescaler,
uint32_t divider )
inlinestatic

Set Baud Rate Prescaler

Parameters
baseis the LIN module base address
prescaleris the 24-bit integer prescaler
divideris the 4-bit fractional divider

In LIN and SCI mode, this function is used to set the baudrate based on the prescaler and divider values.

P = Prescaler
M = Fractional Divider
Bitrate = (SYSCLOCK) / ((P + 1 + M/16) * 16)

Returns
None.

◆ LIN_enableDataTransmitter()

static void LIN_enableDataTransmitter ( uint32_t base)
inlinestatic

Enable Transmit Data Transfer.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function enables the transfer of data from SCITD or TDy to the transmit shift register.

Returns
None.

◆ LIN_disableDataTransmitter()

static void LIN_disableDataTransmitter ( uint32_t base)
inlinestatic

Disable Transmit Data Transfer.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function disables the transfer of data from SCITD or TDy to the transmit shift register.

Returns
None.

◆ LIN_enableDataReceiver()

static void LIN_enableDataReceiver ( uint32_t base)
inlinestatic

Enable Receive Data Transfer.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function enables the receiver to transfer data from the shift buffer register to the receive buffer or multi-buffer.

Returns
None.

◆ LIN_disableDataReceiver()

static void LIN_disableDataReceiver ( uint32_t base)
inlinestatic

Disable Receive Data Transfer.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function disables the receiver to transfer data from the shift buffer register to the receive buffer or multi-buffer.

Returns
None.

◆ LIN_performSoftwareReset()

static void LIN_performSoftwareReset ( uint32_t base)
inlinestatic

Perform software reset.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function will reset the LIN state machine and clear all pending flags. It is required to call this function after a wakeup signal has been sent.

To enter the reset state separately, use LIN_enterSoftwareReset(). To come out of reset, use LIN_exitSoftwareReset().

Returns
None.

◆ LIN_enterSoftwareReset()

static void LIN_enterSoftwareReset ( uint32_t base)
inlinestatic

Put LIN into its reset state.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function will reset the LIN state machine and clear all pending flags. It is required to call this function after a wakeup signal has been sent. When in this state, changes to the configuration of this module may be made.

To take LIN out of the reset state and back into the ready state, use LIN_exitSoftwareReset().

Returns
None.

◆ LIN_exitSoftwareReset()

static void LIN_exitSoftwareReset ( uint32_t base)
inlinestatic

Put LIN into its ready state.

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function will put LIN into its ready state. Transmission and reception can be done in this state. While in the ready state, configuration of the module should not be changed.

To put the module into its reset state, use LIN_enterSoftwareReset().

Returns
None.

◆ LIN_isBusBusy()

static bool LIN_isBusBusy ( uint32_t base)
inlinestatic

Check if Bus is busy

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function checks if the receiver bus is busy receiving a frame.

Returns
Returns true if the bus is busy, else returns false.

◆ LIN_isTxBufferEmpty()

static bool LIN_isTxBufferEmpty ( uint32_t base)
inlinestatic

Check if the Transmit Buffer is Empty

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function checks if the transmit buffer is empty or not.

Returns
Returns true if the Tx buffer is empty, else returns false.

◆ LIN_enableExtLoopback()

static void LIN_enableExtLoopback ( uint32_t base,
LIN_LoopbackType loopbackType,
LIN_AnalogLoopback path )
inlinestatic

Enable External Loopback mode for self test

Parameters
baseis the LIN module base address
loopbackTypeis the loopback type (analog or digital)
pathsets the transmit or receive pin to be included in the communication path (Analog loopback mode only)

In LIN and SCI mode, this function enables the external Loopback mode for self test. The loopbackType parameter can be one of the following values:

  • LIN_LOOPBACK_DIGITAL - Digital Loopback
  • LIN_LOOPBACK_ANALOG - Analog Loopback

The path parameter is only applicable in analog loopback mode and can be one of the following values:

  • LIN_ANALOG_LOOP_NONE - Default option for digital loopback mode
  • LIN_ANALOG_LOOP_TX - Enables analog loopback through the Tx pin
  • LIN_ANALOG_LOOP_RX - Enables analog loopback through the Rx pin
Returns
None.

◆ LIN_disableExtLoopback()

static void LIN_disableExtLoopback ( uint32_t base)
inlinestatic

Disable External Loopback mode for self test

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function disables the external Loopback mode.

Note
This function also resets the analog loopback communication path to the default transmit pin.
Returns
None.

◆ LIN_enableIntLoopback()

static void LIN_enableIntLoopback ( uint32_t base)
inlinestatic

Enable Internal Loopback mode for self test

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function enables the internal Loopback mode for self test.

Returns
None.

◆ LIN_disableIntLoopback()

static void LIN_disableIntLoopback ( uint32_t base)
inlinestatic

Disable Internal Loopback mode for self test

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function disables the internal Loopback mode for self test.

Returns
None.

◆ LIN_getInterruptStatus()

static uint32_t LIN_getInterruptStatus ( uint32_t base)
inlinestatic

Get Interrupt Flags Status

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function returns the interrupt status register.

The following flags can be used to mask the value returned:

  • LIN_FLAG_BREAK - Break Detect Flag (SCI mode only)
  • LIN_FLAG_WAKEUP - Wake-up Flag
  • LIN_FLAG_IDLE - Receiver in Idle State (SCI mode only)
  • LIN_FLAG_BUSY - Busy Flag
  • LIN_FLAG_TO - Bus Idle Timeout Flag (LIN mode only)
  • LIN_FLAG_TOAWUS - Timeout after Wakeup Signal (LIN mode only)
  • LIN_FLAG_TOA3WUS - Timeout after 3 Wakeup Signals (LIN mode only)
  • LIN_FLAG_TXRDY - Transmitter Buffer Ready Flag
  • LIN_FLAG_RXRDY - Receiver Buffer Ready Flag
  • LIN_FLAG_TXWAKE - Transmitter Wakeup Method Select (SCI mode only)
  • LIN_FLAG_TXEMPTY - Transmitter Empty Flag
  • LIN_FLAG_RXWAKE - Receiver Wakeup Detect Flag
  • LIN_FLAG_TXID - Identifier on Transmit Flag (LIN mode only)
  • LIN_FLAG_RXID - Identifier on Receive Flag (LIN mode only)
  • LIN_FLAG_PE - Parity Error Flag
  • LIN_FLAG_OE - Overrun Error Flag
  • LIN_FLAG_FE - Framing Error Flag
  • LIN_FLAG_NRE - No-Response Error Flag (LIN mode only)
  • LIN_FLAG_ISFE - Inconsistent Synch Field Error Flag (LIN mode only)
  • LIN_FLAG_CE - Checksum Error Flag (LIN mode only)
  • LIN_FLAG_PBE - Physical Bus Error Flag (LIN mode only)
  • LIN_FLAG_BE - Bit Error Flag (LIN mode only)
Returns
Returns the status flag register.

◆ LIN_getInterruptLevel()

static uint32_t LIN_getInterruptLevel ( uint32_t base)
inlinestatic

Get the Interrupt Level

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function gets the interrupt level status for all interrupt sources.

Returns
Returns the value of the interrupt level register.

◆ LIN_getInterruptLine0Offset()

static uint16_t LIN_getInterruptLine0Offset ( uint32_t base)
inlinestatic

Gets the Interrupt Vector Offset for Line 0

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function gets the offset for interrupt line 0. A read to the specified line register updates its value to the next highest priority pending interrupt in the flag register and clears the flag corresponding to the offset that was read.

Note
The flags for the receive and the transmit interrupts cannot be cleared by reading the corresponding offset vector in this function.

The following are values that can be returned:

  • LIN_VECT_NONE - No Interrupt
  • LIN_VECT_WAKEUP - Wakeup
  • LIN_VECT_ISFE - Inconsistent-sync-field Error
  • LIN_VECT_PE - Parity Error
  • LIN_VECT_ID - ID Interrupt
  • LIN_VECT_PBE - Physical Bus Error
  • LIN_VECT_FE - Frame Error
  • LIN_VECT_BREAK - Break detect
  • LIN_VECT_CE - Checksum Error
  • LIN_VECT_OE - Overrun Error
  • LIN_VECT_BE - Bit Error
  • LIN_VECT_RX - Receive Interrupt
  • LIN_VECT_TX - Transmit Interrupt
  • LIN_VECT_NRE - No-response Error
  • LIN_VECT_TOAWUS - Timeout after wakeup signal
  • LIN_VECT_TOA3WUS - Timeout after 3 wakeup signals
  • LIN_VECT_TO - Timeout (Bus Idle)
Returns
Returns the interrupt vector offset for interrupt line 0.

◆ LIN_getInterruptLine1Offset()

static uint16_t LIN_getInterruptLine1Offset ( uint32_t base)
inlinestatic

Gets the Interrupt Vector Offset for Line 1

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function gets the offset for interrupt line 1. A read to the specified line register updates its value to the next highest priority pending interrupt in the flag register and clears the flag corresponding to the offset that was read.

Note
The flags for the receive and the transmit interrupts cannot be cleared by reading the corresponding offset vector in this function.

The following are values that can be returned:

  • LIN_VECT_NONE - No Interrupt
  • LIN_VECT_WAKEUP - Wakeup
  • LIN_VECT_ISFE - Inconsistent-sync-field Error
  • LIN_VECT_PE - Parity Error
  • LIN_VECT_ID - ID Interrupt
  • LIN_VECT_PBE - Physical Bus Error
  • LIN_VECT_FE - Frame Error
  • LIN_VECT_BREAK - Break detect
  • LIN_VECT_CE - Checksum Error
  • LIN_VECT_OE - Overrun Error
  • LIN_VECT_BE - Bit Error
  • LIN_VECT_RX - Receive Interrupt
  • LIN_VECT_TX - Transmit Interrupt
  • LIN_VECT_NRE - No-response Error
  • LIN_VECT_TOAWUS - Timeout after wakeup signal
  • LIN_VECT_TOA3WUS - Timeout after 3 wakeup signals
  • LIN_VECT_TO - Timeout (Bus Idle)
Returns
Returns the interrupt vector offset for interrupt line 1.

◆ LIN_enableMultibufferMode()

static void LIN_enableMultibufferMode ( uint32_t base)
inlinestatic

Enable Multi-buffer Mode

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function enables the multi-buffer mode.

Returns
None.

◆ LIN_disableMultibufferMode()

static void LIN_disableMultibufferMode ( uint32_t base)
inlinestatic

Disable Multi-buffer Mode

Parameters
baseis the LIN module base address

In LIN and SCI mode, this function disables the multi-buffer mode.

Returns
None.

◆ LIN_setTransmitDelay()

static void LIN_setTransmitDelay ( uint32_t base,
uint16_t delay )
inlinestatic

Set Transmit Pin Delay

Parameters
baseis the LIN module base address
delayis number of clock delays for the Tx pin (0 to 7)

In LIN and SCI mode, this function sets the delay by which the value on the transmit pin is delayed so that the value on the receive pin is asynchronous.

Note
This is not applicable to the Start bit.
Returns
None.

◆ LIN_setPinSampleMask()

static void LIN_setPinSampleMask ( uint32_t base,
LIN_PinSampleMask mask )
inlinestatic

Set Pin Sample Mask

Parameters
baseis the LIN module base address
maskis the pin sample mask to be set

In LIN and SCI mode, this function sets sample number at which the transmit pin value that is being transmitted will be inverted to verify the receive pin samples correctly with the majority detection circuitry. The mask parameter can be one of the following values:

  • LIN_PINMASK_NONE - No mask
  • LIN_PINMASK_CENTER - Invert Tx Pin value at T-bit center
  • LIN_PINMASK_CENTER_SCLK - Invert Tx Pin value at T-bit center + SCLK
  • LIN_PINMASK_CENTER_2SCLK - Invert Tx Pin value at T-bit center + 2 SCLK
Returns
None.

◆ LIN_setDebugSuspendMode()

static void LIN_setDebugSuspendMode ( uint32_t base,
LIN_DebugMode mode )
inlinestatic

Set the Debug Suspended Mode

Parameters
baseis the LIN module base address
modeis the debug mode

In LIN and SCI mode, this function sets how the module operates when the program is suspended and being debugged with an emulator. The mode parameter can be one of the following values:

  • LIN_DEBUG_FROZEN - The module state machine is frozen; transmissions and LIN counters are halted until debug mode is exited.
  • LIN_DEBUG_COMPLETE - The module continues to operate until the current transmit and receive functions are complete.
Returns
None.

◆ LIN_enableGlobalInterrupt()

static void LIN_enableGlobalInterrupt ( uint32_t base,
LIN_InterruptLine line )
inlinestatic

Enables a LIN global interrupt.

Parameters
baseis the LIN module base address
lineis specified interrupt vector line

In LIN and SCI mode, this function globally enables an interrupt corresponding to a specified interrupt line. The line parameter can be one of the following enumerated values:

  • LIN_INTERRUPT_LINE0 - Interrupt Vector Line 0
  • LIN_INTERRUPT_LINE1 - Interrupt Vector Line 1
Returns
None.

◆ LIN_disableGlobalInterrupt()

static void LIN_disableGlobalInterrupt ( uint32_t base,
LIN_InterruptLine line )
inlinestatic

Disables a LIN global interrupt.

Parameters
baseis the LIN module base address
lineis specified interrupt vector line

In LIN and SCI mode, this function globally disables an interrupt corresponding to a specified interrupt line. The line parameter can be one of the following enumerated values:

  • LIN_INTERRUPT_LINE0 - Interrupt Vector Line 0
  • LIN_INTERRUPT_LINE1 - Interrupt Vector Line 1
Returns
None.

◆ LIN_clearGlobalInterruptStatus()

static void LIN_clearGlobalInterruptStatus ( uint32_t base,
LIN_InterruptLine line )
inlinestatic

Clears a LIN global interrupt flag.

Parameters
baseis the LIN module base address
lineis specified interrupt vector line

In LIN and SCI mode, this function clears the global interrupt flag that corresponds to a specified interrupt line. The line parameter can be one of the following enumerated values:

  • LIN_INTERRUPT_LINE0 - Interrupt Vector Line 0
  • LIN_INTERRUPT_LINE1 - Interrupt Vector Line 1
Returns
None.

◆ LIN_getGlobalInterruptStatus()

static bool LIN_getGlobalInterruptStatus ( uint32_t base,
LIN_InterruptLine line )
inlinestatic

Returns a LIN global interrupt flag status.

Parameters
baseis the LIN module base address
lineis specified interrupt vector line

In LIN and SCI mode, this function returns the status of a global interrupt flag that corresponds to a specified interrupt line. The line parameter can be one of the following enumerated values:

  • LIN_INTERRUPT_LINE0 - Interrupt Vector Line 0
  • LIN_INTERRUPT_LINE1 - Interrupt Vector Line 1
Returns
Returns true if the interrupt flag is set. Return false if not.

◆ LIN_getPinStatus()

static bool LIN_getPinStatus ( uint32_t base,
LIN_PinType pin )
inlinestatic

Get the Status of LIN TX/RX Pin status.

Parameters
baseis the LIN module base address
pinis the type of pin that is being read.

In LIN and SCI mode, this function indicates the current status of LINTX and LINRX pins. the pin parameter can be either LIN_PINTYPE_TX or LIN_PINTYPE_RX.

Returns
Returns true if the pin is high else false if low.

◆ LIN_initModule()

void LIN_initModule ( uint32_t base)
extern

Initializes the LIN Driver

Parameters
baseis the LIN module base address

This function initializes the LIN module.

Returns
None.

◆ LIN_initSCIModule()

void LIN_initSCIModule ( uint32_t base)
extern

Initializes the SCI Driver

Parameters
baseis the LIN module base address

This function initializes the LIN/SCI module in SCI mode.

Returns
None.

◆ LIN_sendData()

void LIN_sendData ( uint32_t base,
uint16_t * data )
extern

Send Data

Parameters
baseis the LIN module base address
datais the pointer to data to send

In LIN mode only, this function sends a block of data pointed to by 'data'. The number of data bytes to transmit must be set with LIN_setFrameLength() before.

Returns
None.

◆ LIN_getData()

void LIN_getData ( uint32_t base,
uint16_t *const data )
extern

Read received data

Parameters
baseis the LIN module base address
datais the pointer to the data buffer

In LIN mode only, this function reads a block of bytes and place it into the data buffer pointed to by 'data'.

Returns
None.