]> rtime.felk.cvut.cz Git - arc.git/blob - boards/ti_tms570ls/examples/tms570_hdk_can/config/Can_Lcfg.c
Added DCAN2 for the CAN communication example (not working)
[arc.git] / boards / ti_tms570ls / examples / tms570_hdk_can / config / Can_Lcfg.c
1 /*\r
2 * Configuration of module: Can (Can_Lcfg.c)\r
3 *\r
4 * Created by:\r
5 * Copyright:\r
6 *\r
7 * Configured for (MCU):    TMS570\r
8 *\r
9 * Module vendor:           ArcCore\r
10 * Generator version:       2.0.2\r
11 *\r
12 * Generated by Arctic Studio (http://arccore.com)\r
13 */\r
14 \r
15 \r
16 #include <stdlib.h>\r
17 #include "Can.h"\r
18 #include "CanIf_Cbk.h"\r
19 \r
20 \r
21 //Can_FilterMaskType Can_FilterMaskConfigData_Controller_1_FilterMask = 0x0;\r
22 Can_FilterMaskType Can_FilterMaskConfigData_Controller_FilterMask = 0x000007FF;\r
23 // Can_FilterMaskType Can_FilterMaskConfigData_FULLMask = 0x1FFFFFFF;\r
24 \r
25 const Can_HardwareObjectType CanHardwareObjectConfig_Controller_1[] = {\r
26 /*      {\r
27                 .CanObjectId =          RxHwObject,\r
28                 .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,\r
29                 .CanIdType =            CAN_ID_TYPE_EXTENDED,           // re-defined from CAN_ID_TYPE_STANDARD\r
30                 .CanIdValue =           0x00000001,\r
31                 .CanObjectType =        CAN_OBJECT_TYPE_RECEIVE,\r
32                 .CanFilterMaskRef =     &Can_FilterMaskConfigData_Controller_FilterMask,\r
33 \r
34                 .Can_Arc_MbMask =       0x1,\r
35                 .Can_Arc_EOL =          0,\r
36         },*/\r
37         {\r
38                 .CanObjectId =          TxHwObject,\r
39                 .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,\r
40                 .CanIdType =            CAN_ID_TYPE_EXTENDED,\r
41                 .CanIdValue =           0x00000001,\r
42                 .CanObjectType =        CAN_OBJECT_TYPE_TRANSMIT,\r
43                 .CanFilterMaskRef =     &Can_FilterMaskConfigData_Controller_FilterMask,\r
44 \r
45                 .Can_Arc_MbMask =       0x1,\r
46                 .Can_Arc_EOL =          1,\r
47         }\r
48 };\r
49 \r
50 const Can_HardwareObjectType CanHardwareObjectConfig_Controller_2[] = {\r
51         {\r
52                 .CanObjectId =          RxHwObject,\r
53                 .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,\r
54                 .CanIdType =            CAN_ID_TYPE_EXTENDED,\r
55                 .CanIdValue =           0x00000001,\r
56                 .CanObjectType =        CAN_OBJECT_TYPE_RECEIVE,\r
57                 .CanFilterMaskRef =     &Can_FilterMaskConfigData_Controller_FilterMask,\r
58 \r
59                 .Can_Arc_MbMask =       0x1,\r
60                 .Can_Arc_EOL =          0,\r
61         },\r
62 /*      {\r
63                 .CanObjectId =          TxHwObject,\r
64                 .CanHandleType =        CAN_ARC_HANDLE_TYPE_BASIC,\r
65                 .CanIdType =            CAN_ID_TYPE_EXTENDED,\r
66                 .CanIdValue =           0x00000001,\r
67                 .CanObjectType =        CAN_OBJECT_TYPE_TRANSMIT,\r
68                 .CanFilterMaskRef =     &Can_FilterMaskConfigData_Controller_FilterMask,\r
69 \r
70                 .Can_Arc_MbMask =       0x2,\r
71                 .Can_Arc_EOL =          1,\r
72         }*/\r
73 };\r
74 \r
75 const Can_ControllerConfigType CanControllerConfigData[] =\r
76 {\r
77   {\r
78     .CanControllerActivation =  TRUE,\r
79     .CanControllerBaudRate =    500,\r
80     .CanControllerId =                  DCAN1,\r
81     .CanControllerPropSeg =             5,              // for calculation see  TMS570LS31x tech.ref.manual pg.1169\r
82     .CanControllerSeg1 =                3,\r
83     .CanControllerSeg2 =                3,\r
84     .CanBusOffProcessing =              CAN_ARC_PROCESS_TYPE_INTERRUPT, // try to switch all to: CAN_ARC_PROCESS_TYPE_POLLING\r
85     .CanRxProcessing =                  CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
86     .CanTxProcessing =                  CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
87     .CanWakeupProcessing =              CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
88     .CanCpuClockRef =                   PERIPHERAL_CLOCK_DCAN1,\r
89     .Can_Arc_Hoh =                              &CanHardwareObjectConfig_Controller_1[0],\r
90     .Can_Arc_Loopback =                 FALSE,  // 0\r
91     .Can_Arc_Fifo =                             0,\r
92   },\r
93   {\r
94     .CanControllerActivation =  TRUE,\r
95     .CanControllerBaudRate =    500,\r
96     .CanControllerId =                  DCAN2,\r
97     .CanControllerPropSeg =             5,\r
98     .CanControllerSeg1 =                3,\r
99     .CanControllerSeg2 =                3,\r
100     .CanBusOffProcessing =              CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
101     .CanRxProcessing =                  CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
102     .CanTxProcessing =                  CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
103     .CanWakeupProcessing =              CAN_ARC_PROCESS_TYPE_INTERRUPT,\r
104     .CanCpuClockRef =                   PERIPHERAL_CLOCK_DCAN2,\r
105     .Can_Arc_Hoh =                              &CanHardwareObjectConfig_Controller_2[0],\r
106     .Can_Arc_Loopback =                 FALSE,  // 0\r
107     .Can_Arc_Fifo =                             0,\r
108   }\r
109 };\r
110 \r
111 const Can_CallbackType CanCallbackConfigData = {\r
112     NULL, //CanIf_CancelTxConfirmation,\r
113     CanIf_RxIndication,\r
114     CanIf_ControllerBusOff,\r
115     CanIf_TxConfirmation,\r
116     NULL, //CanIf_ControllerWakeup,\r
117     CanIf_Arc_Error,\r
118 };\r
119 \r
120 const Can_ConfigSetType CanConfigSetData =\r
121 {\r
122   .CanController =      CanControllerConfigData,\r
123   .CanCallbacks =       &CanCallbackConfigData,\r
124 };\r
125 \r
126 const Can_ConfigType CanConfigData = {\r
127   .CanConfigSet =       &CanConfigSetData,\r
128 };\r
129 \r
130 // TODO: defines mailboxes?? (example MPC551x)\r