diff --git a/CanPorts.c b/CanPorts.c index 3519fbc..a572db6 100644 --- a/CanPorts.c +++ b/CanPorts.c @@ -7,6 +7,9 @@ #include "fc7xxx_driver_gpio.h" #include "candb.h" +#define LOG_SIGN "INIT" +#define LOGGER logger + tCanPorts CAN_PORTS; typedef struct { @@ -67,7 +70,7 @@ static void vCanPort_InitCAN0RxTxPin() { #define countIdCanSoftFilterCan0 31 const FilterTo_FLEXCAN_RxMbFilterType IdCanSoftFilterCan0[countIdCanSoftFilterCan0] = { - {FLEXCAN_ID_STD, EMS_Veh_CANID, PROTOCOL_CAN_XCP}, + {FLEXCAN_ID_STD, EMS_Veh_CANID, PROTOCOL_CAN_XCP}, {FLEXCAN_ID_STD, BCM_Powertrain_CANID, 0}, {FLEXCAN_ID_STD, EMS_Veh_02_CANID, 0}, {FLEXCAN_ID_STD, BCM_EEM_CANID, 0}, @@ -96,8 +99,8 @@ const FilterTo_FLEXCAN_RxMbFilterType IdCanSoftFilterCan0[countIdCanSoftFilterCa {FLEXCAN_ID_STD, FIU_CCU1_CANID, 0}, {FLEXCAN_ID_STD, FIU_CCU2_CANID, 0}, {FLEXCAN_ID_STD, FIU_CCU3_CANID, 0}, - {FLEXCAN_ID_STD, Diag_To_CCU_CANID, PROTOCOL_CAN_UDS}, - {FLEXCAN_ID_STD, Diag_Functional_CANID, PROTOCOL_CAN_UDS}, + {FLEXCAN_ID_STD, Diag_To_CCU_CANID, PROTOCOL_CAN_UDS}, + {FLEXCAN_ID_STD, Diag_Functional_CANID, PROTOCOL_CAN_UDS}, }; #define countIdCanFilterFifoCan0 8 @@ -107,7 +110,7 @@ const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = { {FLEXCAN_ID_STD, 0x280, 0x7E0}, {FLEXCAN_ID_STD, 0x300, 0x700}, {FLEXCAN_ID_STD, 0x4D0, 0x7F0}, - {FLEXCAN_ID_STD, 0x500, 0x700}, + {FLEXCAN_ID_STD, 0x500, 0x700}, {FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0xFFF}, {FLEXCAN_ID_STD, Diag_Functional_CANID, 0xFFF} }; @@ -146,7 +149,7 @@ const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = { }; */ -static void vCanPort_InitCan0() { +static bool vCanPort_InitCan0() { vCanPort_InitCAN0RxTxPin(); /* @@ -157,7 +160,7 @@ static void vCanPort_InitCan0() { mask |= z[i]; } */ - vCanSerialPortFrameDMAInit( + bool result = vCanSerialPortFrameDMAInit( &CAN_PORTS.Can0, FLEXCAN0, @@ -194,6 +197,7 @@ static void vCanPort_InitCan0() { NULL ); + return result; } @@ -231,10 +235,10 @@ static void vCanPort_InitCAN1RxTxPin() { GPIO_InitPins(GPIO_A, &tGpioInitStruct); } -static void vCanPort_InitCan1() { +static bool vCanPort_InitCan1() { vCanPort_InitCAN1RxTxPin(); - vCanSerialPortFrameDMAInit( + bool result = vCanSerialPortFrameDMAInit( &CAN_PORTS.Can1, FLEXCAN0, @@ -271,16 +275,27 @@ static void vCanPort_InitCan1() { NULL ); + return result; } -void CanPorts_Init() { +void CanPorts_Init(tLoggerInterface *logger) { CAN_PORTS.Can0.reInit = false; - vCanPort_InitCan0(); + bool result = vCanPort_InitCan0(); + if (result) { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Initialization CAN0 - OK") + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Initialization CAN0 - ERROR") + } CAN_PORTS.Can0_IO = CanPortFrame_GetIo(&CAN_PORTS.Can0); CAN_PORTS.Can1.reInit = false; - vCanPort_InitCan1(); + result = vCanPort_InitCan1(); + if (result) { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Initialization CAN1 - OK") + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Initialization CAN1 - ERROR") + } CAN_PORTS.Can1_IO = CanPortFrame_GetIo(&CAN_PORTS.Can1); } diff --git a/CanPorts.h b/CanPorts.h index 202a9bb..508426a 100644 --- a/CanPorts.h +++ b/CanPorts.h @@ -6,6 +6,7 @@ #define SMART_COMPONENTS_CANPORTS_H #include "CanSerialPortFrame.h" +#include "LoggerInterface.h" #define PROTOCOL_CAN_RAW 0 @@ -27,6 +28,6 @@ typedef struct { extern tCanPorts CAN_PORTS; -void CanPorts_Init(); +void CanPorts_Init(tLoggerInterface *logger); #endif //SMART_COMPONENTS_CANPORTS_H