Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
mcp2515_defines.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2016 OTA keys S.A.
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
21
22
#include <stdint.h>
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
32
#define MCP2515_RXF0SIDH 0x00
33
#define MCP2515_RXF0SIDL 0x01
34
#define MCP2515_RXF0EID8 0x02
35
#define MCP2515_RXF0EID0 0x03
36
37
#define MCP2515_RXF1SIDH 0x04
38
#define MCP2515_RXF1SIDL 0x05
39
#define MCP2515_RXF1EID8 0x06
40
#define MCP2515_RXF1EID0 0x07
41
42
#define MCP2515_RXF2SIDH 0x08
43
#define MCP2515_RXF2SIDL 0x09
44
#define MCP2515_RXF2EID8 0x0A
45
#define MCP2515_RXF2EID0 0x0B
46
47
#define MCP2515_BFPCTRL 0x0C
48
#define MCP2515_TXRTSCTRL 0x0D
49
#define MCP2515_CANSTAT 0x0E
50
#define MCP2515_CANCTRL 0x0F
51
52
#define MCP2515_RXF3SIDH 0x10
53
#define MCP2515_RXF3SIDL 0x11
54
#define MCP2515_RXF3EID8 0x12
55
#define MCP2515_RXF3EID0 0x13
56
57
#define MCP2515_RXF4SIDH 0x14
58
#define MCP2515_RXF4SIDL 0x15
59
#define MCP2515_RXF4EID8 0x16
60
#define MCP2515_RXF4EID0 0x17
61
62
#define MCP2515_RXF5SIDH 0x18
63
#define MCP2515_RXF5SIDL 0x19
64
#define MCP2515_RXF5EID8 0x1A
65
#define MCP2515_RXF5EID0 0x1B
66
67
#define MCP2515_TEC 0x1C
68
#define MCP2515_REC 0x1D
69
70
#define MCP2515_RXM0SIDH 0x20
71
#define MCP2515_RXM0SIDL 0x21
72
#define MCP2515_RXM0EID8 0x22
73
#define MCP2515_RXM0EID0 0x23
74
75
#define MCP2515_RXM1SIDH 0x24
76
#define MCP2515_RXM1SIDL 0x25
77
#define MCP2515_RXM1EID8 0x26
78
#define MCP2515_RXM1EID0 0x27
79
80
#define MCP2515_CNF3 0x28
81
#define MCP2515_CNF2 0x29
82
#define MCP2515_CNF1 0x2A
83
#define MCP2515_CANINTE 0x2B
84
85
#define MCP2515_CANINTF 0x2C
86
#define MCP2515_EFLG 0x2D
87
88
#define MCP2515_TXB0CTRL 0x30
89
#define MCP2515_TXB0SIDH 0x31
90
#define MCP2515_TXB0SIDL 0x32
91
#define MCP2515_TXB0EID8 0x33
92
#define MCP2515_TXB0EID0 0x34
93
#define MCP2515_TXB0DLC 0x35
94
#define MCP2515_TXB0D0 0x36
95
#define MCP2515_TXB0D1 0x37
96
#define MCP2515_TXB0D2 0x38
97
#define MCP2515_TXB0D3 0x39
98
#define MCP2515_TXB0D4 0x3A
99
#define MCP2515_TXB0D5 0x3B
100
#define MCP2515_TXB0D6 0x3C
101
#define MCP2515_TXB0D7 0x3D
102
103
#define MCP2515_TXB1CTRL 0x40
104
#define MCP2515_TXB1SIDH 0x41
105
#define MCP2515_TXB1SIDL 0x42
106
#define MCP2515_TXB1EID8 0x43
107
#define MCP2515_TXB1EID0 0x44
108
#define MCP2515_TXB1DLC 0x45
109
#define MCP2515_TXB1D0 0x46
110
#define MCP2515_TXB1D1 0x47
111
#define MCP2515_TXB1D2 0x48
112
#define MCP2515_TXB1D3 0x49
113
#define MCP2515_TXB1D4 0x4A
114
#define MCP2515_TXB1D5 0x4B
115
#define MCP2515_TXB1D6 0x4C
116
#define MCP2515_TXB1D7 0x4D
117
118
#define MCP2515_TXB2CTRL 0x50
119
#define MCP2515_TXB2SIDH 0x51
120
#define MCP2515_TXB2SIDL 0x52
121
#define MCP2515_TXB2EID8 0x53
122
#define MCP2515_TXB2EID0 0x54
123
#define MCP2515_TXB2DLC 0x55
124
#define MCP2515_TXB2D0 0x56
125
#define MCP2515_TXB2D1 0x57
126
#define MCP2515_TXB2D2 0x58
127
#define MCP2515_TXB2D3 0x59
128
#define MCP2515_TXB2D4 0x5A
129
#define MCP2515_TXB2D5 0x5B
130
#define MCP2515_TXB2D6 0x5C
131
#define MCP2515_TXB2D7 0x5D
132
133
#define MCP2515_RXB0CTRL 0x60
134
#define MCP2515_RXB0SIDH 0x61
135
#define MCP2515_RXB0SIDL 0x62
136
#define MCP2515_RXB0EID8 0x63
137
#define MCP2515_RXB0EID0 0x64
138
#define MCP2515_RXB0DLC 0x65
139
#define MCP2515_RXB0D0 0x66
140
#define MCP2515_RXB0D1 0x67
141
#define MCP2515_RXB0D2 0x68
142
#define MCP2515_RXB0D3 0x69
143
#define MCP2515_RXB0D4 0x6A
144
#define MCP2515_RXB0D5 0x6B
145
#define MCP2515_RXB0D6 0x6C
146
#define MCP2515_RXB0D7 0x6D
147
148
#define MCP2515_RXB1CTRL 0x70
149
#define MCP2515_RXB1SIDH 0x71
150
#define MCP2515_RXB1SIDL 0x72
151
#define MCP2515_RXB1EID8 0x73
152
#define MCP2515_RXB1EID0 0x74
153
#define MCP2515_RXB1DLC 0x75
154
#define MCP2515_RXB1D0 0x76
155
#define MCP2515_RXB1D1 0x77
156
#define MCP2515_RXB1D2 0x78
157
#define MCP2515_RXB1D3 0x79
158
#define MCP2515_RXB1D4 0x7A
159
#define MCP2515_RXB1D5 0x7B
160
#define MCP2515_RXB1D6 0x7C
161
#define MCP2515_RXB1D7 0x7D
163
168
#define MCP2515_BFPCTRL_B0BFM 0x01
169
#define MCP2515_BFPCTRL_B1BFM 0x02
170
#define MCP2515_BFPCTRL_B0BFE 0x04
171
#define MCP2515_BFPCTRL_B1BFE 0x08
172
173
#define MCP2515_BFPCTRL_B0BFS 0x10
174
#define MCP2515_BFPCTRL_B1BFS 0x20
175
176
#define MCP2515_TXRTSCTRL_B0RTSM 0x01
177
#define MCP2515_TXRTSCTRL_B1RTSM 0x02
178
#define MCP2515_TXRTSCTRL_B2RTSM 0x04
179
#define MCP2515_TXRTSCTRL_B0RTS 0x08
180
#define MCP2515_TXRTSCTRL_B1RTS 0x10
181
#define MCP2515_TXRTSCTRL_B2RTS 0x20
182
183
#define MCP2515_CANSTAT_ICOD0 0x02
184
#define MCP2515_CANSTAT_ICOD1 0x04
185
#define MCP2515_CANSTAT_ICOD2 0x08
186
#define MCP2515_CANSTAT_OPMOD0 0x20
187
#define MCP2515_CANSTAT_OPMOD1 0x40
188
#define MCP2515_CANSTAT_OPMOD2 0x80
189
190
#define MCP2515_CANSTAT_ICOD_MASK 0x0E
191
192
#define MCP2515_CANSTAT_OPMOD_MASK 0xE0
193
#define MCP2515_CANSTAT_OPMOD_CONFIGURATION MCP2515_CANSTAT_OPMOD2
194
#define MCP2515_CANSTAT_OPMOD_NORMAL 0x00
195
#define MCP2515_CANSTAT_OPMOD_SLEEP MCP2515_CANSTAT_OPMOD0
196
#define MCP2515_CANSTAT_OPMOD_LOOPBACK MCP2515_CANSTAT_OPMOD1
197
#define MCP2515_CANSTAT_OPMOD_LISTEN_ONLY (MCP2515_CANSTAT_OPMOD1 | \
198
MCP2515_CANSTAT_OPMOD0)
199
200
#define MCP2515_CANCTRL_CLKPRE0 0x01
201
#define MCP2515_CANCTRL_CLKPRE1 0x02
202
#define MCP2515_CANCTRL_CLKEN 0x04
203
#define MCP2515_CANCTRL_OSM 0x08
204
#define MCP2515_CANCTRL_ABAT 0x10
205
#define MCP2515_CANCTRL_REQOP0 0x20
206
#define MCP2515_CANCTRL_REQOP1 0x40
207
#define MCP2515_CANCTRL_REQOP2 0x80
208
209
#define MCP2515_CANCTRL_CLKPRE_MASK (MCP2515_CANCTRL_CLKPRE1 | \
210
MCP2515_CANCTRL_CLKPRE0)
211
212
#define MCP2515_CANCTRL_REQOP_MASK 0xE0
213
#define MCP2515_CANCTRL_REQOP_CONFIGURATION MCP2515_CANCTRL_REQOP2
214
#define MCP2515_CANCTRL_REQOP_NORMAL 0x00
215
#define MCP2515_CANCTRL_REQOP_SLEEP MCP2515_CANCTRL_REQOP0
216
#define MCP2515_CANCTRL_REQOP_LOOPBACK MCP2515_CANCTRL_REQOP1
217
#define MCP2515_CANCTRL_REQOP_LISTEN_ONLY (MCP2515_CANCTRL_REQOP1 | \
218
MCP2515_CANCTRL_REQOP0)
219
220
#define MCP2515_CNF3_PHSEG20 0x01
221
#define MCP2515_CNF3_PHSEG21 0x02
222
#define MCP2515_CNF3_PHSEG22 0x04
223
#define MCP2515_CNF3_WAKFIL 0x40
224
#define MCP2515_CNF3_SOF 0x80
225
226
#define MCP2515_CNF3_PHSEG_MASK 0x07
227
228
#define MCP2515_CNF2_PRSEG0 0x01
229
#define MCP2515_CNF2_PRSEG1 0x02
230
#define MCP2515_CNF2_PRSEG2 0x04
231
#define MCP2515_CNF2_PHSEG10 0x08
232
#define MCP2515_CNF2_PHSEG11 0x10
233
#define MCP2515_CNF2_PHSEG12 0x20
234
#define MCP2515_CNF2_SAM 0x40
235
#define MCP2515_CNF2_BTLMODE 0x80
236
237
#define MCP2515_CNF2_PRSEG_MASK 0x07
238
#define MCP2515_CNF2_PHSEG_MASK 0x38
239
240
#define MCP2515_CNF1_BRP0 0x01
241
#define MCP2515_CNF1_BRP1 0x02
242
#define MCP2515_CNF1_BRP2 0x04
243
#define MCP2515_CNF1_BRP3 0x08
244
#define MCP2515_CNF1_BRP4 0x10
245
#define MCP2515_CNF1_BRP5 0x20
246
#define MCP2515_CNF1_SJW0 0x40
247
#define MCP2515_CNF1_SJW1 0x80
248
249
#define MCP2515_CNF1_BRP_MASK 0x3F
250
#define MCP2515_CNF1_SJW_MASK 0xC0
251
252
#define MCP2515_CANINTE_RX0IE 0x01
253
#define MCP2515_CANINTE_RX1IE 0x02
254
#define MCP2515_CANINTE_TX0IE 0x04
255
#define MCP2515_CANINTE_TX1IE 0x08
256
#define MCP2515_CANINTE_TX2IE 0x10
257
#define MCP2515_CANINTE_ERRIE 0x20
258
#define MCP2515_CANINTE_WAKIE 0x40
259
#define MCP2515_CANINTE_MERRE 0x80
260
261
#define MCP2515_CANINTF_RX0IF 0x01
262
#define MCP2515_CANINTF_RX1IF 0x02
263
#define MCP2515_CANINTF_TX0IF 0x04
264
#define MCP2515_CANINTF_TX1IF 0x08
265
#define MCP2515_CANINTF_TX2IF 0x10
266
#define MCP2515_CANINTF_ERRIF 0x20
267
#define MCP2515_CANINTF_WAKIF 0x40
268
#define MCP2515_CANINTF_MERRF 0x80
270
275
#define MCP2515_EFLG_EWARN 0x01
276
#define MCP2515_EFLG_RXWAR 0x02
277
#define MCP2515_EFLG_TXWAR 0x04
278
#define MCP2515_EFLG_RXEP 0x08
279
#define MCP2515_EFLG_TXEP 0x10
280
#define MCP2515_EFLG_TXBO 0x20
281
#define MCP2515_EFLG_RX0OVR 0x40
282
#define MCP2515_EFLG_RX1OVR 0x80
284
289
#define MCP2515_TXBCTRL_TXP0 0x01
290
#define MCP2515_TXBCTRL_TXP1 0x02
291
#define MCP2515_TXBCTRL_TXREQ 0x08
292
#define MCP2515_TXBCTRL_TXERR 0x10
293
#define MCP2515_TXBCTRL_MLOA 0x20
294
#define MCP2515_TXBCTRL_ABTF 0x40
295
296
#define MCP2515_RXB0CTRL_FILHIT0 0x01
297
#define MCP2515_RXB0CTRL_BUKT1 0x02
298
#define MCP2515_RXB0CTRL_BUKT 0x04
299
#define MCP2515_RXB0CTRL_RXRTR 0x08
300
#define MCP2515_RXB0CTRL_MODE_RECV_FILTER 0x00
301
#define MCP2515_RXB0CTRL_RXM0 0x20
302
#define MCP2515_RXB0CTRL_RXM1 0x40
303
#define MCP2515_RXB0CTRL_MODE_RECV_ALL (MCP2515_RXB0CTRL_RXM1 | \
304
MCP2515_RXB0CTRL_RXM0)
305
306
#define MCP2515_RXB1CTRL_FILHIT0 0x01
307
#define MCP2515_RXB1CTRL_FILHIT1 0x02
308
#define MCP2515_RXB1CTRL_FILHIT2 0x04
309
#define MCP2515_RXB1CTRL_RXRTR 0x08
310
#define MCP2515_RXB1CTRL_MODE_RECV_FILTER 0x00
311
#define MCP2515_RXB1CTRL_RXM0 0x20
312
#define MCP2515_RXB1CTRL_RXM1 0x40
313
#define MCP2515_RXB1CTRL_MODE_RECV_ALL (MCP2515_RXB1CTRL_RXM1 | \
314
MCP2515_RXB1CTRL_RXM0)
316
321
#define MCP2515_SPI_RESET 0xC0
322
#define MCP2515_SPI_READ 0x03
323
#define MCP2515_SPI_READ_RXBUF 0x90
324
#define MCP2515_SPI_WRITE 0x02
325
#define MCP2515_SPI_LOAD_TXBUF 0x40
326
#define MCP2515_SPI_RTS 0x80
327
#define MCP2515_SPI_READ_STATUS 0xA0
328
#define MCP2515_SPI_RX_STATUS 0xB0
329
#define MCP2515_SPI_BITMOD 0x05
331
336
#define MCP2515_RXBUF_RXB0SIDH 0x00
337
#define MCP2515_RXBUF_RXB0D0 0x02
338
#define MCP2515_RXBUF_RXB1SIDH 0x04
339
#define MCP2515_RXBUF_RXB1D0 0x06
341
346
#define MCP2515_TXBUF_TXB0SIDH 0x00
347
#define MCP2515_TXBUF_TXB0D0 0x01
348
#define MCP2515_TXBUF_TXB1SIDH 0x02
349
#define MCP2515_TXBUF_TXB1D0 0x03
350
#define MCP2515_TXBUF_TXB2SIDH 0x04
351
#define MCP2515_TXBUF_TXB2D0 0x05
353
358
#define MCP2515_OPTION_ROLLOVER 1
359
#define MCP2515_OPTION_ONESHOT 2
360
#define MCP2515_OPTION_ABORT 3
361
#define MCP2515_OPTION_CLOCKOUT 4
362
#define MCP2515_OPTION_LOOPBACK 5
363
#define MCP2515_OPTION_LISTEN_ONLY 6
364
#define MCP2515_OPTION_SLEEP 7
365
#define MCP2515_OPTION_MULTISAMPLE 8
366
#define MCP2515_OPTION_SOFOUT 9
367
#define MCP2515_OPTION_WAKE_GLITCH_FILTER 10
368
#define MCP2515_OPTION_WAKE 11
370
375
#define MCP2515_IRQ_FLAGGED 0x80
376
#define MCP2515_IRQ_HANDLED 0x40
377
#define MCP2515_IRQ_RX 0x01
378
#define MCP2515_IRQ_TX 0x02
379
#define MCP2515_IRQ_ERROR 0x04
380
#define MCP2515_IRQ_WAKEUP 0x08
382
387
#define MCP2515_RX_IDE 0x08
389
390
#ifdef __cplusplus
391
}
392
#endif
393
Generated on Fri May 1 2026 15:22:59 by
1.13.2