ESPHome 2025.5.0
Loading...
Searching...
No Matches
mcp2515_defs.h
Go to the documentation of this file.
1#pragma once
2
3namespace esphome {
4namespace mcp2515 {
5
6static const uint8_t CANCTRL_REQOP = 0xE0;
7static const uint8_t CANCTRL_ABAT = 0x10;
8static const uint8_t CANCTRL_OSM = 0x08;
9static const uint8_t CANCTRL_CLKEN = 0x04;
10static const uint8_t CANCTRL_CLKPRE = 0x03;
11
20
21enum TxbNCtrl : uint8_t {
22 TXB_ABTF = 0x40,
23 TXB_MLOA = 0x20,
24 TXB_TXERR = 0x10,
25 TXB_TXREQ = 0x08,
26 TXB_TXIE = 0x04,
27 TXB_TXP = 0x03
28};
29
47
48enum REGISTER : uint8_t {
75 MCP_TEC = 0x1C,
76 MCP_REC = 0x1D,
85 MCP_CNF3 = 0x28,
86 MCP_CNF2 = 0x29,
87 MCP_CNF1 = 0x2A,
90 MCP_EFLG = 0x2D,
125 MCP_RXB1DATA = 0x76
127
128static const uint8_t CANSTAT_OPMOD = 0xE0;
129static const uint8_t CANSTAT_ICOD = 0x0E;
130
131static const uint8_t CNF3_SOF = 0x80;
132
133static const uint8_t TXB_EXIDE_MASK = 0x08;
134static const uint8_t DLC_MASK = 0x0F;
135static const uint8_t RTR_MASK = 0x40;
136
137static const uint8_t RXB_CTRL_RXM_STD = 0x20;
138static const uint8_t RXB_CTRL_RXM_EXT = 0x40;
139static const uint8_t RXB_CTRL_RXM_STDEXT = 0x00;
140static const uint8_t RXB_CTRL_RXM_MASK = 0x60;
141static const uint8_t RXB_CTRL_RTR = 0x08;
142static const uint8_t RXB_0_CTRL_BUKT = 0x04;
143
144static const uint8_t MCP_SIDH = 0;
145static const uint8_t MCP_SIDL = 1;
146static const uint8_t MCP_EID8 = 2;
147static const uint8_t MCP_EID0 = 3;
148static const uint8_t MCP_DLC = 4;
149static const uint8_t MCP_DATA = 5;
150
151/*
152 * Speed 8M
153 */
154static const uint8_t MCP_8MHZ_1000KBPS_CFG1 = 0x00;
155static const uint8_t MCP_8MHZ_1000KBPS_CFG2 = 0x80;
156static const uint8_t MCP_8MHZ_1000KBPS_CFG3 = 0x80;
157
158static const uint8_t MCP_8MHZ_500KBPS_CFG1 = 0x00;
159static const uint8_t MCP_8MHZ_500KBPS_CFG2 = 0x90;
160static const uint8_t MCP_8MHZ_500KBPS_CFG3 = 0x82;
161
162static const uint8_t MCP_8MHZ_250KBPS_CFG1 = 0x00;
163static const uint8_t MCP_8MHZ_250KBPS_CFG2 = 0xB1;
164static const uint8_t MCP_8MHZ_250KBPS_CFG3 = 0x85;
165
166static const uint8_t MCP_8MHZ_200KBPS_CFG1 = 0x00;
167static const uint8_t MCP_8MHZ_200KBPS_CFG2 = 0xB4;
168static const uint8_t MCP_8MHZ_200KBPS_CFG3 = 0x86;
169
170static const uint8_t MCP_8MHZ_125KBPS_CFG1 = 0x01;
171static const uint8_t MCP_8MHZ_125KBPS_CFG2 = 0xB1;
172static const uint8_t MCP_8MHZ_125KBPS_CFG3 = 0x85;
173
174static const uint8_t MCP_8MHZ_100KBPS_CFG1 = 0x01;
175static const uint8_t MCP_8MHZ_100KBPS_CFG2 = 0xB4;
176static const uint8_t MCP_8MHZ_100KBPS_CFG3 = 0x86;
177
178static const uint8_t MCP_8MHZ_80KBPS_CFG1 = 0x01;
179static const uint8_t MCP_8MHZ_80KBPS_CFG2 = 0xBF;
180static const uint8_t MCP_8MHZ_80KBPS_CFG3 = 0x87;
181
182static const uint8_t MCP_8MHZ_50KBPS_CFG1 = 0x03;
183static const uint8_t MCP_8MHZ_50KBPS_CFG2 = 0xB4;
184static const uint8_t MCP_8MHZ_50KBPS_CFG3 = 0x86;
185
186static const uint8_t MCP_8MHZ_40KBPS_CFG1 = 0x03;
187static const uint8_t MCP_8MHZ_40KBPS_CFG2 = 0xBF;
188static const uint8_t MCP_8MHZ_40KBPS_CFG3 = 0x87;
189
190static const uint8_t MCP_8MHZ_33K3BPS_CFG1 = 0x47;
191static const uint8_t MCP_8MHZ_33K3BPS_CFG2 = 0xE2;
192static const uint8_t MCP_8MHZ_33K3BPS_CFG3 = 0x85;
193
194static const uint8_t MCP_8MHZ_31K25BPS_CFG1 = 0x07;
195static const uint8_t MCP_8MHZ_31K25BPS_CFG2 = 0xA4;
196static const uint8_t MCP_8MHZ_31K25BPS_CFG3 = 0x84;
197
198static const uint8_t MCP_8MHZ_20KBPS_CFG1 = 0x07;
199static const uint8_t MCP_8MHZ_20KBPS_CFG2 = 0xBF;
200static const uint8_t MCP_8MHZ_20KBPS_CFG3 = 0x87;
201
202static const uint8_t MCP_8MHZ_10KBPS_CFG1 = 0x0F;
203static const uint8_t MCP_8MHZ_10KBPS_CFG2 = 0xBF;
204static const uint8_t MCP_8MHZ_10KBPS_CFG3 = 0x87;
205
206static const uint8_t MCP_8MHZ_5KBPS_CFG1 = 0x1F;
207static const uint8_t MCP_8MHZ_5KBPS_CFG2 = 0xBF;
208static const uint8_t MCP_8MHZ_5KBPS_CFG3 = 0x87;
209
210/*
211 * Speed 12M
212 */
213
214static const uint8_t MCP_12MHZ_1000KBPS_CFG1 = 0x00;
215static const uint8_t MCP_12MHZ_1000KBPS_CFG2 = 0x88;
216static const uint8_t MCP_12MHZ_1000KBPS_CFG3 = 0x81;
217
218static const uint8_t MCP_12MHZ_500KBPS_CFG1 = 0x00;
219static const uint8_t MCP_12MHZ_500KBPS_CFG2 = 0x9B;
220static const uint8_t MCP_12MHZ_500KBPS_CFG3 = 0x82;
221
222static const uint8_t MCP_12MHZ_250KBPS_CFG1 = 0x01;
223static const uint8_t MCP_12MHZ_250KBPS_CFG2 = 0x9B;
224static const uint8_t MCP_12MHZ_250KBPS_CFG3 = 0x82;
225
226static const uint8_t MCP_12MHZ_200KBPS_CFG1 = 0x01;
227static const uint8_t MCP_12MHZ_200KBPS_CFG2 = 0xA4;
228static const uint8_t MCP_12MHZ_200KBPS_CFG3 = 0x83;
229
230static const uint8_t MCP_12MHZ_125KBPS_CFG1 = 0x03;
231static const uint8_t MCP_12MHZ_125KBPS_CFG2 = 0x9B;
232static const uint8_t MCP_12MHZ_125KBPS_CFG3 = 0x82;
233
234static const uint8_t MCP_12MHZ_100KBPS_CFG1 = 0x03;
235static const uint8_t MCP_12MHZ_100KBPS_CFG2 = 0xA4;
236static const uint8_t MCP_12MHZ_100KBPS_CFG3 = 0x83;
237
238static const uint8_t MCP_12MHZ_80KBPS_CFG1 = 0x04;
239static const uint8_t MCP_12MHZ_80KBPS_CFG2 = 0xA4;
240static const uint8_t MCP_12MHZ_80KBPS_CFG3 = 0x83;
241
242static const uint8_t MCP_12MHZ_50KBPS_CFG1 = 0x07;
243static const uint8_t MCP_12MHZ_50KBPS_CFG2 = 0xA4;
244static const uint8_t MCP_12MHZ_50KBPS_CFG3 = 0x83;
245
246static const uint8_t MCP_12MHZ_40KBPS_CFG1 = 0x09;
247static const uint8_t MCP_12MHZ_40KBPS_CFG2 = 0xA4;
248static const uint8_t MCP_12MHZ_40KBPS_CFG3 = 0x83;
249
250static const uint8_t MCP_12MHZ_33K3BPS_CFG1 = 0x08;
251static const uint8_t MCP_12MHZ_33K3BPS_CFG2 = 0xB6;
252static const uint8_t MCP_12MHZ_33K3BPS_CFG3 = 0x84;
253
254static const uint8_t MCP_12MHZ_20KBPS_CFG1 = 0x0E;
255static const uint8_t MCP_12MHZ_20KBPS_CFG2 = 0xB6;
256static const uint8_t MCP_12MHZ_20KBPS_CFG3 = 0x84;
257
258static const uint8_t MCP_12MHZ_10KBPS_CFG1 = 0x31;
259static const uint8_t MCP_12MHZ_10KBPS_CFG2 = 0x9B;
260static const uint8_t MCP_12MHZ_10KBPS_CFG3 = 0x82;
261
262static const uint8_t MCP_12MHZ_5KBPS_CFG1 = 0x3B;
263static const uint8_t MCP_12MHZ_5KBPS_CFG2 = 0xB6;
264static const uint8_t MCP_12MHZ_5KBPS_CFG3 = 0x84;
265
266/*
267 * speed 16M
268 */
269static const uint8_t MCP_16MHZ_1000KBPS_CFG1 = 0x00;
270static const uint8_t MCP_16MHZ_1000KBPS_CFG2 = 0xD0;
271static const uint8_t MCP_16MHZ_1000KBPS_CFG3 = 0x82;
272
273static const uint8_t MCP_16MHZ_500KBPS_CFG1 = 0x00;
274static const uint8_t MCP_16MHZ_500KBPS_CFG2 = 0xF0;
275static const uint8_t MCP_16MHZ_500KBPS_CFG3 = 0x86;
276
277static const uint8_t MCP_16MHZ_250KBPS_CFG1 = 0x41;
278static const uint8_t MCP_16MHZ_250KBPS_CFG2 = 0xF1;
279static const uint8_t MCP_16MHZ_250KBPS_CFG3 = 0x85;
280
281static const uint8_t MCP_16MHZ_200KBPS_CFG1 = 0x01;
282static const uint8_t MCP_16MHZ_200KBPS_CFG2 = 0xFA;
283static const uint8_t MCP_16MHZ_200KBPS_CFG3 = 0x87;
284
285static const uint8_t MCP_16MHZ_125KBPS_CFG1 = 0x03;
286static const uint8_t MCP_16MHZ_125KBPS_CFG2 = 0xF0;
287static const uint8_t MCP_16MHZ_125KBPS_CFG3 = 0x86;
288
289static const uint8_t MCP_16MHZ_100KBPS_CFG1 = 0x03;
290static const uint8_t MCP_16MHZ_100KBPS_CFG2 = 0xFA;
291static const uint8_t MCP_16MHZ_100KBPS_CFG3 = 0x87;
292
293static const uint8_t MCP_16MHZ_80KBPS_CFG1 = 0x03;
294static const uint8_t MCP_16MHZ_80KBPS_CFG2 = 0xFF;
295static const uint8_t MCP_16MHZ_80KBPS_CFG3 = 0x87;
296
297static const uint8_t MCP_16MHZ_83K3BPS_CFG1 = 0x03;
298static const uint8_t MCP_16MHZ_83K3BPS_CFG2 = 0xBE;
299static const uint8_t MCP_16MHZ_83K3BPS_CFG3 = 0x07;
300
301static const uint8_t MCP_16MHZ_50KBPS_CFG1 = 0x07;
302static const uint8_t MCP_16MHZ_50KBPS_CFG2 = 0xFA;
303static const uint8_t MCP_16MHZ_50KBPS_CFG3 = 0x87;
304
305static const uint8_t MCP_16MHZ_40KBPS_CFG1 = 0x07;
306static const uint8_t MCP_16MHZ_40KBPS_CFG2 = 0xFF;
307static const uint8_t MCP_16MHZ_40KBPS_CFG3 = 0x87;
308
309static const uint8_t MCP_16MHZ_33K3BPS_CFG1 = 0x4E;
310static const uint8_t MCP_16MHZ_33K3BPS_CFG2 = 0xF1;
311static const uint8_t MCP_16MHZ_33K3BPS_CFG3 = 0x85;
312
313static const uint8_t MCP_16MHZ_20KBPS_CFG1 = 0x0F;
314static const uint8_t MCP_16MHZ_20KBPS_CFG2 = 0xFF;
315static const uint8_t MCP_16MHZ_20KBPS_CFG3 = 0x87;
316
317static const uint8_t MCP_16MHZ_10KBPS_CFG1 = 0x1F;
318static const uint8_t MCP_16MHZ_10KBPS_CFG2 = 0xFF;
319static const uint8_t MCP_16MHZ_10KBPS_CFG3 = 0x87;
320
321static const uint8_t MCP_16MHZ_5KBPS_CFG1 = 0x3F;
322static const uint8_t MCP_16MHZ_5KBPS_CFG2 = 0xFF;
323static const uint8_t MCP_16MHZ_5KBPS_CFG3 = 0x87;
324
325/*
326 * speed 20M
327 */
328static const uint8_t MCP_20MHZ_1000KBPS_CFG1 = 0x00;
329static const uint8_t MCP_20MHZ_1000KBPS_CFG2 = 0xD9;
330static const uint8_t MCP_20MHZ_1000KBPS_CFG3 = 0x82;
331
332static const uint8_t MCP_20MHZ_500KBPS_CFG1 = 0x00;
333static const uint8_t MCP_20MHZ_500KBPS_CFG2 = 0xFA;
334static const uint8_t MCP_20MHZ_500KBPS_CFG3 = 0x87;
335
336static const uint8_t MCP_20MHZ_250KBPS_CFG1 = 0x41;
337static const uint8_t MCP_20MHZ_250KBPS_CFG2 = 0xFB;
338static const uint8_t MCP_20MHZ_250KBPS_CFG3 = 0x86;
339
340static const uint8_t MCP_20MHZ_200KBPS_CFG1 = 0x01;
341static const uint8_t MCP_20MHZ_200KBPS_CFG2 = 0xFF;
342static const uint8_t MCP_20MHZ_200KBPS_CFG3 = 0x87;
343
344static const uint8_t MCP_20MHZ_125KBPS_CFG1 = 0x03;
345static const uint8_t MCP_20MHZ_125KBPS_CFG2 = 0xFA;
346static const uint8_t MCP_20MHZ_125KBPS_CFG3 = 0x87;
347
348static const uint8_t MCP_20MHZ_100KBPS_CFG1 = 0x04;
349static const uint8_t MCP_20MHZ_100KBPS_CFG2 = 0xFA;
350static const uint8_t MCP_20MHZ_100KBPS_CFG3 = 0x87;
351
352static const uint8_t MCP_20MHZ_83K3BPS_CFG1 = 0x04;
353static const uint8_t MCP_20MHZ_83K3BPS_CFG2 = 0xFE;
354static const uint8_t MCP_20MHZ_83K3BPS_CFG3 = 0x87;
355
356static const uint8_t MCP_20MHZ_80KBPS_CFG1 = 0x04;
357static const uint8_t MCP_20MHZ_80KBPS_CFG2 = 0xFF;
358static const uint8_t MCP_20MHZ_80KBPS_CFG3 = 0x87;
359
360static const uint8_t MCP_20MHZ_50KBPS_CFG1 = 0x09;
361static const uint8_t MCP_20MHZ_50KBPS_CFG2 = 0xFA;
362static const uint8_t MCP_20MHZ_50KBPS_CFG3 = 0x87;
363
364static const uint8_t MCP_20MHZ_40KBPS_CFG1 = 0x09;
365static const uint8_t MCP_20MHZ_40KBPS_CFG2 = 0xFF;
366static const uint8_t MCP_20MHZ_40KBPS_CFG3 = 0x87;
367
368static const uint8_t MCP_20MHZ_33K3BPS_CFG1 = 0x0B;
369static const uint8_t MCP_20MHZ_33K3BPS_CFG2 = 0xFF;
370static const uint8_t MCP_20MHZ_33K3BPS_CFG3 = 0x87;
371
372} // namespace mcp2515
373} // namespace esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7