16#define Nop() asm("nop")
21#define SPI_DEFAULT_BUFFER_LENGTH 96
24#define spi_readwrite pSPI->transfer
25#define spi_read() spi_readwrite(0x00)
26#define spi_write(spi_val) spi_readwrite(spi_val)
28 pSPI->beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE0))
29#define SPI_END() pSPI->endTransaction();
40 0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, 0x10, 0x90, 0x50, 0xD0,
41 0x30, 0xB0, 0x70, 0xF0, 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
42 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, 0x04, 0x84, 0x44, 0xC4,
43 0x24, 0xA4, 0x64, 0xE4, 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4,
44 0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC, 0x1C, 0x9C, 0x5C, 0xDC,
45 0x3C, 0xBC, 0x7C, 0xFC, 0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2,
46 0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2, 0x0A, 0x8A, 0x4A, 0xCA,
47 0x2A, 0xAA, 0x6A, 0xEA, 0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA,
48 0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6, 0x16, 0x96, 0x56, 0xD6,
49 0x36, 0xB6, 0x76, 0xF6, 0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE,
50 0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE, 0x01, 0x81, 0x41, 0xC1,
51 0x21, 0xA1, 0x61, 0xE1, 0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1,
52 0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9, 0x19, 0x99, 0x59, 0xD9,
53 0x39, 0xB9, 0x79, 0xF9, 0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5,
54 0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5, 0x0D, 0x8D, 0x4D, 0xCD,
55 0x2D, 0xAD, 0x6D, 0xED, 0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD,
56 0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3, 0x13, 0x93, 0x53, 0xD3,
57 0x33, 0xB3, 0x73, 0xF3, 0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB,
58 0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB, 0x07, 0x87, 0x47, 0xC7,
59 0x27, 0xA7, 0x67, 0xE7, 0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
60 0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, 0x1F, 0x9F, 0x5F, 0xDF,
61 0x3F, 0xBF, 0x7F, 0xFF};
65 0x0000, 0x8005, 0x800F, 0x000A, 0x801B, 0x001E, 0x0014, 0x8011, 0x8033,
66 0x0036, 0x003C, 0x8039, 0x0028, 0x802D, 0x8027, 0x0022, 0x8063, 0x0066,
67 0x006C, 0x8069, 0x0078, 0x807D, 0x8077, 0x0072, 0x0050, 0x8055, 0x805F,
68 0x005A, 0x804B, 0x004E, 0x0044, 0x8041, 0x80C3, 0x00C6, 0x00CC, 0x80C9,
69 0x00D8, 0x80DD, 0x80D7, 0x00D2, 0x00F0, 0x80F5, 0x80FF, 0x00FA, 0x80EB,
70 0x00EE, 0x00E4, 0x80E1, 0x00A0, 0x80A5, 0x80AF, 0x00AA, 0x80BB, 0x00BE,
71 0x00B4, 0x80B1, 0x8093, 0x0096, 0x009C, 0x8099, 0x0088, 0x808D, 0x8087,
72 0x0082, 0x8183, 0x0186, 0x018C, 0x8189, 0x0198, 0x819D, 0x8197, 0x0192,
73 0x01B0, 0x81B5, 0x81BF, 0x01BA, 0x81AB, 0x01AE, 0x01A4, 0x81A1, 0x01E0,
74 0x81E5, 0x81EF, 0x01EA, 0x81FB, 0x01FE, 0x01F4, 0x81F1, 0x81D3, 0x01D6,
75 0x01DC, 0x81D9, 0x01C8, 0x81CD, 0x81C7, 0x01C2, 0x0140, 0x8145, 0x814F,
76 0x014A, 0x815B, 0x015E, 0x0154, 0x8151, 0x8173, 0x0176, 0x017C, 0x8179,
77 0x0168, 0x816D, 0x8167, 0x0162, 0x8123, 0x0126, 0x012C, 0x8129, 0x0138,
78 0x813D, 0x8137, 0x0132, 0x0110, 0x8115, 0x811F, 0x011A, 0x810B, 0x010E,
79 0x0104, 0x8101, 0x8303, 0x0306, 0x030C, 0x8309, 0x0318, 0x831D, 0x8317,
80 0x0312, 0x0330, 0x8335, 0x833F, 0x033A, 0x832B, 0x032E, 0x0324, 0x8321,
81 0x0360, 0x8365, 0x836F, 0x036A, 0x837B, 0x037E, 0x0374, 0x8371, 0x8353,
82 0x0356, 0x035C, 0x8359, 0x0348, 0x834D, 0x8347, 0x0342, 0x03C0, 0x83C5,
83 0x83CF, 0x03CA, 0x83DB, 0x03DE, 0x03D4, 0x83D1, 0x83F3, 0x03F6, 0x03FC,
84 0x83F9, 0x03E8, 0x83ED, 0x83E7, 0x03E2, 0x83A3, 0x03A6, 0x03AC, 0x83A9,
85 0x03B8, 0x83BD, 0x83B7, 0x03B2, 0x0390, 0x8395, 0x839F, 0x039A, 0x838B,
86 0x038E, 0x0384, 0x8381, 0x0280, 0x8285, 0x828F, 0x028A, 0x829B, 0x029E,
87 0x0294, 0x8291, 0x82B3, 0x02B6, 0x02BC, 0x82B9, 0x02A8, 0x82AD, 0x82A7,
88 0x02A2, 0x82E3, 0x02E6, 0x02EC, 0x82E9, 0x02F8, 0x82FD, 0x82F7, 0x02F2,
89 0x02D0, 0x82D5, 0x82DF, 0x02DA, 0x82CB, 0x02CE, 0x02C4, 0x82C1, 0x8243,
90 0x0246, 0x024C, 0x8249, 0x0258, 0x825D, 0x8257, 0x0252, 0x0270, 0x8275,
91 0x827F, 0x027A, 0x826B, 0x026E, 0x0264, 0x8261, 0x0220, 0x8225, 0x822F,
92 0x022A, 0x823B, 0x023E, 0x0234, 0x8231, 0x8213, 0x0216, 0x021C, 0x8219,
93 0x0208, 0x820D, 0x8207, 0x0202};
114 virtual byte begin(uint32_t speedset,
116 virtual byte init_Mask(
byte num,
byte ext,
unsigned long ulData);
117 virtual byte init_Filt(
byte num,
byte ext,
118 unsigned long ulData);
122 virtual byte init_Filt_Mask(
byte num,
byte ext,
unsigned long f,
unsigned long m);
125 virtual byte sleep();
127 virtual byte __setMode(
const byte opMode);
139 virtual byte checkError(uint8_t* err_ptr = NULL);
143 virtual byte readMsgBufID(
byte status,
volatile unsigned long *
id,
144 volatile byte *ext,
volatile byte *
rtr,
167 const byte *buf,
byte iTxBuf = 0xff);
168 virtual byte sendMsgBuf(
byte status,
unsigned long id,
byte ext,
byte rtr,
169 byte dlc,
volatile const byte *buf);
170 virtual byte sendMsgBuf(
unsigned long id,
byte ext,
byte rtr,
byte dlc,
171 const byte *buf,
bool wait_sent =
true);
173 inline byte sendMsgBuf(
unsigned long id,
byte ext,
byte len,
const byte *buf) {
174 return sendMsgBuf(
id, ext, 0, len, buf,
true);
181 virtual bool mcpPinMode(
const byte pin,
const byte mode);
188 byte rtr,
bool wait_sent);
228 uint32_t txdNumBytes,
bool flush);
259 uint16_t nBytes,
bool fromRam,
262 uint16_t nBytes,
bool fromRam);
278 int calcBittime(
const uint32_t inDesiredArbitrationBitRate,
279 const uint32_t inTolerancePPM = 10000);
304 static uint32_t
BITRATE(uint32_t arbitration, uint8_t factor) {
305 return ((uint32_t)factor << 24) | (arbitration & 0xFFFFFUL);
Definition mcp2518fd_can.h:300
static uint32_t BITRATE(uint32_t arbitration, uint8_t factor)
Definition mcp2518fd_can.h:304
static byte len2dlc(byte len)
Convert lenght to Data Lenght Code.
Definition mcp2518fd_can.cpp:2521
static byte dlc2len(byte dlc)
Convert Data Lenght Code to lenght.
Definition mcp2518fd_can.cpp:2499
unsigned long can_id
Definition mcp_can_fd.h:113
byte ext_flg
Definition mcp_can_fd.h:111
byte rtr
Definition mcp_can_fd.h:114
MCP_CAN(byte _CS)
Definition mcp_can_fd.cpp:7
uint32_t bittime_compat_to_mcp2518fd(uint32_t speedset)
Definition mcp2518fd_can.cpp:1960
int8_t mcp2518fd_LowPowerModeEnable()
Definition mcp2518fd_can.cpp:1830
int8_t mcp2518fd_WriteByteSafe(uint16_t address, uint8_t txd)
Writes byte to breakout board with CRC method.
Definition mcp2518fd_can.cpp:421
byte mcp2518fd_readMsgBufID(volatile byte *len, volatile byte *buf)
Definition mcp2518fd_can.cpp:2282
int8_t mcp2518fd_WriteWordArray(uint16_t address, uint32_t *txd, uint16_t nWords)
Write 32 bit words to breakout board.
Definition mcp2518fd_can.cpp:691
byte mcp2518fd_sendMsg(const byte *buf, byte len, unsigned long id, byte ext, byte rtr, bool wait_sent)
Definition mcp2518fd_can.cpp:1909
int8_t mcp2518fd_WriteWord(uint16_t address, uint32_t txd)
Writes 32 bit word to breakout board.
Definition mcp2518fd_can.cpp:216
int8_t mcp2518fd_FilterMaskConfigure(CAN_FILTER filter, CAN_MASKOBJ_ID *mask)
Definition mcp2518fd_can.cpp:933
uint8_t mDataPhaseSegment1
Definition mcp2518fd_can.h:285
virtual byte trySendMsgBuf(unsigned long id, byte ext, byte rtr, byte dlc, const byte *buf, byte iTxBuf=0xff)
Definition mcp2518fd_can.cpp:2304
int8_t mcp2518fd_receiveMsg()
Definition mcp2518fd_can.cpp:1945
virtual byte init_Filt_Mask(byte num, byte ext, unsigned long f, unsigned long m)
Definition mcp2518fd_can.cpp:2132
int8_t mcp2518fd_GpioModeConfigure(GPIO_PIN_MODE gpio0, GPIO_PIN_MODE gpio1)
Definition mcp2518fd_can.cpp:1201
virtual void reserveTxBuffers(byte nTxBuf=0)
Definition mcp2518fd_can.h:104
int8_t mcp2518fd_WriteWordSafe(uint16_t address, uint32_t txd)
Writes 32 bit word to breakout board with CRC method.
Definition mcp2518fd_can.cpp:460
int8_t mcp2518fd_TransmitChannelLoad(CAN_FIFO_CHANNEL channel, CAN_TX_MSGOBJ *txObj, uint8_t *txd, uint32_t txdNumBytes, bool flush)
Definition mcp2518fd_can.cpp:1466
virtual byte wake()
Definition mcp2518fd_can.cpp:2198
virtual byte readRxTxStatus(void)
Read RX and TX interrupt bits. Function uses status reading, but translates.
Definition mcp2518fd_can.cpp:2351
uint8_t mDataSJW
Definition mcp2518fd_can.h:287
byte readMsgBufID(unsigned long *ID, byte *len, byte *buf)
Definition mcp2518fd_can.h:148
virtual byte sendMsgBuf(byte status, unsigned long id, byte ext, byte rtr, byte dlc, volatile const byte *buf)
Definition mcp2518fd_can.cpp:2331
virtual byte checkError(uint8_t *err_ptr=NULL)
Definition mcp2518fd_can.cpp:2267
virtual byte sleep()
Definition mcp2518fd_can.cpp:2185
uint16_t mBitRatePrescaler
Definition mcp2518fd_can.h:289
int8_t mTDCO
Definition mcp2518fd_can.h:296
int8_t mcp2518fd_ReadWord(uint16_t address, uint32_t *rxd)
Reads 32 bit word from breakout board.
Definition mcp2518fd_can.cpp:175
int8_t mcp2518fd_LowPowerModeDisable()
Definition mcp2518fd_can.cpp:1857
int8_t mcp2518fd_ReadByte(uint16_t address, uint8_t *rxd)
Reads byte from breakout board.
Definition mcp2518fd_can.cpp:104
int8_t mcp2518fd_ErrorCountStateGet(uint8_t *tec, uint8_t *rec, CAN_ERROR_STATE *flags)
Definition mcp2518fd_can.cpp:1405
int8_t mcp2518fd_reset(void)
Resets device.
Definition mcp2518fd_can.cpp:75
uint8_t mDataPhaseSegment2
Definition mcp2518fd_can.h:286
int8_t mcp2518fd_FilterObjectConfigure(CAN_FILTER filter, CAN_FILTEROBJ_ID *id)
Definition mcp2518fd_can.cpp:908
uint8_t mArbitrationSJW
Definition mcp2518fd_can.h:293
int8_t mcp2518fd_ReadHalfWord(uint16_t address, uint16_t *rxd)
Reads 16 bit word from breakout board.
Definition mcp2518fd_can.cpp:255
int8_t mcp2518fd_ReceiveChannelEventEnable(CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_EVENT flags)
Definition mcp2518fd_can.cpp:1255
int calcBittime(const uint32_t inDesiredArbitrationBitRate, const uint32_t inTolerancePPM=10000)
Bittime calculation.
Definition mcp2518fd_can.cpp:989
virtual byte setMode(const byte opMode)
Definition mcp2518fd_can.h:129
virtual byte checkClearRxStatus(byte *status)
Return first found rx CANINTF status and clears it from parameter.
Definition mcp2518fd_can.cpp:2367
void mcp2518fd_TransmitMessageQueue()
Definition mcp2518fd_can.cpp:1884
uint8_t mcp2518fd_init(uint32_t speedset, const byte clock)
Definition mcp2518fd_can.cpp:1997
int8_t mcp2518fd_ModuleEventRxCodeGet(CAN_RXCODE *rxCode)
Definition mcp2518fd_can.cpp:1756
int8_t mcp2518fd_ConfigureObjectReset(CAN_CONFIG *config)
Configure object reset.
Definition mcp2518fd_can.cpp:784
CAN_OPERATION_MODE mcpMode
Definition mcp2518fd_can.h:274
int8_t mcp2518fd_WriteHalfWord(uint16_t address, uint16_t txd)
Writes 16 bit word to breakout board.
Definition mcp2518fd_can.cpp:296
int8_t mcp2518fd_ReceiveChannelUpdate(CAN_FIFO_CHANNEL channel)
Definition mcp2518fd_can.cpp:1675
int8_t mcp2518fd_ReadByteArrayWithCRC(uint16_t address, uint8_t *rxd, uint16_t nBytes, bool fromRam, bool *crcIsCorrect)
Reads byteS from breakout board with CRC method.
Definition mcp2518fd_can.cpp:513
virtual byte mcpDigitalRead(const byte pin)
read HIGH or LOW from supported pins
Definition mcp2518fd_can.cpp:2467
virtual byte getLastTxBuffer()
Definition mcp2518fd_can.h:107
int8_t mcp2518fd_TransmitChannelEventAttemptClear(CAN_FIFO_CHANNEL channel)
Definition mcp2518fd_can.cpp:1802
int8_t mcp2518fd_Configure(CAN_CONFIG *config)
Sets all configuration data from CAN_CONFIG structure.
Definition mcp2518fd_can.cpp:809
int8_t mcp2518fd_ModuleEventEnable(CAN_MODULE_EVENT flags)
Definition mcp2518fd_can.cpp:1285
byte readMsgBuf(byte *len, byte *buf)
Definition mcp2518fd_can.h:151
byte nReservedTx
Definition mcp2518fd_can.h:273
virtual byte CANFDSPI_FilterDisable(CAN_FILTER filter)
Definition mcp2518fd_can.cpp:2105
bool mArbitrationBitRateClosedToDesiredRate
Definition mcp2518fd_can.h:294
virtual byte readMsgBufID(byte status, volatile unsigned long *id, volatile byte *ext, volatile byte *rtr, volatile byte *len, volatile byte *buf)
Definition mcp2518fd_can.cpp:2236
byte sendMsgBuf(unsigned long id, byte ext, byte len, const byte *buf)
Definition mcp2518fd_can.h:173
virtual byte init_Filt(byte num, byte ext, unsigned long ulData)
Definition mcp2518fd_can.cpp:2085
CAN_OPERATION_MODE mcp2518fd_OperationModeGet()
Definition mcp2518fd_can.cpp:1336
int8_t mcp2518fd_RamInit(uint8_t d)
Initialize RAM.
Definition mcp2518fd_can.cpp:757
uint8_t mArbitrationPhaseSegment2
Definition mcp2518fd_can.h:292
virtual bool mcpPinMode(const byte pin, const byte mode)
switch supported pins between HiZ, interrupt, output
Definition mcp2518fd_can.cpp:2394
virtual void setSleepWakeup(const byte enable)
Definition mcp2518fd_can.cpp:2173
virtual byte getMode()
Definition mcp2518fd_can.cpp:2211
int8_t mcp2518fd_WriteByteArrayWithCRC(uint16_t address, uint8_t *txd, uint16_t nBytes, bool fromRam)
Write bytes to breakout board with CRC method.
Definition mcp2518fd_can.cpp:587
int8_t mcp2518fd_EccEnable(void)
Enable error correcting code.
Definition mcp2518fd_can.cpp:732
int8_t mcp2518fd_TransmitChannelConfigureObjectReset(CAN_TX_FIFO_CONFIG *config)
Definition mcp2518fd_can.cpp:836
int8_t mcp2518fd_TransmitChannelEventEnable(CAN_FIFO_CHANNEL channel, CAN_TX_FIFO_EVENT flags)
Definition mcp2518fd_can.cpp:1229
uint32_t mSysClock
Definition mcp2518fd_can.h:281
int8_t mcp2518fd_ReadByteArray(uint16_t address, uint8_t *rxd, uint16_t nBytes)
Reads n bytes from breakout board.
Definition mcp2518fd_can.cpp:335
int8_t mcp2518fd_BitTimeConfigure(uint32_t speedset, CAN_SSP_MODE sspMode, CAN_SYSCLK_SPEED clk)
Definition mcp2518fd_can.cpp:1174
int8_t mcp2518fd_ReceiveChannelConfigureObjectReset(CAN_RX_FIFO_CONFIG *config)
Definition mcp2518fd_can.cpp:871
int8_t mcp2518fd_TransmitChannelUpdate(CAN_FIFO_CHANNEL channel, bool flush)
Definition mcp2518fd_can.cpp:1692
mcp2518fd(byte _CS)
Definition mcp2518fd_can.h:99
int8_t mcp2518fd_ReceiveChannelEventGet(CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_EVENT *flags)
Definition mcp2518fd_can.cpp:1549
int8_t mcp2518fd_TransmitChannelConfigure(CAN_FIFO_CHANNEL channel, CAN_TX_FIFO_CONFIG *config)
Definition mcp2518fd_can.cpp:850
int8_t mcp2518fd_BitTimeConfigureNominal(void)
Definition mcp2518fd_can.cpp:1121
int8_t mcp2518fd_ModuleEventTxCodeGet(CAN_TXCODE *txCode)
Definition mcp2518fd_can.cpp:1777
int8_t mcp2518fd_WriteByte(uint16_t address, uint8_t txd)
Writes byte to breakout board.
Definition mcp2518fd_can.cpp:144
virtual byte begin(uint32_t speedset, const byte clockset=MCP2518FD_20MHz)
Init can and set speed.
Definition mcp2518fd_can.cpp:60
int8_t mcp2518fd_TransmitChannelEventGet(CAN_FIFO_CHANNEL channel, CAN_TX_FIFO_EVENT *flags)
Definition mcp2518fd_can.cpp:1384
int8_t mcp2518fd_FilterToFifoLink(CAN_FILTER filter, CAN_FIFO_CHANNEL channel, bool enable)
Definition mcp2518fd_can.cpp:951
uint8_t mDataBitRateFactor
Definition mcp2518fd_can.h:283
int8_t mcp2518fd_WriteByteArray(uint16_t address, uint8_t *txd, uint16_t nBytes)
Writes n bytes to breakout board.
Definition mcp2518fd_can.cpp:382
virtual void enableTxInterrupt(bool enable=true)
Definition mcp2518fd_can.cpp:2058
int8_t mcp2518fd_BitTimeConfigureData(CAN_SSP_MODE sspMode)
Definition mcp2518fd_can.cpp:1143
int8_t mcp2518fd_OperationModeSelect(CAN_OPERATION_MODE opMode)
Definition mcp2518fd_can.cpp:1311
virtual bool mcpDigitalWrite(const byte pin, const byte mode)
write HIGH or LOW from supported pins
Definition mcp2518fd_can.cpp:2425
int8_t mcp2518fd_ReceiveMessageGet(CAN_FIFO_CHANNEL channel, CAN_RX_MSGOBJ *rxObj, uint8_t *rxd, uint8_t nBytes)
Definition mcp2518fd_can.cpp:1572
int8_t mcp2518fd_ReceiveChannelStatusGet(CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_STATUS *status)
Definition mcp2518fd_can.cpp:1718
virtual byte checkClearTxStatus(byte *status, byte iTxBuf=0xff)
Return specified buffer of first found tx CANINTF status and clears it from parameter.
Definition mcp2518fd_can.cpp:2382
uint32_t mDesiredArbitrationBitRate
Definition mcp2518fd_can.h:282
virtual byte checkReceive(void)
Definition mcp2518fd_can.cpp:2254
int8_t mcp2518fd_ErrorStateGet(CAN_ERROR_STATE *flags)
Definition mcp2518fd_can.cpp:1739
uint16_t mArbitrationPhaseSegment1
Definition mcp2518fd_can.h:291
int8_t mcp2518fd_ReceiveChannelConfigure(CAN_FIFO_CHANNEL channel, CAN_RX_FIFO_CONFIG *config)
Definition mcp2518fd_can.cpp:883
int8_t mcp2518fd_ReadWordArray(uint16_t address, uint32_t *rxd, uint16_t nWords)
Read 32 bit words from breakout board.
Definition mcp2518fd_can.cpp:640
virtual void clearBufferTransmitIfFlags(byte flags=0)
Definition mcp2518fd_can.cpp:2319
virtual byte __setMode(const byte opMode)
Definition mcp2518fd_can.cpp:2221
virtual byte init_Mask(byte num, byte ext, unsigned long ulData)
Definition mcp2518fd_can.cpp:2066
static CAN_RX_MSGOBJ rxObj
Definition mcp2518fd_can.cpp:11
static CAN_TX_MSGOBJ txObj
Definition mcp2518fd_can.cpp:17
static uint8_t rxd[MAX_DATA_BYTES]
Definition mcp2518fd_can.cpp:12
static uint8_t txd[MAX_DATA_BYTES]
Definition mcp2518fd_can.cpp:18
static CAN_CONFIG config
Definition mcp2518fd_can.cpp:4
const uint16_t crc16_table[256]
Look-up table for CRC calculation.
Definition mcp2518fd_can.h:64
const uint8_t BitReverseTable256[256]
Reverse order of bits in byte.
Definition mcp2518fd_can.h:39
union _CAN_RX_MSGOBJ CAN_RX_MSGOBJ
CAN RX Message Object.
GPIO_PIN_MODE
GPIO Pin Modes.
Definition mcp2518fd_can_dfs.h:667
CAN_TXCODE
TXCODE.
Definition mcp2518fd_can_dfs.h:880
CAN_OPERATION_MODE
CAN Operation Modes.
Definition mcp2518fd_can_dfs.h:247
@ CAN_CLASSIC_MODE
Definition mcp2518fd_can_dfs.h:254
@ CAN_SLEEP_MODE
Definition mcp2518fd_can_dfs.h:249
CAN_FIFO_CHANNEL
CAN FIFO Channels.
Definition mcp2518fd_can_dfs.h:168
CAN_ERROR_STATE
CAN Error State.
Definition mcp2518fd_can_dfs.h:624
struct _CAN_FILTEROBJ_ID CAN_FILTEROBJ_ID
CAN Filter Object ID.
CAN_TX_FIFO_EVENT
CAN TX FIFO Event (Interrupts)
Definition mcp2518fd_can_dfs.h:559
CAN_FILTER
CAN Filter Channels.
Definition mcp2518fd_can_dfs.h:209
union _CAN_TX_MSGOBJ CAN_TX_MSGOBJ
CAN TX Message Object.
CAN_RXCODE
RXCODE.
Definition mcp2518fd_can_dfs.h:841
struct _CAN_MASKOBJ_ID CAN_MASKOBJ_ID
CAN Mask Object ID.
CAN_RX_FIFO_EVENT
CAN RX FIFO Event (Interrupts)
Definition mcp2518fd_can_dfs.h:570
CAN_SSP_MODE
Secondary Sample Point Mode.
Definition mcp2518fd_can_dfs.h:616
struct _CAN_CONFIG CAN_CONFIG
CAN Configure.
CAN_RX_FIFO_STATUS
CAN RX FIFO Status.
Definition mcp2518fd_can_dfs.h:501
struct _CAN_RX_FIFO_CONFIG CAN_RX_FIFO_CONFIG
CAN Receive Channel Configure.
CAN_MODULE_EVENT
CAN Module Event (Interrupts)
Definition mcp2518fd_can_dfs.h:538
CAN_SYSCLK_SPEED
System Clock Selection.
Definition mcp2518fd_can_dfs.h:920
struct _CAN_TX_FIFO_CONFIG CAN_TX_FIFO_CONFIG
CAN Transmit Channel Configure.
@ MCP2518FD_20MHz
Definition mcp_can_fd.h:26