mcp2518fd  2.0.0.0
mcp2518fd.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2020 MikroElektronika d.o.o.
3 ** Contact: https://www.mikroe.com/contact
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a copy
6 ** of this software and associated documentation files (the "Software"), to deal
7 ** in the Software without restriction, including without limitation the rights
8 ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 ** copies of the Software, and to permit persons to whom the Software is
10 ** furnished to do so, subject to the following conditions:
11 ** The above copyright notice and this permission notice shall be
12 ** included in all copies or substantial portions of the Software.
13 **
14 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16 ** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19 ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20 ** USE OR OTHER DEALINGS IN THE SOFTWARE.
21 ****************************************************************************/
22 
28 #ifndef MCP2518FD_H
29 #define MCP2518FD_H
30 
31 #ifdef __cplusplus
32 extern "C"{
33 #endif
34 
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_spi_master.h"
38 #include "spi_specifics.h"
39 
50 #define MCP2518FD
51 
56 //#define REV_A
57 #define REV_B
58 
59 #ifdef REV_A
60  #define FIXED_FILTER_ADDRESS
61 #endif
62 
67 #ifndef FPGA
68  #define MCP2518FD_FIFO_08TO15_IMPLEMENTED
69  #define MCP2518FD_FIFO_16TO31_IMPLEMENTED
70 #endif
71 
76 #ifndef FPGA
77  #define MCP2518FD_FILT_08TO15_IMPLEMENTED
78  #define MCP2518FD_FILT_16TO31_IMPLEMENTED
79 #endif
80 
85 #ifdef MCP2520FD
86  #define CAN_INTERNAL_OSC_PRESENT
87 #endif
88 
93 #ifdef REV_B
94  #define CAN_RESTRICTED_MODE_PRESENT
95 #endif
96 
101 #ifdef REV_B
102  #define CAN_TXQUEUE_IMPLEMENTED
103 #endif
104 
110 #ifdef REV_A
111  #define USERADDRESS_TIMES_FOUR
112 #endif
113 
114 #ifdef MCP2518FD
115  #define N_MCP2518_CTRL_REGS 5
116 #endif
117 
118 #define MCP2518FD_MAX_TXQUEUE_ATTEMPTS 50
119 #define MCP2518FD_TX_REQUEST_ID 0x300
120 #define MCP2518FD_TX_RESPONSE_ID 0x301
121 
122 #define MCP2518FD_CRCBASE 0xFFFF
123 #define MCP2518FD_CRCUPPER 1
124 #define MCP2518FD_DRV_CANFDSPI_INDEX_0 0
125 #define MCP2518FD_SPI_DEFAULT_BUFFER_LENGTH 96
126 
127 #define MCP2518FD_ISO_CRC 1
128 
129 #define MCP2518FD_MAX_MSG_SIZE 76
130 
131 #define MCP2518FD_MAX_DATA_BYTES 64
132 
133 #define MCP2518FD_INS_RESET 0x00
134 #define MCP2518FD_INS_READ 0x03
135 #define MCP2518FD_INS_READ_CRC 0x0B
136 #define MCP2518FD_INS_WRITE 0x02
137 #define MCP2518FD_INS_WRITE_CRC 0x0A
138 #define MCP2518FD_INS_WRITE_SAFE 0x0C
139 
140 
141 #define MCP2518FD_FIFO_OFFSET ( 3 * 4 )
142 #define MCP2518FD_FILTER_OFFSET ( 2 * 4 )
143 
144 #ifdef CAN_TXQUEUE_IMPLEMENTED
145  #define MCP2518FD_REG_CITXQCON 0x050
146  #define MCP2518FD_REG_CITXQSTA 0x054
147  #define MCP2518FD_REG_CITXQUA 0x058
148 #endif
149 
150 #ifdef FIXED_FILTER_ADDRESS
151  #define MCP2518FD_REG_CIFLTCON 0x1D0
152  #define MCP2518FD_REG_CIFLTOBJ 0x1F0
153  #define MCP2518FD_REG_CIMASK 0x1F4
154 #else
155  #define MCP2518FD_REG_CIFLTCON ( MCP2518FD_REG_CIFIFOCON + ( MCP2518FD_FIFO_OFFSET * MCP2518FD_FIFO_TOTAL_CHANNELS ) )
156  #define MCP2518FD_REG_CIFLTOBJ ( MCP2518FD_REG_CIFLTCON + MCP2518FD_FIFO_TOTAL_CHANNELS )
157  #define MCP2518FD_REG_CIMASK ( MCP2518FD_REG_CIFLTOBJ + 4 )
158 #endif
159 
160 #define MCP2518FD_REG_OSC 0xE00
161 #define MCP2518FD_REG_IOCON 0xE04
162 #define MCP2518FD_REG_CRC 0xE08
163 #define MCP2518FD_REG_ECCCON 0xE0C
164 #define MCP2518FD_REG_ECCSTA 0xE10
165 
166 #define MCP2518FD_RAM_SIZE 2048
167 #define MCP2518FD_RAMADDR_START 0x400
168 #define MCP2518FD_RAMADDR_END ( MCP2518FD_RAMADDR_START + MCP2518FD_RAM_SIZE )
169 
170 #define MCP2518FD_LOW_POWER_MODE_EN 0x08
171 #define MCP2518FD_LOW_POWER_MODE_DIS 0x00
172 #define MCP2518FD_WAKEUP_INTERR_EN 0x40
173 
174 #define MCP2518FD_REG_CICON 0x000
175 #define MCP2518FD_REG_CINBTCFG 0x004
176 #define MCP2518FD_REG_CIDBTCFG 0x008
177 #define MCP2518FD_REG_CITDC 0x00C
178 
179 #define MCP2518FD_REG_CITBC 0x010
180 #define MCP2518FD_REG_CITSCON 0x014
181 #define MCP2518FD_REG_CIVEC 0x018
182 #define MCP2518FD_REG_CIINT 0x01C
183 #define MCP2518FD_REG_CIINTFLAG MCP2518FD_REG_CIINT
184 #define MCP2518FD_REG_CIINTENABLE ( MCP2518FD_REG_CIINT + 2 )
185 
186 #define MCP2518FD_REG_CIRXIF 0x020
187 #define MCP2518FD_REG_CITXIF 0x024
188 #define MCP2518FD_REG_CIRXOVIF 0x028
189 #define MCP2518FD_REG_CITXATIF 0x02C
190 
191 #define MCP2518FD_REG_CITXREQ 0x030
192 #define MCP2518FD_REG_CITREC 0x034
193 #define MCP2518FD_REG_CIBDIAG0 0x038
194 #define MCP2518FD_REG_CIBDIAG1 0x03C
195 
196 #define MCP2518FD_REG_CITEFCON 0x040
197 #define MCP2518FD_REG_CITEFSTA 0x044
198 #define MCP2518FD_REG_CITEFUA 0x048
199 #define MCP2518FD_REG_CIFIFOBA 0x04C
200 
201 #define MCP2518FD_REG_CIFIFOCON 0x050
202 #define MCP2518FD_REG_CIFIFOSTA 0x054
203 #define MCP2518FD_REG_CIFIFOUA 0x058
204  // mcp2518fd_reg
216 
236 #define MCP2518FD_FIFO_CH0 0
237 #define MCP2518FD_FIFO_CH1 1
238 #define MCP2518FD_FIFO_CH2 2
239 #define MCP2518FD_FIFO_CH3 3
240 #define MCP2518FD_FIFO_CH4 4
241 #define MCP2518FD_FIFO_CH5 5
242 #define MCP2518FD_FIFO_CH6 6
243 #define MCP2518FD_FIFO_CH7 7
244 
245 #ifdef MCP2518FD_FIFO_08TO15_IMPLEMENTED
246  #define MCP2518FD_FIFO_CH8 8
247  #define MCP2518FD_FIFO_CH9 9
248  #define MCP2518FD_FIFO_CH10 10
249  #define MCP2518FD_FIFO_CH11 11
250  #define MCP2518FD_FIFO_CH12 12
251  #define MCP2518FD_FIFO_CH13 13
252  #define MCP2518FD_FIFO_CH14 14
253  #define MCP2518FD_FIFO_CH15 15
254 #endif
255 
256 #ifdef MCP2518FD_FIFO_16TO31_IMPLEMENTED
257  #define MCP2518FD_FIFO_CH16 16
258  #define MCP2518FD_FIFO_CH17 17
259  #define MCP2518FD_FIFO_CH18 18
260  #define MCP2518FD_FIFO_CH19 19
261  #define MCP2518FD_FIFO_CH20 20
262  #define MCP2518FD_FIFO_CH21 21
263  #define MCP2518FD_FIFO_CH22 22
264  #define MCP2518FD_FIFO_CH23 23
265  #define MCP2518FD_FIFO_CH24 24
266  #define MCP2518FD_FIFO_CH25 25
267  #define MCP2518FD_FIFO_CH26 26
268  #define MCP2518FD_FIFO_CH27 27
269  #define MCP2518FD_FIFO_CH28 28
270  #define MCP2518FD_FIFO_CH29 29
271  #define MCP2518FD_FIFO_CH30 30
272  #define MCP2518FD_FIFO_CH31 31
273 #endif
274 
275 
276 #define MCP2518FD_FIFO_TOTAL_CHANNELS 32
277 
278 #ifdef CAN_TXQUEUE_IMPLEMENTED
279  #define MCP2518FD_FIFO_FIRST_CHANNEL MCP2518FD_FIFO_CH1
280  #define CAN_TXQUEUE_CH0 MCP2518FD_FIFO_CH0
281 #else
282  #define MCP2518FD_FIFO_FIRST_CHANNEL MCP2518FD_FIFO_CH0
283 #endif
284 
289 #define MCP2518FD_FILT0 0
290 #define MCP2518FD_FILT1 1
291 #define MCP2518FD_FILT2 2
292 #define MCP2518FD_FILT3 3
293 #define MCP2518FD_FILT4 4
294 #define MCP2518FD_FILT5 5
295 #define MCP2518FD_FILT6 6
296 #define MCP2518FD_FILT7 7
297 
298 #ifdef MCP2518FD_FILT_08TO15_IMPLEMENTED
299  #define MCP2518FD_FILT8 8
300  #define MCP2518FD_FILT9 9
301  #define MCP2518FD_FILT10 10
302  #define MCP2518FD_FILT11 11
303  #define MCP2518FD_FILT12 12
304  #define MCP2518FD_FILT13 13
305  #define MCP2518FD_FILT14 14
306  #define MCP2518FD_FILT15 15
307 #endif
308 
309 #ifdef MCP2518FD_FILT_16TO31_IMPLEMENTED
310  #define MCP2518FD_FILT16 16
311  #define MCP2518FD_FILT17 17
312  #define MCP2518FD_FILT18 18
313  #define MCP2518FD_FILT19 19
314  #define MCP2518FD_FILT20 20
315  #define MCP2518FD_FILT21 21
316  #define MCP2518FD_FILT22 22
317  #define MCP2518FD_FILT23 23
318  #define MCP2518FD_FILT24 24
319  #define MCP2518FD_FILT25 25
320  #define MCP2518FD_FILT26 26
321  #define MCP2518FD_FILT27 27
322  #define MCP2518FD_FILT28 28
323  #define MCP2518FD_FILT29 29
324  #define MCP2518FD_FILT30 30
325  #define MCP2518FD_FILT31 31
326 #endif
327 
328 #define MCP2518FD_FILT_TOTAL 32
329 
334 #define MCP2518FD_NORMAL_MODE 0x00
335 #define MCP2518FD_SLEEP_MODE 0x01
336 #define MCP2518FD_INT_LOOP_MODE 0x02
337 #define MCP2518FD_LISTEN_ONLY_MODE 0x03
338 #define MCP2518FD_CONFIG_MODE 0x04
339 #define MCP2518FD_EXT_LOOP_MODE 0x05
340 #define MCP2518FD_CLASSIC_MODE 0x06
341 #define MCP2518FD_RESTRICT_MODE 0x07
342 #define MCP2518FD_INVALID_MODE 0xFF
343 
348 #define MCP2518FD_TXBWS_NO_DELAY 0
349 #define MCP2518FD_TXBWS_2 1
350 #define MCP2518FD_TXBWS_4 2
351 #define MCP2518FD_TXBWS_8 3
352 #define MCP2518FD_TXBWS_16 4
353 #define MCP2518FD_TXBWS_32 5
354 #define MCP2518FD_TXBWS_64 6
355 #define MCP2518FD_TXBWS_128 7
356 #define MCP2518FD_TXBWS_256 8
357 #define MCP2518FD_TXBWS_512 9
358 #define MCP2518FD_TXBWS_1024 10
359 #define MCP2518FD_TXBWS_2048 11
360 #define MCP2518FD_TXBWS_4096 12
361 
366 #define MCP2518FD_WFT00 0
367 #define MCP2518FD_WFT01 1
368 #define MCP2518FD_WFT10 2
369 #define MCP2518FD_WFT11 3
370 
375 #define MCP2518FD_DNET_FILT_DISABLE 0
376 #define MCP2518FD_DNET_FILT_SIZE_1_BIT 1
377 #define MCP2518FD_DNET_FILT_SIZE_2_BIT 2
378 #define MCP2518FD_DNET_FILT_SIZE_3_BIT 3
379 #define MCP2518FD_DNET_FILT_SIZE_4_BIT 4
380 #define MCP2518FD_DNET_FILT_SIZE_5_BIT 5
381 #define MCP2518FD_DNET_FILT_SIZE_6_BIT 6
382 #define MCP2518FD_DNET_FILT_SIZE_7_BIT 7
383 #define MCP2518FD_DNET_FILT_SIZE_8_BIT 8
384 #define MCP2518FD_DNET_FILT_SIZE_9_BIT 9
385 #define MCP2518FD_DNET_FILT_SIZE_10_BIT 10
386 #define MCP2518FD_DNET_FILT_SIZE_11_BIT 11
387 #define MCP2518FD_DNET_FILT_SIZE_12_BIT 12
388 #define MCP2518FD_DNET_FILT_SIZE_13_BIT 13
389 #define MCP2518FD_DNET_FILT_SIZE_14_BIT 14
390 #define MCP2518FD_DNET_FILT_SIZE_15_BIT 15
391 #define MCP2518FD_DNET_FILT_SIZE_16_BIT 16
392 #define MCP2518FD_DNET_FILT_SIZE_17_BIT 17
393 #define MCP2518FD_DNET_FILT_SIZE_18_BIT 18
394 
399 #define MCP2518FD_PLSIZE_8 0
400 #define MCP2518FD_PLSIZE_12 1
401 #define MCP2518FD_PLSIZE_16 2
402 #define MCP2518FD_PLSIZE_20 3
403 #define MCP2518FD_PLSIZE_24 4
404 #define MCP2518FD_PLSIZE_32 5
405 #define MCP2518FD_PLSIZE_48 6
406 #define MCP2518FD_PLSIZE_64 7
407 
412 #define MCP2518FD_DLC_0 0
413 #define MCP2518FD_DLC_1 1
414 #define MCP2518FD_DLC_2 2
415 #define MCP2518FD_DLC_3 3
416 #define MCP2518FD_DLC_4 4
417 #define MCP2518FD_DLC_5 5
418 #define MCP2518FD_DLC_6 6
419 #define MCP2518FD_DLC_7 7
420 #define MCP2518FD_DLC_8 8
421 #define MCP2518FD_DLC_12 9
422 #define MCP2518FD_DLC_16 10
423 #define MCP2518FD_DLC_20 11
424 #define MCP2518FD_DLC_24 12
425 #define MCP2518FD_DLC_32 13
426 #define MCP2518FD_DLC_48 14
427 #define MCP2518FD_DLC_64 15
428 
433 #define MCP2518FD_RX_FIFO_EMPTY 0
434 #define MCP2518FD_RX_FIFO_STATUS_MASK 0x0F
435 #define MCP2518FD_RX_FIFO_NOT_EMPTY 0x01
436 #define MCP2518FD_RX_FIFO_HALF_FULL 0x02
437 #define MCP2518FD_RX_FIFO_FULL 0x04
438 #define MCP2518FD_RX_FIFO_OVERFLOW 0x08
439 
444 #define MCP2518FD_TX_FIFO_FULL 0
445 #define MCP2518FD_TX_FIFO_STATUS_MASK 0x1F7
446 #define MCP2518FD_TX_FIFO_NOT_FULL 0x01
447 #define MCP2518FD_TX_FIFO_HALF_FULL 0x02
448 #define MCP2518FD_TX_FIFO_EMPTY 0x04
449 #define MCP2518FD_TX_FIFO_ATTEMPTS_EXHAUSTED 0x10
450 #define MCP2518FD_TX_FIFO_ERROR 0x20
451 #define MCP2518FD_TX_FIFO_ARBITRATION_LOST 0x40
452 #define MCP2518FD_TX_FIFO_ABORTED 0x80
453 #define MCP2518FD_TX_FIFO_TRANSMITTING 0x100
454 
459 #define MCP2518FD_TEF_FIFO_EMPTY 0
460 #define MCP2518FD_TEF_FIFO_STATUS_MASK 0x0F
461 #define MCP2518FD_TEF_FIFO_NOT_EMPTY 0x01
462 #define MCP2518FD_TEF_FIFO_HALF_FULL 0x02
463 #define MCP2518FD_TEF_FIFO_FULL 0x04
464 #define MCP2518FD_TEF_FIFO_OVERFLOW 0x08
465 
470 #define MCP2518FD_TX_FIFO_NO_EVENT 0
471 #define MCP2518FD_TX_FIFO_ALL_EVENTS 0x17
472 #define MCP2518FD_TX_FIFO_NOT_FULL_EVENT 0x01
473 #define MCP2518FD_TX_FIFO_HALF_FULL_EVENT 0x02
474 #define MCP2518FD_TX_FIFO_EMPTY_EVENT 0x04
475 #define MCP2518FD_TX_FIFO_ATTEMPTS_EXHAUSTED_EVENT 0x10
476 
477 #define MCP2518FD_RX_FIFO_NO_EVENT 0
478 #define MCP2518FD_RX_FIFO_ALL_EVENTS 0x0F
479 #define MCP2518FD_RX_FIFO_NOT_EMPTY_EVENT 0x01
480 #define MCP2518FD_RX_FIFO_HALF_FULL_EVENT 0x02
481 #define MCP2518FD_RX_FIFO_FULL_EVENT 0x04
482 #define MCP2518FD_RX_FIFO_OVERFLOW_EVENT 0x08
483 
484 #define MCP2518FD_TEF_FIFO_NO_EVENT 0
485 #define MCP2518FD_TEF_FIFO_ALL_EVENTS 0x0F
486 #define MCP2518FD_TEF_FIFO_NOT_EMPTY_EVENT 0x01
487 #define MCP2518FD_TEF_FIFO_HALF_FULL_EVENT 0x02
488 #define MCP2518FD_TEF_FIFO_FULL_EVENT 0x04
489 #define MCP2518FD_TEF_FIFO_OVERFLOW_EVENT 0x08
490 
491 #define MCP2518FD_NO_EVENT 0
492 #define MCP2518FD_ALL_EVENTS 0xFF1F
493 #define MCP2518FD_TX_EVENT 0x0001
494 #define MCP2518FD_RX_EVENT 0x0002
495 #define MCP2518FD_TIME_BASE_COUNTER_EVENT 0x0004
496 #define MCP2518FD_OPERATION_MODE_CHANGE_EVENT 0x0008
497 #define MCP2518FD_TEF_EVENT 0x0010
498 
499 #define MCP2518FD_RAM_ECC_EVENT 0x0100
500 #define MCP2518FD_SPI_CRC_EVENT 0x0200
501 #define MCP2518FD_TX_ATTEMPTS_EVENT 0x0400
502 #define MCP2518FD_RX_OVERFLOW_EVENT 0x0800
503 #define MCP2518FD_SYSTEM_ERROR_EVENT 0x1000
504 #define MCP2518FD_BUS_ERROR_EVENT 0x2000
505 #define MCP2518FD_BUS_WAKEUP_EVENT 0x4000
506 #define MCP2518FD_RX_INVALID_MESSAGE_EVENT 0x8000
507 
508 #define MCP2518FD_500K_1M 0
509 #define MCP2518FD_500K_2M 1
510 #define MCP2518FD_500K_3M 2
511 #define MCP2518FD_500K_4M 3
512 #define MCP2518FD_500K_5M 4
513 #define MCP2518FD_500K_6M7 5
514 #define MCP2518FD_500K_8M 6
515 #define MCP2518FD_500K_10M 7
516 #define MCP2518FD_250K_500K 8
517 #define MCP2518FD_250K_833K 9
518 #define MCP2518FD_250K_1M 10
519 #define MCP2518FD_250K_1M5 11
520 #define MCP2518FD_250K_2M 12
521 #define MCP2518FD_250K_3M 13
522 #define MCP2518FD_250K_4M 14
523 #define MCP2518FD_1000K_4M 15
524 #define MCP2518FD_1000K_8M 16
525 #define MCP2518FD_125K_500K 17
526 
527 #define MCP2518FD_NBT_125K 0
528 #define MCP2518FD_NBT_250K 1
529 #define MCP2518FD_NBT_500K 2
530 #define MCP2518FD_NBT_1M 3
531 
532 #define MCP2518FD_DBT_500K 0
533 #define MCP2518FD_DBT_833K 1
534 #define MCP2518FD_DBT_1M 2
535 #define MCP2518FD_DBT_1M5 3
536 #define MCP2518FD_DBT_2M 4
537 #define MCP2518FD_DBT_3M 5
538 #define MCP2518FD_DBT_4M 6
539 #define MCP2518FD_DBT_5M 7
540 #define MCP2518FD_DBT_6M7 8
541 #define MCP2518FD_DBT_8M 9
542 #define MCP2518FD_DBT_10M 10
543 
544 #define MCP2518FD_SSP_MODE_OFF 0
545 #define MCP2518FD_SSP_MODE_MANUAL 1
546 #define MCP2518FD_SSP_MODE_AUTO 2
547 
548 #define MCP2518FD_ERROR_FREE_STATE 0
549 #define MCP2518FD_ERROR_ALL 0x3F
550 #define MCP2518FD_TX_RX_WARNING_STATE 0x01
551 #define MCP2518FD_RX_WARNING_STATE 0x02
552 #define MCP2518FD_TX_WARNING_STATE 0x04
553 #define MCP2518FD_RX_BUS_PASSIVE_STATE 0x08
554 #define MCP2518FD_TX_BUS_PASSIVE_STATE 0x10
555 #define MCP2518FD_TX_BUS_OFF_STATE 0x20
556 
557 #define MCP2518FD_TS_SOF 0x00
558 #define MCP2518FD_TS_EOF 0x01
559 #define MCP2518FD_TS_RES 0x02
560 
561 #define MCP2518_ECC_NO_EVENT 0x00
562 #define MCP2518_ECC_ALL_EVENTS 0x06
563 #define MCP2518_ECC_SEC_EVENT 0x02
564 #define MCP2518_ECC_DED_EVENT 0x04
565 
566 #define MCP2518FD_CRC_NO_EVENT 0x00
567 #define MCP2518FD_CRC_ALL_EVENTS 0x03
568 #define MCP2518FD_CRC_CRCERR_EVENT 0x01
569 #define MCP2518FD_CRC_FORMERR_EVENT 0x02
570 
575 #define MCP2518FD_PIN_0 0
576 #define MCP2518FD_PIN_1 1
577 
578 #define MCP2518FD_PINMODE_INT 0
579 #define MCP2518FD_PINMODE_GPIO 1
580 
581 #define MCP2518FD_PINOUT 0
582 #define MCP2518FD_PININ 1
583 
584 #define MCP2518FD_PINLOW 0
585 #define MCP2518FD_PINHIGH 1
586 
587 #define MCP2518FD_PUSHPULL 0
588 #define MCP2518FD_OPENDRAIN 1
589 
590 #define MCP2518FD_CLKO_CLOCK 0
591 #define MCP2518FD_CLKO_SOF 1
592 
597 #define MCP2518FD_TXREQ_CH0 0x00000001
598 #define MCP2518FD_TXREQ_CH1 0x00000002
599 #define MCP2518FD_TXREQ_CH2 0x00000004
600 #define MCP2518FD_TXREQ_CH3 0x00000008
601 #define MCP2518FD_TXREQ_CH4 0x00000010
602 #define MCP2518FD_TXREQ_CH5 0x00000020
603 #define MCP2518FD_TXREQ_CH6 0x00000040
604 #define MCP2518FD_TXREQ_CH7 0x00000080
605 
606 #define MCP2518FD_TXREQ_CH8 0x00000100
607 #define MCP2518FD_TXREQ_CH9 0x00000200
608 #define MCP2518FD_TXREQ_CH10 0x00000400
609 #define MCP2518FD_TXREQ_CH11 0x00000800
610 #define MCP2518FD_TXREQ_CH12 0x00001000
611 #define MCP2518FD_TXREQ_CH13 0x00002000
612 #define MCP2518FD_TXREQ_CH14 0x00004000
613 #define MCP2518FD_TXREQ_CH15 0x00008000
614 
615 #define MCP2518FD_TXREQ_CH16 0x00010000
616 #define MCP2518FD_TXREQ_CH17 0x00020000
617 #define MCP2518FD_TXREQ_CH18 0x00040000
618 #define MCP2518FD_TXREQ_CH19 0x00080000
619 #define MCP2518FD_TXREQ_CH20 0x00100000
620 #define MCP2518FD_TXREQ_CH21 0x00200000
621 #define MCP2518FD_TXREQ_CH22 0x00400000
622 #define MCP2518FD_TXREQ_CH23 0x00800000
623 
624 #define MCP2518FD_TXREQ_CH24 0x01000000
625 #define MCP2518FD_TXREQ_CH25 0x02000000
626 #define MCP2518FD_TXREQ_CH26 0x04000000
627 #define MCP2518FD_TXREQ_CH27 0x08000000
628 #define MCP2518FD_TXREQ_CH28 0x10000000
629 #define MCP2518FD_TXREQ_CH29 0x20000000
630 #define MCP2518FD_TXREQ_CH30 0x40000000
631 #define MCP2518FD_TXREQ_CH31 0x80000000
632 
637 #define MCP2518FD_ICODE_FIFO_CH0 0
638 #define MCP2518FD_ICODE_FIFO_CH1 1
639 #define MCP2518FD_ICODE_FIFO_CH2 2
640 #define MCP2518FD_ICODE_FIFO_CH3 3
641 #define MCP2518FD_ICODE_FIFO_CH4 4
642 #define MCP2518FD_ICODE_FIFO_CH5 5
643 #define MCP2518FD_ICODE_FIFO_CH6 6
644 #define MCP2518FD_ICODE_FIFO_CH7 7
645 
646 #ifdef MCP2518FD_FIFO_08TO15_IMPLEMENTED
647  #define MCP2518FD_ICODE_FIFO_CH8 8
648  #define MCP2518FD_ICODE_FIFO_CH9 9
649  #define MCP2518FD_ICODE_FIFO_CH10 10
650  #define MCP2518FD_ICODE_FIFO_CH11 11
651  #define MCP2518FD_ICODE_FIFO_CH12 12
652  #define MCP2518FD_ICODE_FIFO_CH13 13
653  #define MCP2518FD_ICODE_FIFO_CH14 14
654  #define MCP2518FD_ICODE_FIFO_CH15 15
655 #endif
656 
657 #ifdef MCP2518FD_FIFO_16TO31_IMPLEMENTED
658  #define MCP2518FD_ICODE_FIFO_CH16 16
659  #define MCP2518FD_ICODE_FIFO_CH17 17
660  #define MCP2518FD_ICODE_FIFO_CH18 18
661  #define MCP2518FD_ICODE_FIFO_CH19 19
662  #define MCP2518FD_ICODE_FIFO_CH20 20
663  #define MCP2518FD_ICODE_FIFO_CH21 21
664  #define MCP2518FD_ICODE_FIFO_CH22 22
665  #define MCP2518FD_ICODE_FIFO_CH23 23
666  #define MCP2518FD_ICODE_FIFO_CH24 24
667  #define MCP2518FD_ICODE_FIFO_CH25 25
668  #define MCP2518FD_ICODE_FIFO_CH26 26
669  #define MCP2518FD_ICODE_FIFO_CH27 27
670  #define MCP2518FD_ICODE_FIFO_CH28 28
671  #define MCP2518FD_ICODE_FIFO_CH29 29
672  #define MCP2518FD_ICODE_FIFO_CH30 30
673  #define MCP2518FD_ICODE_FIFO_CH31 31
674 #endif
675 
676 #define MCP2518FD_ICODE_TOTAL_CHANNELS 32
677 #define MCP2518FD_ICODE_NO_INT 64
678 #define MCP2518FD_ICODE_CERRIF 65
679 #define MCP2518FD_ICODE_WAKIF 66
680 #define MCP2518FD_ICODE_RXOVIF 67
681 #define MCP2518FD_ICODE_ADDRERR_SERRIF 68
682 #define MCP2518FD_ICODE_MABOV_SERRIF 69
683 #define MCP2518FD_ICODE_TBCIF 70
684 #define MCP2518FD_ICODE_MODIF 71
685 #define MCP2518FD_ICODE_IVMIF 72
686 #define MCP2518FD_ICODE_TEFIF 73
687 #define MCP2518FD_ICODE_TXATIF 74
688 #define MCP2518FD_ICODE_RESERVED 75
689 
694 #define MCP2518FD_RXCODE_FIFO_CH0 0
695 #define MCP2518FD_RXCODE_FIFO_CH1 1
696 #define MCP2518FD_RXCODE_FIFO_CH2 2
697 #define MCP2518FD_RXCODE_FIFO_CH3 3
698 #define MCP2518FD_RXCODE_FIFO_CH4 4
699 #define MCP2518FD_RXCODE_FIFO_CH5 5
700 #define MCP2518FD_RXCODE_FIFO_CH6 6
701 #define MCP2518FD_RXCODE_FIFO_CH7 7
702 
703 #ifdef MCP2518FD_FIFO_08TO15_IMPLEMENTED
704  #define MCP2518FD_RXCODE_FIFO_CH8 8
705  #define MCP2518FD_RXCODE_FIFO_CH9 9
706  #define MCP2518FD_RXCODE_FIFO_CH10 10
707  #define MCP2518FD_RXCODE_FIFO_CH11 11
708  #define MCP2518FD_RXCODE_FIFO_CH12 12
709  #define MCP2518FD_RXCODE_FIFO_CH13 13
710  #define MCP2518FD_RXCODE_FIFO_CH14 14
711  #define MCP2518FD_RXCODE_FIFO_CH15 15
712 #endif
713 
714 #ifdef MCP2518FD_FIFO_16TO31_IMPLEMENTED
715  #define MCP2518FD_RXCODE_FIFO_CH16 16
716  #define MCP2518FD_RXCODE_FIFO_CH17 17
717  #define MCP2518FD_RXCODE_FIFO_CH18 18
718  #define MCP2518FD_RXCODE_FIFO_CH19 19
719  #define MCP2518FD_RXCODE_FIFO_CH20 20
720  #define MCP2518FD_RXCODE_FIFO_CH21 21
721  #define MCP2518FD_RXCODE_FIFO_CH22 22
722  #define MCP2518FD_RXCODE_FIFO_CH23 23
723  #define MCP2518FD_RXCODE_FIFO_CH24 24
724  #define MCP2518FD_RXCODE_FIFO_CH25 25
725  #define MCP2518FD_RXCODE_FIFO_CH26 26
726  #define MCP2518FD_RXCODE_FIFO_CH27 27
727  #define MCP2518FD_RXCODE_FIFO_CH28 28
728  #define MCP2518FD_RXCODE_FIFO_CH29 29
729  #define MCP2518FD_RXCODE_FIFO_CH30 30
730  #define MCP2518FD_RXCODE_FIFO_CH31 31
731 #endif
732 
733 #define MCP2518FD_RXCODE_TOTAL_CHANNELS 32
734 #define MCP2518FD_RXCODE_NO_INT 64
735 #define MCP2518FD_RXCODE_RESERVED 65
736 
741 #define MCP2518FD_TXCODE_FIFO_CH0 0
742 #define MCP2518FD_TXCODE_FIFO_CH1 1
743 #define MCP2518FD_TXCODE_FIFO_CH2 2
744 #define MCP2518FD_TXCODE_FIFO_CH3 3
745 #define MCP2518FD_TXCODE_FIFO_CH4 4
746 #define MCP2518FD_TXCODE_FIFO_CH5 5
747 #define MCP2518FD_TXCODE_FIFO_CH6 6
748 #define MCP2518FD_TXCODE_FIFO_CH7 7
749 
750 #ifdef MCP2518FD_FIFO_08TO15_IMPLEMENTED
751  #define MCP2518FD_TXCODE_FIFO_CH8 8
752  #define MCP2518FD_TXCODE_FIFO_CH9 9
753  #define MCP2518FD_TXCODE_FIFO_CH10 10
754  #define MCP2518FD_TXCODE_FIFO_CH11 11
755  #define MCP2518FD_TXCODE_FIFO_CH12 12
756  #define MCP2518FD_TXCODE_FIFO_CH13 13
757  #define MCP2518FD_TXCODE_FIFO_CH14 14
758  #define MCP2518FD_TXCODE_FIFO_CH15 15
759 #endif
760 
761 #ifdef MCP2518FD_FIFO_16TO31_IMPLEMENTED
762  #define MCP2518FD_TXCODE_FIFO_CH16 16
763  #define MCP2518FD_TXCODE_FIFO_CH17 17
764  #define MCP2518FD_TXCODE_FIFO_CH18 18
765  #define MCP2518FD_TXCODE_FIFO_CH19 19
766  #define MCP2518FD_TXCODE_FIFO_CH20 20
767  #define MCP2518FD_TXCODE_FIFO_CH21 21
768  #define MCP2518FD_TXCODE_FIFO_CH22 22
769  #define MCP2518FD_TXCODE_FIFO_CH23 23
770  #define MCP2518FD_TXCODE_FIFO_CH24 24
771  #define MCP2518FD_TXCODE_FIFO_CH25 25
772  #define MCP2518FD_TXCODE_FIFO_CH26 26
773  #define MCP2518FD_TXCODE_FIFO_CH27 27
774  #define MCP2518FD_TXCODE_FIFO_CH28 28
775  #define MCP2518FD_TXCODE_FIFO_CH29 29
776  #define MCP2518FD_TXCODE_FIFO_CH30 30
777  #define MCP2518FD_TXCODE_FIFO_CH31 31
778 #endif
779 
780 #define MCP2518FD_TXCODE_TOTAL_CHANNELS 32
781 #define MCP2518FD_TXCODE_NO_INT 64
782 #define MCP2518FD_TXCODE_RESERVED 65
783 
788 #define MCP2518FD_SYSCLK_40M 0
789 #define MCP2518FD_SYSCLK_20M 1
790 #define MCP2518FD_SYSCLK_10M 2
791 
796 #define MCP2518FD_CLKO_DIV1 0
797 #define MCP2518FD_CLKO_DIV2 1
798 #define MCP2518FD_CLKO_DIV4 2
799 #define MCP2518FD_CLKO_DIV10 3
800 
801 #define N_MCP2518FD_FIFO_REGS ( MCP2518FD_FIFO_TOTAL_CHANNELS * MCP2518FD_FIFO_OFFSET )
802 #define N_MCP2518FD_FILT_CTRL_REGS ( MCP2518FD_FILT_TOTAL / 4 )
803 #define N_MCP2518FD_FILT_OBJ_REGS ( MCP2518FD_FILT_TOTAL * MCP2518FD_FILTER_OFFSET )
804 
813 #define MCP2518FD_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
814 #define MCP2518FD_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
815  // mcp2518fd_set
817 
832 #define MCP2518FD_MAP_MIKROBUS( cfg, mikrobus ) \
833  cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
834  cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
835  cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
836  cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
837  cfg.stby = MIKROBUS( mikrobus, MIKROBUS_AN ); \
838  cfg.clk = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
839  cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
840  // mcp2518fd_map // mcp2518fd
843 
848 typedef struct
849 {
851  uint32_t iso_crc_enable;
859  uint32_t store_in_tef;
860  uint32_t txq_enable;
862 
864 
869 typedef struct
870 {
871  uint8_t iso_crc_enable;
872  uint8_t store_in_tef;
873  uint8_t tx_fifo_size;
875  uint8_t tx_priority;
876  uint8_t rx_fifo_size;
878  uint16_t standard_id;
879  uint32_t extended_id;
880  uint8_t fd_frame;
882  uint8_t ide;
884  uint8_t seq;
885 
887 
892 typedef uint8_t mcp2518fd_id_t;
893 
898 typedef uint32_t mcp2518fd_msg_time_stamp_t;
899 
904 typedef struct
905 {
906  uint32_t sid : 11;
907  uint32_t eid : 18;
908  uint32_t sid11 : 1;
909  uint32_t unimplemented1 : 2;
910 
912 
917 typedef struct
918 {
919  uint32_t dlc;
920  uint32_t ide;
921  uint32_t rtr;
922  uint32_t brs;
923  uint32_t fdf;
924  uint32_t esi;
925  uint32_t seq;
926  uint32_t unimplemented1;
927 
929 
934 typedef union
935 {
936  struct {
940  } bf;
941  uint32_t word[ 3 ];
942  uint8_t byte[ 12 ];
943 
945 
950 typedef struct
951 {
952  uint32_t dlc : 4;
953  uint32_t ide : 1;
954  uint32_t rtr : 1;
955  uint32_t brs : 1;
956  uint32_t fdf : 1;
957  uint32_t esi : 1;
958  uint32_t unimplemented1 : 2;
959  uint32_t filter_hit : 5;
960  uint32_t unimplemented2 : 16;
961 
963 
968 typedef union
969 {
970  struct {
974  } bf;
975  uint32_t word[ 3 ];
976  uint8_t byte[ 12 ];
977 
979 
984 typedef union
985 {
986  struct {
990  } bf;
991  uint32_t word[ 3 ];
992  uint8_t byte[ 12 ];
993 
995 
1000 typedef struct
1001 {
1002  uint32_t sid;
1003  uint32_t eid;
1004  uint32_t sid11;
1005  uint32_t exide;
1006  uint32_t unimplemented1;
1007 
1009 
1014 typedef union
1015 {
1017  uint32_t word;
1018  uint8_t byte[ 4 ];
1019 
1021 
1026 typedef struct
1027 {
1028  uint32_t msid;
1029  uint32_t meid;
1030  uint32_t msid11;
1031  uint32_t mide;
1032  uint32_t unimplemented1;
1033 
1035 
1040 typedef union
1041 {
1043  uint32_t word;
1044  uint8_t byte[ 4 ];
1045 
1047 
1048 typedef union
1049 {
1050  uint8_t byte[ 4 ];
1051  uint32_t word;
1052 
1053 } mcp2518fd_reg_t;
1054 
1059 typedef union
1060 {
1061  struct {
1062  uint32_t d_net_filter_count : 5;
1063  uint32_t iso_crc_enable : 1;
1065  uint32_t unimplemented1 : 1;
1067  uint32_t wake_up_filter_time : 2;
1068  uint32_t unimplemented2 : 1;
1070  uint32_t unimplemented3 : 3;
1072  uint32_t esi_in_gateway_mode : 1;
1074  uint32_t store_in_tef : 1;
1075  uint32_t txq_enable : 1;
1076  uint32_t op_mode : 3;
1077  uint32_t request_op_mode : 3;
1078  uint32_t abort_all_tx : 1;
1080  } bf;
1081  uint32_t word;
1082  uint8_t byte[ 4 ];
1083 
1084 } mcp2518fd_ctl_t;
1085 
1090 typedef union
1091 {
1092  struct {
1093  uint32_t tx_not_full_ie : 1;
1094  uint32_t unimplemented1 : 1;
1095  uint32_t tx_empty_ie : 1;
1096  uint32_t unimplemented2 : 1;
1097  uint32_t tx_attempt_ie : 1;
1098  uint32_t unimplemented3 : 2;
1099  uint32_t tx_enable : 1;
1100  uint32_t uinc : 1;
1101  uint32_t tx_request : 1;
1102  uint32_t freset : 1;
1103  uint32_t unimplemented4 : 5;
1104  uint32_t tx_priority : 5;
1105  uint32_t tx_attempts : 2;
1106  uint32_t unimplemented5 : 1;
1107  uint32_t fifo_size : 5;
1108  uint32_t pay_load_size : 3;
1109  } tx_bf;
1110  uint32_t word;
1111  uint8_t byte[ 4 ];
1112 
1114 
1119 typedef union
1120 {
1121  struct {
1122  uint32_t tefneie : 1;
1123  uint32_t tefhfie : 1;
1124  uint32_t teffulie : 1;
1125  uint32_t tefovie : 1;
1126  uint32_t unimplemented1 : 1;
1127  uint32_t time_stamp_enable : 1;
1128  uint32_t unimplemented2 : 2;
1129  uint32_t uinc : 1;
1130  uint32_t unimplemented3 : 1;
1131  uint32_t freset : 1;
1132  uint32_t unimplemented4 : 13;
1133  uint32_t fifo_size : 5;
1134  uint32_t unimplemented5 : 3;
1135  } bf;
1136  uint32_t word;
1137  uint8_t byte[ 4 ];
1138 
1140 
1145 typedef union
1146 {
1147  struct {
1148  uint32_t rx_not_empty_ie : 1;
1149  uint32_t rx_half_full_ie : 1;
1150  uint32_t rx_full_ie : 1;
1151  uint32_t rx_over_flow_ie : 1;
1152  uint32_t unimplemented1 : 1;
1153  uint32_t rx_time_stamp_enable : 1;
1154  uint32_t unimplemented2 : 1;
1155  uint32_t tx_enable : 1;
1156  uint32_t uinc : 1;
1157  uint32_t unimplemented3 : 1;
1158  uint32_t freset : 1;
1159  uint32_t unimplemented4 : 13;
1160  uint32_t fifo_size : 5;
1161  uint32_t pay_load_size : 3;
1162  } rx_bf;
1163 
1164  struct {
1165  uint32_t tx_not_full_ie : 1;
1166  uint32_t tx_half_full_ie : 1;
1167  uint32_t tx_empty_ie : 1;
1168  uint32_t unimplemented1 : 1;
1169  uint32_t tx_attempt_ie : 1;
1170  uint32_t unimplemented2 : 1;
1171  uint32_t rtr_enable : 1;
1172  uint32_t tx_enable : 1;
1173  uint32_t uinc : 1;
1174  uint32_t tx_request : 1;
1175  uint32_t freset : 1;
1176  uint32_t unimplemented3 : 5;
1177  uint32_t tx_priority : 5;
1178  uint32_t tx_attempts : 2;
1179  uint32_t unimplemented4 : 1;
1180  uint32_t fifo_size : 5;
1181  uint32_t pay_load_size : 3;
1182  } tx_bf;
1183  uint32_t word;
1184  uint8_t byte[ 4 ];
1185 
1187 
1192 typedef union
1193 {
1194  struct {
1195  uint32_t buffer_pointer : 5;
1196  uint32_t unimplemented1 : 2;
1197  uint32_t enable : 1;
1198  } bf;
1199  uint8_t byte;
1200 
1202 
1207 typedef union
1208 {
1209  struct {
1210  uint32_t pll_enable : 1;
1211  uint32_t unimplemented1 : 1;
1212  uint32_t osc_disable : 1;
1213  uint32_t unimplemented2 : 1;
1214  uint32_t sclk_divide : 1;
1215  uint32_t clk_out_divide : 2;
1216  uint32_t unimplemented3 : 1;
1217  uint32_t pll_ready : 1;
1218  uint32_t unimplemented4 : 1;
1219  uint32_t osc_ready : 1;
1220  uint32_t unimplemented5 : 1;
1221  uint32_t sclk_ready : 1;
1222  uint32_t unimplemented6 : 19;
1223  } bf;
1224  uint32_t word;
1225  uint8_t byte[ 4 ];
1226 
1228 
1233 typedef struct
1234 {
1235  uint32_t pll_enable;
1236  uint32_t osc_disable;
1237  uint32_t sclk_divide;
1238  uint32_t clk_out_divide;
1239 
1241 
1246 typedef union
1247 {
1248  struct {
1249  uint32_t tris0 : 1;
1250  uint32_t tris1 : 1;
1251  uint32_t unimplemented1 : 2;
1253  uint32_t auto_sleep_enable : 1;
1254  uint32_t xcr_stby_enable : 1;
1255  uint32_t unimplemented2 : 1;
1256  uint32_t lat0 : 1;
1257  uint32_t lat1 : 1;
1258  uint32_t unimplemented3 : 5;
1259  uint32_t hvdetsel : 1;
1260  uint32_t gpio0 : 1;
1261  uint32_t gpio1 : 1;
1262  uint32_t unimplemented4 : 6;
1263  uint32_t pin_mode0 : 1;
1264  uint32_t pin_mode1 : 1;
1265  uint32_t unimplemented5 : 2;
1266  uint32_t tx_can_open_drain : 1;
1267  uint32_t sof_output_enable : 1;
1268  uint32_t int_pin_open_drain : 1;
1269  uint32_t unimplemented6 : 1;
1270  } bf;
1271  uint32_t word;
1272  uint8_t byte[ 4 ];
1273 
1275 
1280 typedef union
1281 {
1282  struct {/* can_fd_ubp */
1283  uint32_t ecc_en : 1;
1284  uint32_t secie : 1;
1285  uint32_t dedie : 1;
1286  uint32_t unimplemented1 : 5;
1287  uint32_t parity : 7;
1288  uint32_t unimplemented2 : 17;
1289  } bf;
1290  uint32_t word;
1291  uint8_t byte[ 4 ];
1292 
1294 
1299 typedef struct
1300 {
1301  uint32_t d_net_filter_count : 5;
1302  uint32_t iso_crc_enable : 1;
1305  uint32_t wake_up_filter_time : 2;
1308  uint32_t esi_in_gateway_mode : 1;
1310  uint32_t store_in_tef : 1;
1311  uint32_t txq_enable : 1;
1313 
1315 
1320 typedef struct
1321 {
1322  uint32_t rtr_enable;
1323  uint32_t tx_priority;
1324  uint32_t tx_attempts;
1325  uint32_t fifo_size;
1326  uint32_t pay_load_size;
1327 
1329 
1334 typedef struct
1335 {
1336  uint32_t tx_priority : 5;
1337  uint32_t tx_attempts : 2;
1338  uint32_t fifo_size : 5;
1339  uint32_t pay_load_size : 3;
1340 
1342 
1347 typedef struct
1348 {
1350  uint32_t fifo_size;
1351  uint32_t pay_load_size;
1352 
1354 
1355 
1360 typedef union
1361 {
1362  struct {
1363  uint32_t user_address : 12;
1364  uint32_t unimplemented1 : 20;
1365  } bf;
1366  uint32_t word;
1367  uint8_t byte[ 4 ];
1368 
1370 
1375 typedef struct
1376 {
1378  uint32_t fifo_size;
1379 
1381 
1386 typedef union
1387 {
1388  struct {
1389  uint32_t swj : 7;
1390  uint32_t unimplemented1 : 1;
1391  uint32_t tseg2 : 7;
1392  uint32_t unimplemented2 : 1;
1393  uint32_t tseg1 : 8;
1394  uint32_t brp : 8;
1395  } bf;
1396  uint32_t word;
1397  uint8_t byte[ 4 ];
1398 
1400 
1405 typedef union
1406 {
1407  struct {
1408  uint32_t swj : 4;
1409  uint32_t unimplemented1 : 4;
1410  uint32_t tseg2 : 4;
1411  uint32_t unimplemented2 : 4;
1412  uint32_t tseg1 : 5;
1413  uint32_t unimplemented3 : 3;
1414  uint32_t brp : 8;
1415  } bf;
1416  uint32_t word;
1417  uint8_t byte[ 4 ];
1418 
1420 
1425 typedef union
1426 {
1427  struct {
1428  uint32_t tdc_value : 6;
1429  uint32_t unimplemented1 : 2;
1430  uint32_t tdc_offset : 7;
1431  uint32_t unimplemented2 : 1;
1432  uint32_t tdc_mode : 2;
1433  uint32_t unimplemented3 : 6;
1434  uint32_t sid11_enable : 1;
1435  uint32_t edge_filter_enable : 1;
1436  uint32_t unimplemented4 : 6;
1437  } bf;
1438  uint32_t word;
1439  uint8_t byte[ 4 ];
1440 
1442 
1447 typedef union
1448 {
1449  struct {
1450  uint32_t tbc_prescaler : 10;
1451  uint32_t unimplemented1 : 6;
1452  uint32_t tbc_enable : 1;
1453  uint32_t time_stamp_eof : 1;
1454  uint32_t unimplemented2 : 14;
1455  } bf;
1456  uint32_t word;
1457  uint8_t byte[ 4 ];
1458 
1460 
1465 typedef struct
1466 {
1467  uint32_t txie : 1;
1468  uint32_t rxie : 1;
1469  uint32_t tbcie : 1;
1470  uint32_t modie : 1;
1471  uint32_t tefie : 1;
1472  uint32_t unimplemented2 : 3;
1473 
1474  uint32_t eccie : 1;
1475  uint32_t spicrcie : 1;
1476  uint32_t txatie : 1;
1477  uint32_t rxovie : 1;
1478  uint32_t serrie : 1;
1479  uint32_t cerrie : 1;
1480  uint32_t wakie : 1;
1481  uint32_t ivmie : 1;
1482 
1484 
1489 typedef union
1490 {
1492  uint16_t word;
1493  uint8_t byte[ 2 ];
1494 
1496 
1501 typedef union
1502 {
1503  struct {
1504  uint32_t icode : 7;
1505  uint32_t unimplemented1 : 1;
1506  uint32_t filter_hit : 5;
1507  uint32_t unimplemented2 : 3;
1508  uint32_t tx_code : 7;
1509  uint32_t unimplemented3 : 1;
1510  uint32_t rx_code : 7;
1511  uint32_t unimplemented4 : 1;
1512  } bf;
1513  uint32_t word;
1514  uint8_t byte[ 4 ];
1515 
1517 
1522 typedef struct
1523 {
1524  uint32_t TXIF : 1;
1525  uint32_t RXIF : 1;
1526  uint32_t TBCIF : 1;
1527  uint32_t MODIF : 1;
1528  uint32_t TEFIF : 1;
1529  uint32_t unimplemented1 : 3;
1530 
1531  uint32_t ECCIF : 1;
1532  uint32_t SPICRCIF : 1;
1533  uint32_t TXATIF : 1;
1534  uint32_t RXOVIF : 1;
1535  uint32_t SERRIF : 1;
1536  uint32_t CERRIF : 1;
1537  uint32_t WAKIF : 1;
1538  uint32_t IVMIF : 1;
1539 
1541 
1546 typedef union
1547 {
1549  uint16_t word;
1550  uint8_t byte[ 2 ];
1551 
1553 
1558 typedef union
1559 {
1560  struct {
1563  } bf;
1564  uint32_t word;
1565  uint8_t byte[ 4 ];
1566 
1567 } mcp2518fd_int_t;
1568 
1573 typedef union
1574 {
1575  struct {
1576  uint32_t rx_error_count : 8;
1577  uint32_t tx_error_count : 8;
1578  uint32_t error_state_warning : 1;
1584  uint32_t unimplemented1 : 10;
1585  } bf;
1586  uint32_t word;
1587  uint8_t byte[ 4 ];
1588 
1590 
1595 typedef union
1596 {
1597  struct {
1598  uint32_t tef_not_empty_if : 1;
1599  uint32_t tef_half_full_if : 1;
1600  uint32_t tef_full_if : 1;
1601  uint32_t tef_ov_if : 1;
1602  uint32_t unimplemented1 : 28;
1603  } bf;
1604  uint32_t word;
1605  uint8_t byte[ 4 ];
1606 
1607 } mcp2518fd_tef_t;
1608 
1613 typedef union
1614 {
1615  struct {
1616  uint32_t tx_not_full_if : 1;
1617  uint32_t unimplemented1 : 1;
1618  uint32_t tx_empty_if : 1;
1619  uint32_t unimplemented2 : 1;
1620  uint32_t tx_attempt_if : 1;
1621  uint32_t tx_error : 1;
1622  uint32_t tx_lost_arbitration : 1;
1623  uint32_t tx_aborted : 1;
1624  uint32_t fifo_index : 5;
1625  uint32_t unimplemented3 : 19;
1626  } tx_bf;
1627  uint32_t word;
1628  uint8_t byte[ 4 ];
1629 
1631 
1636 typedef union
1637 {
1638  struct {
1639  uint32_t rx_not_empty_if : 1;
1640  uint32_t rx_half_full_if : 1;
1641  uint32_t rx_full_if : 1;
1642  uint32_t rx_over_flow_if : 1;
1643  uint32_t unimplemented1 : 4;
1644  uint32_t fifo_index : 5;
1645  uint32_t unimplemented2 : 19;
1646  } rx_bf;
1647 
1648  struct {
1649  uint32_t tx_not_full_if : 1;
1650  uint32_t tx_half_full_if : 1;
1651  uint32_t tx_empty_if : 1;
1652  uint32_t unimplemented1 : 1;
1653  uint32_t tx_attempt_if : 1;
1654  uint32_t tx_error : 1;
1655  uint32_t tx_lost_arbitration : 1;
1656  uint32_t tx_aborted : 1;
1657  uint32_t fifo_index : 5;
1658  uint32_t unimplemented2 : 19;
1659  } tx_bf;
1660  uint32_t word;
1661  uint8_t byte[ 4 ];
1662 
1664 
1669 typedef union
1670 {
1671  struct {
1672  uint32_t crc : 16;
1673  uint32_t crcerrif : 1;
1674  uint32_t ferrif : 1;
1675  uint32_t unimplemented1 : 6;
1676  uint32_t crcerrie : 1;
1677  uint32_t ferrie : 1;
1678  uint32_t unimplemented2 : 6;
1679  } bf;
1680  uint32_t word;
1681  uint8_t byte[ 4 ];
1682 
1683 } mcp2518fd_crc_t;
1684 
1689 typedef union
1690 {
1691  struct {
1692  uint32_t unimplemented1 : 1;
1693  uint32_t secif : 1;
1694  uint32_t dedif : 1;
1695  uint32_t unimplemented2 : 13;
1696  uint32_t error_address : 12;
1697  uint32_t unimplemented3 : 4;
1698  } bf;
1699  uint32_t word;
1700  uint8_t byte[ 4 ];
1701 
1703 
1708 typedef struct
1709 {
1710  uint32_t pll_ready : 1;
1711  uint32_t osc_ready : 1;
1712  uint32_t sclk_ready : 1;
1713 
1715 
1720 typedef struct
1721 {
1722  uint32_t n_bit0_err : 1;
1723  uint32_t n_bit1_err : 1;
1724  uint32_t n_ack_err : 1;
1725  uint32_t n_form_err : 1;
1726  uint32_t n_stuff_err : 1;
1727  uint32_t n_crc_err : 1;
1728  uint32_t unimplemented1 : 1;
1729  uint32_t txbo_err : 1;
1730  uint32_t d_bit0_err : 1;
1731  uint32_t d_bit1_err : 1;
1732  uint32_t unimplemented2 : 1;
1733  uint32_t d_form_err : 1;
1734  uint32_t d_stuff_err : 1;
1735  uint32_t d_crc_err : 1;
1736  uint32_t esi : 1;
1737  uint32_t dlc_mismatch : 1;
1738 
1740 
1745 typedef struct
1746 {
1747  uint8_t n_rec;
1748  uint8_t n_tec;
1749  uint8_t d_rec;
1750  uint8_t d_tec;
1751 
1753 
1758 typedef union
1759 {
1760  struct {
1764  } bf;
1765  uint32_t word[ 2 ];
1766  uint8_t byte[ 8 ];
1767 
1769 
1774 typedef union
1775 {
1776  struct {
1777  uint32_t n_rx_error_count : 8;
1778  uint32_t n_tx_error_count : 8;
1779  uint32_t d_rx_error_count : 8;
1780  uint32_t d_tx_error_count : 8;
1781  } bf;
1782  uint32_t word;
1783  uint8_t byte[ 4 ];
1784 
1786 
1791 typedef union
1792 {
1793  struct {
1794  uint32_t error_free_msg_count : 16;
1795  uint32_t n_bit0_error : 1;
1796  uint32_t n_bit1_error : 1;
1797  uint32_t n_ack_error : 1;
1798  uint32_t n_form_error : 1;
1799  uint32_t n_stuff_error : 1;
1800  uint32_t n_crc_error : 1;
1801  uint32_t unimplemented1 : 1;
1802  uint32_t txbo_error : 1;
1803  uint32_t d_bit0_error : 1;
1804  uint32_t d_bit1_error : 1;
1805  uint32_t d_ack_error : 1;
1806  uint32_t d_form_error : 1;
1807  uint32_t d_stuff_error : 1;
1808  uint32_t d_crc_error : 1;
1809  uint32_t esi : 1;
1810  uint32_t unimplemented2 : 1;
1811  } bf;
1812  uint32_t word;
1813  uint8_t byte[ 4 ];
1814 
1816 
1821 typedef struct
1822 {
1823  uint16_t address;
1824  uint8_t *rxd;
1825  uint16_t n_bytes;
1826  uint8_t *txd;
1827  uint32_t txd_num_bytes;
1828 
1830 
1835 typedef struct
1836 {
1838  uint8_t tx_flags;
1839  uint8_t rx_flags;
1840  uint8_t error_flags;
1841  uint8_t tec;
1842  uint8_t rec;
1843  uint8_t op_mode;
1844  uint32_t tx_id;
1845 
1854 
1856 
1861 typedef struct
1862 {
1863  // Output pins
1864  digital_out_t stby;
1866  // Input pins
1867  digital_in_t clk;
1868  digital_in_t int_pin;
1870  // Modules
1871  spi_master_t spi;
1873  pin_name_t chip_select;
1877 
1878 } mcp2518fd_t;
1879 
1884 typedef struct
1885 {
1886  // Communication gpio pins
1887  pin_name_t miso;
1888  pin_name_t mosi;
1889  pin_name_t sck;
1890  pin_name_t cs;
1892  // Additional gpio pins
1893  pin_name_t stby;
1894  pin_name_t clk;
1895  pin_name_t int_pin;
1897  // static variable
1898  uint32_t spi_speed;
1899  spi_master_mode_t spi_mode;
1900  spi_master_chip_select_polarity_t cs_polarity;
1902 } mcp2518fd_cfg_t;
1903 
1908 typedef enum
1909 {
1911  MCP2518FD_ERROR = -1
1912 
1914 
1931 
1946 
1961 
1976 err_t mcp2518fd_generic_write ( mcp2518fd_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len );
1977 
1992 err_t mcp2518fd_generic_read ( mcp2518fd_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len );
1993 
2005 err_t mcp2518fd_transmit_message ( mcp2518fd_t *ctx, uint8_t *data_in, uint16_t data_len );
2006 
2018 err_t mcp2518fd_receive_message ( mcp2518fd_t *ctx, uint8_t *data_out, uint16_t *data_len );
2019 
2031 
2044 err_t mcp2518fd_read_byte ( mcp2518fd_t *ctx, uint16_t address, uint8_t *data_out );
2045 
2058 err_t mcp2518fd_write_byte ( mcp2518fd_t *ctx, uint16_t address, uint8_t data_in );
2059 
2072 err_t mcp2518fd_read_word ( mcp2518fd_t *ctx, uint16_t address, uint32_t *data_out );
2073 
2086 err_t mcp2518fd_write_word ( mcp2518fd_t *ctx, uint16_t address, uint32_t data_in );
2087 
2100 err_t mcp2518fd_read_half_word ( mcp2518fd_t *ctx, uint16_t address, uint16_t *data_out );
2101 
2114 err_t mcp2518fd_write_half_word ( mcp2518fd_t *ctx, uint16_t address, uint16_t data_in );
2115 
2131 err_t mcp2518fd_write_byte_safe ( mcp2518fd_t *ctx, uint16_t address, uint8_t data_in );
2132 
2148 err_t mcp2518fd_write_word_safe ( mcp2518fd_t *ctx, uint16_t address, uint32_t data_in );
2149 
2163 err_t mcp2518fd_read_byte_array ( mcp2518fd_t *ctx, uint16_t address, uint8_t *data_out, uint16_t n_bytes );
2164 
2177 err_t mcp2518fd_read_byte_array_with_crc ( mcp2518fd_t *ctx, bool from_ram, bool *crc_is_correct );
2178 
2192 err_t mcp2518fd_write_byte_array ( mcp2518fd_t *ctx, uint16_t address, uint8_t *data_in, uint16_t n_bytes );
2193 
2205 err_t mcp2518fd_write_byte_array_with_crc ( mcp2518fd_t *ctx, bool from_ram );
2206 
2220 err_t mcp2518fd_read_word_array ( mcp2518fd_t *ctx, uint16_t address, uint32_t *data_out, uint16_t n_words );
2221 
2235 err_t mcp2518fd_write_word_array ( mcp2518fd_t *ctx, uint16_t address, uint32_t *data_in, uint16_t n_words );
2236 
2249 
2257 
2270 err_t mcp2518fd_operation_mode_select ( mcp2518fd_t *ctx, uint8_t op_mode );
2271 
2280 
2294 
2302 
2315 
2323 
2337 err_t mcp2518fd_transmit_channel_load ( mcp2518fd_t *ctx, uint8_t channel, mcp2518fd_tx_msg_obj_t *tx_obj, bool flush );
2338 
2350 err_t mcp2518fd_transmit_channel_flush ( mcp2518fd_t *ctx, uint8_t channel );
2351 
2364 err_t mcp2518fd_transmit_channel_status_get ( mcp2518fd_t *ctx, uint8_t channel, uint16_t *status );
2365 
2377 err_t mcp2518fd_transmit_channel_reset ( mcp2518fd_t *ctx, uint8_t channel );
2378 
2391 err_t mcp2518fd_transmit_channel_update ( mcp2518fd_t *ctx, uint8_t channel, bool flush );
2392 
2404 err_t mcp2518fd_transmit_request_set ( mcp2518fd_t *ctx, uint32_t tx_req );
2405 
2417 err_t mcp2518fd_transmit_request_get ( mcp2518fd_t *ctx, uint32_t* tx_req );
2418 
2430 err_t mcp2518fd_transmit_channel_abort ( mcp2518fd_t *ctx, uint8_t channel );
2431 
2443 
2456 
2470 
2484 
2498 err_t mcp2518fd_filter_to_fifo_link ( mcp2518fd_t *ctx, uint8_t filter, uint8_t channel, bool enable );
2499 
2511 err_t mcp2518fd_filter_enable ( mcp2518fd_t *ctx, uint8_t filter );
2512 
2525 err_t mcp2518fd_filter_disable ( mcp2518fd_t *ctx, uint8_t filter );
2526 
2540 
2553 err_t mcp2518fd_receive_channel_configure ( mcp2518fd_t *ctx, uint8_t channel,
2554  mcp2518fd_rx_fifo_cfg_t *config );
2555 
2563 
2576 err_t mcp2518fd_receive_channel_status_get ( mcp2518fd_t *ctx, uint8_t channel, uint8_t *status );
2577 
2593 err_t mcp2518fd_receive_message_get ( mcp2518fd_t *ctx, uint8_t channel, mcp2518fd_rx_msg_obj_t *rx_obj );
2594 
2606 err_t mcp2518fd_receive_channel_reset ( mcp2518fd_t *ctx, uint8_t channel );
2607 
2619 err_t mcp2518fd_receive_channel_update ( mcp2518fd_t *ctx, uint8_t channel );
2620 
2632 err_t mcp2518fd_tef_status_get ( mcp2518fd_t *ctx, uint8_t *status );
2633 
2648 
2660 
2672 
2685 
2695 
2707 err_t mcp2518fd_module_event_get ( mcp2518fd_t *ctx, uint16_t *flags );
2708 
2721 err_t mcp2518fd_module_event_enable ( mcp2518fd_t *ctx, uint16_t flags );
2722 
2735 err_t mcp2518fd_module_event_disable ( mcp2518fd_t *ctx, uint16_t flags );
2736 
2750 err_t mcp2518fd_module_event_clear ( mcp2518fd_t *ctx, uint16_t flags );
2751 
2763 err_t mcp2518fd_module_event_rx_code_get ( mcp2518fd_t *ctx, uint8_t *rx_code );
2764 
2776 err_t mcp2518fd_module_event_tx_code_get ( mcp2518fd_t *ctx, uint8_t *tx_code );
2777 
2789 err_t mcp2518fd_module_event_filter_hit_get ( mcp2518fd_t *ctx, uint8_t* filter_hit );
2790 
2802 err_t mcp2518fd_module_event_icode_get ( mcp2518fd_t *ctx, uint8_t *icode );
2803 
2816 err_t mcp2518fd_transmit_channel_event_get ( mcp2518fd_t *ctx, uint8_t channel, uint8_t *flags );
2817 
2829 err_t mcp2518fd_transmit_event_get ( mcp2518fd_t *ctx, uint32_t *txif );
2830 
2842 err_t mcp2518fd_transmit_event_attempt_get ( mcp2518fd_t *ctx, uint32_t *txatif );
2843 
2856 err_t mcp2518fd_transmit_channel_index_get ( mcp2518fd_t *ctx, uint8_t channel, uint8_t *idx );
2857 
2871 err_t mcp2518fd_transmit_channel_event_enable( mcp2518fd_t *ctx, uint8_t channel, uint8_t flags );
2872 
2886 err_t mcp2518fd_transmit_channel_event_disable ( mcp2518fd_t *ctx, uint8_t channel, uint8_t flags );
2887 
2901 
2914 err_t mcp2518fd_receive_channel_event_get ( mcp2518fd_t *ctx, uint8_t channel, uint8_t *flags );
2915 
2927 err_t mcp2518fd_receive_event_get ( mcp2518fd_t *ctx, uint32_t *rxif );
2928 
2940 err_t mcp2518fd_receive_event_overflow_get ( mcp2518fd_t *ctx, uint32_t *rxovif );
2941 
2951 err_t mcp2518fd_receive_channel_index_get ( mcp2518fd_t *ctx, uint8_t channel, uint8_t *idx );
2952 
2966 err_t mcp2518fd_receive_channel_event_enable ( mcp2518fd_t *ctx, uint8_t channel, uint8_t flags );
2967 
2981 err_t mcp2518fd_receive_channel_event_disable ( mcp2518fd_t *ctx, uint8_t channel, uint8_t flags );
2982 
2996 
3009 err_t mcp2518fd_tef_event_get ( mcp2518fd_t *ctx, uint8_t* flags );
3010 
3023 err_t mcp2518fd_tef_event_enable ( mcp2518fd_t *ctx, uint8_t flags );
3024 
3037 err_t mcp2518fd_tef_event_disable ( mcp2518fd_t *ctx, uint8_t flags );
3038 
3052 
3065 
3077 err_t mcp2518fd_error_count_receive_get ( mcp2518fd_t *ctx, uint8_t *rec );
3078 
3090 err_t mcp2518fd_error_state_get ( mcp2518fd_t *ctx, uint8_t *flags );
3091 
3105 err_t mcp2518fd_error_count_state_get ( mcp2518fd_t *ctx, uint8_t *tec, uint8_t *rec, uint8_t *flags );
3106 
3120 
3132 
3145 
3158 
3171 err_t mcp2518fd_ecc_event_get ( mcp2518fd_t *ctx, uint8_t *flags );
3172 
3184 err_t mcp2518fd_ecc_parity_set ( mcp2518fd_t *ctx, uint8_t parity );
3185 
3197 err_t mcp2518fd_ecc_parity_get ( mcp2518fd_t *ctx, uint8_t *parity );
3198 
3210 err_t mcp2518fd_ecc_error_address_get ( mcp2518fd_t *ctx, uint16_t *address );
3211 
3224 err_t mcp2518fd_ecc_event_enable ( mcp2518fd_t *ctx, uint8_t flags );
3225 
3238 err_t mcp2518fd_ecc_event_disable ( mcp2518fd_t *ctx, uint8_t flags );
3239 
3252 err_t mcp2518fd_ecc_event_clear ( mcp2518fd_t *ctx, uint8_t flags );
3253 
3266 err_t mcp2518fd_crc_event_enable ( mcp2518fd_t *ctx, uint8_t flags );
3267 
3280 err_t mcp2518fd_crc_event_disable ( mcp2518fd_t *ctx, uint8_t flags );
3281 
3294 err_t mcp2518fd_crc_event_clear ( mcp2518fd_t *ctx, uint8_t flags );
3295 
3307 err_t mcp2518fd_crc_event_get ( mcp2518fd_t *ctx, uint8_t *flags );
3308 
3320 err_t mcp2518fd_crc_value_get ( mcp2518fd_t *ctx, uint16_t *crc );
3321 
3333 err_t mcp2518fd_ram_init ( mcp2518fd_t *ctx, uint8_t rx_data );
3334 
3347 
3360 
3372 err_t mcp2518fd_time_stamp_get ( mcp2518fd_t *ctx, uint32_t *time_stamp );
3373 
3385 err_t mcp2518fd_time_stamp_set ( mcp2518fd_t *ctx, uint32_t ts );
3386 
3400 
3412 err_t mcp2518fd_time_stamp_prescaler_set ( mcp2518fd_t *ctx, uint16_t time_stamp );
3413 
3427 
3443 
3451 
3464 
3477 err_t mcp2518fd_bit_time_configure ( mcp2518fd_t *ctx, uint8_t bit_time, uint8_t clk );
3478 
3491 
3504 
3517 
3530 
3543 
3556 
3570 err_t mcp2518fd_gpio_mode_configure ( mcp2518fd_t *ctx, uint8_t gpio0, uint8_t gpio1 );
3571 
3585 err_t mcp2518fd_gpio_direction_configure ( mcp2518fd_t *ctx, uint8_t gpio0, uint8_t gpio1 );
3586 
3599 
3612 
3626 
3640 
3654 err_t mcp2518fd_gpio_pin_set ( mcp2518fd_t *ctx, uint8_t pos, uint8_t latch );
3655 
3668 err_t mcp2518fd_gpio_pin_read ( mcp2518fd_t *ctx, uint8_t pos, uint8_t *state );
3669 
3683 
3690 uint32_t mcp2518fd_dlc_to_data_bytes ( uint8_t dlc );
3691 
3704 err_t mcp2518fd_fifo_index_get ( mcp2518fd_t *ctx, uint8_t channel, uint8_t *data_out );
3705 
3715 uint16_t mcp2518fd_calculate_crc16 ( uint8_t *data_pointer, uint16_t size );
3716 
3723 uint8_t mcp2518fd_data_bytes_to_dlc ( uint8_t num );
3724 
3725 #ifdef __cplusplus
3726 }
3727 #endif
3728 #endif // MCP2518FD_H
3729  // mcp2518fd
3731 
3732 // ------------------------------------------------------------------------ END
mcp2518fd_ts_cfg_t
MCP2518FD Click Time Stamp Configuration Register.
Definition: mcp2518fd.h:1448
mcp2518fd_write_byte_array
err_t mcp2518fd_write_byte_array(mcp2518fd_t *ctx, uint16_t address, uint8_t *data_in, uint16_t n_bytes)
SPI Write Byte Array.
mcp2518fd_int_t::word
uint32_t word
Definition: mcp2518fd.h:1564
mcp2518fd_dbt_cfg_t::tseg2
uint32_t tseg2
Definition: mcp2518fd.h:1410
mcp2518fd_ecc_ctl_t
MCP2518FD Click ECC Control Register.
Definition: mcp2518fd.h:1281
mcp2518fd_crc_t::ferrie
uint32_t ferrie
Definition: mcp2518fd.h:1677
mcp2518fd_ctl_t::txq_enable
uint32_t txq_enable
Definition: mcp2518fd.h:1075
mcp2518fd_trec_t
MCP2518FD Click Transmit/Receive Error Count Register.
Definition: mcp2518fd.h:1574
mcp2518fd_tx_que_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1096
mcp2518fd_bit_time_configure_data_10_mhz
err_t mcp2518fd_bit_time_configure_data_10_mhz(mcp2518fd_t *ctx, uint8_t bit_time)
Configure Data bit time for 10MHz system clock.
mcp2518fd_generic_read
err_t mcp2518fd_generic_read(mcp2518fd_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
MCP2518FD data reading function.
mcp2518fd_fifo_stat_t::word
uint32_t word
Definition: mcp2518fd.h:1660
mcp2518fd_tx_que_cfg_t::pay_load_size
uint32_t pay_load_size
Definition: mcp2518fd.h:1339
mcp2518fd_filt_obj_id_t::exide
uint32_t exide
Definition: mcp2518fd.h:1005
mcp2518fd_bus_diag1_t::n_form_error
uint32_t n_form_error
Definition: mcp2518fd.h:1798
mcp2518fd_fifo_ctl_t::tx_enable
uint32_t tx_enable
Definition: mcp2518fd.h:1155
mcp2518fd_filt_obj_id_t
MCP2518FD Click CAN Filter Object ID.
Definition: mcp2518fd.h:1001
mcp2518fd_receive_event_overflow_get
err_t mcp2518fd_receive_event_overflow_get(mcp2518fd_t *ctx, uint32_t *rxovif)
Get pending RXOVIF of all receive FIFOs.
mcp2518fd_data_t::m_obj
mcp2518fd_mask_obj_t m_obj
Definition: mcp2518fd.h:1852
mcp2518fd_config_t::tx_priority
uint8_t tx_priority
Definition: mcp2518fd.h:875
mcp2518fd_osc_ctl_t::unimplemented5
uint32_t unimplemented5
Definition: mcp2518fd.h:1220
mcp2518fd_rx_msg_obj_ctl_t::esi
uint32_t esi
Definition: mcp2518fd.h:957
mcp2518fd_crc_t::crcerrif
uint32_t crcerrif
Definition: mcp2518fd.h:1673
mcp2518fd_filter_to_fifo_link
err_t mcp2518fd_filter_to_fifo_link(mcp2518fd_t *ctx, uint8_t filter, uint8_t channel, bool enable)
Link Filter to FIFO.
mcp2518fd_int_flags_stat_t::RXIF
uint32_t RXIF
Definition: mcp2518fd.h:1525
mcp2518fd_module_event_enable
err_t mcp2518fd_module_event_enable(mcp2518fd_t *ctx, uint16_t flags)
Module Event Enable.
mcp2518fd_operation_mode_get
err_t mcp2518fd_operation_mode_get(mcp2518fd_t *ctx)
Get Operation Mode.
mcp2518fd_fifo_user_cfg_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1364
mcp2518fd_crc_event_clear
err_t mcp2518fd_crc_event_clear(mcp2518fd_t *ctx, uint8_t flags)
CRC Event Clear.
mcp2518fd_error_state_get
err_t mcp2518fd_error_state_get(mcp2518fd_t *ctx, uint8_t *flags)
Error State Get.
mcp2518fd_fifo_ctl_t::tx_request
uint32_t tx_request
Definition: mcp2518fd.h:1174
mcp2518fd_io_ctl_t
MCP2518FD Click I/O Control Register.
Definition: mcp2518fd.h:1247
mcp2518fd_tef_configure
err_t mcp2518fd_tef_configure(mcp2518fd_t *ctx, mcp2518fd_tef_cfg_t *config)
Configure Transmit Event FIFO.
mcp2518fd_filter_object_configure
err_t mcp2518fd_filter_object_configure(mcp2518fd_t *ctx, uint8_t filter, mcp2518fd_filt_obj_id_t *id)
Filter Object Configuration.
mcp2518fd_tx_fifo_cfg_t::tx_priority
uint32_t tx_priority
Definition: mcp2518fd.h:1323
mcp2518fd_tx_que_ctl_t
MCP2518FD Click Transmit Queue Control Register.
Definition: mcp2518fd.h:1091
mcp2518fd_gpio_standby_control_disable
err_t mcp2518fd_gpio_standby_control_disable(mcp2518fd_t *ctx)
Disable Transceiver Standby Control.
mcp2518fd_rx_msg_obj_ctl_t::filter_hit
uint32_t filter_hit
Definition: mcp2518fd.h:959
mcp2518fd_int_flags_stat_t::TXIF
uint32_t TXIF
Definition: mcp2518fd.h:1524
mcp2518fd_bus_diag1_t::d_bit0_error
uint32_t d_bit0_error
Definition: mcp2518fd.h:1803
T_MCP2518FD_cfg_t::system_error_to_listen_only
uint32_t system_error_to_listen_only
Definition: mcp2518fd.h:1309
mcp2518fd_bus_diag_flags_t::d_form_err
uint32_t d_form_err
Definition: mcp2518fd.h:1733
mcp2518fd_crc_event_enable
err_t mcp2518fd_crc_event_enable(mcp2518fd_t *ctx, uint8_t flags)
CRC Event Enable.
mcp2518fd_rx_msg_obj_ctl_t::brs
uint32_t brs
Definition: mcp2518fd.h:955
mcp2518fd_filt_obj_t
MCP2518FD Click Filter Object Register.
Definition: mcp2518fd.h:1015
mcp2518fd_tx_que_ctl_t::tx_attempts
uint32_t tx_attempts
Definition: mcp2518fd.h:1105
mcp2518fd_tx_que_stat_t::tx_lost_arbitration
uint32_t tx_lost_arbitration
Definition: mcp2518fd.h:1622
mcp2518fd_tx_que_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1110
mcp2518fd_cfg_t
MCP2518FD Click configuration object.
Definition: mcp2518fd.h:1885
mcp2518fd_osc_ctl_t::osc_ready
uint32_t osc_ready
Definition: mcp2518fd.h:1219
mcp2518fd_int_en_t::spicrcie
uint32_t spicrcie
Definition: mcp2518fd.h:1475
mcp2518fd_receive_channel_event_get
err_t mcp2518fd_receive_channel_event_get(mcp2518fd_t *ctx, uint8_t channel, uint8_t *flags)
Receive FIFO Event Get.
mcp2518fd_can_cfg_t::d_net_filter_count
uint32_t d_net_filter_count
Definition: mcp2518fd.h:850
mcp2518fd_write_half_word
err_t mcp2518fd_write_half_word(mcp2518fd_t *ctx, uint16_t address, uint16_t data_in)
SPI Write Half Word.
mcp2518fd_mask_obj_id_t::mide
uint32_t mide
Definition: mcp2518fd.h:1031
mcp2518fd_bus_diag1_t::d_stuff_error
uint32_t d_stuff_error
Definition: mcp2518fd.h:1807
mcp2518fd_tef_ctl_t::unimplemented5
uint32_t unimplemented5
Definition: mcp2518fd.h:1134
mcp2518fd_module_event_disable
err_t mcp2518fd_module_event_disable(mcp2518fd_t *ctx, uint16_t flags)
Module Event Disable.
mcp2518fd_int_flags_stat_t::WAKIF
uint32_t WAKIF
Definition: mcp2518fd.h:1537
mcp2518fd_tef_event_get
err_t mcp2518fd_tef_event_get(mcp2518fd_t *ctx, uint8_t *flags)
Transmit Event FIFO Event Get.
mcp2518fd_ctl_t::system_error_to_listen_only
uint32_t system_error_to_listen_only
Definition: mcp2518fd.h:1073
mcp2518fd_ctl_t::op_mode
uint32_t op_mode
Definition: mcp2518fd.h:1076
mcp2518fd_fifo_stat_t::rx_full_if
uint32_t rx_full_if
Definition: mcp2518fd.h:1641
mcp2518fd_tx_que_stat_t::fifo_index
uint32_t fifo_index
Definition: mcp2518fd.h:1624
mcp2518fd_tx_que_cfg_t::tx_attempts
uint32_t tx_attempts
Definition: mcp2518fd.h:1337
mcp2518fd_data_t::tec
uint8_t tec
Definition: mcp2518fd.h:1841
mcp2518fd_can_cfg_t::store_in_tef
uint32_t store_in_tef
Definition: mcp2518fd.h:859
mcp2518fd_gpio_transmit_pin_open_drain_configure
err_t mcp2518fd_gpio_transmit_pin_open_drain_configure(mcp2518fd_t *ctx, uint8_t mode)
Configure Open Drain TXCAN.
mcp2518fd_can_cfg_t::bit_rate_switch_disable
uint32_t bit_rate_switch_disable
Definition: mcp2518fd.h:855
mcp2518fd_bus_diag_flags_t::d_stuff_err
uint32_t d_stuff_err
Definition: mcp2518fd.h:1734
mcp2518fd_trec_t::tx_error_state_bus_off
uint32_t tx_error_state_bus_off
Definition: mcp2518fd.h:1583
mcp2518fd_osc_ctl_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1216
mcp2518fd_io_ctl_t::lat0
uint32_t lat0
Definition: mcp2518fd.h:1256
mcp2518fd_ctl_t::tx_band_width_sharing
uint32_t tx_band_width_sharing
Definition: mcp2518fd.h:1079
mcp2518fd_bus_diag_flags_t::esi
uint32_t esi
Definition: mcp2518fd.h:1736
mcp2518fd_bus_diag1_t::n_bit0_error
uint32_t n_bit0_error
Definition: mcp2518fd.h:1795
mcp2518fd_trec_t::tx_error_count
uint32_t tx_error_count
Definition: mcp2518fd.h:1577
mcp2518fd_tef_message_get
err_t mcp2518fd_tef_message_get(mcp2518fd_t *ctx, mcp2518fd_tef_msg_obj_t *tef_obj)
Get Transmit Event FIFO Message.
mcp2518fd_bus_diag_flags_t::n_ack_err
uint32_t n_ack_err
Definition: mcp2518fd.h:1724
mcp2518fd_osc_ctl_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1218
mcp2518fd_tx_msg_obj_ctl_t::esi
uint32_t esi
Definition: mcp2518fd.h:924
mcp2518fd_transmit_abort_all
err_t mcp2518fd_transmit_abort_all(mcp2518fd_t *ctx)
Abort All transmissions.
mcp2518fd_mask_obj_id_t
MCP2518FD Click CAN Mask Object ID.
Definition: mcp2518fd.h:1027
mcp2518fd_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1065
T_MCP2518FD_cfg_t::wake_up_filter_time
uint32_t wake_up_filter_time
Definition: mcp2518fd.h:1305
mcp2518fd_fifo_stat_t::tx_error
uint32_t tx_error
Definition: mcp2518fd.h:1654
mcp2518fd_osc_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1211
mcp2518fd_rx_msg_obj_t::ctrl
mcp2518fd_rx_msg_obj_ctl_t ctrl
Definition: mcp2518fd.h:972
mcp2518fd_tx_que_stat_t::tx_attempt_if
uint32_t tx_attempt_if
Definition: mcp2518fd.h:1620
mcp2518fd_tef_reset
err_t mcp2518fd_tef_reset(mcp2518fd_t *ctx)
Transmit Event FIFO Reset.
mcp2518fd_crc_t
MCP2518FD Click CRC Regsiter.
Definition: mcp2518fd.h:1670
mcp2518fd_ecc_sta_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1695
mcp2518fd_tef_msg_obj_t
MCP2518FD Click CAN TEF Message Object.
Definition: mcp2518fd.h:985
mcp2518fd_rx_msg_obj_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:958
mcp2518fd_bus_diag_flags_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1728
mcp2518fd_transmit_channel_flush
err_t mcp2518fd_transmit_channel_flush(mcp2518fd_t *ctx, uint8_t channel)
TX Channel Flush.
mcp2518fd_tx_que_stat_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1625
mcp2518fd_ctl_t::iso_crc_enable
uint32_t iso_crc_enable
Definition: mcp2518fd.h:1063
mcp2518fd_int_flags_stat_t::TEFIF
uint32_t TEFIF
Definition: mcp2518fd.h:1528
mcp2518fd_fifo_stat_t::rx_not_empty_if
uint32_t rx_not_empty_if
Definition: mcp2518fd.h:1639
mcp2518fd_module_event_rx_code_get
err_t mcp2518fd_module_event_rx_code_get(mcp2518fd_t *ctx, uint8_t *rx_code)
Get RX Code.
mcp2518fd_tdc_cfg_t::word
uint32_t word
Definition: mcp2518fd.h:1438
mcp2518fd_int_vec_t::word
uint32_t word
Definition: mcp2518fd.h:1513
mcp2518fd_tx_que_ctl_t::freset
uint32_t freset
Definition: mcp2518fd.h:1102
mcp2518fd_ctl_t::d_net_filter_count
uint32_t d_net_filter_count
Definition: mcp2518fd.h:1062
mcp2518fd_int_vec_t
MCP2518FD Click Interrupt Vector Register.
Definition: mcp2518fd.h:1502
mcp2518fd_rx_msg_obj_ctl_t::dlc
uint32_t dlc
Definition: mcp2518fd.h:952
mcp2518fd_cfg_setup
void mcp2518fd_cfg_setup(mcp2518fd_cfg_t *cfg)
MCP2518FD configuration object setup function.
mcp2518fd_func_data_t::txd
uint8_t * txd
Definition: mcp2518fd.h:1826
mcp2518fd_transmit_request_set
err_t mcp2518fd_transmit_request_set(mcp2518fd_t *ctx, uint32_t tx_req)
Request transmissions using TXREQ register.
mcp2518fd_t
MCP2518FD Click context object.
Definition: mcp2518fd.h:1862
mcp2518fd_tx_que_ctl_t::tx_attempt_ie
uint32_t tx_attempt_ie
Definition: mcp2518fd.h:1097
mcp2518fd_tef_ctl_t::tefhfie
uint32_t tefhfie
Definition: mcp2518fd.h:1123
mcp2518fd_fifo_ctl_t::tx_attempt_ie
uint32_t tx_attempt_ie
Definition: mcp2518fd.h:1169
mcp2518fd_bus_diag1_t::n_crc_error
uint32_t n_crc_error
Definition: mcp2518fd.h:1800
mcp2518fd_t::glb_data
mcp2518fd_data_t glb_data
Definition: mcp2518fd.h:1875
mcp2518fd_data_t::tx_obj
mcp2518fd_tx_msg_obj_t tx_obj
Definition: mcp2518fd.h:1849
spi_specifics.h
This file contains SPI specific macros, functions, etc.
mcp2518fd_receive_channel_configure
err_t mcp2518fd_receive_channel_configure(mcp2518fd_t *ctx, uint8_t channel, mcp2518fd_rx_fifo_cfg_t *config)
Configure Receive FIFO.
mcp2518fd_tef_status_get
err_t mcp2518fd_tef_status_get(mcp2518fd_t *ctx, uint8_t *status)
Transmit Event FIFO Status Get.
mcp2518fd_msg_obj_id_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:909
mcp2518fd_bus_error_count_t::n_rec
uint8_t n_rec
Definition: mcp2518fd.h:1747
mcp2518fd_bus_diag_flags_t::dlc_mismatch
uint32_t dlc_mismatch
Definition: mcp2518fd.h:1737
mcp2518fd_int_en_t::ivmie
uint32_t ivmie
Definition: mcp2518fd.h:1481
mcp2518fd_tx_fifo_cfg_t::tx_attempts
uint32_t tx_attempts
Definition: mcp2518fd.h:1324
mcp2518fd_mask_obj_t
MCP2518FD Click Mask Object Register.
Definition: mcp2518fd.h:1041
mcp2518fd_fifo_stat_t
MCP2518FD Click FIFO Status Register.
Definition: mcp2518fd.h:1637
mcp2518fd_cfg_t::cs_polarity
spi_master_chip_select_polarity_t cs_polarity
Definition: mcp2518fd.h:1900
mcp2518fd_ecc_sta_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1697
mcp2518fd_tx_que_ctl_t::tx_not_full_ie
uint32_t tx_not_full_ie
Definition: mcp2518fd.h:1093
mcp2518fd_filter_disable
err_t mcp2518fd_filter_disable(mcp2518fd_t *ctx, uint8_t filter)
Filter Disable.
mcp2518fd_int_flags_stat_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1529
mcp2518fd_fifo_stat_t::tx_empty_if
uint32_t tx_empty_if
Definition: mcp2518fd.h:1651
mcp2518fd_data_t::selected_bit_time
uint8_t selected_bit_time
Definition: mcp2518fd.h:1837
mcp2518fd_ts_cfg_t::tbc_enable
uint32_t tbc_enable
Definition: mcp2518fd.h:1452
mcp2518fd_t::chip_select
pin_name_t chip_select
Definition: mcp2518fd.h:1873
mcp2518fd_filt_obj_t::bf
mcp2518fd_filt_obj_id_t bf
Definition: mcp2518fd.h:1016
mcp2518fd_nbt_cfg_t::swj
uint32_t swj
Definition: mcp2518fd.h:1389
mcp2518fd_osc_ctl_t::clk_out_divide
uint32_t clk_out_divide
Definition: mcp2518fd.h:1215
mcp2518fd_fifo_stat_t::tx_attempt_if
uint32_t tx_attempt_if
Definition: mcp2518fd.h:1653
mcp2518fd_error_count_transmit_get
err_t mcp2518fd_error_count_transmit_get(mcp2518fd_t *ctx, uint8_t *tec)
Transmit Error Count Get.
mcp2518fd_tx_que_ctl_t::uinc
uint32_t uinc
Definition: mcp2518fd.h:1100
mcp2518fd_fifo_ctl_t::freset
uint32_t freset
Definition: mcp2518fd.h:1158
mcp2518fd_io_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1251
mcp2518fd_msg_obj_id_t::eid
uint32_t eid
Definition: mcp2518fd.h:907
mcp2518fd_ctl_t::store_in_tef
uint32_t store_in_tef
Definition: mcp2518fd.h:1074
mcp2518fd_bit_time_configure
err_t mcp2518fd_bit_time_configure(mcp2518fd_t *ctx, uint8_t bit_time, uint8_t clk)
Configure Bit Time registers (based on CAN clock speed).
mcp2518fd_bus_diag1_t::d_crc_error
uint32_t d_crc_error
Definition: mcp2518fd.h:1808
mcp2518fd_can_cfg_t::wake_up_filter_enable
uint32_t wake_up_filter_enable
Definition: mcp2518fd.h:853
mcp2518fd_fifo_stat_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1643
mcp2518fd_data_t::tx_config
mcp2518fd_tx_fifo_cfg_t tx_config
Definition: mcp2518fd.h:1847
mcp2518fd_fifo_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1154
mcp2518fd_div_ctl_t::pll_enable
uint32_t pll_enable
Definition: mcp2518fd.h:1235
mcp2518fd_transmit_channel_reset
err_t mcp2518fd_transmit_channel_reset(mcp2518fd_t *ctx, uint8_t channel)
Transmit FIFO Reset.
mcp2518fd_bus_diag0_t::d_tx_error_count
uint32_t d_tx_error_count
Definition: mcp2518fd.h:1780
mcp2518fd_tef_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1136
mcp2518fd_data_bytes_to_dlc
uint8_t mcp2518fd_data_bytes_to_dlc(uint8_t num)
Data bytes to DLC conversion.
mcp2518fd_t::int_pin
digital_in_t int_pin
Definition: mcp2518fd.h:1868
mcp2518fd_data_t::rx_flags
uint8_t rx_flags
Definition: mcp2518fd.h:1839
mcp2518fd_io_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1255
mcp2518fd_dbt_cfg_t::word
uint32_t word
Definition: mcp2518fd.h:1416
mcp2518fd_filter_enable
err_t mcp2518fd_filter_enable(mcp2518fd_t *ctx, uint8_t filter)
Filter Enable.
mcp2518fd_tx_que_stat_t::tx_not_full_if
uint32_t tx_not_full_if
Definition: mcp2518fd.h:1616
mcp2518fd_mask_obj_id_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1032
mcp2518fd_fifo_stat_t::rx_over_flow_if
uint32_t rx_over_flow_if
Definition: mcp2518fd.h:1642
mcp2518fd_io_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1271
mcp2518fd_fifo_stat_t::fifo_index
uint32_t fifo_index
Definition: mcp2518fd.h:1644
mcp2518fd_fifo_ctl_t::uinc
uint32_t uinc
Definition: mcp2518fd.h:1156
MCP2518FD_ERROR
@ MCP2518FD_ERROR
Definition: mcp2518fd.h:1911
mcp2518fd_fifo_ctl_t::pay_load_size
uint32_t pay_load_size
Definition: mcp2518fd.h:1161
mcp2518fd_data_t::error_flags
uint8_t error_flags
Definition: mcp2518fd.h:1840
mcp2518fd_ecc_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1286
mcp2518fd_div_ctl_t
MCP2518FD Click Oscillator Control.
Definition: mcp2518fd.h:1234
mcp2518fd_ecc_enable
err_t mcp2518fd_ecc_enable(mcp2518fd_t *ctx)
Enable ECC.
mcp2518fd_transmit_event_attempt_get
err_t mcp2518fd_transmit_event_attempt_get(mcp2518fd_t *ctx, uint32_t *txatif)
Get pending TXATIF of all transmit FIFOs.
mcp2518fd_bus_diag_flags_t::n_crc_err
uint32_t n_crc_err
Definition: mcp2518fd.h:1727
mcp2518fd_tx_msg_obj_ctl_t::dlc
uint32_t dlc
Definition: mcp2518fd.h:919
mcp2518fd_fifo_stat_t::tx_aborted
uint32_t tx_aborted
Definition: mcp2518fd.h:1656
mcp2518fd_bus_diagnostics_get
err_t mcp2518fd_bus_diagnostics_get(mcp2518fd_t *ctx, mcp2518fd_bus_diag_t *bus_diag)
Get Bus Diagnostic Registers: all data_ at once, since we want to keep them in synch.
mcp2518fd_tx_que_stat_t
MCP2518FD Click Transmit Queue Status Register.
Definition: mcp2518fd.h:1614
mcp2518fd_dbt_cfg_t::swj
uint32_t swj
Definition: mcp2518fd.h:1408
mcp2518fd_int_cfg_t::word
uint16_t word
Definition: mcp2518fd.h:1492
mcp2518fd_receive_event_get
err_t mcp2518fd_receive_event_get(mcp2518fd_t *ctx, uint32_t *rxif)
Get pending interrupts of all receive FIFOs.
mcp2518fd_tx_fifo_cfg_t::rtr_enable
uint32_t rtr_enable
Definition: mcp2518fd.h:1322
mcp2518fd_bus_diagnostics_clear
err_t mcp2518fd_bus_diagnostics_clear(mcp2518fd_t *ctx)
Clear Bus Diagnostic Registers.
mcp2518fd_transmit_channel_configure
err_t mcp2518fd_transmit_channel_configure(mcp2518fd_t *ctx, uint8_t channel, mcp2518fd_tx_fifo_cfg_t *config)
Configure Transmit FIFO.
mcp2518fd_oscillator_control_object_reset
void mcp2518fd_oscillator_control_object_reset(mcp2518fd_div_ctl_t *ctrl)
Reset Oscillator Control.
mcp2518fd_data_t::config
mcp2518fd_can_cfg_t config
Definition: mcp2518fd.h:1846
mcp2518fd_ctl_t::bit_rate_switch_disable
uint32_t bit_rate_switch_disable
Definition: mcp2518fd.h:1069
mcp2518fd_transmit_channel_update
err_t mcp2518fd_transmit_channel_update(mcp2518fd_t *ctx, uint8_t channel, bool flush)
Transmit FIFO Update.
mcp2518fd_reg_t::word
uint32_t word
Definition: mcp2518fd.h:1051
mcp2518fd_tef_event_overflow_clear
err_t mcp2518fd_tef_event_overflow_clear(mcp2518fd_t *ctx)
Transmit Event FIFO Event Clear.
mcp2518fd_tx_que_ctl_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1107
mcp2518fd_ctl_t::request_op_mode
uint32_t request_op_mode
Definition: mcp2518fd.h:1077
mcp2518fd_write_byte_safe
err_t mcp2518fd_write_byte_safe(mcp2518fd_t *ctx, uint16_t address, uint8_t data_in)
SPI SFR Write Byte Safe.
mcp2518fd_rx_msg_obj_ctl_t::rtr
uint32_t rtr
Definition: mcp2518fd.h:954
mcp2518fd_data_t::rx_config
mcp2518fd_rx_fifo_cfg_t rx_config
Definition: mcp2518fd.h:1848
mcp2518fd_tx_msg_obj_ctl_t::seq
uint32_t seq
Definition: mcp2518fd.h:925
mcp2518fd_ctl_t::esi_in_gateway_mode
uint32_t esi_in_gateway_mode
Definition: mcp2518fd.h:1072
mcp2518fd_tx_que_stat_t::word
uint32_t word
Definition: mcp2518fd.h:1627
mcp2518fd_ecc_parity_get
err_t mcp2518fd_ecc_parity_get(mcp2518fd_t *ctx, uint8_t *parity)
Get ECC Parity.
mcp2518fd_receive_message_get
err_t mcp2518fd_receive_message_get(mcp2518fd_t *ctx, uint8_t channel, mcp2518fd_rx_msg_obj_t *rx_obj)
Get Received Message.
mcp2518fd_ecc_sta_t::word
uint32_t word
Definition: mcp2518fd.h:1699
mcp2518fd_tef_event_enable
err_t mcp2518fd_tef_event_enable(mcp2518fd_t *ctx, uint8_t flags)
Transmit Event FIFO Event Enable.
mcp2518fd_cfg_t::miso
pin_name_t miso
Definition: mcp2518fd.h:1887
mcp2518fd_dbt_cfg_t
MCP2518FD Click Data Bit Time Configuration Register.
Definition: mcp2518fd.h:1406
mcp2518fd_ram_init
err_t mcp2518fd_ram_init(mcp2518fd_t *ctx, uint8_t rx_data)
Initialize RAM.
mcp2518fd_int_flags_stat_t::MODIF
uint32_t MODIF
Definition: mcp2518fd.h:1527
mcp2518fd_int_flag_t::if_stat
mcp2518fd_int_flags_stat_t if_stat
Definition: mcp2518fd.h:1548
mcp2518fd_bus_diag_t
MCP2518FD Click CAN BUS DIAGNOSTICS.
Definition: mcp2518fd.h:1759
mcp2518fd_config_t
MCP2518FD Click CAN Message Configuration.
Definition: mcp2518fd.h:870
mcp2518fd_int_en_t::serrie
uint32_t serrie
Definition: mcp2518fd.h:1478
mcp2518fd_crc_t::crcerrie
uint32_t crcerrie
Definition: mcp2518fd.h:1676
mcp2518fd_osc_sta_t::sclk_ready
uint32_t sclk_ready
Definition: mcp2518fd.h:1712
mcp2518fd_ecc_parity_set
err_t mcp2518fd_ecc_parity_set(mcp2518fd_t *ctx, uint8_t parity)
Set ECC Parity.
mcp2518fd_time_stamp_prescaler_set
err_t mcp2518fd_time_stamp_prescaler_set(mcp2518fd_t *ctx, uint16_t time_stamp)
Time Stamp Prescaler Set.
mcp2518fd_tef_ctl_t::freset
uint32_t freset
Definition: mcp2518fd.h:1131
mcp2518fd_can_cfg_t::iso_crc_enable
uint32_t iso_crc_enable
Definition: mcp2518fd.h:851
mcp2518fd_bus_diag1_t::n_stuff_error
uint32_t n_stuff_error
Definition: mcp2518fd.h:1799
mcp2518fd_oscillator_status_get
err_t mcp2518fd_oscillator_status_get(mcp2518fd_t *ctx, mcp2518fd_osc_sta_t *status)
Get Oscillator Status.
mcp2518fd_transmit_channel_abort
err_t mcp2518fd_transmit_channel_abort(mcp2518fd_t *ctx, uint8_t channel)
Abort transmission of single FIFO.
mcp2518fd_int_vec_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1511
mcp2518fd_int_flags_stat_t::SERRIF
uint32_t SERRIF
Definition: mcp2518fd.h:1535
mcp2518fd_osc_ctl_t::pll_enable
uint32_t pll_enable
Definition: mcp2518fd.h:1210
mcp2518fd_t::func_data
mcp2518fd_func_data_t func_data
Definition: mcp2518fd.h:1876
mcp2518fd_fifo_ctl_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1160
mcp2518fd_ctl_t::restrict_re_tx_attempts
uint32_t restrict_re_tx_attempts
Definition: mcp2518fd.h:1071
mcp2518fd_tx_fifo_cfg_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1325
mcp2518fd_div_ctl_t::clk_out_divide
uint32_t clk_out_divide
Definition: mcp2518fd.h:1238
mcp2518fd_tx_msg_obj_t
MCP2518FD Click CAN TX Message Object.
Definition: mcp2518fd.h:935
mcp2518fd_msg_time_stamp_t
uint32_t mcp2518fd_msg_time_stamp_t
MCP2518FD Click CAN Message Time Stamp.
Definition: mcp2518fd.h:898
mcp2518fd_tef_t::tef_full_if
uint32_t tef_full_if
Definition: mcp2518fd.h:1600
mcp2518fd_tx_msg_obj_ctl_t::ide
uint32_t ide
Definition: mcp2518fd.h:920
mcp2518fd_bus_error_count_t::d_rec
uint8_t d_rec
Definition: mcp2518fd.h:1749
mcp2518fd_int_vec_t::rx_code
uint32_t rx_code
Definition: mcp2518fd.h:1510
mcp2518fd_io_ctl_t::clear_auto_sleep_on_match
uint32_t clear_auto_sleep_on_match
Definition: mcp2518fd.h:1252
mcp2518fd_rx_msg_obj_t
MCP2518FD Click CAN RX Message Object.
Definition: mcp2518fd.h:969
mcp2518fd_can_cfg_t::wake_up_filter_time
uint32_t wake_up_filter_time
Definition: mcp2518fd.h:854
mcp2518fd_nbt_cfg_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1390
mcp2518fd_time_stamp_disable
err_t mcp2518fd_time_stamp_disable(mcp2518fd_t *ctx)
Time Stamp Disable.
mcp2518fd_mask_obj_id_t::msid11
uint32_t msid11
Definition: mcp2518fd.h:1030
mcp2518fd_ecc_event_clear
err_t mcp2518fd_ecc_event_clear(mcp2518fd_t *ctx, uint8_t flags)
ECC Event Clear.
mcp2518fd_module_event_filter_hit_get
err_t mcp2518fd_module_event_filter_hit_get(mcp2518fd_t *ctx, uint8_t *filter_hit)
Get Filter Hit.
mcp2518fd_mask_obj_t::word
uint32_t word
Definition: mcp2518fd.h:1043
mcp2518fd_read_word_array
err_t mcp2518fd_read_word_array(mcp2518fd_t *ctx, uint16_t address, uint32_t *data_out, uint16_t n_words)
SPI Read Word Array.
mcp2518fd_bit_time_configure_nominal_40_mhz
err_t mcp2518fd_bit_time_configure_nominal_40_mhz(mcp2518fd_t *ctx, uint8_t bit_time)
Configure Nominal bit time for 40MHz system clock.
mcp2518fd_data_t::tx_id
uint32_t tx_id
Definition: mcp2518fd.h:1844
mcp2518fd_fifo_stat_t::tx_lost_arbitration
uint32_t tx_lost_arbitration
Definition: mcp2518fd.h:1655
mcp2518fd_can_cfg_t::protocol_expection_event_disable
uint32_t protocol_expection_event_disable
Definition: mcp2518fd.h:852
mcp2518fd_tx_que_stat_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1617
mcp2518fd_can_cfg_t::tx_band_width_sharing
uint32_t tx_band_width_sharing
Definition: mcp2518fd.h:861
mcp2518fd_bus_diag1_t::d_bit1_error
uint32_t d_bit1_error
Definition: mcp2518fd.h:1804
mcp2518fd_fifo_user_cfg_t::word
uint32_t word
Definition: mcp2518fd.h:1366
mcp2518fd_tx_que_ctl_t::tx_priority
uint32_t tx_priority
Definition: mcp2518fd.h:1104
mcp2518fd_fifo_ctl_t::rx_time_stamp_enable
uint32_t rx_time_stamp_enable
Definition: mcp2518fd.h:1153
mcp2518fd_tx_msg_obj_ctl_t::brs
uint32_t brs
Definition: mcp2518fd.h:922
mcp2518fd_bus_diag_flags_t::txbo_err
uint32_t txbo_err
Definition: mcp2518fd.h:1729
mcp2518fd_filter_mask_configure
err_t mcp2518fd_filter_mask_configure(mcp2518fd_t *ctx, uint8_t filter, mcp2518fd_mask_obj_id_t *mask)
Filter Mask Configuration.
mcp2518fd_int_vec_t::tx_code
uint32_t tx_code
Definition: mcp2518fd.h:1508
mcp2518fd_bus_diag0_t::n_rx_error_count
uint32_t n_rx_error_count
Definition: mcp2518fd.h:1777
mcp2518fd_filt_ctl_t
MCP2518FD Click Filter Control Register.
Definition: mcp2518fd.h:1193
mcp2518fd_gpio_standby_control_enable
err_t mcp2518fd_gpio_standby_control_enable(mcp2518fd_t *ctx)
Enable Transceiver Standby Control.
mcp2518fd_tx_msg_obj_ctl_t::rtr
uint32_t rtr
Definition: mcp2518fd.h:921
mcp2518fd_write_word_safe
err_t mcp2518fd_write_word_safe(mcp2518fd_t *ctx, uint16_t address, uint32_t data_in)
SPI RAM Write Word Safe.
mcp2518fd_ctl_t::wake_up_filter_enable
uint32_t wake_up_filter_enable
Definition: mcp2518fd.h:1066
mcp2518fd_default_cfg
err_t mcp2518fd_default_cfg(mcp2518fd_t *ctx)
MCP2518FD default configuration function.
T_MCP2518FD_cfg_t::tx_band_width_sharing
uint32_t tx_band_width_sharing
Definition: mcp2518fd.h:1312
mcp2518fd_data_t::op_mode
uint8_t op_mode
Definition: mcp2518fd.h:1843
mcp2518fd_nbt_cfg_t::word
uint32_t word
Definition: mcp2518fd.h:1396
mcp2518fd_receive_channel_index_get
err_t mcp2518fd_receive_channel_index_get(mcp2518fd_t *ctx, uint8_t channel, uint8_t *idx)
Receive FIFO Index Get.
mcp2518fd_module_event_icode_get
err_t mcp2518fd_module_event_icode_get(mcp2518fd_t *ctx, uint8_t *icode)
Get ICODE.
mcp2518fd_trec_t::rx_error_state_warning
uint32_t rx_error_state_warning
Definition: mcp2518fd.h:1579
mcp2518fd_tx_que_stat_t::tx_empty_if
uint32_t tx_empty_if
Definition: mcp2518fd.h:1618
mcp2518fd_osc_ctl_t
MCP2518FD Click Oscillator Control Register.
Definition: mcp2518fd.h:1208
mcp2518fd_tef_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1128
mcp2518fd_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1068
mcp2518fd_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1081
mcp2518fd_tef_msg_obj_t::ctrl
mcp2518fd_tx_msg_obj_ctl_t ctrl
Definition: mcp2518fd.h:988
mcp2518fd_dbt_cfg_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1409
mcp2518fd_ts_cfg_t::word
uint32_t word
Definition: mcp2518fd.h:1456
mcp2518fd_int_flags_stat_t::TXATIF
uint32_t TXATIF
Definition: mcp2518fd.h:1533
mcp2518fd_tef_msg_obj_t::id
mcp2518fd_msg_obj_id_t id
Definition: mcp2518fd.h:987
mcp2518fd_crc_event_disable
err_t mcp2518fd_crc_event_disable(mcp2518fd_t *ctx, uint8_t flags)
CRC Event Disnable.
mcp2518fd_bus_diag_flags_t::n_bit1_err
uint32_t n_bit1_err
Definition: mcp2518fd.h:1723
mcp2518fd_int_en_t::txie
uint32_t txie
Definition: mcp2518fd.h:1467
mcp2518fd_fifo_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1183
mcp2518fd_cfg_t::spi_mode
spi_master_mode_t spi_mode
Definition: mcp2518fd.h:1899
mcp2518fd_dbt_cfg_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1411
mcp2518fd_int_en_t
MCP2518FD Click Interrupt Enables.
Definition: mcp2518fd.h:1466
mcp2518fd_transmit_request_get
err_t mcp2518fd_transmit_request_get(mcp2518fd_t *ctx, uint32_t *tx_req)
Get TXREQ register.
mcp2518fd_fifo_ctl_t::rx_not_empty_ie
uint32_t rx_not_empty_ie
Definition: mcp2518fd.h:1148
mcp2518fd_rx_fifo_cfg_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1350
mcp2518fd_bus_diag1_t::d_ack_error
uint32_t d_ack_error
Definition: mcp2518fd.h:1805
mcp2518fd_fifo_ctl_t::rtr_enable
uint32_t rtr_enable
Definition: mcp2518fd.h:1171
mcp2518fd_id_t
uint8_t mcp2518fd_id_t
MCP2518FD Click Module ID.
Definition: mcp2518fd.h:892
mcp2518fd_tx_msg_obj_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:926
mcp2518fd_tef_ctl_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1130
mcp2518fd_fifo_ctl_t::tx_empty_ie
uint32_t tx_empty_ie
Definition: mcp2518fd.h:1167
mcp2518fd_tx_que_ctl_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1098
mcp2518fd_time_stamp_set
err_t mcp2518fd_time_stamp_set(mcp2518fd_t *ctx, uint32_t ts)
Time Stamp Set.
mcp2518fd_tx_que_ctl_t::tx_enable
uint32_t tx_enable
Definition: mcp2518fd.h:1099
mcp2518fd_transmit_channel_event_attempt_clear
err_t mcp2518fd_transmit_channel_event_attempt_clear(mcp2518fd_t *ctx, uint8_t channel)
Transmit FIFO Event Clear.
mcp2518fd_fifo_ctl_t::tx_attempts
uint32_t tx_attempts
Definition: mcp2518fd.h:1178
mcp2518fd_div_ctl_t::sclk_divide
uint32_t sclk_divide
Definition: mcp2518fd.h:1237
mcp2518fd_div_ctl_t::osc_disable
uint32_t osc_disable
Definition: mcp2518fd.h:1236
mcp2518fd_io_ctl_t::unimplemented6
uint32_t unimplemented6
Definition: mcp2518fd.h:1269
mcp2518fd_tef_ctl_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1132
mcp2518fd_module_event_get
err_t mcp2518fd_module_event_get(mcp2518fd_t *ctx, uint16_t *flags)
Module Event Get.
mcp2518fd_receive_channel_configure_object_reset
void mcp2518fd_receive_channel_configure_object_reset(mcp2518fd_rx_fifo_cfg_t *config)
Reset Receive Channel Configure object to reset value.
mcp2518fd_error_count_receive_get
err_t mcp2518fd_error_count_receive_get(mcp2518fd_t *ctx, uint8_t *rec)
Receive Error Count Get.
mcp2518fd_crc_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1678
mcp2518fd_filt_obj_id_t::sid
uint32_t sid
Definition: mcp2518fd.h:1002
mcp2518fd_nbt_cfg_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1392
mcp2518fd_read_byte_array
err_t mcp2518fd_read_byte_array(mcp2518fd_t *ctx, uint16_t address, uint8_t *data_out, uint16_t n_bytes)
SPI Read Byte Array.
mcp2518fd_bus_diag_t::flag
mcp2518fd_bus_diag_flags_t flag
Definition: mcp2518fd.h:1763
mcp2518fd_trec_t::word
uint32_t word
Definition: mcp2518fd.h:1586
mcp2518fd_crc_value_get
err_t mcp2518fd_crc_value_get(mcp2518fd_t *ctx, uint16_t *crc)
Get CRC Value from device.
mcp2518fd_tx_que_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1094
mcp2518fd_filt_ctl_t::byte
uint8_t byte
Definition: mcp2518fd.h:1199
mcp2518fd_transmit_channel_status_get
err_t mcp2518fd_transmit_channel_status_get(mcp2518fd_t *ctx, uint8_t channel, uint16_t *status)
Transmit Channel Status Get.
mcp2518fd_trec_t::tx_error_state_warning
uint32_t tx_error_state_warning
Definition: mcp2518fd.h:1580
mcp2518fd_bus_diag1_t::error_free_msg_count
uint32_t error_free_msg_count
Definition: mcp2518fd.h:1794
mcp2518fd_fifo_stat_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1645
mcp2518fd_gpio_clock_output_configure
err_t mcp2518fd_gpio_clock_output_configure(mcp2518fd_t *ctx, uint8_t mode)
Configure CLKO Pin.
mcp2518fd_bus_diag_flags_t::d_bit1_err
uint32_t d_bit1_err
Definition: mcp2518fd.h:1731
mcp2518fd_int_vec_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1505
MCP2518FD_OK
@ MCP2518FD_OK
Definition: mcp2518fd.h:1910
mcp2518fd_config_t::fd_frame
uint8_t fd_frame
Definition: mcp2518fd.h:880
mcp2518fd_filt_obj_id_t::sid11
uint32_t sid11
Definition: mcp2518fd.h:1004
mcp2518fd_tef_t::tef_not_empty_if
uint32_t tef_not_empty_if
Definition: mcp2518fd.h:1598
mcp2518fd_crc_t::crc
uint32_t crc
Definition: mcp2518fd.h:1672
mcp2518fd_can_cfg_t::esi_in_gateway_mode
uint32_t esi_in_gateway_mode
Definition: mcp2518fd.h:857
mcp2518fd_gpio_pin_set
err_t mcp2518fd_gpio_pin_set(mcp2518fd_t *ctx, uint8_t pos, uint8_t latch)
GPIO Output Pin Set.
mcp2518fd_t::spi
spi_master_t spi
Definition: mcp2518fd.h:1871
mcp2518fd_bus_diag_flags_t::d_bit0_err
uint32_t d_bit0_err
Definition: mcp2518fd.h:1730
mcp2518fd_bus_diag_flags_t::n_form_err
uint32_t n_form_err
Definition: mcp2518fd.h:1725
mcp2518fd_fifo_ctl_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1157
mcp2518fd_int_t::ie
mcp2518fd_int_en_t ie
Definition: mcp2518fd.h:1562
mcp2518fd_filt_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1196
mcp2518fd_calculate_crc16
uint16_t mcp2518fd_calculate_crc16(uint8_t *data_pointer, uint16_t size)
Calculate CRC16.
mcp2518fd_crc_event_get
err_t mcp2518fd_crc_event_get(mcp2518fd_t *ctx, uint8_t *flags)
CRC Event Get.
mcp2518fd_msg_obj_id_t
MCP2518FD Click CAN Message Object ID.
Definition: mcp2518fd.h:905
mcp2518fd_configure_object_reset
void mcp2518fd_configure_object_reset(mcp2518fd_can_cfg_t *config)
Reset Configure object to reset values.
mcp2518fd_fifo_index_get
err_t mcp2518fd_fifo_index_get(mcp2518fd_t *ctx, uint8_t channel, uint8_t *data_out)
FIFO Index Get.
mcp2518fd_bus_diag1_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1801
mcp2518fd_func_data_t::address
uint16_t address
Definition: mcp2518fd.h:1823
mcp2518fd_tx_msg_obj_ctl_t
MCP2518FD Click CAN TX Message Object Control.
Definition: mcp2518fd.h:918
T_MCP2518FD_cfg_t::d_net_filter_count
uint32_t d_net_filter_count
Definition: mcp2518fd.h:1301
mcp2518fd_int_t
MCP2518FD Click Interrupt Register.
Definition: mcp2518fd.h:1559
mcp2518fd_cfg_t::clk
pin_name_t clk
Definition: mcp2518fd.h:1894
mcp2518fd_int_vec_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1507
mcp2518fd_ecc_event_disable
err_t mcp2518fd_ecc_event_disable(mcp2518fd_t *ctx, uint8_t flags)
ECC Event Disable.
mcp2518fd_transmit_channel_load
err_t mcp2518fd_transmit_channel_load(mcp2518fd_t *ctx, uint8_t channel, mcp2518fd_tx_msg_obj_t *tx_obj, bool flush)
TX Channel Load.
mcp2518fd_int_flags_stat_t
MCP2518FD Click Interrupt Flags.
Definition: mcp2518fd.h:1523
mcp2518fd_int_t::if_stat
mcp2518fd_int_flags_stat_t if_stat
Definition: mcp2518fd.h:1561
mcp2518fd_func_data_t::n_bytes
uint16_t n_bytes
Definition: mcp2518fd.h:1825
mcp2518fd_osc_ctl_t::pll_ready
uint32_t pll_ready
Definition: mcp2518fd.h:1217
mcp2518fd_io_ctl_t::pin_mode0
uint32_t pin_mode0
Definition: mcp2518fd.h:1263
mcp2518fd_fifo_ctl_t::tx_half_full_ie
uint32_t tx_half_full_ie
Definition: mcp2518fd.h:1166
mcp2518fd_ecc_sta_t
MCP2518FD Click ECC Status Register.
Definition: mcp2518fd.h:1690
mcp2518fd_config_t::rx_pay_load_size
uint8_t rx_pay_load_size
Definition: mcp2518fd.h:877
mcp2518fd_tef_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1126
mcp2518fd_tx_que_stat_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1619
mcp2518fd_int_cfg_t
MCP2518FD Click Interrupt Configuration.
Definition: mcp2518fd.h:1490
mcp2518fd_fifo_stat_t::rx_half_full_if
uint32_t rx_half_full_if
Definition: mcp2518fd.h:1640
mcp2518fd_osc_sta_t::osc_ready
uint32_t osc_ready
Definition: mcp2518fd.h:1711
mcp2518fd_gpio_direction_configure
err_t mcp2518fd_gpio_direction_configure(mcp2518fd_t *ctx, uint8_t gpio0, uint8_t gpio1)
Initialize GPIO Direction.
mcp2518fd_oscillator_control_set
err_t mcp2518fd_oscillator_control_set(mcp2518fd_t *ctx, mcp2518fd_div_ctl_t ctrl)
Set Oscillator Control.
mcp2518fd_tdc_cfg_t::tdc_mode
uint32_t tdc_mode
Definition: mcp2518fd.h:1432
mcp2518fd_int_flags_stat_t::RXOVIF
uint32_t RXOVIF
Definition: mcp2518fd.h:1534
mcp2518fd_ecc_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1288
mcp2518fd_operation_mode_select
err_t mcp2518fd_operation_mode_select(mcp2518fd_t *ctx, uint8_t op_mode)
Select Operation Mode.
mcp2518fd_rx_fifo_cfg_t::pay_load_size
uint32_t pay_load_size
Definition: mcp2518fd.h:1351
mcp2518fd_int_vec_t::filter_hit
uint32_t filter_hit
Definition: mcp2518fd.h:1506
mcp2518fd_tdc_cfg_t::tdc_value
uint32_t tdc_value
Definition: mcp2518fd.h:1428
mcp2518fd_int_en_t::wakie
uint32_t wakie
Definition: mcp2518fd.h:1480
mcp2518fd_msg_obj_id_t::sid11
uint32_t sid11
Definition: mcp2518fd.h:908
mcp2518fd_ecc_sta_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1692
mcp2518fd_bit_time_configure_nominal_20_mhz
err_t mcp2518fd_bit_time_configure_nominal_20_mhz(mcp2518fd_t *ctx, uint8_t bit_time)
Configure Nominal bit time for 20MHz system clock.
mcp2518fd_rx_msg_obj_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:960
mcp2518fd_receive_channel_update
err_t mcp2518fd_receive_channel_update(mcp2518fd_t *ctx, uint8_t channel)
Receive FIFO Update.
mcp2518fd_ts_cfg_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1454
mcp2518fd_receive_channel_reset
err_t mcp2518fd_receive_channel_reset(mcp2518fd_t *ctx, uint8_t channel)
Receive FIFO Reset.
mcp2518fd_io_ctl_t::tx_can_open_drain
uint32_t tx_can_open_drain
Definition: mcp2518fd.h:1266
mcp2518fd_module_event_tx_code_get
err_t mcp2518fd_module_event_tx_code_get(mcp2518fd_t *ctx, uint8_t *tx_code)
Get TX Code.
mcp2518fd_int_en_t::rxovie
uint32_t rxovie
Definition: mcp2518fd.h:1477
mcp2518fd_data_t::bus_diagnostics
mcp2518fd_bus_diag_t bus_diagnostics
Definition: mcp2518fd.h:1853
mcp2518fd_tx_que_cfg_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1338
mcp2518fd_transmit_queue_configure_object_reset
void mcp2518fd_transmit_queue_configure_object_reset(mcp2518fd_tx_que_cfg_t *config)
Reset Transmit Queue Configure object to reset values.
mcp2518fd_init
err_t mcp2518fd_init(mcp2518fd_t *ctx, mcp2518fd_cfg_t *cfg)
MCP2518FD initialization function.
mcp2518fd_receive_channel_event_overflow_clear
err_t mcp2518fd_receive_channel_event_overflow_clear(mcp2518fd_t *ctx, uint8_t channel)
Receive FIFO Event Clear.
mcp2518fd_osc_ctl_t::sclk_divide
uint32_t sclk_divide
Definition: mcp2518fd.h:1214
mcp2518fd_bus_error_count_t::n_tec
uint8_t n_tec
Definition: mcp2518fd.h:1748
mcp2518fd_io_ctl_t::auto_sleep_enable
uint32_t auto_sleep_enable
Definition: mcp2518fd.h:1253
T_MCP2518FD_cfg_t::iso_crc_enable
uint32_t iso_crc_enable
Definition: mcp2518fd.h:1302
mcp2518fd_trec_t::rx_error_state_passive
uint32_t rx_error_state_passive
Definition: mcp2518fd.h:1581
mcp2518fd_config_t::standard_id
uint16_t standard_id
Definition: mcp2518fd.h:878
mcp2518fd_fifo_ctl_t::tx_priority
uint32_t tx_priority
Definition: mcp2518fd.h:1177
mcp2518fd_read_half_word
err_t mcp2518fd_read_half_word(mcp2518fd_t *ctx, uint16_t address, uint16_t *data_out)
SPI Read Half Word.
mcp2518fd_read_word
err_t mcp2518fd_read_word(mcp2518fd_t *ctx, uint16_t address, uint32_t *data_out)
SPI Read Word.
mcp2518fd_trec_t::rx_error_count
uint32_t rx_error_count
Definition: mcp2518fd.h:1576
mcp2518fd_dbt_cfg_t::tseg1
uint32_t tseg1
Definition: mcp2518fd.h:1412
T_MCP2518FD_cfg_t::store_in_tef
uint32_t store_in_tef
Definition: mcp2518fd.h:1310
mcp2518fd_generic_write
err_t mcp2518fd_generic_write(mcp2518fd_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
MCP2518FD data writing function.
mcp2518fd_bus_diag_t::error_free_msg_count
uint16_t error_free_msg_count
Definition: mcp2518fd.h:1762
mcp2518fd_data_t::rec
uint8_t rec
Definition: mcp2518fd.h:1842
mcp2518fd_bus_diag_flags_t::n_bit0_err
uint32_t n_bit0_err
Definition: mcp2518fd.h:1722
mcp2518fd_bus_diag0_t::word
uint32_t word
Definition: mcp2518fd.h:1782
mcp2518fd_can_cfg_t::txq_enable
uint32_t txq_enable
Definition: mcp2518fd.h:860
mcp2518fd_osc_sta_t
MCP2518FD Click Oscillator Status.
Definition: mcp2518fd.h:1709
mcp2518fd_module_event_clear
err_t mcp2518fd_module_event_clear(mcp2518fd_t *ctx, uint16_t flags)
Module Event Clear.
mcp2518fd_ecc_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1290
mcp2518fd_rx_msg_obj_ctl_t::ide
uint32_t ide
Definition: mcp2518fd.h:953
mcp2518fd_io_ctl_t::gpio0
uint32_t gpio0
Definition: mcp2518fd.h:1260
mcp2518fd_msg_obj_id_t::sid
uint32_t sid
Definition: mcp2518fd.h:906
mcp2518fd_tdc_cfg_t::sid11_enable
uint32_t sid11_enable
Definition: mcp2518fd.h:1434
mcp2518fd_osc_ctl_t::word
uint32_t word
Definition: mcp2518fd.h:1224
mcp2518fd_filt_obj_t::word
uint32_t word
Definition: mcp2518fd.h:1017
mcp2518fd_ctl_t::wake_up_filter_time
uint32_t wake_up_filter_time
Definition: mcp2518fd.h:1067
mcp2518fd_tx_msg_obj_t::ctrl
mcp2518fd_tx_msg_obj_ctl_t ctrl
Definition: mcp2518fd.h:938
mcp2518fd_tef_ctl_t::uinc
uint32_t uinc
Definition: mcp2518fd.h:1129
mcp2518fd_dlc_to_data_bytes
uint32_t mcp2518fd_dlc_to_data_bytes(uint8_t dlc)
DLC to number of actual data_bytes conversion.
mcp2518fd_rx_fifo_cfg_t::rx_time_stamp_enable
uint32_t rx_time_stamp_enable
Definition: mcp2518fd.h:1349
mcp2518fd_bus_diag_t::error_count
mcp2518fd_bus_error_count_t error_count
Definition: mcp2518fd.h:1761
mcp2518fd_io_ctl_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1262
mcp2518fd_t::stby
digital_out_t stby
Definition: mcp2518fd.h:1864
mcp2518fd_trec_t::error_state_warning
uint32_t error_state_warning
Definition: mcp2518fd.h:1578
mcp2518fd_tef_msg_obj_t::time_stamp
mcp2518fd_msg_time_stamp_t time_stamp
Definition: mcp2518fd.h:989
mcp2518fd_ecc_disable
err_t mcp2518fd_ecc_disable(mcp2518fd_t *ctx)
Disable ECC.
mcp2518fd_receive_message
err_t mcp2518fd_receive_message(mcp2518fd_t *ctx, uint8_t *data_out, uint16_t *data_len)
Message Receive function.
mcp2518fd_ts_cfg_t::tbc_prescaler
uint32_t tbc_prescaler
Definition: mcp2518fd.h:1450
mcp2518fd_config_t::store_in_tef
uint8_t store_in_tef
Definition: mcp2518fd.h:872
mcp2518fd_bus_diag0_t
MCP2518FD Click Diagnostic register 0.
Definition: mcp2518fd.h:1775
mcp2518fd_fifo_ctl_t::rx_full_ie
uint32_t rx_full_ie
Definition: mcp2518fd.h:1150
mcp2518fd_filt_obj_id_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1006
mcp2518fd_t::clk
digital_in_t clk
Definition: mcp2518fd.h:1867
mcp2518fd_bus_diag1_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1810
mcp2518fd_tx_fifo_cfg_t::pay_load_size
uint32_t pay_load_size
Definition: mcp2518fd.h:1326
mcp2518fd_nbt_cfg_t::tseg1
uint32_t tseg1
Definition: mcp2518fd.h:1393
mcp2518fd_int_flag_t::word
uint16_t word
Definition: mcp2518fd.h:1549
mcp2518fd_io_ctl_t::sof_output_enable
uint32_t sof_output_enable
Definition: mcp2518fd.h:1267
mcp2518fd_tx_que_ctl_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1103
mcp2518fd_cfg_t::cs
pin_name_t cs
Definition: mcp2518fd.h:1890
mcp2518fd_transmit_queue_configure
err_t mcp2518fd_transmit_queue_configure(mcp2518fd_t *ctx, mcp2518fd_tx_que_cfg_t *config)
Configure Transmit Queue.
mcp2518fd_fifo_stat_t::tx_half_full_if
uint32_t tx_half_full_if
Definition: mcp2518fd.h:1650
mcp2518fd_fifo_ctl_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1159
mcp2518fd_tdc_cfg_t::edge_filter_enable
uint32_t edge_filter_enable
Definition: mcp2518fd.h:1435
mcp2518fd_cfg_t::stby
pin_name_t stby
Definition: mcp2518fd.h:1893
T_MCP2518FD_cfg_t::txq_enable
uint32_t txq_enable
Definition: mcp2518fd.h:1311
mcp2518fd_tx_que_ctl_t::pay_load_size
uint32_t pay_load_size
Definition: mcp2518fd.h:1108
T_MCP2518FD_cfg_t::restrict_re_tx_attempts
uint32_t restrict_re_tx_attempts
Definition: mcp2518fd.h:1307
mcp2518fd_int_flags_stat_t::TBCIF
uint32_t TBCIF
Definition: mcp2518fd.h:1526
mcp2518fd_tef_ctl_t::tefneie
uint32_t tefneie
Definition: mcp2518fd.h:1122
mcp2518fd_gpio_interrupt_pins_open_drain_configure
err_t mcp2518fd_gpio_interrupt_pins_open_drain_configure(mcp2518fd_t *ctx, uint8_t mode)
Configure Open Drain Interrupts.
mcp2518fd_return_value_t
mcp2518fd_return_value_t
MCP2518FD Click return value data.
Definition: mcp2518fd.h:1909
mcp2518fd_tx_que_ctl_t::unimplemented5
uint32_t unimplemented5
Definition: mcp2518fd.h:1106
mcp2518fd_int_en_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1472
mcp2518fd_error_count_state_get
err_t mcp2518fd_error_count_state_get(mcp2518fd_t *ctx, uint8_t *tec, uint8_t *rec, uint8_t *flags)
Error Counts and Error State Get.
mcp2518fd_receive_channel_status_get
err_t mcp2518fd_receive_channel_status_get(mcp2518fd_t *ctx, uint8_t channel, uint8_t *status)
Receive Channel Status Get.
mcp2518fd_osc_sta_t::pll_ready
uint32_t pll_ready
Definition: mcp2518fd.h:1710
mcp2518fd_can_cfg_t
MCP2518FD Click CAN Configure.
Definition: mcp2518fd.h:849
mcp2518fd_io_ctl_t::lat1
uint32_t lat1
Definition: mcp2518fd.h:1257
mcp2518fd_tdc_cfg_t
MCP2518FD Click Transmitter Delay Compensation Register.
Definition: mcp2518fd.h:1426
mcp2518fd_tef_ctl_t::tefovie
uint32_t tefovie
Definition: mcp2518fd.h:1125
mcp2518fd_ecc_event_enable
err_t mcp2518fd_ecc_event_enable(mcp2518fd_t *ctx, uint8_t flags)
ECC Event Enable.
mcp2518fd_nbt_cfg_t::brp
uint32_t brp
Definition: mcp2518fd.h:1394
mcp2518fd_transmit_channel_configure_object_reset
void mcp2518fd_transmit_channel_configure_object_reset(mcp2518fd_tx_fifo_cfg_t *config)
Reset Transmit Channel Configure object to reset values.
mcp2518fd_tdc_cfg_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1433
mcp2518fd_nbt_cfg_t
MCP2518FD Click Nominal Bit Time Configuration Register.
Definition: mcp2518fd.h:1387
mcp2518fd_bus_diag1_t::esi
uint32_t esi
Definition: mcp2518fd.h:1809
mcp2518fd_ecc_ctl_t::parity
uint32_t parity
Definition: mcp2518fd.h:1287
mcp2518fd_crc_t::word
uint32_t word
Definition: mcp2518fd.h:1680
mcp2518fd_tdc_cfg_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1429
mcp2518fd_bus_diag1_t
MCP2518FD Click Diagnostic register 1.
Definition: mcp2518fd.h:1792
mcp2518fd_fifo_ctl_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1152
mcp2518fd_reg_t
Definition: mcp2518fd.h:1049
mcp2518fd_fifo_ctl_t::rx_over_flow_ie
uint32_t rx_over_flow_ie
Definition: mcp2518fd.h:1151
T_MCP2518FD_cfg_t::protocol_expection_event_disable
uint32_t protocol_expection_event_disable
Definition: mcp2518fd.h:1303
mcp2518fd_fifo_ctl_t::rx_half_full_ie
uint32_t rx_half_full_ie
Definition: mcp2518fd.h:1149
mcp2518fd_tx_que_ctl_t::tx_request
uint32_t tx_request
Definition: mcp2518fd.h:1101
mcp2518fd_int_en_t::modie
uint32_t modie
Definition: mcp2518fd.h:1470
mcp2518fd_bus_diag0_t::n_tx_error_count
uint32_t n_tx_error_count
Definition: mcp2518fd.h:1778
mcp2518fd_tx_que_cfg_t::tx_priority
uint32_t tx_priority
Definition: mcp2518fd.h:1336
mcp2518fd_config_t::tx_fifo_size
uint8_t tx_fifo_size
Definition: mcp2518fd.h:873
mcp2518fd_oscillator_enable
err_t mcp2518fd_oscillator_enable(mcp2518fd_t *ctx)
Enable oscillator to wake-up from sleep.
mcp2518fd_osc_ctl_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1213
mcp2518fd_write_byte
err_t mcp2518fd_write_byte(mcp2518fd_t *ctx, uint16_t address, uint8_t data_in)
SPI Write Byte.
mcp2518fd_tef_t::tef_ov_if
uint32_t tef_ov_if
Definition: mcp2518fd.h:1601
mcp2518fd_transmit_channel_event_enable
err_t mcp2518fd_transmit_channel_event_enable(mcp2518fd_t *ctx, uint8_t channel, uint8_t flags)
Transmit FIFO Event Enable.
mcp2518fd_ecc_sta_t::dedif
uint32_t dedif
Definition: mcp2518fd.h:1694
mcp2518fd_int_en_t::eccie
uint32_t eccie
Definition: mcp2518fd.h:1474
mcp2518fd_tef_t::tef_half_full_if
uint32_t tef_half_full_if
Definition: mcp2518fd.h:1599
mcp2518fd_trec_t::tx_error_state_passive
uint32_t tx_error_state_passive
Definition: mcp2518fd.h:1582
mcp2518fd_io_ctl_t::hvdetsel
uint32_t hvdetsel
Definition: mcp2518fd.h:1259
mcp2518fd_read_byte
err_t mcp2518fd_read_byte(mcp2518fd_t *ctx, uint16_t address, uint8_t *data_out)
SPI Read Byte function.
mcp2518fd_fifo_ctl_t
MCP2518FD Click FIFO Control Register.
Definition: mcp2518fd.h:1146
mcp2518fd_cfg_t::int_pin
pin_name_t int_pin
Definition: mcp2518fd.h:1895
mcp2518fd_io_ctl_t::gpio1
uint32_t gpio1
Definition: mcp2518fd.h:1261
mcp2518fd_tdc_cfg_t::unimplemented4
uint32_t unimplemented4
Definition: mcp2518fd.h:1436
mcp2518fd_time_stamp_mode_configure
err_t mcp2518fd_time_stamp_mode_configure(mcp2518fd_t *ctx, uint8_t mode)
Time Stamp Mode Configure.
mcp2518fd_ctl_t
MCP2518FD Click CAN Control Register.
Definition: mcp2518fd.h:1060
mcp2518fd_int_en_t::tbcie
uint32_t tbcie
Definition: mcp2518fd.h:1469
mcp2518fd_tef_t::word
uint32_t word
Definition: mcp2518fd.h:1604
mcp2518fd_ctl_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1070
mcp2518fd_func_data_t::rxd
uint8_t * rxd
Definition: mcp2518fd.h:1824
mcp2518fd_rx_fifo_cfg_t
MCP2518FD Click CAN Receive Channel Configure.
Definition: mcp2518fd.h:1348
mcp2518fd_tef_ctl_t::teffulie
uint32_t teffulie
Definition: mcp2518fd.h:1124
mcp2518fd_io_ctl_t::tris1
uint32_t tris1
Definition: mcp2518fd.h:1250
T_MCP2518FD_cfg_t::esi_in_gateway_mode
uint32_t esi_in_gateway_mode
Definition: mcp2518fd.h:1308
mcp2518fd_io_ctl_t::unimplemented5
uint32_t unimplemented5
Definition: mcp2518fd.h:1265
mcp2518fd_osc_ctl_t::sclk_ready
uint32_t sclk_ready
Definition: mcp2518fd.h:1221
mcp2518fd_fifo_ctl_t::tx_not_full_ie
uint32_t tx_not_full_ie
Definition: mcp2518fd.h:1165
T_MCP2518FD_cfg_t
MCP2518FD Click CAN Configure.
Definition: mcp2518fd.h:1300
mcp2518fd_tef_cfg_t::time_stamp_enable
uint32_t time_stamp_enable
Definition: mcp2518fd.h:1377
mcp2518fd_config_t::iso_crc_enable
uint8_t iso_crc_enable
Definition: mcp2518fd.h:871
mcp2518fd_mask_obj_id_t::msid
uint32_t msid
Definition: mcp2518fd.h:1028
mcp2518fd_io_ctl_t::int_pin_open_drain
uint32_t int_pin_open_drain
Definition: mcp2518fd.h:1268
mcp2518fd_int_flags_stat_t::SPICRCIF
uint32_t SPICRCIF
Definition: mcp2518fd.h:1532
T_MCP2518FD_cfg_t::wake_up_filter_enable
uint32_t wake_up_filter_enable
Definition: mcp2518fd.h:1304
mcp2518fd_config_t::switch_bit_rate
uint8_t switch_bit_rate
Definition: mcp2518fd.h:881
mcp2518fd_write_byte_array_with_crc
err_t mcp2518fd_write_byte_array_with_crc(mcp2518fd_t *ctx, bool from_ram)
SPI Write Byte Array with CRC.
mcp2518fd_bus_error_count_t::d_tec
uint8_t d_tec
Definition: mcp2518fd.h:1750
mcp2518fd_tx_msg_obj_t::time_stamp
mcp2518fd_msg_time_stamp_t time_stamp
Definition: mcp2518fd.h:939
mcp2518fd_receive_channel_event_disable
err_t mcp2518fd_receive_channel_event_disable(mcp2518fd_t *ctx, uint8_t channel, uint8_t flags)
Receive FIFO Event Disable.
mcp2518fd_int_vec_t::icode
uint32_t icode
Definition: mcp2518fd.h:1504
mcp2518fd_tx_que_stat_t::tx_aborted
uint32_t tx_aborted
Definition: mcp2518fd.h:1623
mcp2518fd_tx_que_cfg_t
MCP2518FD Click CAN Transmit Queue Configure.
Definition: mcp2518fd.h:1335
mcp2518fd_rx_msg_obj_ctl_t
MCP2518FD Click CAN RX Message Object Control.
Definition: mcp2518fd.h:951
mcp2518fd_int_flags_stat_t::CERRIF
uint32_t CERRIF
Definition: mcp2518fd.h:1536
mcp2518fd_rx_msg_obj_t::id
mcp2518fd_msg_obj_id_t id
Definition: mcp2518fd.h:971
mcp2518fd_fifo_user_cfg_t::user_address
uint32_t user_address
Definition: mcp2518fd.h:1363
mcp2518fd_read_byte_array_with_crc
err_t mcp2518fd_read_byte_array_with_crc(mcp2518fd_t *ctx, bool from_ram, bool *crc_is_correct)
SPI Read Byte Array with CRC.
mcp2518fd_fifo_user_cfg_t
MCP2518FD Click FIFO User Address Register.
Definition: mcp2518fd.h:1361
mcp2518fd_dbt_cfg_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1413
mcp2518fd_io_ctl_t::pin_mode1
uint32_t pin_mode1
Definition: mcp2518fd.h:1264
mcp2518fd_can_cfg_t::system_error_to_listen_only
uint32_t system_error_to_listen_only
Definition: mcp2518fd.h:858
mcp2518fd_io_ctl_t::xcr_stby_enable
uint32_t xcr_stby_enable
Definition: mcp2518fd.h:1254
mcp2518fd_ecc_ctl_t::ecc_en
uint32_t ecc_en
Definition: mcp2518fd.h:1283
mcp2518fd_data_t::tx_flags
uint8_t tx_flags
Definition: mcp2518fd.h:1838
mcp2518fd_config_t::tx_pay_load_size
uint8_t tx_pay_load_size
Definition: mcp2518fd.h:874
mcp2518fd_ctl_t::abort_all_tx
uint32_t abort_all_tx
Definition: mcp2518fd.h:1078
mcp2518fd_cfg_t::mosi
pin_name_t mosi
Definition: mcp2518fd.h:1888
mcp2518fd_transmit_message
err_t mcp2518fd_transmit_message(mcp2518fd_t *ctx, uint8_t *data_in, uint16_t data_len)
Message Transmit function.
mcp2518fd_bus_diag1_t::n_bit1_error
uint32_t n_bit1_error
Definition: mcp2518fd.h:1796
mcp2518fd_crc_t::ferrif
uint32_t ferrif
Definition: mcp2518fd.h:1674
mcp2518fd_tx_fifo_cfg_t
MCP2518FD Click CAN Transmit Channel Configure.
Definition: mcp2518fd.h:1321
mcp2518fd_tef_cfg_t
MCP2518FD Click CAN Transmit Event FIFO Configure.
Definition: mcp2518fd.h:1376
mcp2518fd_bus_diag0_t::d_rx_error_count
uint32_t d_rx_error_count
Definition: mcp2518fd.h:1779
mcp2518fd_ecc_sta_t::error_address
uint32_t error_address
Definition: mcp2518fd.h:1696
mcp2518fd_func_data_t::txd_num_bytes
uint32_t txd_num_bytes
Definition: mcp2518fd.h:1827
mcp2518fd_tx_msg_obj_ctl_t::fdf
uint32_t fdf
Definition: mcp2518fd.h:923
mcp2518fd_tef_event_disable
err_t mcp2518fd_tef_event_disable(mcp2518fd_t *ctx, uint8_t flags)
Transmit Event FIFO Event Disable.
mcp2518fd_ctl_t::protocol_exception_event_disable
uint32_t protocol_exception_event_disable
Definition: mcp2518fd.h:1064
mcp2518fd_ecc_ctl_t::dedie
uint32_t dedie
Definition: mcp2518fd.h:1285
mcp2518fd_tdc_cfg_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1431
mcp2518fd_config_t::ide
uint8_t ide
Definition: mcp2518fd.h:882
mcp2518fd_tef_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1602
mcp2518fd_gpio_pin_read
err_t mcp2518fd_gpio_pin_read(mcp2518fd_t *ctx, uint8_t pos, uint8_t *state)
Input Pin Read.
mcp2518fd_transmit_band_width_sharing_set
err_t mcp2518fd_transmit_band_width_sharing_set(mcp2518fd_t *ctx, uint8_t tx_bws)
Set Transmit Bandwidth Sharing Delay.
T_MCP2518FD_cfg_t::bit_rate_switch_disable
uint32_t bit_rate_switch_disable
Definition: mcp2518fd.h:1306
mcp2518fd_io_ctl_t::tris0
uint32_t tris0
Definition: mcp2518fd.h:1249
mcp2518fd_tef_configure_object_reset
void mcp2518fd_tef_configure_object_reset(mcp2518fd_tef_cfg_t *config)
Reset TefConfigure object to reset value.
mcp2518fd_mask_obj_t::bf
mcp2518fd_mask_obj_id_t bf
Definition: mcp2518fd.h:1042
mcp2518fd_tef_ctl_t::time_stamp_enable
uint32_t time_stamp_enable
Definition: mcp2518fd.h:1127
mcp2518fd_bus_diag1_t::txbo_error
uint32_t txbo_error
Definition: mcp2518fd.h:1802
mcp2518fd_mask_obj_id_t::meid
uint32_t meid
Definition: mcp2518fd.h:1029
mcp2518fd_tdc_cfg_t::tdc_offset
uint32_t tdc_offset
Definition: mcp2518fd.h:1430
mcp2518fd_tef_t
MCP2518FD Click Transmit Event FIFO Status Register.
Definition: mcp2518fd.h:1596
mcp2518fd_filt_ctl_t::buffer_pointer
uint32_t buffer_pointer
Definition: mcp2518fd.h:1195
mcp2518fd_config_t::rx_fifo_size
uint8_t rx_fifo_size
Definition: mcp2518fd.h:876
mcp2518fd_tx_que_ctl_t::tx_empty_ie
uint32_t tx_empty_ie
Definition: mcp2518fd.h:1095
mcp2518fd_bus_error_count_t
MCP2518FD Click CAN Bus Diagnostic Error Counts.
Definition: mcp2518fd.h:1746
mcp2518fd_int_cfg_t::ie
mcp2518fd_int_en_t ie
Definition: mcp2518fd.h:1491
mcp2518fd_can_cfg_t::restrict_re_tx_attempts
uint32_t restrict_re_tx_attempts
Definition: mcp2518fd.h:856
mcp2518fd_bit_time_configure_nominal_10_mhz
err_t mcp2518fd_bit_time_configure_nominal_10_mhz(mcp2518fd_t *ctx, uint8_t bit_time)
Configure Nominal bit time for 10MHz system clock.
mcp2518fd_ts_cfg_t::time_stamp_eof
uint32_t time_stamp_eof
Definition: mcp2518fd.h:1453
mcp2518fd_int_en_t::tefie
uint32_t tefie
Definition: mcp2518fd.h:1471
mcp2518fd_ecc_ctl_t::secie
uint32_t secie
Definition: mcp2518fd.h:1284
mcp2518fd_tef_update
err_t mcp2518fd_tef_update(mcp2518fd_t *ctx)
Transmit Event FIFO Update.
mcp2518fd_fifo_stat_t::tx_not_full_if
uint32_t tx_not_full_if
Definition: mcp2518fd.h:1649
mcp2518fd_nbt_cfg_t::tseg2
uint32_t tseg2
Definition: mcp2518fd.h:1391
mcp2518fd_int_flags_stat_t::ECCIF
uint32_t ECCIF
Definition: mcp2518fd.h:1531
mcp2518fd_config_t::remote_frame_req
uint8_t remote_frame_req
Definition: mcp2518fd.h:883
mcp2518fd_int_vec_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1509
mcp2518fd_int_en_t::txatie
uint32_t txatie
Definition: mcp2518fd.h:1476
mcp2518fd_int_flags_stat_t::IVMIF
uint32_t IVMIF
Definition: mcp2518fd.h:1538
mcp2518fd_osc_ctl_t::unimplemented6
uint32_t unimplemented6
Definition: mcp2518fd.h:1222
mcp2518fd_bus_diag1_t::d_form_error
uint32_t d_form_error
Definition: mcp2518fd.h:1806
mcp2518fd_data_t
MCP2518FD Click CAN message configuration.
Definition: mcp2518fd.h:1836
mcp2518fd_trec_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1584
mcp2518fd_dbt_cfg_t::brp
uint32_t brp
Definition: mcp2518fd.h:1414
mcp2518fd_int_en_t::cerrie
uint32_t cerrie
Definition: mcp2518fd.h:1479
mcp2518fd_tef_ctl_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1133
mcp2518fd_int_en_t::rxie
uint32_t rxie
Definition: mcp2518fd.h:1468
mcp2518fd_config_t::seq
uint8_t seq
Definition: mcp2518fd.h:884
mcp2518fd_data_t::rx_obj
mcp2518fd_rx_msg_obj_t rx_obj
Definition: mcp2518fd.h:1850
mcp2518fd_config_t::extended_id
uint32_t extended_id
Definition: mcp2518fd.h:879
mcp2518fd_bus_diag_flags_t::n_stuff_err
uint32_t n_stuff_err
Definition: mcp2518fd.h:1726
mcp2518fd_gpio_mode_configure
err_t mcp2518fd_gpio_mode_configure(mcp2518fd_t *ctx, uint8_t gpio0, uint8_t gpio1)
Initialize GPIO Mode.
mcp2518fd_bus_diag1_t::n_ack_error
uint32_t n_ack_error
Definition: mcp2518fd.h:1797
mcp2518fd_crc_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1675
mcp2518fd_bit_time_configure_data_40_mhz
err_t mcp2518fd_bit_time_configure_data_40_mhz(mcp2518fd_t *ctx, uint8_t bit_time)
Configure Data bit time for 40MHz system clock.
mcp2518fd_ecc_event_get
err_t mcp2518fd_ecc_event_get(mcp2518fd_t *ctx, uint8_t *flags)
ECC Event Get.
mcp2518fd_filt_obj_id_t::eid
uint32_t eid
Definition: mcp2518fd.h:1003
mcp2518fd_ts_cfg_t::unimplemented1
uint32_t unimplemented1
Definition: mcp2518fd.h:1451
mcp2518fd_device_net_filter_count_set
err_t mcp2518fd_device_net_filter_count_set(mcp2518fd_t *ctx, uint8_t dnfc)
Set Device Net Filter Count.
mcp2518fd_configure
err_t mcp2518fd_configure(mcp2518fd_t *ctx, mcp2518fd_can_cfg_t *config)
CAN Control register configuration.
mcp2518fd_transmit_channel_event_get
err_t mcp2518fd_transmit_channel_event_get(mcp2518fd_t *ctx, uint8_t channel, uint8_t *flags)
Transmit FIFO Event Get.
mcp2518fd_transmit_event_get
err_t mcp2518fd_transmit_event_get(mcp2518fd_t *ctx, uint32_t *txif)
Get pending interrupts of all transmit FIFOs.
mcp2518fd_write_word
err_t mcp2518fd_write_word(mcp2518fd_t *ctx, uint16_t address, uint32_t data_in)
SPI Write Word.
mcp2518fd_receive_channel_event_enable
err_t mcp2518fd_receive_channel_event_enable(mcp2518fd_t *ctx, uint8_t channel, uint8_t flags)
Receive FIFO Event Enable.
mcp2518fd_io_ctl_t::unimplemented3
uint32_t unimplemented3
Definition: mcp2518fd.h:1258
mcp2518fd_int_flag_t
MCP2518FD Click Interrupt Flag Register.
Definition: mcp2518fd.h:1547
mcp2518fd_bus_diag_flags_t::d_crc_err
uint32_t d_crc_err
Definition: mcp2518fd.h:1735
mcp2518fd_tef_cfg_t::fifo_size
uint32_t fifo_size
Definition: mcp2518fd.h:1378
mcp2518fd_tx_que_stat_t::tx_error
uint32_t tx_error
Definition: mcp2518fd.h:1621
mcp2518fd_transmit_channel_index_get
err_t mcp2518fd_transmit_channel_index_get(mcp2518fd_t *ctx, uint8_t channel, uint8_t *idx)
Transmit FIFO Index Get.
mcp2518fd_bus_diag_flags_t
MCP2518FD Click CAN Bus Diagnostic flags.
Definition: mcp2518fd.h:1721
mcp2518fd_ecc_error_address_get
err_t mcp2518fd_ecc_error_address_get(mcp2518fd_t *ctx, uint16_t *address)
Get ECC Error Address.
mcp2518fd_reset
err_t mcp2518fd_reset(mcp2518fd_t *ctx)
Reset function.
mcp2518fd_ecc_sta_t::secif
uint32_t secif
Definition: mcp2518fd.h:1693
mcp2518fd_bus_diag_flags_t::unimplemented2
uint32_t unimplemented2
Definition: mcp2518fd.h:1732
mcp2518fd_rx_msg_obj_ctl_t::fdf
uint32_t fdf
Definition: mcp2518fd.h:956
mcp2518fd_func_data_t
MCP2518FD Click CAN message configuration.
Definition: mcp2518fd.h:1822
mcp2518fd_cfg_t::spi_speed
uint32_t spi_speed
Definition: mcp2518fd.h:1898
mcp2518fd_bit_time_configure_data_20_mhz
err_t mcp2518fd_bit_time_configure_data_20_mhz(mcp2518fd_t *ctx, uint8_t bit_time)
Configure Nominal bit time for 20MHz system clock.
mcp2518fd_time_stamp_get
err_t mcp2518fd_time_stamp_get(mcp2518fd_t *ctx, uint32_t *time_stamp)
Time Stamp Get.
mcp2518fd_rx_msg_obj_t::time_stamp
mcp2518fd_msg_time_stamp_t time_stamp
Definition: mcp2518fd.h:973
mcp2518fd_cfg_t::sck
pin_name_t sck
Definition: mcp2518fd.h:1889
mcp2518fd_tx_msg_obj_t::id
mcp2518fd_msg_obj_id_t id
Definition: mcp2518fd.h:937
mcp2518fd_data_t::f_obj
mcp2518fd_filt_obj_t f_obj
Definition: mcp2518fd.h:1851
mcp2518fd_write_word_array
err_t mcp2518fd_write_word_array(mcp2518fd_t *ctx, uint16_t address, uint32_t *data_in, uint16_t n_words)
SPI Write Word Array.
mcp2518fd_filt_ctl_t::enable
uint32_t enable
Definition: mcp2518fd.h:1197
mcp2518fd_bus_diag1_t::word
uint32_t word
Definition: mcp2518fd.h:1812
mcp2518fd_time_stamp_enable
err_t mcp2518fd_time_stamp_enable(mcp2518fd_t *ctx)
Time Stamp Enable.
mcp2518fd_transmit_channel_event_disable
err_t mcp2518fd_transmit_channel_event_disable(mcp2518fd_t *ctx, uint8_t channel, uint8_t flags)
Transmit FIFO Event Disable.
mcp2518fd_osc_ctl_t::osc_disable
uint32_t osc_disable
Definition: mcp2518fd.h:1212
mcp2518fd_tef_ctl_t
MCP2518FD Click Transmit Event FIFO Control Register.
Definition: mcp2518fd.h:1120