39 #define IFXMULTICAN_H 1
49 #include "IfxCan_reg.h"
50 #include "IfxCan_bf.h"
226 Ifx_CAN_MO_STAT_Bits
B;
1063 msg->
data[0] = dataLow;
1064 msg->
data[1] = dataHigh;
1090 hwObj->FGPR.U = 0x0000000U;
1122 return ar.B.ID >> ((ar.B.IDE != 0) ? 0 : 18);
1134 return &(mcan->MO[msgObjId]);
1140 return hwObj->AR.B.IDE != 0;
1167 hwObj->AMR.B.AM = mask << ((extendedFrame != 0) ? 0 : 18);
1173 hwObj->FCR.B.BRS = enabled ? 1 : 0;
1179 hwObj->FGPR.B.BOT = objNumber;
1185 hwObj->FGPR.B.CUR = objNumber;
1191 hwObj->FCR.B.DATC = enabled ? 1 : 0;
1197 hwObj->FCR.B.DLC = code;
1203 hwObj->FCR.B.DLCC = enabled ? 1 : 0;
1209 hwObj->FCR.B.FDF = enabled ? 1 : 0;
1215 hwObj->FCR.B.GDFS = enabled ? 1 : 0;
1221 hwObj->FCR.B.IDC = enabled ? 1 : 0;
1227 hwObj->AR.B.IDE = extension;
1233 hwObj->AMR.B.MIDE = matchingId;
1239 hwObj->AR.B.ID = messageId << ((extendedFrame != 0) ? 0 : 18);
1245 hwObj->FCR.B.MMC = mode;
1251 hwObj->IPR.B.MPN = messageNumber;
1257 hwObj->FCR.B.OVIE = enabled ? 1 : 0;
1263 hwObj->AR.B.PRI = priority;
1269 hwObj->FCR.B.RXIE = enabled ? 1 : 0;
1275 hwObj->IPR.B.RXINP = srcId;
1281 hwObj->FCR.B.RMM = enabled ? 1 : 0;
1287 hwObj->FGPR.B.SEL = objNumber;
1293 hwObj->FCR.B.SDT = enabled ? 1 : 0;
1299 hwObj->FCR.B.STT = enabled ? 1 : 0;
1305 hwObj->FGPR.B.TOP = objNumber;
1311 hwObj->FCR.B.TXIE = enabled ? 1 : 0;
1317 hwObj->IPR.B.TXINP = srcId;
1323 hwNode->CR.B.INIT = 0;
1329 hwNode->CR.B.INIT = 1;
1335 hwNode->CR.B.CCE = 0U;
1341 hwNode->CR.B.CCE = 1U;
1347 return &(mcan->N[node]);
1353 hwNode->CR.U = 0x00000041U;
1359 hwNode->ECNT.U = 0x00600000U;
1365 hwNode->IPR.U = 0x00000000U;
1371 hwNode->CR.B.ALIE = enabled ? 1 : 0;
1377 hwNode->IPR.B.ALINP = srcId;
1383 hwNode->CR.B.CALM = mode !=
FALSE;
1389 hwNode->ECNT.B.EWRNLVL = level;
1395 hwNode->CR.B.INIT = 1;
1396 hwNode->CR.B.FDEN = enabled ? 1 : 0;
1397 hwNode->CR.B.INIT = 0;
1403 hwNode->FCR.B.CFCIE = enabled ? 1 : 0;
1409 hwNode->IPR.B.CFCINP = srcId;
1415 hwNode->FCR.B.CFMOD = mode;
1421 hwNode->CR.B.LECIE = enabled ? 1 : 0;
1427 hwNode->IPR.B.LECINP = srcId;
1433 hwNode->PCR.B.LBM = mode !=
FALSE;
1439 hwNode->ECNT.B.REC = value;
1445 hwNode->IPR.B.TEINP = srcId;
1451 hwNode->TDCR.B.TDC = enabled ? 1 : 0;
1457 hwNode->TDCR.B.TDCO = value;
1463 hwNode->CR.B.TRIE = enabled ? 1 : 0;
1469 hwNode->IPR.B.TRINP = srcId;
1475 hwNode->ECNT.B.TEC = value;
1481 mcan->MCR.B.MPSEL = 0x0U;
1487 mcan->MSPND[list].U = 0x0;
1493 mcan->CLC.B.DISR = 1U;
1499 mcan->CLC.B.EDIS = 1U;
1505 mcan->CLC.B.DISR = 0U;
1511 mcan->CLC.B.EDIS = 0U;
1517 return mcan->FDR.B.DM;
1523 return mcan->FDR.B.STEP;
1535 return mcan->CLC.B.DISS == 0;
1541 mcan->FDR.B.DM = mode;
1547 mcan->FDR.B.STEP = stepValue;
1553 mcan->MCR.B.CLKSEL = clockSelect;
1559 mcan->MSIMASK.U = mask;
1567 can->CLC.B.EDIS = mode;
1574 while (mcan->PANCTR.B.BUSY != 0)