LIN_DRV_MasterSendHeader(INST_LIN1, 0x02);
if this is my function call with id 0x02 then
status_t LIN_LPUART_DRV_MasterSendHeader(uint32_t instance,
uint8_t id)
{
/* Assert parameters. */
DEV_ASSERT(instance < LPUART_INSTANCE_COUNT);
status_t retVal = STATUS_SUCCESS;
/* Get the current LIN user config structure of this LPUART instance. */
const lin_user_config_t * linUserConfig = g_linUserconfigPtr[instance];
/* Get base address of the LPUART instance. */
LPUART_Type * base = g_linLpuartBase[instance];
/* Get the current LIN state of this LPUART instance. */
lin_state_t * linCurrentState = g_linStatePtr[instance];
/* Check whether current mode is sleep mode */
bool checkSleepMode = (LIN_NODE_STATE_SLEEP_MODE == linCurrentState->currentNodeState);
/* Check if the current node is slave or id is invalid or node's current
* state is in SLEEP state */
if ((linUserConfig->nodeFunction == (bool)SLAVE) || (0x3FU < id) || checkSleepMode)
{
retVal = STATUS_ERROR;
}
else
{
/* Check if the LIN bus is busy */
if (linCurrentState->isBusBusy)
{
retVal = STATUS_BUSY;
}
else
{
linCurrentState->currentId = id;
/* Make parity for the current ID */
linCurrentState->currentPid = LIN_DRV_ProcessParity(id, MAKE_PARITY);
/* Set LIN current state to sending Break field */
linCurrentState->currentNodeState = LIN_NODE_STATE_SEND_BREAK_FIELD;
linCurrentState->currentEventId = LIN_NO_EVENT;
linCurrentState->isBusBusy = true;
/* Set Break char detect length as 13 bits minimum */
LPUART_SetBreakCharDetectLength(base, LPUART_BREAK_CHAR_13_BIT_MINIMUM);
LPUART_SetIntMode(base, LPUART_INT_LIN_BREAK_DETECT, true);
/* Send break char by using queue mode */
LPUART_QueueBreakField(base);
}
}
return retVal;
}LPUART_QueueBreakField(base); here in this line it is just sending the break character i dont know how it is sending the sync field and break field in the LIN_LPUART_DRV_MasterSendHeader function