X-Git-Url: http://rtime.felk.cvut.cz/gitweb/arc.git/blobdiff_plain/07bbcb79799c461e4dc58be060a0c3e01f466c97..670aeff4a2ae2f7b626e1febbc86528c0fae0959:/boards/ti_tms570ls/examples/tms570_hdk_can/config/Can_Lcfg.c diff --git a/boards/ti_tms570ls/examples/tms570_hdk_can/config/Can_Lcfg.c b/boards/ti_tms570ls/examples/tms570_hdk_can/config/Can_Lcfg.c new file mode 100644 index 00000000..10c48465 --- /dev/null +++ b/boards/ti_tms570ls/examples/tms570_hdk_can/config/Can_Lcfg.c @@ -0,0 +1,126 @@ +/* +* Configuration of module: Can (Can_Lcfg.c) +* +* Created by: +* Copyright: +* +* Configured for (MCU): TMS570 +* +* Module vendor: ArcCore +* Generator version: 2.0.2 +* +* Generated by Arctic Studio (http://arccore.com) +*/ + + +#include +#include "Can.h" +#include "CanIf_Cbk.h" + + +//Can_FilterMaskType Can_FilterMaskConfigData_Controller_1_FilterMask = 0x0; +Can_FilterMaskType Can_FilterMaskConfigData_Controller_1_FilterMask = 0x400007FF; +// Can_FilterMaskType Can_FilterMaskConfigData_FULLMask = 0x1FFFFFFF; + +const Can_HardwareObjectType CanHardwareObjectConfig_Controller_1[] = { + { + .CanObjectId = TxHwObject, + .CanHandleType = CAN_ARC_HANDLE_TYPE_BASIC, + .CanIdType = CAN_ID_TYPE_STANDARD, + .CanObjectType = CAN_OBJECT_TYPE_TRANSMIT, + .CanFilterMaskRef = &Can_FilterMaskConfigData_Controller_1_FilterMask, + + .Can_Arc_MbMask = 0x2, + .Can_Arc_EOL = 1, + }, + { + .CanObjectId = RxHwObject, + .CanHandleType = CAN_ARC_HANDLE_TYPE_BASIC, + .CanIdType = CAN_ID_TYPE_STANDARD, + .CanObjectType = CAN_OBJECT_TYPE_RECEIVE, + .CanFilterMaskRef = &Can_FilterMaskConfigData_Controller_1_FilterMask, + + .Can_Arc_MbMask = 0x1, + .Can_Arc_EOL = 0, + } +}; + +const Can_HardwareObjectType CanHardwareObjectConfig_Controller_2[] = { + { + .CanObjectId = TxHwObject, + .CanHandleType = CAN_ARC_HANDLE_TYPE_BASIC, + .CanIdType = CAN_ID_TYPE_STANDARD, + .CanObjectType = CAN_OBJECT_TYPE_TRANSMIT, + .CanFilterMaskRef = &Can_FilterMaskConfigData_Controller_1_FilterMask, + + .Can_Arc_MbMask = 0x2, + .Can_Arc_EOL = 1, + }, + { + .CanObjectId = RxHwObject, + .CanHandleType = CAN_ARC_HANDLE_TYPE_BASIC, + .CanIdType = CAN_ID_TYPE_STANDARD, + .CanObjectType = CAN_OBJECT_TYPE_RECEIVE, + .CanFilterMaskRef = &Can_FilterMaskConfigData_Controller_1_FilterMask, + + .Can_Arc_MbMask = 0x1, + .Can_Arc_EOL = 0, + } +}; + +const Can_ControllerConfigType CanControllerConfigData[] = +{ + { + .CanControllerActivation = TRUE, + .CanControllerBaudRate = 500, + .CanControllerId = DCAN1, + .CanControllerPropSeg = 5, // for calculation see TMS570LS31x tech.ref.manual pg.1169 + .CanControllerSeg1 = 3, + .CanControllerSeg2 = 3, + .CanBusOffProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanRxProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanTxProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanWakeupProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanCpuClockRef = PERIPHERAL_CLOCK_DCAN1, + .Can_Arc_Hoh = &CanHardwareObjectConfig_Controller_1[0], + .Can_Arc_Loopback = FALSE, + .Can_Arc_Fifo = 0, + }, + { + .CanControllerActivation = TRUE, + .CanControllerBaudRate = 500, + .CanControllerId = DCAN2, + .CanControllerPropSeg = 5, + .CanControllerSeg1 = 3, + .CanControllerSeg2 = 3, + .CanBusOffProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanRxProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanTxProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanWakeupProcessing = CAN_ARC_PROCESS_TYPE_INTERRUPT, + .CanCpuClockRef = PERIPHERAL_CLOCK_DCAN2, + .Can_Arc_Hoh = &CanHardwareObjectConfig_Controller_2[1], + .Can_Arc_Loopback = FALSE, + .Can_Arc_Fifo = 0, + } +}; + +const Can_CallbackType CanCallbackConfigData = { + NULL, //CanIf_CancelTxConfirmation, + CanIf_RxIndication, + CanIf_ControllerBusOff, + CanIf_TxConfirmation, + NULL, //CanIf_ControllerWakeup, + CanIf_Arc_Error, +}; + +const Can_ConfigSetType CanConfigSetData = +{ + .CanController = CanControllerConfigData, + .CanCallbacks = &CanCallbackConfigData, +}; + +const Can_ConfigType CanConfigData = { + .CanConfigSet = &CanConfigSetData, +}; + +// TODO: defines mailboxes?? (example MPC551x)