diff --git a/CanPorts.c b/CanPorts.c index a572db6..6744c13 100644 --- a/CanPorts.c +++ b/CanPorts.c @@ -115,6 +115,16 @@ const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = { {FLEXCAN_ID_STD, Diag_Functional_CANID, 0xFFF} }; +#define countIdCanSoftFilterCan1 1 +const FilterTo_FLEXCAN_RxMbFilterType IdCanSoftFilterCan1[countIdCanSoftFilterCan1] = { + {FLEXCAN_ID_STD, 0x150, 0}, +}; + +#define countIdCanFilterFifoCan1 1 +const FLEXCAN_RxMbFilterType IdCanFilterFifoCan1[countIdCanFilterFifoCan1] = { + {FLEXCAN_ID_STD, 0, 0} +}; + /* uint32_t data[] = { 0x00000150, // 50 01 00 00 @@ -225,7 +235,7 @@ static void vCanPort_InitCAN1RxTxPin() { tGpioInitStruct.ePinDirection = GPIO_IN; GPIO_InitPins((GPIO_InstanceType) PORT_A, &tGpioInitStruct); - // PortA 13: MUX = ALT3, CAN1_TX + // PortA 13: MUX = ALT4, CAN1_TX tInitStruct.u32PortPins = PORT_PIN_13; tInitStruct.uPortPinMux.u32PortPinMode = PORTA_13_FLEXCAN1_TX; PORT_InitPins(PORT_A, &tInitStruct); @@ -241,7 +251,7 @@ static bool vCanPort_InitCan1() { bool result = vCanSerialPortFrameDMAInit( &CAN_PORTS.Can1, - FLEXCAN0, + FLEXCAN1, 1, // CAN0 = 0 ... CAN3 = 3 FlexCAN1_IRQn, // // FlexCAN0_IRQn ... FlexCAN3_IRQn @@ -250,14 +260,14 @@ static bool vCanPort_InitCan1() { DMA_REQ_FLEXCAN1, - (uint8_t *) &g_aRxDataBufCan0[0], + (uint8_t *) &g_aRxDataBufCan1[0], size_aRxDataBuf, - IdCanSoftFilterCan0, - countIdCanSoftFilterCan0, + NULL, + 0, - IdCanFilterFifoCan0, - countIdCanFilterFifoCan0, + IdCanFilterFifoCan1, + countIdCanFilterFifoCan1, DMA1_IRQn, 0xFF,