39 #define IFXMULTICAN_H 1
49 #include "IfxCan_reg.h"
50 #include "IfxCan_bf.h"
225 Ifx_CAN_MO_STAT_Bits
B;
1062 msg->
data[0] = dataLow;
1063 msg->
data[1] = dataHigh;
1089 hwObj->FGPR.U = 0x0000000U;
1121 return ar.B.ID >> ((ar.B.IDE != 0) ? 0 : 18);
1133 return &(mcan->MO[msgObjId]);
1139 return hwObj->AR.B.IDE != 0;
1166 hwObj->AMR.B.AM = mask << ((extendedFrame != 0) ? 0 : 18);
1172 hwObj->FCR.B.BRS = enabled ? 1 : 0;
1178 hwObj->FGPR.B.BOT = objNumber;
1184 hwObj->FGPR.B.CUR = objNumber;
1190 hwObj->FCR.B.DATC = enabled ? 1 : 0;
1196 hwObj->FCR.B.DLC = code;
1202 hwObj->FCR.B.DLCC = enabled ? 1 : 0;
1208 hwObj->FCR.B.FDF = enabled ? 1 : 0;
1214 hwObj->FCR.B.GDFS = enabled ? 1 : 0;
1220 hwObj->FCR.B.IDC = enabled ? 1 : 0;
1226 hwObj->AR.B.IDE = extension;
1232 hwObj->AMR.B.MIDE = matchingId;
1238 hwObj->AR.B.ID = messageId << ((extendedFrame != 0) ? 0 : 18);
1244 hwObj->FCR.B.MMC = mode;
1250 hwObj->IPR.B.MPN = messageNumber;
1256 hwObj->FCR.B.OVIE = enabled ? 1 : 0;
1262 hwObj->AR.B.PRI = priority;
1268 hwObj->FCR.B.RXIE = enabled ? 1 : 0;
1274 hwObj->IPR.B.RXINP = srcId;
1280 hwObj->FCR.B.RMM = enabled ? 1 : 0;
1286 hwObj->FGPR.B.SEL = objNumber;
1292 hwObj->FCR.B.SDT = enabled ? 1 : 0;
1298 hwObj->FCR.B.STT = enabled ? 1 : 0;
1304 hwObj->FGPR.B.TOP = objNumber;
1310 hwObj->FCR.B.TXIE = enabled ? 1 : 0;
1316 hwObj->IPR.B.TXINP = srcId;
1322 hwNode->CR.B.INIT = 0;
1328 hwNode->CR.B.INIT = 1;
1334 hwNode->CR.B.CCE = 0U;
1340 hwNode->CR.B.CCE = 1U;
1346 return &(mcan->N[node]);
1352 hwNode->CR.U = 0x00000041U;
1358 hwNode->ECNT.U = 0x00600000U;
1364 hwNode->IPR.U = 0x00000000U;
1370 hwNode->CR.B.ALIE = enabled ? 1 : 0;
1376 hwNode->IPR.B.ALINP = srcId;
1382 hwNode->CR.B.CALM = mode !=
FALSE;
1388 hwNode->ECNT.B.EWRNLVL = level;
1394 hwNode->CR.B.INIT = 1;
1395 hwNode->CR.B.FDEN = enabled ? 1 : 0;
1396 hwNode->CR.B.INIT = 0;
1402 hwNode->FCR.B.CFCIE = enabled ? 1 : 0;
1408 hwNode->IPR.B.CFCINP = srcId;
1414 hwNode->FCR.B.CFMOD = mode;
1420 hwNode->CR.B.LECIE = enabled ? 1 : 0;
1426 hwNode->IPR.B.LECINP = srcId;
1432 hwNode->PCR.B.LBM = mode !=
FALSE;
1438 hwNode->ECNT.B.REC = value;
1444 hwNode->IPR.B.TEINP = srcId;
1450 hwNode->TDCR.B.TDC = enabled ? 1 : 0;
1456 hwNode->TDCR.B.TDCO = value;
1462 hwNode->CR.B.TRIE = enabled ? 1 : 0;
1468 hwNode->IPR.B.TRINP = srcId;
1474 hwNode->ECNT.B.TEC = value;
1480 mcan->MCR.B.MPSEL = 0x0U;
1486 mcan->MSPND[list].U = 0x0;
1492 mcan->CLC.B.DISR = 1U;
1498 mcan->CLC.B.EDIS = 1U;
1504 mcan->CLC.B.DISR = 0U;
1510 mcan->CLC.B.EDIS = 0U;
1516 return mcan->FDR.B.DM;
1522 return mcan->FDR.B.STEP;
1534 return mcan->CLC.B.DISS == 0;
1540 mcan->FDR.B.DM = mode;
1546 mcan->FDR.B.STEP = stepValue;
1552 mcan->MCR.B.CLKSEL = clockSelect;
1558 mcan->MSIMASK.U = mask;
1566 can->CLC.B.EDIS = mode;
1573 while (mcan->PANCTR.B.BUSY != 0)