Обновление
This commit is contained in:
parent
309b2c674a
commit
0d0b4784a2
|
|
@ -16,99 +16,6 @@ static const PCC_ClkSrcType s_ePccUartTable[] =
|
||||||
PCC_CLK_FCUART7
|
PCC_CLK_FCUART7
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
void GetLinCallbackHandler(tLinFlagchip *env, uint8_t u8LinIndex, void *state) {
|
|
||||||
lin_xfer_state_t *pXferState = state;
|
|
||||||
//uint32_t s_countIndex = 0U;
|
|
||||||
//bool s_rxError = false;
|
|
||||||
|
|
||||||
//LIN_DrvSetTimeOutCounter(env->UART_INDEX, 500);
|
|
||||||
|
|
||||||
switch (pXferState->currentEventId) {
|
|
||||||
case LIN_PID_OK:
|
|
||||||
if (pXferState->currentId == LIN_MASTER_SEND_ID) {
|
|
||||||
// Call to Send Frame DATA Function
|
|
||||||
LIN_DrvSendFrameNonBlocking(u8LinIndex, env->g_aTxBuffer, sizeof(env->g_aTxBuffer));
|
|
||||||
//} else if (pXferState->currentId == LIN_MASTER_RECEIVE_ID) {
|
|
||||||
// LIN_DrvReceiveFrameNonBlocking(u8LinIndex, env->g_aRxBuffer, sizeof(env->g_aRxBuffer));
|
|
||||||
//} else if (pXferState->currentId == LIN_MASTER_GO_TO_SLEEP_ID) {
|
|
||||||
// LIN_DrvGoToSleepMode(u8LinIndex);
|
|
||||||
} else {
|
|
||||||
// Misra check.
|
|
||||||
uint8_t data = LIN_TIMEOUT;
|
|
||||||
osMessageQueuePut(env->rxDataQueue, &data, 0x0, 0U);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case LIN_PID_ERROR:
|
|
||||||
// Go to idle mode
|
|
||||||
LIN_DrvGoToIdleMode(env->UART_INDEX);
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "Receive PID error!\r\n");
|
|
||||||
break;
|
|
||||||
case LIN_TX_COMPLETED:
|
|
||||||
// Go to IDLE state.
|
|
||||||
LIN_DrvGoToIdleMode(env->UART_INDEX);
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "This test case will send data to slave node. Send data: \r\n");
|
|
||||||
// for (s_countIndex = 0U; s_countIndex < sizeof(g_aTxBuffer); s_countIndex++) {
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, " 0x%x ", g_aTxBuffer[s_countIndex]);
|
|
||||||
// }
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "\r\nMaster node send complete! \r\n");
|
|
||||||
break;
|
|
||||||
case LIN_RX_COMPLETED:
|
|
||||||
// Go to idle mode
|
|
||||||
LIN_DrvGoToIdleMode(env->UART_INDEX);
|
|
||||||
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "Master node receive data:\r\n");
|
|
||||||
//for (s_countIndex = 0U; s_countIndex < sizeof(env->g_aRxBuffer); s_countIndex++) {
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, " 0x%x ", g_aRxBuffer[s_countIndex]);
|
|
||||||
//if (env->g_aRxBuffer[s_countIndex] != (env->g_aTxBuffer[s_countIndex] + 1U)) {
|
|
||||||
// s_rxError = true;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//env->g_aRxBuffer[s_countIndex] = 0U;
|
|
||||||
//}
|
|
||||||
|
|
||||||
//if (true == s_rxError) {
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "\r\nReceived data Error\r\n");
|
|
||||||
//} else {
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "\r\nReveiced data matched!\r\n");
|
|
||||||
//}
|
|
||||||
break;
|
|
||||||
case LIN_CHECKSUM_ERROR:
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "Receive checksum byte error!\r\n");
|
|
||||||
break;
|
|
||||||
case LIN_READBACK_ERROR:
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "Read back error!\r\n");
|
|
||||||
break;
|
|
||||||
case LIN_FRAME_ERROR:
|
|
||||||
break;
|
|
||||||
case LIN_RECV_BREAK_FIELD_OK:
|
|
||||||
break;
|
|
||||||
case LIN_WAKEUP_SIGNAL:
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "Wake up signal received!\r\n");
|
|
||||||
LIN_DrvGoToIdleMode(env->UART_INDEX);
|
|
||||||
break;
|
|
||||||
case LIN_TIMEOUT:
|
|
||||||
// FCUART_Printf(DEBUG_FCUART_INSTANCE, "LIN transfer timeout occurred!\r\n");
|
|
||||||
break;
|
|
||||||
case LIN_SYNC_ERROR:
|
|
||||||
break;
|
|
||||||
case LIN_BAUDRATE_ADJUSTED:
|
|
||||||
break;
|
|
||||||
case LIN_NO_EVENT:
|
|
||||||
break;
|
|
||||||
case LIN_SYNC_OK:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// do nothing
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
osMessageQueuePut(env->rxDataQueue, (uint8_t *) &pXferState->currentEventId, 0x0, 0U);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
void LIN_Initial(
|
void LIN_Initial(
|
||||||
tLinFlagchip *env,
|
tLinFlagchip *env,
|
||||||
FCUART_Type *uart,
|
FCUART_Type *uart,
|
||||||
|
|
@ -138,10 +45,12 @@ void LIN_Initial(
|
||||||
LIN_DrvGetDefaultConfig(LIN_NODE_MASTER, &env->g_linMasterConfig);
|
LIN_DrvGetDefaultConfig(LIN_NODE_MASTER, &env->g_linMasterConfig);
|
||||||
env->g_linMasterConfig.baudRate = BoundRate;
|
env->g_linMasterConfig.baudRate = BoundRate;
|
||||||
env->g_linMasterConfig.clockSrcFreq = PCC_GetPccFunctionClock(s_ePccUartTable[UART_INDEX]);
|
env->g_linMasterConfig.clockSrcFreq = PCC_GetPccFunctionClock(s_ePccUartTable[UART_INDEX]);
|
||||||
|
|
||||||
|
|
||||||
env->g_linMasterConfig.getIntervalTimeValueCallback = LIN_TimerGetTimeIntervalValue;
|
env->g_linMasterConfig.getIntervalTimeValueCallback = LIN_TimerGetTimeIntervalValue;
|
||||||
|
|
||||||
env->g_linMasterConfig.numOfClassicPID = numOfClassicPID;
|
env->g_linMasterConfig.numOfClassicPID = numOfClassicPID;
|
||||||
env->g_linMasterConfig.classicPID = classicPID;
|
env->g_linMasterConfig.classicPID = (uint8_t *)classicPID;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -162,11 +71,16 @@ static uint8_t vLinRunCommand(tLinFlagchip *env, uint8_t command, uint32_t timeo
|
||||||
|
|
||||||
LIN_DrvSendHeader(env->UART_INDEX, command);
|
LIN_DrvSendHeader(env->UART_INDEX, command);
|
||||||
|
|
||||||
uint8_t state;
|
lin_event_id_t state;
|
||||||
if (osMessageQueueGet(env->linData.rxDataQueue, &state, NULL, timeout) == osOK) {
|
if (osMessageQueueGet(env->linData.rxDataQueue, &state, NULL, timeout) == osOK) {
|
||||||
|
LIN_DrvGoToIdleMode(env->UART_INDEX);
|
||||||
lin_event_id_t id = state;
|
lin_event_id_t id = state;
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LIN_DrvGoToIdleMode(env->UART_INDEX);
|
||||||
|
// LIN_DrvReceiveFrameBlocking(env->UART_INDEX, env->linData.g_aRxBuffer, env->linData.g_aRxBufferLen, 3000U);
|
||||||
|
|
||||||
return LIN_TIMEOUT;
|
return LIN_TIMEOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue