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;
128static const uint8_t CANSTAT_OPMOD = 0xE0;
129static const uint8_t CANSTAT_ICOD = 0x0E;
131static const uint8_t CNF3_SOF = 0x80;
133static const uint8_t TXB_EXIDE_MASK = 0x08;
134static const uint8_t DLC_MASK = 0x0F;
135static const uint8_t RTR_MASK = 0x40;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
@ INSTRUCTION_READ_STATUS
@ CANCTRL_REQOP_LISTENONLY
Providing packet encoding functions for exchanging data with a remote host.