Обновление
This commit is contained in:
parent
6ce97a410c
commit
ecf5813de9
150
CanPorts.c
150
CanPorts.c
|
|
@ -40,6 +40,10 @@ static void CAN0_RxInterrupt_CallBack(uint8_t u8CanIndex, FLEXCAN_RxMsgType *pRx
|
||||||
CanSerialPortFrameIrqRxProcessingNO_DMA(CAN_PORTS.Can0_IO.env, pRxCfg);
|
CanSerialPortFrameIrqRxProcessingNO_DMA(CAN_PORTS.Can0_IO.env, pRxCfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void CAN0_RxFifoInterrupt_CallBack(uint8_t u8CanIndex, FLEXCAN_RxMsgType *pRxCfg) {
|
||||||
|
CanSerialPortFrameIrqRxProcessingNO_DMA(CAN_PORTS.Can0_IO.env, pRxCfg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//static void DMA_ErrorCallback(void) {
|
//static void DMA_ErrorCallback(void) {
|
||||||
|
|
@ -82,61 +86,99 @@ static void vCanPort_InitCAN0RxTxPin() {
|
||||||
GPIO_InitPins(GPIO_C, &tGpioInitStruct);
|
GPIO_InitPins(GPIO_C, &tGpioInitStruct);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define countIdCanSoftFilterCan0 31
|
#define countIdCanHardSoftFilterCan0 31
|
||||||
const FilterTo_FLEXCAN_RxMbFilterType IdCanSoftFilterCan0[countIdCanSoftFilterCan0] = {
|
const FilterTo_FLEXCAN_RxMbFilterType IdCanHardSoftFilterCan0[countIdCanHardSoftFilterCan0] = {
|
||||||
{FLEXCAN_ID_STD, EMS_Veh_CANID, 0},
|
{FLEXCAN_ID_STD, EMS_Veh_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, BCM_Powertrain_CANID, 0},
|
{FLEXCAN_ID_STD, BCM_Powertrain_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, EMS_Veh_02_CANID, 0},
|
{FLEXCAN_ID_STD, EMS_Veh_02_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, BCM_EEM_CANID, 0},
|
{FLEXCAN_ID_STD, BCM_EEM_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, DMFR_Msg1_CANID, 0},
|
{FLEXCAN_ID_STD, DMFR_Msg1_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, DMFL_Msg1_CANID, 0},
|
{FLEXCAN_ID_STD, DMFL_Msg1_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, TM_Stat_CANID, 0},
|
{FLEXCAN_ID_STD, TM_Stat_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, TM_CP_CANID, 0},
|
{FLEXCAN_ID_STD, TM_CP_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, HVC_CCU_Status_Msg_CANID, 0},
|
{FLEXCAN_ID_STD, HVC_CCU_Status_Msg_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, BCM_VEH_STATE_CANID, 0},
|
{FLEXCAN_ID_STD, BCM_VEH_STATE_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, EMS_HVC_Req_Msg_CANID, 0},
|
{FLEXCAN_ID_STD, EMS_HVC_Req_Msg_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, HVC_Err_Status_Msg_CANID, 0},
|
{FLEXCAN_ID_STD, HVC_Err_Status_Msg_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, BCM_CLIMATIC_DATA_CANID, 0},
|
{FLEXCAN_ID_STD, BCM_CLIMATIC_DATA_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, VCU_CCU_Req_CANID, 0},
|
{FLEXCAN_ID_STD, VCU_CCU_Req_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, ESC_08_CANID, 0},
|
{FLEXCAN_ID_STD, ESC_08_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, SMFL_status_CANID, 0},
|
{FLEXCAN_ID_STD, SMFL_status_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, SMFR_status_CANID, 0},
|
{FLEXCAN_ID_STD, SMFR_status_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, SMRL_status_CANID, 0},
|
{FLEXCAN_ID_STD, SMRL_status_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, SMRR_status_CANID, 0},
|
{FLEXCAN_ID_STD, SMRR_status_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, SDM_Cmd_CANID, 0},
|
{FLEXCAN_ID_STD, SDM_Cmd_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, VEH_VIN_CANID, 0},
|
{FLEXCAN_ID_STD, VEH_VIN_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, OCUFL_MSG_CANID, 0},
|
{FLEXCAN_ID_STD, OCUFL_MSG_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, OCUFR_MSG_CANID, 0},
|
{FLEXCAN_ID_STD, OCUFR_MSG_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, OCURL_MSG_CANID, 0},
|
{FLEXCAN_ID_STD, OCURL_MSG_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, OCURR_MSG_CANID, 0},
|
{FLEXCAN_ID_STD, OCURR_MSG_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, DW_STATE_CANID, 0},
|
{FLEXCAN_ID_STD, DW_STATE_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, FIU_CCU1_CANID, 0},
|
{FLEXCAN_ID_STD, FIU_CCU1_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, FIU_CCU2_CANID, 0},
|
{FLEXCAN_ID_STD, FIU_CCU2_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, FIU_CCU3_CANID, 0},
|
{FLEXCAN_ID_STD, FIU_CCU3_CANID, 0x7FF, 0},
|
||||||
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, PROTOCOL_CAN_UDS},
|
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0x7FF, PROTOCOL_CAN_UDS},
|
||||||
{FLEXCAN_ID_STD, Diag_Functional_CANID, PROTOCOL_CAN_UDS},
|
{FLEXCAN_ID_STD, Diag_Functional_CANID, 0x7FF, PROTOCOL_CAN_UDS}
|
||||||
};
|
};
|
||||||
|
/*
|
||||||
#define countIdCanFilterFifoCan0 7
|
#define countIdCanFilterFifoCan0 7
|
||||||
const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = {
|
const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = {
|
||||||
{FLEXCAN_ID_STD, 0x100, 0xFFF},
|
{FLEXCAN_ID_STD, 0x100, 0x7FF},
|
||||||
{FLEXCAN_ID_STD, 0x200, 0xFFF},
|
{FLEXCAN_ID_STD, 0x200, 0x7FF},
|
||||||
{FLEXCAN_ID_STD, 0x300, 0xFFF},
|
{FLEXCAN_ID_STD, 0x300, 0x7FF},
|
||||||
{FLEXCAN_ID_STD, 0x400, 0xFFF},
|
{FLEXCAN_ID_STD, 0x400, 0x7FF},
|
||||||
{FLEXCAN_ID_STD, 0x500, 0xFFF},
|
{FLEXCAN_ID_STD, 0x500, 0x7FF},
|
||||||
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0xFFF},
|
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0x7FF},
|
||||||
{FLEXCAN_ID_STD, Diag_Functional_CANID, 0xFFF}
|
{FLEXCAN_ID_STD, Diag_Functional_CANID, 0x7FF}
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
#define countIdCanSoftFilterCan1 1
|
/*
|
||||||
const FilterTo_FLEXCAN_RxMbFilterType IdCanSoftFilterCan1[countIdCanSoftFilterCan1] = {
|
#define countIdCanFilterFifoCan0 31
|
||||||
|
const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = {
|
||||||
|
{FLEXCAN_ID_STD, EMS_Veh_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, BCM_Powertrain_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, EMS_Veh_02_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, BCM_EEM_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, DMFR_Msg1_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, DMFL_Msg1_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, TM_Stat_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, TM_CP_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, HVC_CCU_Status_Msg_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, BCM_VEH_STATE_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, EMS_HVC_Req_Msg_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, HVC_Err_Status_Msg_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, BCM_CLIMATIC_DATA_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, VCU_CCU_Req_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, ESC_08_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, SMFL_status_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, SMFR_status_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, SMRL_status_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, SMRR_status_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, SDM_Cmd_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, VEH_VIN_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, OCUFL_MSG_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, OCUFR_MSG_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, OCURL_MSG_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, OCURR_MSG_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, DW_STATE_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, FIU_CCU1_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, FIU_CCU2_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, FIU_CCU3_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0x7FF},
|
||||||
|
{FLEXCAN_ID_STD, Diag_Functional_CANID, 0x7FF}
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
#define countIdCanHardSoftFilterCan1 1
|
||||||
|
const FilterTo_FLEXCAN_RxMbFilterType IdCanHardSoftFilterCan1[countIdCanHardSoftFilterCan1] = {
|
||||||
{FLEXCAN_ID_STD, XCP_CCU_RX_CANID, PROTOCOL_CAN_XCP}
|
{FLEXCAN_ID_STD, XCP_CCU_RX_CANID, PROTOCOL_CAN_XCP}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
#define countIdCanFilterFifoCan1 1
|
#define countIdCanFilterFifoCan1 1
|
||||||
const FLEXCAN_RxMbFilterType IdCanFilterFifoCan1[countIdCanFilterFifoCan1] = {
|
const FLEXCAN_RxMbFilterType IdCanFilterFifoCan1[countIdCanFilterFifoCan1] = {
|
||||||
{FLEXCAN_ID_STD, 0, 0}
|
{FLEXCAN_ID_STD, 0, 0}
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
uint32_t data[] = {
|
uint32_t data[] = {
|
||||||
|
|
@ -198,11 +240,13 @@ static bool vCanPort_InitCan0() {
|
||||||
(uint8_t *) &g_aRxDataBufCan0[0],
|
(uint8_t *) &g_aRxDataBufCan0[0],
|
||||||
size_aRxDataBuf,
|
size_aRxDataBuf,
|
||||||
|
|
||||||
IdCanSoftFilterCan0,
|
IdCanHardSoftFilterCan0,
|
||||||
countIdCanSoftFilterCan0,
|
countIdCanHardSoftFilterCan0,
|
||||||
|
|
||||||
IdCanFilterFifoCan0,
|
// IdCanSoftFilterCan0,
|
||||||
countIdCanFilterFifoCan0,
|
// countIdCanSoftFilterCan0,
|
||||||
|
// IdCanFilterFifoCan0,
|
||||||
|
// countIdCanFilterFifoCan0,
|
||||||
|
|
||||||
DMA0_IRQn,
|
DMA0_IRQn,
|
||||||
0xFF,
|
0xFF,
|
||||||
|
|
@ -212,8 +256,8 @@ static bool vCanPort_InitCan0() {
|
||||||
FLEXCAN_ID_STD,
|
FLEXCAN_ID_STD,
|
||||||
0x55,
|
0x55,
|
||||||
CAN0_ErrorInterrupt_CallBack,
|
CAN0_ErrorInterrupt_CallBack,
|
||||||
NULL,
|
|
||||||
CAN0_RxInterrupt_CallBack,
|
CAN0_RxInterrupt_CallBack,
|
||||||
|
CAN0_RxFifoInterrupt_CallBack,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
||||||
DMA_TransferCompleteCallbackCan0,
|
DMA_TransferCompleteCallbackCan0,
|
||||||
|
|
@ -277,11 +321,11 @@ static bool vCanPort_InitCan1() {
|
||||||
(uint8_t *) &g_aRxDataBufCan1[0],
|
(uint8_t *) &g_aRxDataBufCan1[0],
|
||||||
size_aRxDataBuf,
|
size_aRxDataBuf,
|
||||||
|
|
||||||
IdCanSoftFilterCan1,
|
IdCanHardSoftFilterCan1,
|
||||||
countIdCanSoftFilterCan1,
|
countIdCanHardSoftFilterCan1,
|
||||||
|
|
||||||
IdCanFilterFifoCan1,
|
// IdCanFilterFifoCan1,
|
||||||
countIdCanFilterFifoCan1,
|
// countIdCanFilterFifoCan1,
|
||||||
|
|
||||||
|
|
||||||
DMA1_IRQn,
|
DMA1_IRQn,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue