39 #define IFXMULTICAN_H 1
49 #include "IfxCan_reg.h"
50 #include "IfxCan_bf.h"
218 Ifx_CAN_MO_STAT_Bits
B;
967 msg->
data[0] = dataLow;
968 msg->
data[1] = dataHigh;
982 hwObj->FGPR.U = 0x0000000U;
1014 return ar.B.ID >> ((ar.B.IDE != 0) ? 0 : 18);
1026 return &(mcan->MO[msgObjId]);
1032 return hwObj->AR.B.IDE != 0;
1059 hwObj->AMR.B.AM = mask << ((extendedFrame != 0) ? 0 : 18);
1065 hwObj->FGPR.B.BOT = objNumber;
1071 hwObj->FGPR.B.CUR = objNumber;
1077 hwObj->FCR.B.DATC = enabled ? 1 : 0;
1083 hwObj->FCR.B.DLC = code;
1089 hwObj->FCR.B.DLCC = enabled ? 1 : 0;
1095 hwObj->FCR.B.GDFS = enabled ? 1 : 0;
1101 hwObj->FCR.B.IDC = enabled ? 1 : 0;
1107 hwObj->AR.B.IDE = extension;
1113 hwObj->AMR.B.MIDE = matchingId;
1119 hwObj->AR.B.ID = messageId << ((extendedFrame != 0) ? 0 : 18);
1125 hwObj->FCR.B.MMC = mode;
1131 hwObj->IPR.B.MPN = messageNumber;
1137 hwObj->FCR.B.OVIE = enabled ? 1 : 0;
1143 hwObj->AR.B.PRI = priority;
1149 hwObj->FCR.B.RXIE = enabled ? 1 : 0;
1155 hwObj->IPR.B.RXINP = srcId;
1161 hwObj->FCR.B.RMM = enabled ? 1 : 0;
1167 hwObj->FGPR.B.SEL = objNumber;
1173 hwObj->FCR.B.SDT = enabled ? 1 : 0;
1179 hwObj->FCR.B.STT = enabled ? 1 : 0;
1185 hwObj->FGPR.B.TOP = objNumber;
1191 hwObj->FCR.B.TXIE = enabled ? 1 : 0;
1197 hwObj->IPR.B.TXINP = srcId;
1203 hwNode->CR.B.INIT = 0;
1209 hwNode->CR.B.INIT = 1;
1215 hwNode->CR.B.CCE = 0U;
1221 hwNode->CR.B.CCE = 1U;
1227 return &(mcan->N[node]);
1233 hwNode->CR.U = 0x00000041U;
1239 hwNode->ECNT.U = 0x00600000U;
1245 hwNode->IPR.U = 0x00000000U;
1251 hwNode->CR.B.ALIE = enabled ? 1 : 0;
1257 hwNode->IPR.B.ALINP = srcId;
1263 hwNode->CR.B.CALM = mode !=
FALSE;
1269 hwNode->ECNT.B.EWRNLVL = level;
1275 hwNode->FCR.B.CFCIE = enabled ? 1 : 0;
1281 hwNode->IPR.B.CFCINP = srcId;
1287 hwNode->FCR.B.CFMOD = mode;
1293 hwNode->CR.B.LECIE = enabled ? 1 : 0;
1299 hwNode->IPR.B.LECINP = srcId;
1305 hwNode->PCR.B.LBM = mode !=
FALSE;
1311 hwNode->ECNT.B.REC = value;
1317 hwNode->IPR.B.TEINP = srcId;
1323 hwNode->CR.B.TRIE = enabled ? 1 : 0;
1329 hwNode->IPR.B.TRINP = srcId;
1335 hwNode->ECNT.B.TEC = value;
1341 mcan->MCR.B.MPSEL = 0x0U;
1347 mcan->MSPND[list].U = 0x0;
1353 mcan->CLC.B.DISR = 1U;
1359 mcan->CLC.B.EDIS = 1U;
1365 mcan->CLC.B.DISR = 0U;
1371 mcan->CLC.B.EDIS = 0U;
1377 return mcan->FDR.B.DM;
1383 return mcan->FDR.B.STEP;
1395 return mcan->CLC.B.DISS == 0;
1401 mcan->FDR.B.DM = mode;
1407 mcan->FDR.B.STEP = stepValue;
1413 mcan->MCR.B.CLKSEL = clockSelect;
1419 mcan->MSIMASK.U = mask;
1427 can->CLC.B.EDIS = mode;
1434 while (mcan->PANCTR.B.BUSY != 0)