1 /*
2  * This declarations of the PIC18F258 MCU.
3  *
4  * This file is part of the GNU PIC library for SDCC, originally
5  * created by Molnar Karoly <molnarkaroly@users.sf.net> 2016.
6  *
7  * This file is generated automatically by the cinc2h.pl, 2016-04-13 17:23:41 UTC.
8  *
9  * SDCC is licensed under the GNU Public license (GPL) v2. Note that
10  * this license covers the code to the compiler and other executables,
11  * but explicitly does not cover any code or objects generated by sdcc.
12  *
13  * For pic device libraries and header files which are derived from
14  * Microchip header (.inc) and linker script (.lkr) files Microchip
15  * requires that "The header files should state that they are only to be
16  * used with authentic Microchip devices" which makes them incompatible
17  * with the GPL. Pic device libraries and header files are located at
18  * non-free/lib and non-free/include directories respectively.
19  * Sdcc should be run with the --use-non-free command line option in
20  * order to include non-free header files and libraries.
21  *
22  * See http://sdcc.sourceforge.net/ for the latest information on sdcc.
23  */
24 
25 #ifndef __PIC18F258_H__
26 #define __PIC18F258_H__
27 
28 //==============================================================================
29 
30 //==============================================================================
31 //
32 //	Register Definitions
33 //
34 //==============================================================================
35 
36 
37 //==============================================================================
38 //        RXF0SIDH Bits
39 
40 extern __at(0x0F00) __sfr RXF0SIDH;
41 
42 typedef struct
43   {
44   unsigned SID3                 : 1;
45   unsigned SID4                 : 1;
46   unsigned SID5                 : 1;
47   unsigned SID6                 : 1;
48   unsigned SID7                 : 1;
49   unsigned SID8                 : 1;
50   unsigned SID9                 : 1;
51   unsigned SID10                : 1;
52   } __RXF0SIDHbits_t;
53 
54 extern __at(0x0F00) volatile __RXF0SIDHbits_t RXF0SIDHbits;
55 
56 #define _RXF0SIDH_SID3          0x01
57 #define _RXF0SIDH_SID4          0x02
58 #define _RXF0SIDH_SID5          0x04
59 #define _RXF0SIDH_SID6          0x08
60 #define _RXF0SIDH_SID7          0x10
61 #define _RXF0SIDH_SID8          0x20
62 #define _RXF0SIDH_SID9          0x40
63 #define _RXF0SIDH_SID10         0x80
64 
65 //==============================================================================
66 
67 
68 //==============================================================================
69 //        RXF0SIDL Bits
70 
71 extern __at(0x0F01) __sfr RXF0SIDL;
72 
73 typedef union
74   {
75   struct
76     {
77     unsigned EID16              : 1;
78     unsigned EID17              : 1;
79     unsigned                    : 1;
80     unsigned EXIDEN             : 1;
81     unsigned                    : 1;
82     unsigned SID0               : 1;
83     unsigned SID1               : 1;
84     unsigned SID2               : 1;
85     };
86 
87   struct
88     {
89     unsigned                    : 5;
90     unsigned SID                : 3;
91     };
92   } __RXF0SIDLbits_t;
93 
94 extern __at(0x0F01) volatile __RXF0SIDLbits_t RXF0SIDLbits;
95 
96 #define _RXF0SIDL_EID16         0x01
97 #define _RXF0SIDL_EID17         0x02
98 #define _RXF0SIDL_EXIDEN        0x08
99 #define _RXF0SIDL_SID0          0x20
100 #define _RXF0SIDL_SID1          0x40
101 #define _RXF0SIDL_SID2          0x80
102 
103 //==============================================================================
104 
105 
106 //==============================================================================
107 //        RXF0EIDH Bits
108 
109 extern __at(0x0F02) __sfr RXF0EIDH;
110 
111 typedef struct
112   {
113   unsigned EID8                 : 1;
114   unsigned EID9                 : 1;
115   unsigned EID10                : 1;
116   unsigned EID11                : 1;
117   unsigned EID12                : 1;
118   unsigned EID13                : 1;
119   unsigned EID14                : 1;
120   unsigned EID15                : 1;
121   } __RXF0EIDHbits_t;
122 
123 extern __at(0x0F02) volatile __RXF0EIDHbits_t RXF0EIDHbits;
124 
125 #define _RXF0EIDH_EID8          0x01
126 #define _RXF0EIDH_EID9          0x02
127 #define _RXF0EIDH_EID10         0x04
128 #define _RXF0EIDH_EID11         0x08
129 #define _RXF0EIDH_EID12         0x10
130 #define _RXF0EIDH_EID13         0x20
131 #define _RXF0EIDH_EID14         0x40
132 #define _RXF0EIDH_EID15         0x80
133 
134 //==============================================================================
135 
136 
137 //==============================================================================
138 //        RXF0EIDL Bits
139 
140 extern __at(0x0F03) __sfr RXF0EIDL;
141 
142 typedef struct
143   {
144   unsigned EID0                 : 1;
145   unsigned EID1                 : 1;
146   unsigned EID2                 : 1;
147   unsigned EID3                 : 1;
148   unsigned EID4                 : 1;
149   unsigned EID5                 : 1;
150   unsigned EID6                 : 1;
151   unsigned EID7                 : 1;
152   } __RXF0EIDLbits_t;
153 
154 extern __at(0x0F03) volatile __RXF0EIDLbits_t RXF0EIDLbits;
155 
156 #define _RXF0EIDL_EID0          0x01
157 #define _RXF0EIDL_EID1          0x02
158 #define _RXF0EIDL_EID2          0x04
159 #define _RXF0EIDL_EID3          0x08
160 #define _RXF0EIDL_EID4          0x10
161 #define _RXF0EIDL_EID5          0x20
162 #define _RXF0EIDL_EID6          0x40
163 #define _RXF0EIDL_EID7          0x80
164 
165 //==============================================================================
166 
167 
168 //==============================================================================
169 //        RXF1SIDH Bits
170 
171 extern __at(0x0F04) __sfr RXF1SIDH;
172 
173 typedef struct
174   {
175   unsigned SID3                 : 1;
176   unsigned SID4                 : 1;
177   unsigned SID5                 : 1;
178   unsigned SID6                 : 1;
179   unsigned SID7                 : 1;
180   unsigned SID8                 : 1;
181   unsigned SID9                 : 1;
182   unsigned SID10                : 1;
183   } __RXF1SIDHbits_t;
184 
185 extern __at(0x0F04) volatile __RXF1SIDHbits_t RXF1SIDHbits;
186 
187 #define _RXF1SIDH_SID3          0x01
188 #define _RXF1SIDH_SID4          0x02
189 #define _RXF1SIDH_SID5          0x04
190 #define _RXF1SIDH_SID6          0x08
191 #define _RXF1SIDH_SID7          0x10
192 #define _RXF1SIDH_SID8          0x20
193 #define _RXF1SIDH_SID9          0x40
194 #define _RXF1SIDH_SID10         0x80
195 
196 //==============================================================================
197 
198 
199 //==============================================================================
200 //        RXF1SIDL Bits
201 
202 extern __at(0x0F05) __sfr RXF1SIDL;
203 
204 typedef union
205   {
206   struct
207     {
208     unsigned EID16              : 1;
209     unsigned EID17              : 1;
210     unsigned                    : 1;
211     unsigned EXIDEN             : 1;
212     unsigned                    : 1;
213     unsigned SID0               : 1;
214     unsigned SID1               : 1;
215     unsigned SID2               : 1;
216     };
217 
218   struct
219     {
220     unsigned                    : 5;
221     unsigned SID                : 3;
222     };
223   } __RXF1SIDLbits_t;
224 
225 extern __at(0x0F05) volatile __RXF1SIDLbits_t RXF1SIDLbits;
226 
227 #define _RXF1SIDL_EID16         0x01
228 #define _RXF1SIDL_EID17         0x02
229 #define _RXF1SIDL_EXIDEN        0x08
230 #define _RXF1SIDL_SID0          0x20
231 #define _RXF1SIDL_SID1          0x40
232 #define _RXF1SIDL_SID2          0x80
233 
234 //==============================================================================
235 
236 
237 //==============================================================================
238 //        RXF1EIDH Bits
239 
240 extern __at(0x0F06) __sfr RXF1EIDH;
241 
242 typedef struct
243   {
244   unsigned EID8                 : 1;
245   unsigned EID9                 : 1;
246   unsigned EID10                : 1;
247   unsigned EID11                : 1;
248   unsigned EID12                : 1;
249   unsigned EID13                : 1;
250   unsigned EID14                : 1;
251   unsigned EID15                : 1;
252   } __RXF1EIDHbits_t;
253 
254 extern __at(0x0F06) volatile __RXF1EIDHbits_t RXF1EIDHbits;
255 
256 #define _RXF1EIDH_EID8          0x01
257 #define _RXF1EIDH_EID9          0x02
258 #define _RXF1EIDH_EID10         0x04
259 #define _RXF1EIDH_EID11         0x08
260 #define _RXF1EIDH_EID12         0x10
261 #define _RXF1EIDH_EID13         0x20
262 #define _RXF1EIDH_EID14         0x40
263 #define _RXF1EIDH_EID15         0x80
264 
265 //==============================================================================
266 
267 
268 //==============================================================================
269 //        RXF1EIDL Bits
270 
271 extern __at(0x0F07) __sfr RXF1EIDL;
272 
273 typedef struct
274   {
275   unsigned EID0                 : 1;
276   unsigned EID1                 : 1;
277   unsigned EID2                 : 1;
278   unsigned EID3                 : 1;
279   unsigned EID4                 : 1;
280   unsigned EID5                 : 1;
281   unsigned EID6                 : 1;
282   unsigned EID7                 : 1;
283   } __RXF1EIDLbits_t;
284 
285 extern __at(0x0F07) volatile __RXF1EIDLbits_t RXF1EIDLbits;
286 
287 #define _RXF1EIDL_EID0          0x01
288 #define _RXF1EIDL_EID1          0x02
289 #define _RXF1EIDL_EID2          0x04
290 #define _RXF1EIDL_EID3          0x08
291 #define _RXF1EIDL_EID4          0x10
292 #define _RXF1EIDL_EID5          0x20
293 #define _RXF1EIDL_EID6          0x40
294 #define _RXF1EIDL_EID7          0x80
295 
296 //==============================================================================
297 
298 
299 //==============================================================================
300 //        RXF2SIDH Bits
301 
302 extern __at(0x0F08) __sfr RXF2SIDH;
303 
304 typedef struct
305   {
306   unsigned SID3                 : 1;
307   unsigned SID4                 : 1;
308   unsigned SID5                 : 1;
309   unsigned SID6                 : 1;
310   unsigned SID7                 : 1;
311   unsigned SID8                 : 1;
312   unsigned SID9                 : 1;
313   unsigned SID10                : 1;
314   } __RXF2SIDHbits_t;
315 
316 extern __at(0x0F08) volatile __RXF2SIDHbits_t RXF2SIDHbits;
317 
318 #define _RXF2SIDH_SID3          0x01
319 #define _RXF2SIDH_SID4          0x02
320 #define _RXF2SIDH_SID5          0x04
321 #define _RXF2SIDH_SID6          0x08
322 #define _RXF2SIDH_SID7          0x10
323 #define _RXF2SIDH_SID8          0x20
324 #define _RXF2SIDH_SID9          0x40
325 #define _RXF2SIDH_SID10         0x80
326 
327 //==============================================================================
328 
329 
330 //==============================================================================
331 //        RXF2SIDL Bits
332 
333 extern __at(0x0F09) __sfr RXF2SIDL;
334 
335 typedef union
336   {
337   struct
338     {
339     unsigned EID16              : 1;
340     unsigned EID17              : 1;
341     unsigned                    : 1;
342     unsigned EXIDEN             : 1;
343     unsigned                    : 1;
344     unsigned SID0               : 1;
345     unsigned SID1               : 1;
346     unsigned SID2               : 1;
347     };
348 
349   struct
350     {
351     unsigned                    : 5;
352     unsigned SID                : 3;
353     };
354   } __RXF2SIDLbits_t;
355 
356 extern __at(0x0F09) volatile __RXF2SIDLbits_t RXF2SIDLbits;
357 
358 #define _RXF2SIDL_EID16         0x01
359 #define _RXF2SIDL_EID17         0x02
360 #define _RXF2SIDL_EXIDEN        0x08
361 #define _RXF2SIDL_SID0          0x20
362 #define _RXF2SIDL_SID1          0x40
363 #define _RXF2SIDL_SID2          0x80
364 
365 //==============================================================================
366 
367 
368 //==============================================================================
369 //        RXF2EIDH Bits
370 
371 extern __at(0x0F0A) __sfr RXF2EIDH;
372 
373 typedef struct
374   {
375   unsigned EID8                 : 1;
376   unsigned EID9                 : 1;
377   unsigned EID10                : 1;
378   unsigned EID11                : 1;
379   unsigned EID12                : 1;
380   unsigned EID13                : 1;
381   unsigned EID14                : 1;
382   unsigned EID15                : 1;
383   } __RXF2EIDHbits_t;
384 
385 extern __at(0x0F0A) volatile __RXF2EIDHbits_t RXF2EIDHbits;
386 
387 #define _RXF2EIDH_EID8          0x01
388 #define _RXF2EIDH_EID9          0x02
389 #define _RXF2EIDH_EID10         0x04
390 #define _RXF2EIDH_EID11         0x08
391 #define _RXF2EIDH_EID12         0x10
392 #define _RXF2EIDH_EID13         0x20
393 #define _RXF2EIDH_EID14         0x40
394 #define _RXF2EIDH_EID15         0x80
395 
396 //==============================================================================
397 
398 
399 //==============================================================================
400 //        RXF2EIDL Bits
401 
402 extern __at(0x0F0B) __sfr RXF2EIDL;
403 
404 typedef struct
405   {
406   unsigned EID0                 : 1;
407   unsigned EID1                 : 1;
408   unsigned EID2                 : 1;
409   unsigned EID3                 : 1;
410   unsigned EID4                 : 1;
411   unsigned EID5                 : 1;
412   unsigned EID6                 : 1;
413   unsigned EID7                 : 1;
414   } __RXF2EIDLbits_t;
415 
416 extern __at(0x0F0B) volatile __RXF2EIDLbits_t RXF2EIDLbits;
417 
418 #define _RXF2EIDL_EID0          0x01
419 #define _RXF2EIDL_EID1          0x02
420 #define _RXF2EIDL_EID2          0x04
421 #define _RXF2EIDL_EID3          0x08
422 #define _RXF2EIDL_EID4          0x10
423 #define _RXF2EIDL_EID5          0x20
424 #define _RXF2EIDL_EID6          0x40
425 #define _RXF2EIDL_EID7          0x80
426 
427 //==============================================================================
428 
429 
430 //==============================================================================
431 //        RXF3SIDH Bits
432 
433 extern __at(0x0F0C) __sfr RXF3SIDH;
434 
435 typedef struct
436   {
437   unsigned SID3                 : 1;
438   unsigned SID4                 : 1;
439   unsigned SID5                 : 1;
440   unsigned SID6                 : 1;
441   unsigned SID7                 : 1;
442   unsigned SID8                 : 1;
443   unsigned SID9                 : 1;
444   unsigned SID10                : 1;
445   } __RXF3SIDHbits_t;
446 
447 extern __at(0x0F0C) volatile __RXF3SIDHbits_t RXF3SIDHbits;
448 
449 #define _RXF3SIDH_SID3          0x01
450 #define _RXF3SIDH_SID4          0x02
451 #define _RXF3SIDH_SID5          0x04
452 #define _RXF3SIDH_SID6          0x08
453 #define _RXF3SIDH_SID7          0x10
454 #define _RXF3SIDH_SID8          0x20
455 #define _RXF3SIDH_SID9          0x40
456 #define _RXF3SIDH_SID10         0x80
457 
458 //==============================================================================
459 
460 
461 //==============================================================================
462 //        RXF3SIDL Bits
463 
464 extern __at(0x0F0D) __sfr RXF3SIDL;
465 
466 typedef union
467   {
468   struct
469     {
470     unsigned EID16              : 1;
471     unsigned EID17              : 1;
472     unsigned                    : 1;
473     unsigned EXIDEN             : 1;
474     unsigned                    : 1;
475     unsigned SID0               : 1;
476     unsigned SID1               : 1;
477     unsigned SID2               : 1;
478     };
479 
480   struct
481     {
482     unsigned                    : 5;
483     unsigned SID                : 3;
484     };
485   } __RXF3SIDLbits_t;
486 
487 extern __at(0x0F0D) volatile __RXF3SIDLbits_t RXF3SIDLbits;
488 
489 #define _RXF3SIDL_EID16         0x01
490 #define _RXF3SIDL_EID17         0x02
491 #define _RXF3SIDL_EXIDEN        0x08
492 #define _RXF3SIDL_SID0          0x20
493 #define _RXF3SIDL_SID1          0x40
494 #define _RXF3SIDL_SID2          0x80
495 
496 //==============================================================================
497 
498 
499 //==============================================================================
500 //        RXF3EIDH Bits
501 
502 extern __at(0x0F0E) __sfr RXF3EIDH;
503 
504 typedef struct
505   {
506   unsigned EID8                 : 1;
507   unsigned EID9                 : 1;
508   unsigned EID10                : 1;
509   unsigned EID11                : 1;
510   unsigned EID12                : 1;
511   unsigned EID13                : 1;
512   unsigned EID14                : 1;
513   unsigned EID15                : 1;
514   } __RXF3EIDHbits_t;
515 
516 extern __at(0x0F0E) volatile __RXF3EIDHbits_t RXF3EIDHbits;
517 
518 #define _RXF3EIDH_EID8          0x01
519 #define _RXF3EIDH_EID9          0x02
520 #define _RXF3EIDH_EID10         0x04
521 #define _RXF3EIDH_EID11         0x08
522 #define _RXF3EIDH_EID12         0x10
523 #define _RXF3EIDH_EID13         0x20
524 #define _RXF3EIDH_EID14         0x40
525 #define _RXF3EIDH_EID15         0x80
526 
527 //==============================================================================
528 
529 
530 //==============================================================================
531 //        RXF3EIDL Bits
532 
533 extern __at(0x0F0F) __sfr RXF3EIDL;
534 
535 typedef struct
536   {
537   unsigned EID0                 : 1;
538   unsigned EID1                 : 1;
539   unsigned EID2                 : 1;
540   unsigned EID3                 : 1;
541   unsigned EID4                 : 1;
542   unsigned EID5                 : 1;
543   unsigned EID6                 : 1;
544   unsigned EID7                 : 1;
545   } __RXF3EIDLbits_t;
546 
547 extern __at(0x0F0F) volatile __RXF3EIDLbits_t RXF3EIDLbits;
548 
549 #define _RXF3EIDL_EID0          0x01
550 #define _RXF3EIDL_EID1          0x02
551 #define _RXF3EIDL_EID2          0x04
552 #define _RXF3EIDL_EID3          0x08
553 #define _RXF3EIDL_EID4          0x10
554 #define _RXF3EIDL_EID5          0x20
555 #define _RXF3EIDL_EID6          0x40
556 #define _RXF3EIDL_EID7          0x80
557 
558 //==============================================================================
559 
560 
561 //==============================================================================
562 //        RXF4SIDH Bits
563 
564 extern __at(0x0F10) __sfr RXF4SIDH;
565 
566 typedef struct
567   {
568   unsigned SID3                 : 1;
569   unsigned SID4                 : 1;
570   unsigned SID5                 : 1;
571   unsigned SID6                 : 1;
572   unsigned SID7                 : 1;
573   unsigned SID8                 : 1;
574   unsigned SID9                 : 1;
575   unsigned SID10                : 1;
576   } __RXF4SIDHbits_t;
577 
578 extern __at(0x0F10) volatile __RXF4SIDHbits_t RXF4SIDHbits;
579 
580 #define _RXF4SIDH_SID3          0x01
581 #define _RXF4SIDH_SID4          0x02
582 #define _RXF4SIDH_SID5          0x04
583 #define _RXF4SIDH_SID6          0x08
584 #define _RXF4SIDH_SID7          0x10
585 #define _RXF4SIDH_SID8          0x20
586 #define _RXF4SIDH_SID9          0x40
587 #define _RXF4SIDH_SID10         0x80
588 
589 //==============================================================================
590 
591 
592 //==============================================================================
593 //        RXF4SIDL Bits
594 
595 extern __at(0x0F11) __sfr RXF4SIDL;
596 
597 typedef union
598   {
599   struct
600     {
601     unsigned EID16              : 1;
602     unsigned EID17              : 1;
603     unsigned                    : 1;
604     unsigned EXIDEN             : 1;
605     unsigned                    : 1;
606     unsigned SID0               : 1;
607     unsigned SID1               : 1;
608     unsigned SID2               : 1;
609     };
610 
611   struct
612     {
613     unsigned                    : 5;
614     unsigned SID                : 3;
615     };
616   } __RXF4SIDLbits_t;
617 
618 extern __at(0x0F11) volatile __RXF4SIDLbits_t RXF4SIDLbits;
619 
620 #define _RXF4SIDL_EID16         0x01
621 #define _RXF4SIDL_EID17         0x02
622 #define _RXF4SIDL_EXIDEN        0x08
623 #define _RXF4SIDL_SID0          0x20
624 #define _RXF4SIDL_SID1          0x40
625 #define _RXF4SIDL_SID2          0x80
626 
627 //==============================================================================
628 
629 
630 //==============================================================================
631 //        RXF4EIDH Bits
632 
633 extern __at(0x0F12) __sfr RXF4EIDH;
634 
635 typedef struct
636   {
637   unsigned EID8                 : 1;
638   unsigned EID9                 : 1;
639   unsigned EID10                : 1;
640   unsigned EID11                : 1;
641   unsigned EID12                : 1;
642   unsigned EID13                : 1;
643   unsigned EID14                : 1;
644   unsigned EID15                : 1;
645   } __RXF4EIDHbits_t;
646 
647 extern __at(0x0F12) volatile __RXF4EIDHbits_t RXF4EIDHbits;
648 
649 #define _RXF4EIDH_EID8          0x01
650 #define _RXF4EIDH_EID9          0x02
651 #define _RXF4EIDH_EID10         0x04
652 #define _RXF4EIDH_EID11         0x08
653 #define _RXF4EIDH_EID12         0x10
654 #define _RXF4EIDH_EID13         0x20
655 #define _RXF4EIDH_EID14         0x40
656 #define _RXF4EIDH_EID15         0x80
657 
658 //==============================================================================
659 
660 
661 //==============================================================================
662 //        RXF4EIDL Bits
663 
664 extern __at(0x0F13) __sfr RXF4EIDL;
665 
666 typedef struct
667   {
668   unsigned EID0                 : 1;
669   unsigned EID1                 : 1;
670   unsigned EID2                 : 1;
671   unsigned EID3                 : 1;
672   unsigned EID4                 : 1;
673   unsigned EID5                 : 1;
674   unsigned EID6                 : 1;
675   unsigned EID7                 : 1;
676   } __RXF4EIDLbits_t;
677 
678 extern __at(0x0F13) volatile __RXF4EIDLbits_t RXF4EIDLbits;
679 
680 #define _RXF4EIDL_EID0          0x01
681 #define _RXF4EIDL_EID1          0x02
682 #define _RXF4EIDL_EID2          0x04
683 #define _RXF4EIDL_EID3          0x08
684 #define _RXF4EIDL_EID4          0x10
685 #define _RXF4EIDL_EID5          0x20
686 #define _RXF4EIDL_EID6          0x40
687 #define _RXF4EIDL_EID7          0x80
688 
689 //==============================================================================
690 
691 
692 //==============================================================================
693 //        RXF5SIDH Bits
694 
695 extern __at(0x0F14) __sfr RXF5SIDH;
696 
697 typedef struct
698   {
699   unsigned SID3                 : 1;
700   unsigned SID4                 : 1;
701   unsigned SID5                 : 1;
702   unsigned SID6                 : 1;
703   unsigned SID7                 : 1;
704   unsigned SID8                 : 1;
705   unsigned SID9                 : 1;
706   unsigned SID10                : 1;
707   } __RXF5SIDHbits_t;
708 
709 extern __at(0x0F14) volatile __RXF5SIDHbits_t RXF5SIDHbits;
710 
711 #define _RXF5SIDH_SID3          0x01
712 #define _RXF5SIDH_SID4          0x02
713 #define _RXF5SIDH_SID5          0x04
714 #define _RXF5SIDH_SID6          0x08
715 #define _RXF5SIDH_SID7          0x10
716 #define _RXF5SIDH_SID8          0x20
717 #define _RXF5SIDH_SID9          0x40
718 #define _RXF5SIDH_SID10         0x80
719 
720 //==============================================================================
721 
722 
723 //==============================================================================
724 //        RXF5SIDL Bits
725 
726 extern __at(0x0F15) __sfr RXF5SIDL;
727 
728 typedef union
729   {
730   struct
731     {
732     unsigned EID16              : 1;
733     unsigned EID17              : 1;
734     unsigned                    : 1;
735     unsigned EXIDEN             : 1;
736     unsigned                    : 1;
737     unsigned SID0               : 1;
738     unsigned SID1               : 1;
739     unsigned SID2               : 1;
740     };
741 
742   struct
743     {
744     unsigned                    : 5;
745     unsigned SID                : 3;
746     };
747   } __RXF5SIDLbits_t;
748 
749 extern __at(0x0F15) volatile __RXF5SIDLbits_t RXF5SIDLbits;
750 
751 #define _RXF5SIDL_EID16         0x01
752 #define _RXF5SIDL_EID17         0x02
753 #define _RXF5SIDL_EXIDEN        0x08
754 #define _RXF5SIDL_SID0          0x20
755 #define _RXF5SIDL_SID1          0x40
756 #define _RXF5SIDL_SID2          0x80
757 
758 //==============================================================================
759 
760 
761 //==============================================================================
762 //        RXF5EIDH Bits
763 
764 extern __at(0x0F16) __sfr RXF5EIDH;
765 
766 typedef struct
767   {
768   unsigned EID8                 : 1;
769   unsigned EID9                 : 1;
770   unsigned EID10                : 1;
771   unsigned EID11                : 1;
772   unsigned EID12                : 1;
773   unsigned EID13                : 1;
774   unsigned EID14                : 1;
775   unsigned EID15                : 1;
776   } __RXF5EIDHbits_t;
777 
778 extern __at(0x0F16) volatile __RXF5EIDHbits_t RXF5EIDHbits;
779 
780 #define _RXF5EIDH_EID8          0x01
781 #define _RXF5EIDH_EID9          0x02
782 #define _RXF5EIDH_EID10         0x04
783 #define _RXF5EIDH_EID11         0x08
784 #define _RXF5EIDH_EID12         0x10
785 #define _RXF5EIDH_EID13         0x20
786 #define _RXF5EIDH_EID14         0x40
787 #define _RXF5EIDH_EID15         0x80
788 
789 //==============================================================================
790 
791 
792 //==============================================================================
793 //        RXF5EIDL Bits
794 
795 extern __at(0x0F17) __sfr RXF5EIDL;
796 
797 typedef struct
798   {
799   unsigned EID0                 : 1;
800   unsigned EID1                 : 1;
801   unsigned EID2                 : 1;
802   unsigned EID3                 : 1;
803   unsigned EID4                 : 1;
804   unsigned EID5                 : 1;
805   unsigned EID6                 : 1;
806   unsigned EID7                 : 1;
807   } __RXF5EIDLbits_t;
808 
809 extern __at(0x0F17) volatile __RXF5EIDLbits_t RXF5EIDLbits;
810 
811 #define _RXF5EIDL_EID0          0x01
812 #define _RXF5EIDL_EID1          0x02
813 #define _RXF5EIDL_EID2          0x04
814 #define _RXF5EIDL_EID3          0x08
815 #define _RXF5EIDL_EID4          0x10
816 #define _RXF5EIDL_EID5          0x20
817 #define _RXF5EIDL_EID6          0x40
818 #define _RXF5EIDL_EID7          0x80
819 
820 //==============================================================================
821 
822 
823 //==============================================================================
824 //        RXM0SIDH Bits
825 
826 extern __at(0x0F18) __sfr RXM0SIDH;
827 
828 typedef struct
829   {
830   unsigned SID3                 : 1;
831   unsigned SID4                 : 1;
832   unsigned SID5                 : 1;
833   unsigned SID6                 : 1;
834   unsigned SID7                 : 1;
835   unsigned SID8                 : 1;
836   unsigned SID9                 : 1;
837   unsigned SID10                : 1;
838   } __RXM0SIDHbits_t;
839 
840 extern __at(0x0F18) volatile __RXM0SIDHbits_t RXM0SIDHbits;
841 
842 #define _RXM0SIDH_SID3          0x01
843 #define _RXM0SIDH_SID4          0x02
844 #define _RXM0SIDH_SID5          0x04
845 #define _RXM0SIDH_SID6          0x08
846 #define _RXM0SIDH_SID7          0x10
847 #define _RXM0SIDH_SID8          0x20
848 #define _RXM0SIDH_SID9          0x40
849 #define _RXM0SIDH_SID10         0x80
850 
851 //==============================================================================
852 
853 
854 //==============================================================================
855 //        RXM0SIDL Bits
856 
857 extern __at(0x0F19) __sfr RXM0SIDL;
858 
859 typedef union
860   {
861   struct
862     {
863     unsigned EID16              : 1;
864     unsigned EID17              : 1;
865     unsigned                    : 1;
866     unsigned                    : 1;
867     unsigned                    : 1;
868     unsigned SID0               : 1;
869     unsigned SID1               : 1;
870     unsigned SID2               : 1;
871     };
872 
873   struct
874     {
875     unsigned                    : 5;
876     unsigned SID                : 3;
877     };
878   } __RXM0SIDLbits_t;
879 
880 extern __at(0x0F19) volatile __RXM0SIDLbits_t RXM0SIDLbits;
881 
882 #define _RXM0SIDL_EID16         0x01
883 #define _RXM0SIDL_EID17         0x02
884 #define _RXM0SIDL_SID0          0x20
885 #define _RXM0SIDL_SID1          0x40
886 #define _RXM0SIDL_SID2          0x80
887 
888 //==============================================================================
889 
890 
891 //==============================================================================
892 //        RXM0EIDH Bits
893 
894 extern __at(0x0F1A) __sfr RXM0EIDH;
895 
896 typedef struct
897   {
898   unsigned EID8                 : 1;
899   unsigned EID9                 : 1;
900   unsigned EID10                : 1;
901   unsigned EID11                : 1;
902   unsigned EID12                : 1;
903   unsigned EID13                : 1;
904   unsigned EID14                : 1;
905   unsigned EID15                : 1;
906   } __RXM0EIDHbits_t;
907 
908 extern __at(0x0F1A) volatile __RXM0EIDHbits_t RXM0EIDHbits;
909 
910 #define _RXM0EIDH_EID8          0x01
911 #define _RXM0EIDH_EID9          0x02
912 #define _RXM0EIDH_EID10         0x04
913 #define _RXM0EIDH_EID11         0x08
914 #define _RXM0EIDH_EID12         0x10
915 #define _RXM0EIDH_EID13         0x20
916 #define _RXM0EIDH_EID14         0x40
917 #define _RXM0EIDH_EID15         0x80
918 
919 //==============================================================================
920 
921 
922 //==============================================================================
923 //        RXM0EIDL Bits
924 
925 extern __at(0x0F1B) __sfr RXM0EIDL;
926 
927 typedef struct
928   {
929   unsigned EID0                 : 1;
930   unsigned EID1                 : 1;
931   unsigned EID2                 : 1;
932   unsigned EID3                 : 1;
933   unsigned EID4                 : 1;
934   unsigned EID5                 : 1;
935   unsigned EID6                 : 1;
936   unsigned EID7                 : 1;
937   } __RXM0EIDLbits_t;
938 
939 extern __at(0x0F1B) volatile __RXM0EIDLbits_t RXM0EIDLbits;
940 
941 #define _RXM0EIDL_EID0          0x01
942 #define _RXM0EIDL_EID1          0x02
943 #define _RXM0EIDL_EID2          0x04
944 #define _RXM0EIDL_EID3          0x08
945 #define _RXM0EIDL_EID4          0x10
946 #define _RXM0EIDL_EID5          0x20
947 #define _RXM0EIDL_EID6          0x40
948 #define _RXM0EIDL_EID7          0x80
949 
950 //==============================================================================
951 
952 
953 //==============================================================================
954 //        RXM1SIDH Bits
955 
956 extern __at(0x0F1C) __sfr RXM1SIDH;
957 
958 typedef struct
959   {
960   unsigned SID3                 : 1;
961   unsigned SID4                 : 1;
962   unsigned SID5                 : 1;
963   unsigned SID6                 : 1;
964   unsigned SID7                 : 1;
965   unsigned SID8                 : 1;
966   unsigned SID9                 : 1;
967   unsigned SID10                : 1;
968   } __RXM1SIDHbits_t;
969 
970 extern __at(0x0F1C) volatile __RXM1SIDHbits_t RXM1SIDHbits;
971 
972 #define _RXM1SIDH_SID3          0x01
973 #define _RXM1SIDH_SID4          0x02
974 #define _RXM1SIDH_SID5          0x04
975 #define _RXM1SIDH_SID6          0x08
976 #define _RXM1SIDH_SID7          0x10
977 #define _RXM1SIDH_SID8          0x20
978 #define _RXM1SIDH_SID9          0x40
979 #define _RXM1SIDH_SID10         0x80
980 
981 //==============================================================================
982 
983 
984 //==============================================================================
985 //        RXM1SIDL Bits
986 
987 extern __at(0x0F1D) __sfr RXM1SIDL;
988 
989 typedef union
990   {
991   struct
992     {
993     unsigned EID16              : 1;
994     unsigned EID17              : 1;
995     unsigned                    : 1;
996     unsigned                    : 1;
997     unsigned                    : 1;
998     unsigned SID0               : 1;
999     unsigned SID1               : 1;
1000     unsigned SID2               : 1;
1001     };
1002 
1003   struct
1004     {
1005     unsigned                    : 5;
1006     unsigned SID                : 3;
1007     };
1008   } __RXM1SIDLbits_t;
1009 
1010 extern __at(0x0F1D) volatile __RXM1SIDLbits_t RXM1SIDLbits;
1011 
1012 #define _RXM1SIDL_EID16         0x01
1013 #define _RXM1SIDL_EID17         0x02
1014 #define _RXM1SIDL_SID0          0x20
1015 #define _RXM1SIDL_SID1          0x40
1016 #define _RXM1SIDL_SID2          0x80
1017 
1018 //==============================================================================
1019 
1020 
1021 //==============================================================================
1022 //        RXM1EIDH Bits
1023 
1024 extern __at(0x0F1E) __sfr RXM1EIDH;
1025 
1026 typedef struct
1027   {
1028   unsigned EID8                 : 1;
1029   unsigned EID9                 : 1;
1030   unsigned EID10                : 1;
1031   unsigned EID11                : 1;
1032   unsigned EID12                : 1;
1033   unsigned EID13                : 1;
1034   unsigned EID14                : 1;
1035   unsigned EID15                : 1;
1036   } __RXM1EIDHbits_t;
1037 
1038 extern __at(0x0F1E) volatile __RXM1EIDHbits_t RXM1EIDHbits;
1039 
1040 #define _RXM1EIDH_EID8          0x01
1041 #define _RXM1EIDH_EID9          0x02
1042 #define _RXM1EIDH_EID10         0x04
1043 #define _RXM1EIDH_EID11         0x08
1044 #define _RXM1EIDH_EID12         0x10
1045 #define _RXM1EIDH_EID13         0x20
1046 #define _RXM1EIDH_EID14         0x40
1047 #define _RXM1EIDH_EID15         0x80
1048 
1049 //==============================================================================
1050 
1051 
1052 //==============================================================================
1053 //        RXM1EIDL Bits
1054 
1055 extern __at(0x0F1F) __sfr RXM1EIDL;
1056 
1057 typedef struct
1058   {
1059   unsigned EID0                 : 1;
1060   unsigned EID1                 : 1;
1061   unsigned EID2                 : 1;
1062   unsigned EID3                 : 1;
1063   unsigned EID4                 : 1;
1064   unsigned EID5                 : 1;
1065   unsigned EID6                 : 1;
1066   unsigned EID7                 : 1;
1067   } __RXM1EIDLbits_t;
1068 
1069 extern __at(0x0F1F) volatile __RXM1EIDLbits_t RXM1EIDLbits;
1070 
1071 #define _RXM1EIDL_EID0          0x01
1072 #define _RXM1EIDL_EID1          0x02
1073 #define _RXM1EIDL_EID2          0x04
1074 #define _RXM1EIDL_EID3          0x08
1075 #define _RXM1EIDL_EID4          0x10
1076 #define _RXM1EIDL_EID5          0x20
1077 #define _RXM1EIDL_EID6          0x40
1078 #define _RXM1EIDL_EID7          0x80
1079 
1080 //==============================================================================
1081 
1082 
1083 //==============================================================================
1084 //        TXB2CON Bits
1085 
1086 extern __at(0x0F20) __sfr TXB2CON;
1087 
1088 typedef union
1089   {
1090   struct
1091     {
1092     unsigned TXPRI0             : 1;
1093     unsigned TXPRI1             : 1;
1094     unsigned                    : 1;
1095     unsigned TXREQ              : 1;
1096     unsigned TXERR              : 1;
1097     unsigned TXLARB             : 1;
1098     unsigned TXABT              : 1;
1099     unsigned                    : 1;
1100     };
1101 
1102   struct
1103     {
1104     unsigned TXPRI              : 2;
1105     unsigned                    : 6;
1106     };
1107   } __TXB2CONbits_t;
1108 
1109 extern __at(0x0F20) volatile __TXB2CONbits_t TXB2CONbits;
1110 
1111 #define _TXB2CON_TXPRI0         0x01
1112 #define _TXB2CON_TXPRI1         0x02
1113 #define _TXB2CON_TXREQ          0x08
1114 #define _TXB2CON_TXERR          0x10
1115 #define _TXB2CON_TXLARB         0x20
1116 #define _TXB2CON_TXABT          0x40
1117 
1118 //==============================================================================
1119 
1120 
1121 //==============================================================================
1122 //        TXB2SIDH Bits
1123 
1124 extern __at(0x0F21) __sfr TXB2SIDH;
1125 
1126 typedef struct
1127   {
1128   unsigned SID3                 : 1;
1129   unsigned SID4                 : 1;
1130   unsigned SID5                 : 1;
1131   unsigned SID6                 : 1;
1132   unsigned SID7                 : 1;
1133   unsigned SID8                 : 1;
1134   unsigned SID9                 : 1;
1135   unsigned SID10                : 1;
1136   } __TXB2SIDHbits_t;
1137 
1138 extern __at(0x0F21) volatile __TXB2SIDHbits_t TXB2SIDHbits;
1139 
1140 #define _TXB2SIDH_SID3          0x01
1141 #define _TXB2SIDH_SID4          0x02
1142 #define _TXB2SIDH_SID5          0x04
1143 #define _TXB2SIDH_SID6          0x08
1144 #define _TXB2SIDH_SID7          0x10
1145 #define _TXB2SIDH_SID8          0x20
1146 #define _TXB2SIDH_SID9          0x40
1147 #define _TXB2SIDH_SID10         0x80
1148 
1149 //==============================================================================
1150 
1151 
1152 //==============================================================================
1153 //        TXB2SIDL Bits
1154 
1155 extern __at(0x0F22) __sfr TXB2SIDL;
1156 
1157 typedef union
1158   {
1159   struct
1160     {
1161     unsigned EID16              : 1;
1162     unsigned EID17              : 1;
1163     unsigned                    : 1;
1164     unsigned EXIDE              : 1;
1165     unsigned                    : 1;
1166     unsigned SID0               : 1;
1167     unsigned SID1               : 1;
1168     unsigned SID2               : 1;
1169     };
1170 
1171   struct
1172     {
1173     unsigned                    : 5;
1174     unsigned SID                : 3;
1175     };
1176   } __TXB2SIDLbits_t;
1177 
1178 extern __at(0x0F22) volatile __TXB2SIDLbits_t TXB2SIDLbits;
1179 
1180 #define _TXB2SIDL_EID16         0x01
1181 #define _TXB2SIDL_EID17         0x02
1182 #define _TXB2SIDL_EXIDE         0x08
1183 #define _TXB2SIDL_SID0          0x20
1184 #define _TXB2SIDL_SID1          0x40
1185 #define _TXB2SIDL_SID2          0x80
1186 
1187 //==============================================================================
1188 
1189 
1190 //==============================================================================
1191 //        TXB2EIDH Bits
1192 
1193 extern __at(0x0F23) __sfr TXB2EIDH;
1194 
1195 typedef struct
1196   {
1197   unsigned EID8                 : 1;
1198   unsigned EID9                 : 1;
1199   unsigned EID10                : 1;
1200   unsigned EID11                : 1;
1201   unsigned EID12                : 1;
1202   unsigned EID13                : 1;
1203   unsigned EID14                : 1;
1204   unsigned EID15                : 1;
1205   } __TXB2EIDHbits_t;
1206 
1207 extern __at(0x0F23) volatile __TXB2EIDHbits_t TXB2EIDHbits;
1208 
1209 #define _TXB2EIDH_EID8          0x01
1210 #define _TXB2EIDH_EID9          0x02
1211 #define _TXB2EIDH_EID10         0x04
1212 #define _TXB2EIDH_EID11         0x08
1213 #define _TXB2EIDH_EID12         0x10
1214 #define _TXB2EIDH_EID13         0x20
1215 #define _TXB2EIDH_EID14         0x40
1216 #define _TXB2EIDH_EID15         0x80
1217 
1218 //==============================================================================
1219 
1220 
1221 //==============================================================================
1222 //        TXB2EIDL Bits
1223 
1224 extern __at(0x0F24) __sfr TXB2EIDL;
1225 
1226 typedef struct
1227   {
1228   unsigned EID0                 : 1;
1229   unsigned EID1                 : 1;
1230   unsigned EID2                 : 1;
1231   unsigned EID3                 : 1;
1232   unsigned EID4                 : 1;
1233   unsigned EID5                 : 1;
1234   unsigned EID6                 : 1;
1235   unsigned EID7                 : 1;
1236   } __TXB2EIDLbits_t;
1237 
1238 extern __at(0x0F24) volatile __TXB2EIDLbits_t TXB2EIDLbits;
1239 
1240 #define _TXB2EIDL_EID0          0x01
1241 #define _TXB2EIDL_EID1          0x02
1242 #define _TXB2EIDL_EID2          0x04
1243 #define _TXB2EIDL_EID3          0x08
1244 #define _TXB2EIDL_EID4          0x10
1245 #define _TXB2EIDL_EID5          0x20
1246 #define _TXB2EIDL_EID6          0x40
1247 #define _TXB2EIDL_EID7          0x80
1248 
1249 //==============================================================================
1250 
1251 
1252 //==============================================================================
1253 //        TXB2DLC Bits
1254 
1255 extern __at(0x0F25) __sfr TXB2DLC;
1256 
1257 typedef union
1258   {
1259   struct
1260     {
1261     unsigned DLC0               : 1;
1262     unsigned DLC1               : 1;
1263     unsigned DLC2               : 1;
1264     unsigned DLC3               : 1;
1265     unsigned                    : 1;
1266     unsigned                    : 1;
1267     unsigned TXRTR              : 1;
1268     unsigned                    : 1;
1269     };
1270 
1271   struct
1272     {
1273     unsigned DLC                : 4;
1274     unsigned                    : 4;
1275     };
1276   } __TXB2DLCbits_t;
1277 
1278 extern __at(0x0F25) volatile __TXB2DLCbits_t TXB2DLCbits;
1279 
1280 #define _TXB2DLC_DLC0           0x01
1281 #define _TXB2DLC_DLC1           0x02
1282 #define _TXB2DLC_DLC2           0x04
1283 #define _TXB2DLC_DLC3           0x08
1284 #define _TXB2DLC_TXRTR          0x40
1285 
1286 //==============================================================================
1287 
1288 
1289 //==============================================================================
1290 //        TXB2D0 Bits
1291 
1292 extern __at(0x0F26) __sfr TXB2D0;
1293 
1294 typedef struct
1295   {
1296   unsigned TXB2D00              : 1;
1297   unsigned TXB2D01              : 1;
1298   unsigned TXB2D02              : 1;
1299   unsigned TXB2D03              : 1;
1300   unsigned TXB2D04              : 1;
1301   unsigned TXB2D05              : 1;
1302   unsigned TXB2D06              : 1;
1303   unsigned TXB2D07              : 1;
1304   } __TXB2D0bits_t;
1305 
1306 extern __at(0x0F26) volatile __TXB2D0bits_t TXB2D0bits;
1307 
1308 #define _TXB2D00                0x01
1309 #define _TXB2D01                0x02
1310 #define _TXB2D02                0x04
1311 #define _TXB2D03                0x08
1312 #define _TXB2D04                0x10
1313 #define _TXB2D05                0x20
1314 #define _TXB2D06                0x40
1315 #define _TXB2D07                0x80
1316 
1317 //==============================================================================
1318 
1319 
1320 //==============================================================================
1321 //        TXB2D1 Bits
1322 
1323 extern __at(0x0F27) __sfr TXB2D1;
1324 
1325 typedef struct
1326   {
1327   unsigned TXB2D10              : 1;
1328   unsigned TXB2D11              : 1;
1329   unsigned TXB2D12              : 1;
1330   unsigned TXB2D13              : 1;
1331   unsigned TXB2D14              : 1;
1332   unsigned TXB2D15              : 1;
1333   unsigned TXB2D16              : 1;
1334   unsigned TXB2D17              : 1;
1335   } __TXB2D1bits_t;
1336 
1337 extern __at(0x0F27) volatile __TXB2D1bits_t TXB2D1bits;
1338 
1339 #define _TXB2D10                0x01
1340 #define _TXB2D11                0x02
1341 #define _TXB2D12                0x04
1342 #define _TXB2D13                0x08
1343 #define _TXB2D14                0x10
1344 #define _TXB2D15                0x20
1345 #define _TXB2D16                0x40
1346 #define _TXB2D17                0x80
1347 
1348 //==============================================================================
1349 
1350 
1351 //==============================================================================
1352 //        TXB2D2 Bits
1353 
1354 extern __at(0x0F28) __sfr TXB2D2;
1355 
1356 typedef struct
1357   {
1358   unsigned TXB2D20              : 1;
1359   unsigned TXB2D21              : 1;
1360   unsigned TXB2D22              : 1;
1361   unsigned TXB2D23              : 1;
1362   unsigned TXB2D24              : 1;
1363   unsigned TXB2D25              : 1;
1364   unsigned TXB2D26              : 1;
1365   unsigned TXB2D27              : 1;
1366   } __TXB2D2bits_t;
1367 
1368 extern __at(0x0F28) volatile __TXB2D2bits_t TXB2D2bits;
1369 
1370 #define _TXB2D20                0x01
1371 #define _TXB2D21                0x02
1372 #define _TXB2D22                0x04
1373 #define _TXB2D23                0x08
1374 #define _TXB2D24                0x10
1375 #define _TXB2D25                0x20
1376 #define _TXB2D26                0x40
1377 #define _TXB2D27                0x80
1378 
1379 //==============================================================================
1380 
1381 
1382 //==============================================================================
1383 //        TXB2D3 Bits
1384 
1385 extern __at(0x0F29) __sfr TXB2D3;
1386 
1387 typedef struct
1388   {
1389   unsigned TXB2D30              : 1;
1390   unsigned TXB2D31              : 1;
1391   unsigned TXB2D32              : 1;
1392   unsigned TXB2D33              : 1;
1393   unsigned TXB2D34              : 1;
1394   unsigned TXB2D35              : 1;
1395   unsigned TXB2D36              : 1;
1396   unsigned TXB2D37              : 1;
1397   } __TXB2D3bits_t;
1398 
1399 extern __at(0x0F29) volatile __TXB2D3bits_t TXB2D3bits;
1400 
1401 #define _TXB2D30                0x01
1402 #define _TXB2D31                0x02
1403 #define _TXB2D32                0x04
1404 #define _TXB2D33                0x08
1405 #define _TXB2D34                0x10
1406 #define _TXB2D35                0x20
1407 #define _TXB2D36                0x40
1408 #define _TXB2D37                0x80
1409 
1410 //==============================================================================
1411 
1412 
1413 //==============================================================================
1414 //        TXB2D4 Bits
1415 
1416 extern __at(0x0F2A) __sfr TXB2D4;
1417 
1418 typedef struct
1419   {
1420   unsigned TXB2D40              : 1;
1421   unsigned TXB2D41              : 1;
1422   unsigned TXB2D42              : 1;
1423   unsigned TXB2D43              : 1;
1424   unsigned TXB2D44              : 1;
1425   unsigned TXB2D45              : 1;
1426   unsigned TXB2D46              : 1;
1427   unsigned TXB2D47              : 1;
1428   } __TXB2D4bits_t;
1429 
1430 extern __at(0x0F2A) volatile __TXB2D4bits_t TXB2D4bits;
1431 
1432 #define _TXB2D40                0x01
1433 #define _TXB2D41                0x02
1434 #define _TXB2D42                0x04
1435 #define _TXB2D43                0x08
1436 #define _TXB2D44                0x10
1437 #define _TXB2D45                0x20
1438 #define _TXB2D46                0x40
1439 #define _TXB2D47                0x80
1440 
1441 //==============================================================================
1442 
1443 
1444 //==============================================================================
1445 //        TXB2D5 Bits
1446 
1447 extern __at(0x0F2B) __sfr TXB2D5;
1448 
1449 typedef struct
1450   {
1451   unsigned TXB2D50              : 1;
1452   unsigned TXB2D51              : 1;
1453   unsigned TXB2D52              : 1;
1454   unsigned TXB2D53              : 1;
1455   unsigned TXB2D54              : 1;
1456   unsigned TXB2D55              : 1;
1457   unsigned TXB2D56              : 1;
1458   unsigned TXB2D57              : 1;
1459   } __TXB2D5bits_t;
1460 
1461 extern __at(0x0F2B) volatile __TXB2D5bits_t TXB2D5bits;
1462 
1463 #define _TXB2D50                0x01
1464 #define _TXB2D51                0x02
1465 #define _TXB2D52                0x04
1466 #define _TXB2D53                0x08
1467 #define _TXB2D54                0x10
1468 #define _TXB2D55                0x20
1469 #define _TXB2D56                0x40
1470 #define _TXB2D57                0x80
1471 
1472 //==============================================================================
1473 
1474 
1475 //==============================================================================
1476 //        TXB2D6 Bits
1477 
1478 extern __at(0x0F2C) __sfr TXB2D6;
1479 
1480 typedef struct
1481   {
1482   unsigned TXB2D60              : 1;
1483   unsigned TXB2D61              : 1;
1484   unsigned TXB2D62              : 1;
1485   unsigned TXB2D63              : 1;
1486   unsigned TXB2D64              : 1;
1487   unsigned TXB2D65              : 1;
1488   unsigned TXB2D66              : 1;
1489   unsigned TXB2D67              : 1;
1490   } __TXB2D6bits_t;
1491 
1492 extern __at(0x0F2C) volatile __TXB2D6bits_t TXB2D6bits;
1493 
1494 #define _TXB2D60                0x01
1495 #define _TXB2D61                0x02
1496 #define _TXB2D62                0x04
1497 #define _TXB2D63                0x08
1498 #define _TXB2D64                0x10
1499 #define _TXB2D65                0x20
1500 #define _TXB2D66                0x40
1501 #define _TXB2D67                0x80
1502 
1503 //==============================================================================
1504 
1505 
1506 //==============================================================================
1507 //        TXB2D7 Bits
1508 
1509 extern __at(0x0F2D) __sfr TXB2D7;
1510 
1511 typedef struct
1512   {
1513   unsigned TXB2D70              : 1;
1514   unsigned TXB2D71              : 1;
1515   unsigned TXB2D72              : 1;
1516   unsigned TXB2D73              : 1;
1517   unsigned TXB2D74              : 1;
1518   unsigned TXB2D75              : 1;
1519   unsigned TXB2D76              : 1;
1520   unsigned TXB2D77              : 1;
1521   } __TXB2D7bits_t;
1522 
1523 extern __at(0x0F2D) volatile __TXB2D7bits_t TXB2D7bits;
1524 
1525 #define _TXB2D70                0x01
1526 #define _TXB2D71                0x02
1527 #define _TXB2D72                0x04
1528 #define _TXB2D73                0x08
1529 #define _TXB2D74                0x10
1530 #define _TXB2D75                0x20
1531 #define _TXB2D76                0x40
1532 #define _TXB2D77                0x80
1533 
1534 //==============================================================================
1535 
1536 
1537 //==============================================================================
1538 //        CANSTATRO4 Bits
1539 
1540 extern __at(0x0F2E) __sfr CANSTATRO4;
1541 
1542 typedef union
1543   {
1544   struct
1545     {
1546     unsigned                    : 1;
1547     unsigned ICODE0             : 1;
1548     unsigned ICODE1             : 1;
1549     unsigned ICODE2             : 1;
1550     unsigned                    : 1;
1551     unsigned OPMODE0            : 1;
1552     unsigned OPMODE1            : 1;
1553     unsigned OPMODE2            : 1;
1554     };
1555 
1556   struct
1557     {
1558     unsigned                    : 1;
1559     unsigned ICODE              : 3;
1560     unsigned                    : 4;
1561     };
1562 
1563   struct
1564     {
1565     unsigned                    : 5;
1566     unsigned OPMODE             : 3;
1567     };
1568   } __CANSTATRO4bits_t;
1569 
1570 extern __at(0x0F2E) volatile __CANSTATRO4bits_t CANSTATRO4bits;
1571 
1572 #define _CANSTATRO4_ICODE0      0x02
1573 #define _CANSTATRO4_ICODE1      0x04
1574 #define _CANSTATRO4_ICODE2      0x08
1575 #define _CANSTATRO4_OPMODE0     0x20
1576 #define _CANSTATRO4_OPMODE1     0x40
1577 #define _CANSTATRO4_OPMODE2     0x80
1578 
1579 //==============================================================================
1580 
1581 
1582 //==============================================================================
1583 //        TXB1CON Bits
1584 
1585 extern __at(0x0F30) __sfr TXB1CON;
1586 
1587 typedef union
1588   {
1589   struct
1590     {
1591     unsigned TXPRI0             : 1;
1592     unsigned TXPRI1             : 1;
1593     unsigned                    : 1;
1594     unsigned TXREQ              : 1;
1595     unsigned TXERR              : 1;
1596     unsigned TXLARB             : 1;
1597     unsigned TXABT              : 1;
1598     unsigned                    : 1;
1599     };
1600 
1601   struct
1602     {
1603     unsigned TXPRI              : 2;
1604     unsigned                    : 6;
1605     };
1606   } __TXB1CONbits_t;
1607 
1608 extern __at(0x0F30) volatile __TXB1CONbits_t TXB1CONbits;
1609 
1610 #define _TXB1CON_TXPRI0         0x01
1611 #define _TXB1CON_TXPRI1         0x02
1612 #define _TXB1CON_TXREQ          0x08
1613 #define _TXB1CON_TXERR          0x10
1614 #define _TXB1CON_TXLARB         0x20
1615 #define _TXB1CON_TXABT          0x40
1616 
1617 //==============================================================================
1618 
1619 
1620 //==============================================================================
1621 //        TXB1SIDH Bits
1622 
1623 extern __at(0x0F31) __sfr TXB1SIDH;
1624 
1625 typedef struct
1626   {
1627   unsigned SID3                 : 1;
1628   unsigned SID4                 : 1;
1629   unsigned SID5                 : 1;
1630   unsigned SID6                 : 1;
1631   unsigned SID7                 : 1;
1632   unsigned SID8                 : 1;
1633   unsigned SID9                 : 1;
1634   unsigned SID10                : 1;
1635   } __TXB1SIDHbits_t;
1636 
1637 extern __at(0x0F31) volatile __TXB1SIDHbits_t TXB1SIDHbits;
1638 
1639 #define _TXB1SIDH_SID3          0x01
1640 #define _TXB1SIDH_SID4          0x02
1641 #define _TXB1SIDH_SID5          0x04
1642 #define _TXB1SIDH_SID6          0x08
1643 #define _TXB1SIDH_SID7          0x10
1644 #define _TXB1SIDH_SID8          0x20
1645 #define _TXB1SIDH_SID9          0x40
1646 #define _TXB1SIDH_SID10         0x80
1647 
1648 //==============================================================================
1649 
1650 
1651 //==============================================================================
1652 //        TXB1SIDL Bits
1653 
1654 extern __at(0x0F32) __sfr TXB1SIDL;
1655 
1656 typedef union
1657   {
1658   struct
1659     {
1660     unsigned EID16              : 1;
1661     unsigned EID17              : 1;
1662     unsigned                    : 1;
1663     unsigned EXIDE              : 1;
1664     unsigned                    : 1;
1665     unsigned SID0               : 1;
1666     unsigned SID1               : 1;
1667     unsigned SID2               : 1;
1668     };
1669 
1670   struct
1671     {
1672     unsigned                    : 5;
1673     unsigned SID                : 3;
1674     };
1675   } __TXB1SIDLbits_t;
1676 
1677 extern __at(0x0F32) volatile __TXB1SIDLbits_t TXB1SIDLbits;
1678 
1679 #define _TXB1SIDL_EID16         0x01
1680 #define _TXB1SIDL_EID17         0x02
1681 #define _TXB1SIDL_EXIDE         0x08
1682 #define _TXB1SIDL_SID0          0x20
1683 #define _TXB1SIDL_SID1          0x40
1684 #define _TXB1SIDL_SID2          0x80
1685 
1686 //==============================================================================
1687 
1688 
1689 //==============================================================================
1690 //        TXB1EIDH Bits
1691 
1692 extern __at(0x0F33) __sfr TXB1EIDH;
1693 
1694 typedef struct
1695   {
1696   unsigned EID8                 : 1;
1697   unsigned EID9                 : 1;
1698   unsigned EID10                : 1;
1699   unsigned EID11                : 1;
1700   unsigned EID12                : 1;
1701   unsigned EID13                : 1;
1702   unsigned EID14                : 1;
1703   unsigned EID15                : 1;
1704   } __TXB1EIDHbits_t;
1705 
1706 extern __at(0x0F33) volatile __TXB1EIDHbits_t TXB1EIDHbits;
1707 
1708 #define _TXB1EIDH_EID8          0x01
1709 #define _TXB1EIDH_EID9          0x02
1710 #define _TXB1EIDH_EID10         0x04
1711 #define _TXB1EIDH_EID11         0x08
1712 #define _TXB1EIDH_EID12         0x10
1713 #define _TXB1EIDH_EID13         0x20
1714 #define _TXB1EIDH_EID14         0x40
1715 #define _TXB1EIDH_EID15         0x80
1716 
1717 //==============================================================================
1718 
1719 
1720 //==============================================================================
1721 //        TXB1EIDL Bits
1722 
1723 extern __at(0x0F34) __sfr TXB1EIDL;
1724 
1725 typedef struct
1726   {
1727   unsigned EID0                 : 1;
1728   unsigned EID1                 : 1;
1729   unsigned EID2                 : 1;
1730   unsigned EID3                 : 1;
1731   unsigned EID4                 : 1;
1732   unsigned EID5                 : 1;
1733   unsigned EID6                 : 1;
1734   unsigned EID7                 : 1;
1735   } __TXB1EIDLbits_t;
1736 
1737 extern __at(0x0F34) volatile __TXB1EIDLbits_t TXB1EIDLbits;
1738 
1739 #define _TXB1EIDL_EID0          0x01
1740 #define _TXB1EIDL_EID1          0x02
1741 #define _TXB1EIDL_EID2          0x04
1742 #define _TXB1EIDL_EID3          0x08
1743 #define _TXB1EIDL_EID4          0x10
1744 #define _TXB1EIDL_EID5          0x20
1745 #define _TXB1EIDL_EID6          0x40
1746 #define _TXB1EIDL_EID7          0x80
1747 
1748 //==============================================================================
1749 
1750 
1751 //==============================================================================
1752 //        TXB1DLC Bits
1753 
1754 extern __at(0x0F35) __sfr TXB1DLC;
1755 
1756 typedef union
1757   {
1758   struct
1759     {
1760     unsigned DLC0               : 1;
1761     unsigned DLC1               : 1;
1762     unsigned DLC2               : 1;
1763     unsigned DLC3               : 1;
1764     unsigned                    : 1;
1765     unsigned                    : 1;
1766     unsigned TXRTR              : 1;
1767     unsigned                    : 1;
1768     };
1769 
1770   struct
1771     {
1772     unsigned DLC                : 4;
1773     unsigned                    : 4;
1774     };
1775   } __TXB1DLCbits_t;
1776 
1777 extern __at(0x0F35) volatile __TXB1DLCbits_t TXB1DLCbits;
1778 
1779 #define _TXB1DLC_DLC0           0x01
1780 #define _TXB1DLC_DLC1           0x02
1781 #define _TXB1DLC_DLC2           0x04
1782 #define _TXB1DLC_DLC3           0x08
1783 #define _TXB1DLC_TXRTR          0x40
1784 
1785 //==============================================================================
1786 
1787 
1788 //==============================================================================
1789 //        TXB1D0 Bits
1790 
1791 extern __at(0x0F36) __sfr TXB1D0;
1792 
1793 typedef struct
1794   {
1795   unsigned TXB1D00              : 1;
1796   unsigned TXB1D01              : 1;
1797   unsigned TXB1D02              : 1;
1798   unsigned TXB1D03              : 1;
1799   unsigned TXB1D04              : 1;
1800   unsigned TXB1D05              : 1;
1801   unsigned TXB1D06              : 1;
1802   unsigned TXB1D07              : 1;
1803   } __TXB1D0bits_t;
1804 
1805 extern __at(0x0F36) volatile __TXB1D0bits_t TXB1D0bits;
1806 
1807 #define _TXB1D00                0x01
1808 #define _TXB1D01                0x02
1809 #define _TXB1D02                0x04
1810 #define _TXB1D03                0x08
1811 #define _TXB1D04                0x10
1812 #define _TXB1D05                0x20
1813 #define _TXB1D06                0x40
1814 #define _TXB1D07                0x80
1815 
1816 //==============================================================================
1817 
1818 
1819 //==============================================================================
1820 //        TXB1D1 Bits
1821 
1822 extern __at(0x0F37) __sfr TXB1D1;
1823 
1824 typedef struct
1825   {
1826   unsigned TXB1D10              : 1;
1827   unsigned TXB1D11              : 1;
1828   unsigned TXB1D12              : 1;
1829   unsigned TXB1D13              : 1;
1830   unsigned TXB1D14              : 1;
1831   unsigned TXB1D15              : 1;
1832   unsigned TXB1D16              : 1;
1833   unsigned TXB1D17              : 1;
1834   } __TXB1D1bits_t;
1835 
1836 extern __at(0x0F37) volatile __TXB1D1bits_t TXB1D1bits;
1837 
1838 #define _TXB1D10                0x01
1839 #define _TXB1D11                0x02
1840 #define _TXB1D12                0x04
1841 #define _TXB1D13                0x08
1842 #define _TXB1D14                0x10
1843 #define _TXB1D15                0x20
1844 #define _TXB1D16                0x40
1845 #define _TXB1D17                0x80
1846 
1847 //==============================================================================
1848 
1849 
1850 //==============================================================================
1851 //        TXB1D2 Bits
1852 
1853 extern __at(0x0F38) __sfr TXB1D2;
1854 
1855 typedef union
1856   {
1857   struct
1858     {
1859     unsigned TXB1D20            : 1;
1860     unsigned TXB1D21            : 1;
1861     unsigned TXB1D22            : 1;
1862     unsigned TXB1D23            : 1;
1863     unsigned TXB1D24            : 1;
1864     unsigned TXB1D25            : 1;
1865     unsigned TXB1D26            : 1;
1866     unsigned TXB1D27            : 1;
1867     };
1868 
1869   struct
1870     {
1871     unsigned                    : 1;
1872     unsigned                    : 1;
1873     unsigned                    : 1;
1874     unsigned TBB1D23            : 1;
1875     unsigned                    : 1;
1876     unsigned                    : 1;
1877     unsigned                    : 1;
1878     unsigned                    : 1;
1879     };
1880   } __TXB1D2bits_t;
1881 
1882 extern __at(0x0F38) volatile __TXB1D2bits_t TXB1D2bits;
1883 
1884 #define _TXB1D20                0x01
1885 #define _TXB1D21                0x02
1886 #define _TXB1D22                0x04
1887 #define _TXB1D23                0x08
1888 #define _TBB1D23                0x08
1889 #define _TXB1D24                0x10
1890 #define _TXB1D25                0x20
1891 #define _TXB1D26                0x40
1892 #define _TXB1D27                0x80
1893 
1894 //==============================================================================
1895 
1896 
1897 //==============================================================================
1898 //        TXB1D3 Bits
1899 
1900 extern __at(0x0F39) __sfr TXB1D3;
1901 
1902 typedef struct
1903   {
1904   unsigned TXB1D30              : 1;
1905   unsigned TXB1D31              : 1;
1906   unsigned TXB1D32              : 1;
1907   unsigned TXB1D33              : 1;
1908   unsigned TXB1D34              : 1;
1909   unsigned TXB1D35              : 1;
1910   unsigned TXB1D36              : 1;
1911   unsigned TXB1D37              : 1;
1912   } __TXB1D3bits_t;
1913 
1914 extern __at(0x0F39) volatile __TXB1D3bits_t TXB1D3bits;
1915 
1916 #define _TXB1D30                0x01
1917 #define _TXB1D31                0x02
1918 #define _TXB1D32                0x04
1919 #define _TXB1D33                0x08
1920 #define _TXB1D34                0x10
1921 #define _TXB1D35                0x20
1922 #define _TXB1D36                0x40
1923 #define _TXB1D37                0x80
1924 
1925 //==============================================================================
1926 
1927 
1928 //==============================================================================
1929 //        TXB1D4 Bits
1930 
1931 extern __at(0x0F3A) __sfr TXB1D4;
1932 
1933 typedef struct
1934   {
1935   unsigned TXB1D40              : 1;
1936   unsigned TXB1D41              : 1;
1937   unsigned TXB1D42              : 1;
1938   unsigned TXB1D43              : 1;
1939   unsigned TXB1D44              : 1;
1940   unsigned TXB1D45              : 1;
1941   unsigned TXB1D46              : 1;
1942   unsigned TXB1D47              : 1;
1943   } __TXB1D4bits_t;
1944 
1945 extern __at(0x0F3A) volatile __TXB1D4bits_t TXB1D4bits;
1946 
1947 #define _TXB1D40                0x01
1948 #define _TXB1D41                0x02
1949 #define _TXB1D42                0x04
1950 #define _TXB1D43                0x08
1951 #define _TXB1D44                0x10
1952 #define _TXB1D45                0x20
1953 #define _TXB1D46                0x40
1954 #define _TXB1D47                0x80
1955 
1956 //==============================================================================
1957 
1958 
1959 //==============================================================================
1960 //        TXB1D5 Bits
1961 
1962 extern __at(0x0F3B) __sfr TXB1D5;
1963 
1964 typedef struct
1965   {
1966   unsigned TXB1D50              : 1;
1967   unsigned TXB1D51              : 1;
1968   unsigned TXB1D52              : 1;
1969   unsigned TXB1D53              : 1;
1970   unsigned TXB1D54              : 1;
1971   unsigned TXB1D55              : 1;
1972   unsigned TXB1D56              : 1;
1973   unsigned TXB1D57              : 1;
1974   } __TXB1D5bits_t;
1975 
1976 extern __at(0x0F3B) volatile __TXB1D5bits_t TXB1D5bits;
1977 
1978 #define _TXB1D50                0x01
1979 #define _TXB1D51                0x02
1980 #define _TXB1D52                0x04
1981 #define _TXB1D53                0x08
1982 #define _TXB1D54                0x10
1983 #define _TXB1D55                0x20
1984 #define _TXB1D56                0x40
1985 #define _TXB1D57                0x80
1986 
1987 //==============================================================================
1988 
1989 
1990 //==============================================================================
1991 //        TXB1D6 Bits
1992 
1993 extern __at(0x0F3C) __sfr TXB1D6;
1994 
1995 typedef struct
1996   {
1997   unsigned TXB1D60              : 1;
1998   unsigned TXB1D61              : 1;
1999   unsigned TXB1D62              : 1;
2000   unsigned TXB1D63              : 1;
2001   unsigned TXB1D64              : 1;
2002   unsigned TXB1D65              : 1;
2003   unsigned TXB1D66              : 1;
2004   unsigned TXB1D67              : 1;
2005   } __TXB1D6bits_t;
2006 
2007 extern __at(0x0F3C) volatile __TXB1D6bits_t TXB1D6bits;
2008 
2009 #define _TXB1D60                0x01
2010 #define _TXB1D61                0x02
2011 #define _TXB1D62                0x04
2012 #define _TXB1D63                0x08
2013 #define _TXB1D64                0x10
2014 #define _TXB1D65                0x20
2015 #define _TXB1D66                0x40
2016 #define _TXB1D67                0x80
2017 
2018 //==============================================================================
2019 
2020 
2021 //==============================================================================
2022 //        TXB1D7 Bits
2023 
2024 extern __at(0x0F3D) __sfr TXB1D7;
2025 
2026 typedef struct
2027   {
2028   unsigned TXB1D70              : 1;
2029   unsigned TXB1D71              : 1;
2030   unsigned TXB1D72              : 1;
2031   unsigned TXB1D73              : 1;
2032   unsigned TXB1D74              : 1;
2033   unsigned TXB1D75              : 1;
2034   unsigned TXB1D76              : 1;
2035   unsigned TXB1D77              : 1;
2036   } __TXB1D7bits_t;
2037 
2038 extern __at(0x0F3D) volatile __TXB1D7bits_t TXB1D7bits;
2039 
2040 #define _TXB1D70                0x01
2041 #define _TXB1D71                0x02
2042 #define _TXB1D72                0x04
2043 #define _TXB1D73                0x08
2044 #define _TXB1D74                0x10
2045 #define _TXB1D75                0x20
2046 #define _TXB1D76                0x40
2047 #define _TXB1D77                0x80
2048 
2049 //==============================================================================
2050 
2051 
2052 //==============================================================================
2053 //        CANSTATRO3 Bits
2054 
2055 extern __at(0x0F3E) __sfr CANSTATRO3;
2056 
2057 typedef union
2058   {
2059   struct
2060     {
2061     unsigned                    : 1;
2062     unsigned ICODE0             : 1;
2063     unsigned ICODE1             : 1;
2064     unsigned ICODE2             : 1;
2065     unsigned                    : 1;
2066     unsigned OPMODE0            : 1;
2067     unsigned OPMODE1            : 1;
2068     unsigned OPMODE2            : 1;
2069     };
2070 
2071   struct
2072     {
2073     unsigned                    : 1;
2074     unsigned ICODE              : 3;
2075     unsigned                    : 4;
2076     };
2077 
2078   struct
2079     {
2080     unsigned                    : 5;
2081     unsigned OPMODE             : 3;
2082     };
2083   } __CANSTATRO3bits_t;
2084 
2085 extern __at(0x0F3E) volatile __CANSTATRO3bits_t CANSTATRO3bits;
2086 
2087 #define _CANSTATRO3_ICODE0      0x02
2088 #define _CANSTATRO3_ICODE1      0x04
2089 #define _CANSTATRO3_ICODE2      0x08
2090 #define _CANSTATRO3_OPMODE0     0x20
2091 #define _CANSTATRO3_OPMODE1     0x40
2092 #define _CANSTATRO3_OPMODE2     0x80
2093 
2094 //==============================================================================
2095 
2096 
2097 //==============================================================================
2098 //        TXB0CON Bits
2099 
2100 extern __at(0x0F40) __sfr TXB0CON;
2101 
2102 typedef union
2103   {
2104   struct
2105     {
2106     unsigned TXPRI0             : 1;
2107     unsigned TXPRI1             : 1;
2108     unsigned                    : 1;
2109     unsigned TXREQ              : 1;
2110     unsigned TXERR              : 1;
2111     unsigned TXLARB             : 1;
2112     unsigned TXABT              : 1;
2113     unsigned                    : 1;
2114     };
2115 
2116   struct
2117     {
2118     unsigned TXPRI              : 2;
2119     unsigned                    : 6;
2120     };
2121   } __TXB0CONbits_t;
2122 
2123 extern __at(0x0F40) volatile __TXB0CONbits_t TXB0CONbits;
2124 
2125 #define _TXPRI0                 0x01
2126 #define _TXPRI1                 0x02
2127 #define _TXREQ                  0x08
2128 #define _TXERR                  0x10
2129 #define _TXLARB                 0x20
2130 #define _TXABT                  0x40
2131 
2132 //==============================================================================
2133 
2134 
2135 //==============================================================================
2136 //        TXB0SIDH Bits
2137 
2138 extern __at(0x0F41) __sfr TXB0SIDH;
2139 
2140 typedef struct
2141   {
2142   unsigned SID3                 : 1;
2143   unsigned SID4                 : 1;
2144   unsigned SID5                 : 1;
2145   unsigned SID6                 : 1;
2146   unsigned SID7                 : 1;
2147   unsigned SID8                 : 1;
2148   unsigned SID9                 : 1;
2149   unsigned SID10                : 1;
2150   } __TXB0SIDHbits_t;
2151 
2152 extern __at(0x0F41) volatile __TXB0SIDHbits_t TXB0SIDHbits;
2153 
2154 #define _TXB0SIDH_SID3          0x01
2155 #define _TXB0SIDH_SID4          0x02
2156 #define _TXB0SIDH_SID5          0x04
2157 #define _TXB0SIDH_SID6          0x08
2158 #define _TXB0SIDH_SID7          0x10
2159 #define _TXB0SIDH_SID8          0x20
2160 #define _TXB0SIDH_SID9          0x40
2161 #define _TXB0SIDH_SID10         0x80
2162 
2163 //==============================================================================
2164 
2165 
2166 //==============================================================================
2167 //        TXB0SIDL Bits
2168 
2169 extern __at(0x0F42) __sfr TXB0SIDL;
2170 
2171 typedef union
2172   {
2173   struct
2174     {
2175     unsigned EID16              : 1;
2176     unsigned EID17              : 1;
2177     unsigned                    : 1;
2178     unsigned EXIDE              : 1;
2179     unsigned                    : 1;
2180     unsigned SID0               : 1;
2181     unsigned SID1               : 1;
2182     unsigned SID2               : 1;
2183     };
2184 
2185   struct
2186     {
2187     unsigned                    : 5;
2188     unsigned SID                : 3;
2189     };
2190   } __TXB0SIDLbits_t;
2191 
2192 extern __at(0x0F42) volatile __TXB0SIDLbits_t TXB0SIDLbits;
2193 
2194 #define _TXB0SIDL_EID16         0x01
2195 #define _TXB0SIDL_EID17         0x02
2196 #define _TXB0SIDL_EXIDE         0x08
2197 #define _TXB0SIDL_SID0          0x20
2198 #define _TXB0SIDL_SID1          0x40
2199 #define _TXB0SIDL_SID2          0x80
2200 
2201 //==============================================================================
2202 
2203 
2204 //==============================================================================
2205 //        TXB0EIDH Bits
2206 
2207 extern __at(0x0F43) __sfr TXB0EIDH;
2208 
2209 typedef struct
2210   {
2211   unsigned EID8                 : 1;
2212   unsigned EID9                 : 1;
2213   unsigned EID10                : 1;
2214   unsigned EID11                : 1;
2215   unsigned EID12                : 1;
2216   unsigned EID13                : 1;
2217   unsigned EID14                : 1;
2218   unsigned EID15                : 1;
2219   } __TXB0EIDHbits_t;
2220 
2221 extern __at(0x0F43) volatile __TXB0EIDHbits_t TXB0EIDHbits;
2222 
2223 #define _TXB0EIDH_EID8          0x01
2224 #define _TXB0EIDH_EID9          0x02
2225 #define _TXB0EIDH_EID10         0x04
2226 #define _TXB0EIDH_EID11         0x08
2227 #define _TXB0EIDH_EID12         0x10
2228 #define _TXB0EIDH_EID13         0x20
2229 #define _TXB0EIDH_EID14         0x40
2230 #define _TXB0EIDH_EID15         0x80
2231 
2232 //==============================================================================
2233 
2234 
2235 //==============================================================================
2236 //        TXB0EIDL Bits
2237 
2238 extern __at(0x0F44) __sfr TXB0EIDL;
2239 
2240 typedef struct
2241   {
2242   unsigned EID0                 : 1;
2243   unsigned EID1                 : 1;
2244   unsigned EID2                 : 1;
2245   unsigned EID3                 : 1;
2246   unsigned EID4                 : 1;
2247   unsigned EID5                 : 1;
2248   unsigned EID6                 : 1;
2249   unsigned EID7                 : 1;
2250   } __TXB0EIDLbits_t;
2251 
2252 extern __at(0x0F44) volatile __TXB0EIDLbits_t TXB0EIDLbits;
2253 
2254 #define _TXB0EIDL_EID0          0x01
2255 #define _TXB0EIDL_EID1          0x02
2256 #define _TXB0EIDL_EID2          0x04
2257 #define _TXB0EIDL_EID3          0x08
2258 #define _TXB0EIDL_EID4          0x10
2259 #define _TXB0EIDL_EID5          0x20
2260 #define _TXB0EIDL_EID6          0x40
2261 #define _TXB0EIDL_EID7          0x80
2262 
2263 //==============================================================================
2264 
2265 
2266 //==============================================================================
2267 //        TXB0DLC Bits
2268 
2269 extern __at(0x0F45) __sfr TXB0DLC;
2270 
2271 typedef union
2272   {
2273   struct
2274     {
2275     unsigned DLC0               : 1;
2276     unsigned DLC1               : 1;
2277     unsigned DLC2               : 1;
2278     unsigned DLC3               : 1;
2279     unsigned                    : 1;
2280     unsigned                    : 1;
2281     unsigned TXRTR              : 1;
2282     unsigned                    : 1;
2283     };
2284 
2285   struct
2286     {
2287     unsigned DLC                : 4;
2288     unsigned                    : 4;
2289     };
2290   } __TXB0DLCbits_t;
2291 
2292 extern __at(0x0F45) volatile __TXB0DLCbits_t TXB0DLCbits;
2293 
2294 #define _TXB0DLC_DLC0           0x01
2295 #define _TXB0DLC_DLC1           0x02
2296 #define _TXB0DLC_DLC2           0x04
2297 #define _TXB0DLC_DLC3           0x08
2298 #define _TXB0DLC_TXRTR          0x40
2299 
2300 //==============================================================================
2301 
2302 
2303 //==============================================================================
2304 //        TXB0D0 Bits
2305 
2306 extern __at(0x0F46) __sfr TXB0D0;
2307 
2308 typedef struct
2309   {
2310   unsigned TXB0D00              : 1;
2311   unsigned TXB0D01              : 1;
2312   unsigned TXB0D02              : 1;
2313   unsigned TXB0D03              : 1;
2314   unsigned TXB0D04              : 1;
2315   unsigned TXB0D05              : 1;
2316   unsigned TXB0D06              : 1;
2317   unsigned TXB0D07              : 1;
2318   } __TXB0D0bits_t;
2319 
2320 extern __at(0x0F46) volatile __TXB0D0bits_t TXB0D0bits;
2321 
2322 #define _TXB0D00                0x01
2323 #define _TXB0D01                0x02
2324 #define _TXB0D02                0x04
2325 #define _TXB0D03                0x08
2326 #define _TXB0D04                0x10
2327 #define _TXB0D05                0x20
2328 #define _TXB0D06                0x40
2329 #define _TXB0D07                0x80
2330 
2331 //==============================================================================
2332 
2333 
2334 //==============================================================================
2335 //        TXB0D1 Bits
2336 
2337 extern __at(0x0F47) __sfr TXB0D1;
2338 
2339 typedef struct
2340   {
2341   unsigned TXB0D10              : 1;
2342   unsigned TXB0D11              : 1;
2343   unsigned TXB0D12              : 1;
2344   unsigned TXB0D13              : 1;
2345   unsigned TXB0D14              : 1;
2346   unsigned TXB0D15              : 1;
2347   unsigned TXB0D16              : 1;
2348   unsigned TXB0D17              : 1;
2349   } __TXB0D1bits_t;
2350 
2351 extern __at(0x0F47) volatile __TXB0D1bits_t TXB0D1bits;
2352 
2353 #define _TXB0D10                0x01
2354 #define _TXB0D11                0x02
2355 #define _TXB0D12                0x04
2356 #define _TXB0D13                0x08
2357 #define _TXB0D14                0x10
2358 #define _TXB0D15                0x20
2359 #define _TXB0D16                0x40
2360 #define _TXB0D17                0x80
2361 
2362 //==============================================================================
2363 
2364 
2365 //==============================================================================
2366 //        TXB0D2 Bits
2367 
2368 extern __at(0x0F48) __sfr TXB0D2;
2369 
2370 typedef struct
2371   {
2372   unsigned TXB0D20              : 1;
2373   unsigned TXB0D21              : 1;
2374   unsigned TXB0D22              : 1;
2375   unsigned TXB0D23              : 1;
2376   unsigned TXB0D24              : 1;
2377   unsigned TXB0D25              : 1;
2378   unsigned TXB0D26              : 1;
2379   unsigned TXB0D27              : 1;
2380   } __TXB0D2bits_t;
2381 
2382 extern __at(0x0F48) volatile __TXB0D2bits_t TXB0D2bits;
2383 
2384 #define _TXB0D20                0x01
2385 #define _TXB0D21                0x02
2386 #define _TXB0D22                0x04
2387 #define _TXB0D23                0x08
2388 #define _TXB0D24                0x10
2389 #define _TXB0D25                0x20
2390 #define _TXB0D26                0x40
2391 #define _TXB0D27                0x80
2392 
2393 //==============================================================================
2394 
2395 
2396 //==============================================================================
2397 //        TXB0D3 Bits
2398 
2399 extern __at(0x0F49) __sfr TXB0D3;
2400 
2401 typedef struct
2402   {
2403   unsigned TXB0D30              : 1;
2404   unsigned TXB0D31              : 1;
2405   unsigned TXB0D32              : 1;
2406   unsigned TXB0D33              : 1;
2407   unsigned TXB0D34              : 1;
2408   unsigned TXB0D35              : 1;
2409   unsigned TXB0D36              : 1;
2410   unsigned TXB0D37              : 1;
2411   } __TXB0D3bits_t;
2412 
2413 extern __at(0x0F49) volatile __TXB0D3bits_t TXB0D3bits;
2414 
2415 #define _TXB0D30                0x01
2416 #define _TXB0D31                0x02
2417 #define _TXB0D32                0x04
2418 #define _TXB0D33                0x08
2419 #define _TXB0D34                0x10
2420 #define _TXB0D35                0x20
2421 #define _TXB0D36                0x40
2422 #define _TXB0D37                0x80
2423 
2424 //==============================================================================
2425 
2426 
2427 //==============================================================================
2428 //        TXB0D4 Bits
2429 
2430 extern __at(0x0F4A) __sfr TXB0D4;
2431 
2432 typedef struct
2433   {
2434   unsigned TXB0D40              : 1;
2435   unsigned TXB0D41              : 1;
2436   unsigned TXB0D42              : 1;
2437   unsigned TXB0D43              : 1;
2438   unsigned TXB0D44              : 1;
2439   unsigned TXB0D45              : 1;
2440   unsigned TXB0D46              : 1;
2441   unsigned TXB0D47              : 1;
2442   } __TXB0D4bits_t;
2443 
2444 extern __at(0x0F4A) volatile __TXB0D4bits_t TXB0D4bits;
2445 
2446 #define _TXB0D40                0x01
2447 #define _TXB0D41                0x02
2448 #define _TXB0D42                0x04
2449 #define _TXB0D43                0x08
2450 #define _TXB0D44                0x10
2451 #define _TXB0D45                0x20
2452 #define _TXB0D46                0x40
2453 #define _TXB0D47                0x80
2454 
2455 //==============================================================================
2456 
2457 
2458 //==============================================================================
2459 //        TXB0D5 Bits
2460 
2461 extern __at(0x0F4B) __sfr TXB0D5;
2462 
2463 typedef struct
2464   {
2465   unsigned TXB0D50              : 1;
2466   unsigned TXB0D51              : 1;
2467   unsigned TXB0D52              : 1;
2468   unsigned TXB0D53              : 1;
2469   unsigned TXB0D54              : 1;
2470   unsigned TXB0D55              : 1;
2471   unsigned TXB0D56              : 1;
2472   unsigned TXB0D57              : 1;
2473   } __TXB0D5bits_t;
2474 
2475 extern __at(0x0F4B) volatile __TXB0D5bits_t TXB0D5bits;
2476 
2477 #define _TXB0D50                0x01
2478 #define _TXB0D51                0x02
2479 #define _TXB0D52                0x04
2480 #define _TXB0D53                0x08
2481 #define _TXB0D54                0x10
2482 #define _TXB0D55                0x20
2483 #define _TXB0D56                0x40
2484 #define _TXB0D57                0x80
2485 
2486 //==============================================================================
2487 
2488 
2489 //==============================================================================
2490 //        TXB0D6 Bits
2491 
2492 extern __at(0x0F4C) __sfr TXB0D6;
2493 
2494 typedef struct
2495   {
2496   unsigned TXB0D60              : 1;
2497   unsigned TXB0D61              : 1;
2498   unsigned TXB0D62              : 1;
2499   unsigned TXB0D63              : 1;
2500   unsigned TXB0D64              : 1;
2501   unsigned TXB0D65              : 1;
2502   unsigned TXB0D66              : 1;
2503   unsigned TXB0D67              : 1;
2504   } __TXB0D6bits_t;
2505 
2506 extern __at(0x0F4C) volatile __TXB0D6bits_t TXB0D6bits;
2507 
2508 #define _TXB0D60                0x01
2509 #define _TXB0D61                0x02
2510 #define _TXB0D62                0x04
2511 #define _TXB0D63                0x08
2512 #define _TXB0D64                0x10
2513 #define _TXB0D65                0x20
2514 #define _TXB0D66                0x40
2515 #define _TXB0D67                0x80
2516 
2517 //==============================================================================
2518 
2519 
2520 //==============================================================================
2521 //        TXB0D7 Bits
2522 
2523 extern __at(0x0F4D) __sfr TXB0D7;
2524 
2525 typedef struct
2526   {
2527   unsigned TXB0D70              : 1;
2528   unsigned TXB0D71              : 1;
2529   unsigned TXB0D72              : 1;
2530   unsigned TXB0D73              : 1;
2531   unsigned TXB0D74              : 1;
2532   unsigned TXB0D75              : 1;
2533   unsigned TXB0D76              : 1;
2534   unsigned TXB0D77              : 1;
2535   } __TXB0D7bits_t;
2536 
2537 extern __at(0x0F4D) volatile __TXB0D7bits_t TXB0D7bits;
2538 
2539 #define _TXB0D70                0x01
2540 #define _TXB0D71                0x02
2541 #define _TXB0D72                0x04
2542 #define _TXB0D73                0x08
2543 #define _TXB0D74                0x10
2544 #define _TXB0D75                0x20
2545 #define _TXB0D76                0x40
2546 #define _TXB0D77                0x80
2547 
2548 //==============================================================================
2549 
2550 
2551 //==============================================================================
2552 //        CANSTATRO2 Bits
2553 
2554 extern __at(0x0F4E) __sfr CANSTATRO2;
2555 
2556 typedef union
2557   {
2558   struct
2559     {
2560     unsigned                    : 1;
2561     unsigned ICODE0             : 1;
2562     unsigned ICODE1             : 1;
2563     unsigned ICODE2             : 1;
2564     unsigned                    : 1;
2565     unsigned OPMODE0            : 1;
2566     unsigned OPMODE1            : 1;
2567     unsigned OPMODE2            : 1;
2568     };
2569 
2570   struct
2571     {
2572     unsigned                    : 1;
2573     unsigned ICODE              : 3;
2574     unsigned                    : 4;
2575     };
2576 
2577   struct
2578     {
2579     unsigned                    : 5;
2580     unsigned OPMODE             : 3;
2581     };
2582   } __CANSTATRO2bits_t;
2583 
2584 extern __at(0x0F4E) volatile __CANSTATRO2bits_t CANSTATRO2bits;
2585 
2586 #define _CANSTATRO2_ICODE0      0x02
2587 #define _CANSTATRO2_ICODE1      0x04
2588 #define _CANSTATRO2_ICODE2      0x08
2589 #define _CANSTATRO2_OPMODE0     0x20
2590 #define _CANSTATRO2_OPMODE1     0x40
2591 #define _CANSTATRO2_OPMODE2     0x80
2592 
2593 //==============================================================================
2594 
2595 
2596 //==============================================================================
2597 //        RXB1CON Bits
2598 
2599 extern __at(0x0F50) __sfr RXB1CON;
2600 
2601 typedef union
2602   {
2603   struct
2604     {
2605     unsigned FILHIT0            : 1;
2606     unsigned FILHIT1            : 1;
2607     unsigned FILHIT2            : 1;
2608     unsigned RXRTRRO            : 1;
2609     unsigned                    : 1;
2610     unsigned RXM0               : 1;
2611     unsigned RXM1               : 1;
2612     unsigned RXFUL              : 1;
2613     };
2614 
2615   struct
2616     {
2617     unsigned FILHIT             : 3;
2618     unsigned                    : 5;
2619     };
2620 
2621   struct
2622     {
2623     unsigned                    : 5;
2624     unsigned RXM                : 2;
2625     unsigned                    : 1;
2626     };
2627   } __RXB1CONbits_t;
2628 
2629 extern __at(0x0F50) volatile __RXB1CONbits_t RXB1CONbits;
2630 
2631 #define _RXB1CON_FILHIT0        0x01
2632 #define _RXB1CON_FILHIT1        0x02
2633 #define _RXB1CON_FILHIT2        0x04
2634 #define _RXB1CON_RXRTRRO        0x08
2635 #define _RXB1CON_RXM0           0x20
2636 #define _RXB1CON_RXM1           0x40
2637 #define _RXB1CON_RXFUL          0x80
2638 
2639 //==============================================================================
2640 
2641 
2642 //==============================================================================
2643 //        RXB1SIDH Bits
2644 
2645 extern __at(0x0F51) __sfr RXB1SIDH;
2646 
2647 typedef struct
2648   {
2649   unsigned SID3                 : 1;
2650   unsigned SID4                 : 1;
2651   unsigned SID5                 : 1;
2652   unsigned SID6                 : 1;
2653   unsigned SID7                 : 1;
2654   unsigned SID8                 : 1;
2655   unsigned SID9                 : 1;
2656   unsigned SID10                : 1;
2657   } __RXB1SIDHbits_t;
2658 
2659 extern __at(0x0F51) volatile __RXB1SIDHbits_t RXB1SIDHbits;
2660 
2661 #define _RXB1SIDH_SID3          0x01
2662 #define _RXB1SIDH_SID4          0x02
2663 #define _RXB1SIDH_SID5          0x04
2664 #define _RXB1SIDH_SID6          0x08
2665 #define _RXB1SIDH_SID7          0x10
2666 #define _RXB1SIDH_SID8          0x20
2667 #define _RXB1SIDH_SID9          0x40
2668 #define _RXB1SIDH_SID10         0x80
2669 
2670 //==============================================================================
2671 
2672 
2673 //==============================================================================
2674 //        RXB1SIDL Bits
2675 
2676 extern __at(0x0F52) __sfr RXB1SIDL;
2677 
2678 typedef union
2679   {
2680   struct
2681     {
2682     unsigned EID16              : 1;
2683     unsigned EID17              : 1;
2684     unsigned                    : 1;
2685     unsigned EXID               : 1;
2686     unsigned SRR                : 1;
2687     unsigned SID0               : 1;
2688     unsigned SID1               : 1;
2689     unsigned SID2               : 1;
2690     };
2691 
2692   struct
2693     {
2694     unsigned                    : 5;
2695     unsigned SID                : 3;
2696     };
2697   } __RXB1SIDLbits_t;
2698 
2699 extern __at(0x0F52) volatile __RXB1SIDLbits_t RXB1SIDLbits;
2700 
2701 #define _RXB1SIDL_EID16         0x01
2702 #define _RXB1SIDL_EID17         0x02
2703 #define _RXB1SIDL_EXID          0x08
2704 #define _RXB1SIDL_SRR           0x10
2705 #define _RXB1SIDL_SID0          0x20
2706 #define _RXB1SIDL_SID1          0x40
2707 #define _RXB1SIDL_SID2          0x80
2708 
2709 //==============================================================================
2710 
2711 
2712 //==============================================================================
2713 //        RXB1EIDH Bits
2714 
2715 extern __at(0x0F53) __sfr RXB1EIDH;
2716 
2717 typedef struct
2718   {
2719   unsigned EID8                 : 1;
2720   unsigned EID9                 : 1;
2721   unsigned EID10                : 1;
2722   unsigned EID11                : 1;
2723   unsigned EID12                : 1;
2724   unsigned EID13                : 1;
2725   unsigned EID14                : 1;
2726   unsigned EID15                : 1;
2727   } __RXB1EIDHbits_t;
2728 
2729 extern __at(0x0F53) volatile __RXB1EIDHbits_t RXB1EIDHbits;
2730 
2731 #define _RXB1EIDH_EID8          0x01
2732 #define _RXB1EIDH_EID9          0x02
2733 #define _RXB1EIDH_EID10         0x04
2734 #define _RXB1EIDH_EID11         0x08
2735 #define _RXB1EIDH_EID12         0x10
2736 #define _RXB1EIDH_EID13         0x20
2737 #define _RXB1EIDH_EID14         0x40
2738 #define _RXB1EIDH_EID15         0x80
2739 
2740 //==============================================================================
2741 
2742 
2743 //==============================================================================
2744 //        RXB1EIDL Bits
2745 
2746 extern __at(0x0F54) __sfr RXB1EIDL;
2747 
2748 typedef struct
2749   {
2750   unsigned EID0                 : 1;
2751   unsigned EID1                 : 1;
2752   unsigned EID2                 : 1;
2753   unsigned EID3                 : 1;
2754   unsigned EID4                 : 1;
2755   unsigned EID5                 : 1;
2756   unsigned EID6                 : 1;
2757   unsigned EID7                 : 1;
2758   } __RXB1EIDLbits_t;
2759 
2760 extern __at(0x0F54) volatile __RXB1EIDLbits_t RXB1EIDLbits;
2761 
2762 #define _RXB1EIDL_EID0          0x01
2763 #define _RXB1EIDL_EID1          0x02
2764 #define _RXB1EIDL_EID2          0x04
2765 #define _RXB1EIDL_EID3          0x08
2766 #define _RXB1EIDL_EID4          0x10
2767 #define _RXB1EIDL_EID5          0x20
2768 #define _RXB1EIDL_EID6          0x40
2769 #define _RXB1EIDL_EID7          0x80
2770 
2771 //==============================================================================
2772 
2773 
2774 //==============================================================================
2775 //        RXB1DLC Bits
2776 
2777 extern __at(0x0F55) __sfr RXB1DLC;
2778 
2779 typedef union
2780   {
2781   struct
2782     {
2783     unsigned DLC0               : 1;
2784     unsigned DLC1               : 1;
2785     unsigned DLC2               : 1;
2786     unsigned DLC3               : 1;
2787     unsigned RB0                : 1;
2788     unsigned RB1                : 1;
2789     unsigned RXRTR              : 1;
2790     unsigned                    : 1;
2791     };
2792 
2793   struct
2794     {
2795     unsigned                    : 1;
2796     unsigned                    : 1;
2797     unsigned                    : 1;
2798     unsigned                    : 1;
2799     unsigned RESB0              : 1;
2800     unsigned RESB1              : 1;
2801     unsigned                    : 1;
2802     unsigned                    : 1;
2803     };
2804 
2805   struct
2806     {
2807     unsigned DLC                : 4;
2808     unsigned                    : 4;
2809     };
2810 
2811   struct
2812     {
2813     unsigned                    : 4;
2814     unsigned RB                 : 2;
2815     unsigned                    : 2;
2816     };
2817 
2818   struct
2819     {
2820     unsigned                    : 4;
2821     unsigned RESB               : 2;
2822     unsigned                    : 2;
2823     };
2824   } __RXB1DLCbits_t;
2825 
2826 extern __at(0x0F55) volatile __RXB1DLCbits_t RXB1DLCbits;
2827 
2828 #define _RXB1DLC_DLC0           0x01
2829 #define _RXB1DLC_DLC1           0x02
2830 #define _RXB1DLC_DLC2           0x04
2831 #define _RXB1DLC_DLC3           0x08
2832 #define _RXB1DLC_RB0            0x10
2833 #define _RXB1DLC_RESB0          0x10
2834 #define _RXB1DLC_RB1            0x20
2835 #define _RXB1DLC_RESB1          0x20
2836 #define _RXB1DLC_RXRTR          0x40
2837 
2838 //==============================================================================
2839 
2840 
2841 //==============================================================================
2842 //        RXB1D0 Bits
2843 
2844 extern __at(0x0F56) __sfr RXB1D0;
2845 
2846 typedef struct
2847   {
2848   unsigned RXB1D00              : 1;
2849   unsigned RXB1D01              : 1;
2850   unsigned RXB1D02              : 1;
2851   unsigned RXB1D03              : 1;
2852   unsigned RXB1D04              : 1;
2853   unsigned RXB1D05              : 1;
2854   unsigned RXB1D06              : 1;
2855   unsigned RXB1D07              : 1;
2856   } __RXB1D0bits_t;
2857 
2858 extern __at(0x0F56) volatile __RXB1D0bits_t RXB1D0bits;
2859 
2860 #define _RXB1D00                0x01
2861 #define _RXB1D01                0x02
2862 #define _RXB1D02                0x04
2863 #define _RXB1D03                0x08
2864 #define _RXB1D04                0x10
2865 #define _RXB1D05                0x20
2866 #define _RXB1D06                0x40
2867 #define _RXB1D07                0x80
2868 
2869 //==============================================================================
2870 
2871 
2872 //==============================================================================
2873 //        RXB1D1 Bits
2874 
2875 extern __at(0x0F57) __sfr RXB1D1;
2876 
2877 typedef struct
2878   {
2879   unsigned RXB1D10              : 1;
2880   unsigned RXB1D11              : 1;
2881   unsigned RXB1D12              : 1;
2882   unsigned RXB1D13              : 1;
2883   unsigned RXB1D14              : 1;
2884   unsigned RXB1D15              : 1;
2885   unsigned RXB1D16              : 1;
2886   unsigned RXB1D17              : 1;
2887   } __RXB1D1bits_t;
2888 
2889 extern __at(0x0F57) volatile __RXB1D1bits_t RXB1D1bits;
2890 
2891 #define _RXB1D10                0x01
2892 #define _RXB1D11                0x02
2893 #define _RXB1D12                0x04
2894 #define _RXB1D13                0x08
2895 #define _RXB1D14                0x10
2896 #define _RXB1D15                0x20
2897 #define _RXB1D16                0x40
2898 #define _RXB1D17                0x80
2899 
2900 //==============================================================================
2901 
2902 
2903 //==============================================================================
2904 //        RXB1D2 Bits
2905 
2906 extern __at(0x0F58) __sfr RXB1D2;
2907 
2908 typedef struct
2909   {
2910   unsigned RXB1D20              : 1;
2911   unsigned RXB1D21              : 1;
2912   unsigned RXB1D22              : 1;
2913   unsigned RXB1D23              : 1;
2914   unsigned RXB1D24              : 1;
2915   unsigned RXB1D25              : 1;
2916   unsigned RXB1D26              : 1;
2917   unsigned RXB1D27              : 1;
2918   } __RXB1D2bits_t;
2919 
2920 extern __at(0x0F58) volatile __RXB1D2bits_t RXB1D2bits;
2921 
2922 #define _RXB1D20                0x01
2923 #define _RXB1D21                0x02
2924 #define _RXB1D22                0x04
2925 #define _RXB1D23                0x08
2926 #define _RXB1D24                0x10
2927 #define _RXB1D25                0x20
2928 #define _RXB1D26                0x40
2929 #define _RXB1D27                0x80
2930 
2931 //==============================================================================
2932 
2933 
2934 //==============================================================================
2935 //        RXB1D3 Bits
2936 
2937 extern __at(0x0F59) __sfr RXB1D3;
2938 
2939 typedef struct
2940   {
2941   unsigned RXB1D30              : 1;
2942   unsigned RXB1D31              : 1;
2943   unsigned RXB1D32              : 1;
2944   unsigned RXB1D33              : 1;
2945   unsigned RXB1D34              : 1;
2946   unsigned RXB1D35              : 1;
2947   unsigned RXB1D36              : 1;
2948   unsigned RXB1D37              : 1;
2949   } __RXB1D3bits_t;
2950 
2951 extern __at(0x0F59) volatile __RXB1D3bits_t RXB1D3bits;
2952 
2953 #define _RXB1D30                0x01
2954 #define _RXB1D31                0x02
2955 #define _RXB1D32                0x04
2956 #define _RXB1D33                0x08
2957 #define _RXB1D34                0x10
2958 #define _RXB1D35                0x20
2959 #define _RXB1D36                0x40
2960 #define _RXB1D37                0x80
2961 
2962 //==============================================================================
2963 
2964 
2965 //==============================================================================
2966 //        RXB1D4 Bits
2967 
2968 extern __at(0x0F5A) __sfr RXB1D4;
2969 
2970 typedef struct
2971   {
2972   unsigned RXB1D40              : 1;
2973   unsigned RXB1D41              : 1;
2974   unsigned RXB1D42              : 1;
2975   unsigned RXB1D43              : 1;
2976   unsigned RXB1D44              : 1;
2977   unsigned RXB1D45              : 1;
2978   unsigned RXB1D46              : 1;
2979   unsigned RXB1D47              : 1;
2980   } __RXB1D4bits_t;
2981 
2982 extern __at(0x0F5A) volatile __RXB1D4bits_t RXB1D4bits;
2983 
2984 #define _RXB1D40                0x01
2985 #define _RXB1D41                0x02
2986 #define _RXB1D42                0x04
2987 #define _RXB1D43                0x08
2988 #define _RXB1D44                0x10
2989 #define _RXB1D45                0x20
2990 #define _RXB1D46                0x40
2991 #define _RXB1D47                0x80
2992 
2993 //==============================================================================
2994 
2995 
2996 //==============================================================================
2997 //        RXB1D5 Bits
2998 
2999 extern __at(0x0F5B) __sfr RXB1D5;
3000 
3001 typedef struct
3002   {
3003   unsigned RXB1D50              : 1;
3004   unsigned RXB1D51              : 1;
3005   unsigned RXB1D52              : 1;
3006   unsigned RXB1D53              : 1;
3007   unsigned RXB1D54              : 1;
3008   unsigned RXB1D55              : 1;
3009   unsigned RXB1D56              : 1;
3010   unsigned RXB1D57              : 1;
3011   } __RXB1D5bits_t;
3012 
3013 extern __at(0x0F5B) volatile __RXB1D5bits_t RXB1D5bits;
3014 
3015 #define _RXB1D50                0x01
3016 #define _RXB1D51                0x02
3017 #define _RXB1D52                0x04
3018 #define _RXB1D53                0x08
3019 #define _RXB1D54                0x10
3020 #define _RXB1D55                0x20
3021 #define _RXB1D56                0x40
3022 #define _RXB1D57                0x80
3023 
3024 //==============================================================================
3025 
3026 
3027 //==============================================================================
3028 //        RXB1D6 Bits
3029 
3030 extern __at(0x0F5C) __sfr RXB1D6;
3031 
3032 typedef struct
3033   {
3034   unsigned RXB1D60              : 1;
3035   unsigned RXB1D61              : 1;
3036   unsigned RXB1D62              : 1;
3037   unsigned RXB1D63              : 1;
3038   unsigned RXB1D64              : 1;
3039   unsigned RXB1D65              : 1;
3040   unsigned RXB1D66              : 1;
3041   unsigned RXB1D67              : 1;
3042   } __RXB1D6bits_t;
3043 
3044 extern __at(0x0F5C) volatile __RXB1D6bits_t RXB1D6bits;
3045 
3046 #define _RXB1D60                0x01
3047 #define _RXB1D61                0x02
3048 #define _RXB1D62                0x04
3049 #define _RXB1D63                0x08
3050 #define _RXB1D64                0x10
3051 #define _RXB1D65                0x20
3052 #define _RXB1D66                0x40
3053 #define _RXB1D67                0x80
3054 
3055 //==============================================================================
3056 
3057 
3058 //==============================================================================
3059 //        RXB1D7 Bits
3060 
3061 extern __at(0x0F5D) __sfr RXB1D7;
3062 
3063 typedef struct
3064   {
3065   unsigned RXB1D70              : 1;
3066   unsigned RXB1D71              : 1;
3067   unsigned RXB1D72              : 1;
3068   unsigned RXB1D73              : 1;
3069   unsigned RXB1D74              : 1;
3070   unsigned RXB1D75              : 1;
3071   unsigned RXB1D76              : 1;
3072   unsigned RXB1D77              : 1;
3073   } __RXB1D7bits_t;
3074 
3075 extern __at(0x0F5D) volatile __RXB1D7bits_t RXB1D7bits;
3076 
3077 #define _RXB1D70                0x01
3078 #define _RXB1D71                0x02
3079 #define _RXB1D72                0x04
3080 #define _RXB1D73                0x08
3081 #define _RXB1D74                0x10
3082 #define _RXB1D75                0x20
3083 #define _RXB1D76                0x40
3084 #define _RXB1D77                0x80
3085 
3086 //==============================================================================
3087 
3088 
3089 //==============================================================================
3090 //        CANSTATRO1 Bits
3091 
3092 extern __at(0x0F5E) __sfr CANSTATRO1;
3093 
3094 typedef union
3095   {
3096   struct
3097     {
3098     unsigned                    : 1;
3099     unsigned ICODE0             : 1;
3100     unsigned ICODE1             : 1;
3101     unsigned ICODE2             : 1;
3102     unsigned                    : 1;
3103     unsigned OPMODE0            : 1;
3104     unsigned OPMODE1            : 1;
3105     unsigned OPMODE2            : 1;
3106     };
3107 
3108   struct
3109     {
3110     unsigned                    : 1;
3111     unsigned ICODE              : 3;
3112     unsigned                    : 4;
3113     };
3114 
3115   struct
3116     {
3117     unsigned                    : 5;
3118     unsigned OPMODE             : 3;
3119     };
3120   } __CANSTATRO1bits_t;
3121 
3122 extern __at(0x0F5E) volatile __CANSTATRO1bits_t CANSTATRO1bits;
3123 
3124 #define _CANSTATRO1_ICODE0      0x02
3125 #define _CANSTATRO1_ICODE1      0x04
3126 #define _CANSTATRO1_ICODE2      0x08
3127 #define _CANSTATRO1_OPMODE0     0x20
3128 #define _CANSTATRO1_OPMODE1     0x40
3129 #define _CANSTATRO1_OPMODE2     0x80
3130 
3131 //==============================================================================
3132 
3133 
3134 //==============================================================================
3135 //        RXB0CON Bits
3136 
3137 extern __at(0x0F60) __sfr RXB0CON;
3138 
3139 typedef union
3140   {
3141   struct
3142     {
3143     unsigned FILHIT0            : 1;
3144     unsigned JTOFF              : 1;
3145     unsigned RXB0DBEN           : 1;
3146     unsigned RXRTRRO            : 1;
3147     unsigned                    : 1;
3148     unsigned RXM0               : 1;
3149     unsigned RXM1               : 1;
3150     unsigned RXFUL              : 1;
3151     };
3152 
3153   struct
3154     {
3155     unsigned                    : 5;
3156     unsigned RXM                : 2;
3157     unsigned                    : 1;
3158     };
3159   } __RXB0CONbits_t;
3160 
3161 extern __at(0x0F60) volatile __RXB0CONbits_t RXB0CONbits;
3162 
3163 #define _FILHIT0                0x01
3164 #define _JTOFF                  0x02
3165 #define _RXB0DBEN               0x04
3166 #define _RXRTRRO                0x08
3167 #define _RXM0                   0x20
3168 #define _RXM1                   0x40
3169 #define _RXFUL                  0x80
3170 
3171 //==============================================================================
3172 
3173 
3174 //==============================================================================
3175 //        RXB0SIDH Bits
3176 
3177 extern __at(0x0F61) __sfr RXB0SIDH;
3178 
3179 typedef struct
3180   {
3181   unsigned SID3                 : 1;
3182   unsigned SID4                 : 1;
3183   unsigned SID5                 : 1;
3184   unsigned SID6                 : 1;
3185   unsigned SID7                 : 1;
3186   unsigned SID8                 : 1;
3187   unsigned SID9                 : 1;
3188   unsigned SID10                : 1;
3189   } __RXB0SIDHbits_t;
3190 
3191 extern __at(0x0F61) volatile __RXB0SIDHbits_t RXB0SIDHbits;
3192 
3193 #define _SID3                   0x01
3194 #define _SID4                   0x02
3195 #define _SID5                   0x04
3196 #define _SID6                   0x08
3197 #define _SID7                   0x10
3198 #define _SID8                   0x20
3199 #define _SID9                   0x40
3200 #define _SID10                  0x80
3201 
3202 //==============================================================================
3203 
3204 
3205 //==============================================================================
3206 //        RXB0SIDL Bits
3207 
3208 extern __at(0x0F62) __sfr RXB0SIDL;
3209 
3210 typedef union
3211   {
3212   struct
3213     {
3214     unsigned EID16              : 1;
3215     unsigned EID17              : 1;
3216     unsigned                    : 1;
3217     unsigned EXID               : 1;
3218     unsigned SRR                : 1;
3219     unsigned SID0               : 1;
3220     unsigned SID1               : 1;
3221     unsigned SID2               : 1;
3222     };
3223 
3224   struct
3225     {
3226     unsigned                    : 5;
3227     unsigned SID                : 3;
3228     };
3229   } __RXB0SIDLbits_t;
3230 
3231 extern __at(0x0F62) volatile __RXB0SIDLbits_t RXB0SIDLbits;
3232 
3233 #define _EID16                  0x01
3234 #define _EID17                  0x02
3235 #define _EXID                   0x08
3236 #define _SRR                    0x10
3237 #define _SID0                   0x20
3238 #define _SID1                   0x40
3239 #define _SID2                   0x80
3240 
3241 //==============================================================================
3242 
3243 
3244 //==============================================================================
3245 //        RXB0EIDH Bits
3246 
3247 extern __at(0x0F63) __sfr RXB0EIDH;
3248 
3249 typedef struct
3250   {
3251   unsigned EID8                 : 1;
3252   unsigned EID9                 : 1;
3253   unsigned EID10                : 1;
3254   unsigned EID11                : 1;
3255   unsigned EID12                : 1;
3256   unsigned EID13                : 1;
3257   unsigned EID14                : 1;
3258   unsigned EID15                : 1;
3259   } __RXB0EIDHbits_t;
3260 
3261 extern __at(0x0F63) volatile __RXB0EIDHbits_t RXB0EIDHbits;
3262 
3263 #define _EID8                   0x01
3264 #define _EID9                   0x02
3265 #define _EID10                  0x04
3266 #define _EID11                  0x08
3267 #define _EID12                  0x10
3268 #define _EID13                  0x20
3269 #define _EID14                  0x40
3270 #define _EID15                  0x80
3271 
3272 //==============================================================================
3273 
3274 
3275 //==============================================================================
3276 //        RXB0EIDL Bits
3277 
3278 extern __at(0x0F64) __sfr RXB0EIDL;
3279 
3280 typedef struct
3281   {
3282   unsigned EID0                 : 1;
3283   unsigned EID1                 : 1;
3284   unsigned EID2                 : 1;
3285   unsigned EID3                 : 1;
3286   unsigned EID4                 : 1;
3287   unsigned EID5                 : 1;
3288   unsigned EID6                 : 1;
3289   unsigned EID7                 : 1;
3290   } __RXB0EIDLbits_t;
3291 
3292 extern __at(0x0F64) volatile __RXB0EIDLbits_t RXB0EIDLbits;
3293 
3294 #define _EID0                   0x01
3295 #define _EID1                   0x02
3296 #define _EID2                   0x04
3297 #define _EID3                   0x08
3298 #define _EID4                   0x10
3299 #define _EID5                   0x20
3300 #define _EID6                   0x40
3301 #define _EID7                   0x80
3302 
3303 //==============================================================================
3304 
3305 
3306 //==============================================================================
3307 //        RXB0DLC Bits
3308 
3309 extern __at(0x0F65) __sfr RXB0DLC;
3310 
3311 typedef union
3312   {
3313   struct
3314     {
3315     unsigned DLC0               : 1;
3316     unsigned DLC1               : 1;
3317     unsigned DLC2               : 1;
3318     unsigned DLC3               : 1;
3319     unsigned RB0                : 1;
3320     unsigned RB1                : 1;
3321     unsigned RXRTR              : 1;
3322     unsigned                    : 1;
3323     };
3324 
3325   struct
3326     {
3327     unsigned                    : 1;
3328     unsigned                    : 1;
3329     unsigned                    : 1;
3330     unsigned                    : 1;
3331     unsigned RESB0              : 1;
3332     unsigned RESB1              : 1;
3333     unsigned                    : 1;
3334     unsigned                    : 1;
3335     };
3336 
3337   struct
3338     {
3339     unsigned DLC                : 4;
3340     unsigned                    : 4;
3341     };
3342 
3343   struct
3344     {
3345     unsigned                    : 4;
3346     unsigned RB                 : 2;
3347     unsigned                    : 2;
3348     };
3349 
3350   struct
3351     {
3352     unsigned                    : 4;
3353     unsigned RESB               : 2;
3354     unsigned                    : 2;
3355     };
3356   } __RXB0DLCbits_t;
3357 
3358 extern __at(0x0F65) volatile __RXB0DLCbits_t RXB0DLCbits;
3359 
3360 #define _RXB0DLC_DLC0           0x01
3361 #define _RXB0DLC_DLC1           0x02
3362 #define _RXB0DLC_DLC2           0x04
3363 #define _RXB0DLC_DLC3           0x08
3364 #define _RXB0DLC_RB0            0x10
3365 #define _RXB0DLC_RESB0          0x10
3366 #define _RXB0DLC_RB1            0x20
3367 #define _RXB0DLC_RESB1          0x20
3368 #define _RXB0DLC_RXRTR          0x40
3369 
3370 //==============================================================================
3371 
3372 
3373 //==============================================================================
3374 //        RXB0D0 Bits
3375 
3376 extern __at(0x0F66) __sfr RXB0D0;
3377 
3378 typedef union
3379   {
3380   struct
3381     {
3382     unsigned RXB0D00            : 1;
3383     unsigned RXB0D01            : 1;
3384     unsigned RXB0D02            : 1;
3385     unsigned RXB0D03            : 1;
3386     unsigned RXB0D04            : 1;
3387     unsigned RXB0D05            : 1;
3388     unsigned RXB0D06            : 1;
3389     unsigned RXB0D07            : 1;
3390     };
3391 
3392   struct
3393     {
3394     unsigned RB0D00             : 1;
3395     unsigned RB0D01             : 1;
3396     unsigned RB0D02             : 1;
3397     unsigned RB0D03             : 1;
3398     unsigned RB0D04             : 1;
3399     unsigned RB0D05             : 1;
3400     unsigned RB0D06             : 1;
3401     unsigned RB0D07             : 1;
3402     };
3403   } __RXB0D0bits_t;
3404 
3405 extern __at(0x0F66) volatile __RXB0D0bits_t RXB0D0bits;
3406 
3407 #define _RXB0D00                0x01
3408 #define _RB0D00                 0x01
3409 #define _RXB0D01                0x02
3410 #define _RB0D01                 0x02
3411 #define _RXB0D02                0x04
3412 #define _RB0D02                 0x04
3413 #define _RXB0D03                0x08
3414 #define _RB0D03                 0x08
3415 #define _RXB0D04                0x10
3416 #define _RB0D04                 0x10
3417 #define _RXB0D05                0x20
3418 #define _RB0D05                 0x20
3419 #define _RXB0D06                0x40
3420 #define _RB0D06                 0x40
3421 #define _RXB0D07                0x80
3422 #define _RB0D07                 0x80
3423 
3424 //==============================================================================
3425 
3426 
3427 //==============================================================================
3428 //        RXB0D1 Bits
3429 
3430 extern __at(0x0F67) __sfr RXB0D1;
3431 
3432 typedef union
3433   {
3434   struct
3435     {
3436     unsigned RXB0D10            : 1;
3437     unsigned RXB0D11            : 1;
3438     unsigned RXB0D12            : 1;
3439     unsigned RXB0D13            : 1;
3440     unsigned RXB0D14            : 1;
3441     unsigned RXB0D15            : 1;
3442     unsigned RXB0D16            : 1;
3443     unsigned RXB0D17            : 1;
3444     };
3445 
3446   struct
3447     {
3448     unsigned RB0D10             : 1;
3449     unsigned RB0D11             : 1;
3450     unsigned RB0D12             : 1;
3451     unsigned RB0D13             : 1;
3452     unsigned RB0D14             : 1;
3453     unsigned RB0D15             : 1;
3454     unsigned RB0D16             : 1;
3455     unsigned RB0D17             : 1;
3456     };
3457   } __RXB0D1bits_t;
3458 
3459 extern __at(0x0F67) volatile __RXB0D1bits_t RXB0D1bits;
3460 
3461 #define _RXB0D10                0x01
3462 #define _RB0D10                 0x01
3463 #define _RXB0D11                0x02
3464 #define _RB0D11                 0x02
3465 #define _RXB0D12                0x04
3466 #define _RB0D12                 0x04
3467 #define _RXB0D13                0x08
3468 #define _RB0D13                 0x08
3469 #define _RXB0D14                0x10
3470 #define _RB0D14                 0x10
3471 #define _RXB0D15                0x20
3472 #define _RB0D15                 0x20
3473 #define _RXB0D16                0x40
3474 #define _RB0D16                 0x40
3475 #define _RXB0D17                0x80
3476 #define _RB0D17                 0x80
3477 
3478 //==============================================================================
3479 
3480 
3481 //==============================================================================
3482 //        RXB0D2 Bits
3483 
3484 extern __at(0x0F68) __sfr RXB0D2;
3485 
3486 typedef union
3487   {
3488   struct
3489     {
3490     unsigned RXB0D20            : 1;
3491     unsigned RXB0D21            : 1;
3492     unsigned RXB0D22            : 1;
3493     unsigned RXB0D23            : 1;
3494     unsigned RXB0D24            : 1;
3495     unsigned RXB0D25            : 1;
3496     unsigned RXB0D26            : 1;
3497     unsigned RXB0D27            : 1;
3498     };
3499 
3500   struct
3501     {
3502     unsigned RB0D20             : 1;
3503     unsigned RB0D21             : 1;
3504     unsigned RB0D22             : 1;
3505     unsigned RB0D23             : 1;
3506     unsigned RB0D24             : 1;
3507     unsigned RB0D25             : 1;
3508     unsigned RB0D26             : 1;
3509     unsigned RB0D27             : 1;
3510     };
3511   } __RXB0D2bits_t;
3512 
3513 extern __at(0x0F68) volatile __RXB0D2bits_t RXB0D2bits;
3514 
3515 #define _RXB0D20                0x01
3516 #define _RB0D20                 0x01
3517 #define _RXB0D21                0x02
3518 #define _RB0D21                 0x02
3519 #define _RXB0D22                0x04
3520 #define _RB0D22                 0x04
3521 #define _RXB0D23                0x08
3522 #define _RB0D23                 0x08
3523 #define _RXB0D24                0x10
3524 #define _RB0D24                 0x10
3525 #define _RXB0D25                0x20
3526 #define _RB0D25                 0x20
3527 #define _RXB0D26                0x40
3528 #define _RB0D26                 0x40
3529 #define _RXB0D27                0x80
3530 #define _RB0D27                 0x80
3531 
3532 //==============================================================================
3533 
3534 
3535 //==============================================================================
3536 //        RXB0D3 Bits
3537 
3538 extern __at(0x0F69) __sfr RXB0D3;
3539 
3540 typedef union
3541   {
3542   struct
3543     {
3544     unsigned RXB0D30            : 1;
3545     unsigned RXB0D31            : 1;
3546     unsigned RXB0D32            : 1;
3547     unsigned RXB0D33            : 1;
3548     unsigned RXB0D34            : 1;
3549     unsigned RXB0D35            : 1;
3550     unsigned RXB0D36            : 1;
3551     unsigned RXB0D37            : 1;
3552     };
3553 
3554   struct
3555     {
3556     unsigned RB0D30             : 1;
3557     unsigned RB0D31             : 1;
3558     unsigned RB0D32             : 1;
3559     unsigned RB0D33             : 1;
3560     unsigned RB0D34             : 1;
3561     unsigned RB0D35             : 1;
3562     unsigned RB0D36             : 1;
3563     unsigned RB0D37             : 1;
3564     };
3565   } __RXB0D3bits_t;
3566 
3567 extern __at(0x0F69) volatile __RXB0D3bits_t RXB0D3bits;
3568 
3569 #define _RXB0D30                0x01
3570 #define _RB0D30                 0x01
3571 #define _RXB0D31                0x02
3572 #define _RB0D31                 0x02
3573 #define _RXB0D32                0x04
3574 #define _RB0D32                 0x04
3575 #define _RXB0D33                0x08
3576 #define _RB0D33                 0x08
3577 #define _RXB0D34                0x10
3578 #define _RB0D34                 0x10
3579 #define _RXB0D35                0x20
3580 #define _RB0D35                 0x20
3581 #define _RXB0D36                0x40
3582 #define _RB0D36                 0x40
3583 #define _RXB0D37                0x80
3584 #define _RB0D37                 0x80
3585 
3586 //==============================================================================
3587 
3588 
3589 //==============================================================================
3590 //        RXB0D4 Bits
3591 
3592 extern __at(0x0F6A) __sfr RXB0D4;
3593 
3594 typedef union
3595   {
3596   struct
3597     {
3598     unsigned RXB0D40            : 1;
3599     unsigned RXB0D41            : 1;
3600     unsigned RXB0D42            : 1;
3601     unsigned RXB0D43            : 1;
3602     unsigned RXB0D44            : 1;
3603     unsigned RXB0D45            : 1;
3604     unsigned RXB0D46            : 1;
3605     unsigned RXB0D47            : 1;
3606     };
3607 
3608   struct
3609     {
3610     unsigned RB0D40             : 1;
3611     unsigned RB0D41             : 1;
3612     unsigned RB0D42             : 1;
3613     unsigned RB0D43             : 1;
3614     unsigned RB0D44             : 1;
3615     unsigned RB0D45             : 1;
3616     unsigned RB0D46             : 1;
3617     unsigned RB0D47             : 1;
3618     };
3619   } __RXB0D4bits_t;
3620 
3621 extern __at(0x0F6A) volatile __RXB0D4bits_t RXB0D4bits;
3622 
3623 #define _RXB0D40                0x01
3624 #define _RB0D40                 0x01
3625 #define _RXB0D41                0x02
3626 #define _RB0D41                 0x02
3627 #define _RXB0D42                0x04
3628 #define _RB0D42                 0x04
3629 #define _RXB0D43                0x08
3630 #define _RB0D43                 0x08
3631 #define _RXB0D44                0x10
3632 #define _RB0D44                 0x10
3633 #define _RXB0D45                0x20
3634 #define _RB0D45                 0x20
3635 #define _RXB0D46                0x40
3636 #define _RB0D46                 0x40
3637 #define _RXB0D47                0x80
3638 #define _RB0D47                 0x80
3639 
3640 //==============================================================================
3641 
3642 
3643 //==============================================================================
3644 //        RXB0D5 Bits
3645 
3646 extern __at(0x0F6B) __sfr RXB0D5;
3647 
3648 typedef union
3649   {
3650   struct
3651     {
3652     unsigned RXB0D50            : 1;
3653     unsigned RXB0D51            : 1;
3654     unsigned RXB0D52            : 1;
3655     unsigned RXB0D53            : 1;
3656     unsigned RXB0D54            : 1;
3657     unsigned RXB0D55            : 1;
3658     unsigned RXB0D56            : 1;
3659     unsigned RXB0D57            : 1;
3660     };
3661 
3662   struct
3663     {
3664     unsigned RB0D50             : 1;
3665     unsigned RB0D51             : 1;
3666     unsigned RB0D52             : 1;
3667     unsigned RB0D53             : 1;
3668     unsigned RB0D54             : 1;
3669     unsigned RB0D55             : 1;
3670     unsigned RB0D56             : 1;
3671     unsigned RB0D57             : 1;
3672     };
3673   } __RXB0D5bits_t;
3674 
3675 extern __at(0x0F6B) volatile __RXB0D5bits_t RXB0D5bits;
3676 
3677 #define _RXB0D50                0x01
3678 #define _RB0D50                 0x01
3679 #define _RXB0D51                0x02
3680 #define _RB0D51                 0x02
3681 #define _RXB0D52                0x04
3682 #define _RB0D52                 0x04
3683 #define _RXB0D53                0x08
3684 #define _RB0D53                 0x08
3685 #define _RXB0D54                0x10
3686 #define _RB0D54                 0x10
3687 #define _RXB0D55                0x20
3688 #define _RB0D55                 0x20
3689 #define _RXB0D56                0x40
3690 #define _RB0D56                 0x40
3691 #define _RXB0D57                0x80
3692 #define _RB0D57                 0x80
3693 
3694 //==============================================================================
3695 
3696 
3697 //==============================================================================
3698 //        RXB0D6 Bits
3699 
3700 extern __at(0x0F6C) __sfr RXB0D6;
3701 
3702 typedef union
3703   {
3704   struct
3705     {
3706     unsigned RXB0D60            : 1;
3707     unsigned RXB0D61            : 1;
3708     unsigned RXB0D62            : 1;
3709     unsigned RXB0D63            : 1;
3710     unsigned RXB0D64            : 1;
3711     unsigned RXB0D65            : 1;
3712     unsigned RXB0D66            : 1;
3713     unsigned RXB0D67            : 1;
3714     };
3715 
3716   struct
3717     {
3718     unsigned RB0D60             : 1;
3719     unsigned RB0D61             : 1;
3720     unsigned RB0D62             : 1;
3721     unsigned RB0D63             : 1;
3722     unsigned RB0D64             : 1;
3723     unsigned RB0D65             : 1;
3724     unsigned RB0D66             : 1;
3725     unsigned RB0D67             : 1;
3726     };
3727   } __RXB0D6bits_t;
3728 
3729 extern __at(0x0F6C) volatile __RXB0D6bits_t RXB0D6bits;
3730 
3731 #define _RXB0D60                0x01
3732 #define _RB0D60                 0x01
3733 #define _RXB0D61                0x02
3734 #define _RB0D61                 0x02
3735 #define _RXB0D62                0x04
3736 #define _RB0D62                 0x04
3737 #define _RXB0D63                0x08
3738 #define _RB0D63                 0x08
3739 #define _RXB0D64                0x10
3740 #define _RB0D64                 0x10
3741 #define _RXB0D65                0x20
3742 #define _RB0D65                 0x20
3743 #define _RXB0D66                0x40
3744 #define _RB0D66                 0x40
3745 #define _RXB0D67                0x80
3746 #define _RB0D67                 0x80
3747 
3748 //==============================================================================
3749 
3750 
3751 //==============================================================================
3752 //        RXB0D7 Bits
3753 
3754 extern __at(0x0F6D) __sfr RXB0D7;
3755 
3756 typedef union
3757   {
3758   struct
3759     {
3760     unsigned RXB0D70            : 1;
3761     unsigned RXB0D71            : 1;
3762     unsigned RXB0D72            : 1;
3763     unsigned RXB0D73            : 1;
3764     unsigned RXB0D74            : 1;
3765     unsigned RXB0D75            : 1;
3766     unsigned RXB0D76            : 1;
3767     unsigned RXB0D77            : 1;
3768     };
3769 
3770   struct
3771     {
3772     unsigned RB0D70             : 1;
3773     unsigned RB0D71             : 1;
3774     unsigned RB0D72             : 1;
3775     unsigned RB0D73             : 1;
3776     unsigned RB0D74             : 1;
3777     unsigned RB0D75             : 1;
3778     unsigned RB0D76             : 1;
3779     unsigned RB0D77             : 1;
3780     };
3781   } __RXB0D7bits_t;
3782 
3783 extern __at(0x0F6D) volatile __RXB0D7bits_t RXB0D7bits;
3784 
3785 #define _RXB0D70                0x01
3786 #define _RB0D70                 0x01
3787 #define _RXB0D71                0x02
3788 #define _RB0D71                 0x02
3789 #define _RXB0D72                0x04
3790 #define _RB0D72                 0x04
3791 #define _RXB0D73                0x08
3792 #define _RB0D73                 0x08
3793 #define _RXB0D74                0x10
3794 #define _RB0D74                 0x10
3795 #define _RXB0D75                0x20
3796 #define _RB0D75                 0x20
3797 #define _RXB0D76                0x40
3798 #define _RB0D76                 0x40
3799 #define _RXB0D77                0x80
3800 #define _RB0D77                 0x80
3801 
3802 //==============================================================================
3803 
3804 
3805 //==============================================================================
3806 //        CANSTAT Bits
3807 
3808 extern __at(0x0F6E) __sfr CANSTAT;
3809 
3810 typedef union
3811   {
3812   struct
3813     {
3814     unsigned                    : 1;
3815     unsigned ICODE0             : 1;
3816     unsigned ICODE1             : 1;
3817     unsigned ICODE2             : 1;
3818     unsigned                    : 1;
3819     unsigned OPMODE0            : 1;
3820     unsigned OPMODE1            : 1;
3821     unsigned OPMODE2            : 1;
3822     };
3823 
3824   struct
3825     {
3826     unsigned                    : 1;
3827     unsigned ICODE              : 3;
3828     unsigned                    : 4;
3829     };
3830 
3831   struct
3832     {
3833     unsigned                    : 5;
3834     unsigned OPMODE             : 3;
3835     };
3836   } __CANSTATbits_t;
3837 
3838 extern __at(0x0F6E) volatile __CANSTATbits_t CANSTATbits;
3839 
3840 #define _ICODE0                 0x02
3841 #define _ICODE1                 0x04
3842 #define _ICODE2                 0x08
3843 #define _OPMODE0                0x20
3844 #define _OPMODE1                0x40
3845 #define _OPMODE2                0x80
3846 
3847 //==============================================================================
3848 
3849 
3850 //==============================================================================
3851 //        CANCON Bits
3852 
3853 extern __at(0x0F6F) __sfr CANCON;
3854 
3855 typedef union
3856   {
3857   struct
3858     {
3859     unsigned                    : 1;
3860     unsigned WIN0               : 1;
3861     unsigned WIN1               : 1;
3862     unsigned WIN2               : 1;
3863     unsigned ABAT               : 1;
3864     unsigned REQOP0             : 1;
3865     unsigned REQOP1             : 1;
3866     unsigned REQOP2             : 1;
3867     };
3868 
3869   struct
3870     {
3871     unsigned                    : 1;
3872     unsigned WIN                : 3;
3873     unsigned                    : 4;
3874     };
3875 
3876   struct
3877     {
3878     unsigned                    : 5;
3879     unsigned REQOP              : 3;
3880     };
3881   } __CANCONbits_t;
3882 
3883 extern __at(0x0F6F) volatile __CANCONbits_t CANCONbits;
3884 
3885 #define _WIN0                   0x02
3886 #define _WIN1                   0x04
3887 #define _WIN2                   0x08
3888 #define _ABAT                   0x10
3889 #define _REQOP0                 0x20
3890 #define _REQOP1                 0x40
3891 #define _REQOP2                 0x80
3892 
3893 //==============================================================================
3894 
3895 
3896 //==============================================================================
3897 //        BRGCON1 Bits
3898 
3899 extern __at(0x0F70) __sfr BRGCON1;
3900 
3901 typedef union
3902   {
3903   struct
3904     {
3905     unsigned BRP0               : 1;
3906     unsigned BRP1               : 1;
3907     unsigned BRP2               : 1;
3908     unsigned BRP3               : 1;
3909     unsigned BRP4               : 1;
3910     unsigned BRP5               : 1;
3911     unsigned SJW0               : 1;
3912     unsigned SJW1               : 1;
3913     };
3914 
3915   struct
3916     {
3917     unsigned BRP                : 6;
3918     unsigned                    : 2;
3919     };
3920 
3921   struct
3922     {
3923     unsigned                    : 6;
3924     unsigned SJW                : 2;
3925     };
3926   } __BRGCON1bits_t;
3927 
3928 extern __at(0x0F70) volatile __BRGCON1bits_t BRGCON1bits;
3929 
3930 #define _BRP0                   0x01
3931 #define _BRP1                   0x02
3932 #define _BRP2                   0x04
3933 #define _BRP3                   0x08
3934 #define _BRP4                   0x10
3935 #define _BRP5                   0x20
3936 #define _SJW0                   0x40
3937 #define _SJW1                   0x80
3938 
3939 //==============================================================================
3940 
3941 
3942 //==============================================================================
3943 //        BRGCON2 Bits
3944 
3945 extern __at(0x0F71) __sfr BRGCON2;
3946 
3947 typedef union
3948   {
3949   struct
3950     {
3951     unsigned PRSEG0             : 1;
3952     unsigned PRSEG1             : 1;
3953     unsigned PRSEG2             : 1;
3954     unsigned SEG1PH0            : 1;
3955     unsigned SEG1PH1            : 1;
3956     unsigned SEG1PH2            : 1;
3957     unsigned SAM                : 1;
3958     unsigned SEG2PHTS           : 1;
3959     };
3960 
3961   struct
3962     {
3963     unsigned PRSEG              : 3;
3964     unsigned                    : 5;
3965     };
3966 
3967   struct
3968     {
3969     unsigned                    : 3;
3970     unsigned SEG1PH             : 3;
3971     unsigned                    : 2;
3972     };
3973   } __BRGCON2bits_t;
3974 
3975 extern __at(0x0F71) volatile __BRGCON2bits_t BRGCON2bits;
3976 
3977 #define _PRSEG0                 0x01
3978 #define _PRSEG1                 0x02
3979 #define _PRSEG2                 0x04
3980 #define _SEG1PH0                0x08
3981 #define _SEG1PH1                0x10
3982 #define _SEG1PH2                0x20
3983 #define _SAM                    0x40
3984 #define _SEG2PHTS               0x80
3985 
3986 //==============================================================================
3987 
3988 
3989 //==============================================================================
3990 //        BRGCON3 Bits
3991 
3992 extern __at(0x0F72) __sfr BRGCON3;
3993 
3994 typedef union
3995   {
3996   struct
3997     {
3998     unsigned SEG2PH0            : 1;
3999     unsigned SEG2PH1            : 1;
4000     unsigned SEG2PH2            : 1;
4001     unsigned                    : 1;
4002     unsigned                    : 1;
4003     unsigned                    : 1;
4004     unsigned WAKFIL             : 1;
4005     unsigned                    : 1;
4006     };
4007 
4008   struct
4009     {
4010     unsigned SEG2PH             : 3;
4011     unsigned                    : 5;
4012     };
4013   } __BRGCON3bits_t;
4014 
4015 extern __at(0x0F72) volatile __BRGCON3bits_t BRGCON3bits;
4016 
4017 #define _SEG2PH0                0x01
4018 #define _SEG2PH1                0x02
4019 #define _SEG2PH2                0x04
4020 #define _WAKFIL                 0x40
4021 
4022 //==============================================================================
4023 
4024 
4025 //==============================================================================
4026 //        CIOCON Bits
4027 
4028 extern __at(0x0F73) __sfr CIOCON;
4029 
4030 typedef struct
4031   {
4032   unsigned                      : 1;
4033   unsigned                      : 1;
4034   unsigned                      : 1;
4035   unsigned                      : 1;
4036   unsigned CANCAP               : 1;
4037   unsigned ENDRHI               : 1;
4038   unsigned                      : 1;
4039   unsigned                      : 1;
4040   } __CIOCONbits_t;
4041 
4042 extern __at(0x0F73) volatile __CIOCONbits_t CIOCONbits;
4043 
4044 #define _CANCAP                 0x10
4045 #define _ENDRHI                 0x20
4046 
4047 //==============================================================================
4048 
4049 
4050 //==============================================================================
4051 //        COMSTAT Bits
4052 
4053 extern __at(0x0F74) __sfr COMSTAT;
4054 
4055 typedef union
4056   {
4057   struct
4058     {
4059     unsigned EWARN              : 1;
4060     unsigned RXWARN             : 1;
4061     unsigned TXWARN             : 1;
4062     unsigned RXBP               : 1;
4063     unsigned TXBP               : 1;
4064     unsigned TXBO               : 1;
4065     unsigned RXB1OVFL           : 1;
4066     unsigned RXB0OVFL           : 1;
4067     };
4068 
4069   struct
4070     {
4071     unsigned                    : 1;
4072     unsigned                    : 1;
4073     unsigned                    : 1;
4074     unsigned                    : 1;
4075     unsigned                    : 1;
4076     unsigned                    : 1;
4077     unsigned RX2OVFL            : 1;
4078     unsigned RX1OVFL            : 1;
4079     };
4080   } __COMSTATbits_t;
4081 
4082 extern __at(0x0F74) volatile __COMSTATbits_t COMSTATbits;
4083 
4084 #define _EWARN                  0x01
4085 #define _RXWARN                 0x02
4086 #define _TXWARN                 0x04
4087 #define _RXBP                   0x08
4088 #define _TXBP                   0x10
4089 #define _TXBO                   0x20
4090 #define _RXB1OVFL               0x40
4091 #define _RX2OVFL                0x40
4092 #define _RXB0OVFL               0x80
4093 #define _RX1OVFL                0x80
4094 
4095 //==============================================================================
4096 
4097 
4098 //==============================================================================
4099 //        RXERRCNT Bits
4100 
4101 extern __at(0x0F75) __sfr RXERRCNT;
4102 
4103 typedef struct
4104   {
4105   unsigned REC0                 : 1;
4106   unsigned REC1                 : 1;
4107   unsigned REC2                 : 1;
4108   unsigned REC3                 : 1;
4109   unsigned REC4                 : 1;
4110   unsigned REC5                 : 1;
4111   unsigned REC6                 : 1;
4112   unsigned REC7                 : 1;
4113   } __RXERRCNTbits_t;
4114 
4115 extern __at(0x0F75) volatile __RXERRCNTbits_t RXERRCNTbits;
4116 
4117 #define _REC0                   0x01
4118 #define _REC1                   0x02
4119 #define _REC2                   0x04
4120 #define _REC3                   0x08
4121 #define _REC4                   0x10
4122 #define _REC5                   0x20
4123 #define _REC6                   0x40
4124 #define _REC7                   0x80
4125 
4126 //==============================================================================
4127 
4128 
4129 //==============================================================================
4130 //        TXERRCNT Bits
4131 
4132 extern __at(0x0F76) __sfr TXERRCNT;
4133 
4134 typedef struct
4135   {
4136   unsigned TEC0                 : 1;
4137   unsigned TEC1                 : 1;
4138   unsigned TEC2                 : 1;
4139   unsigned TEC3                 : 1;
4140   unsigned TEC4                 : 1;
4141   unsigned TEC5                 : 1;
4142   unsigned TEC6                 : 1;
4143   unsigned TEC7                 : 1;
4144   } __TXERRCNTbits_t;
4145 
4146 extern __at(0x0F76) volatile __TXERRCNTbits_t TXERRCNTbits;
4147 
4148 #define _TEC0                   0x01
4149 #define _TEC1                   0x02
4150 #define _TEC2                   0x04
4151 #define _TEC3                   0x08
4152 #define _TEC4                   0x10
4153 #define _TEC5                   0x20
4154 #define _TEC6                   0x40
4155 #define _TEC7                   0x80
4156 
4157 //==============================================================================
4158 
4159 
4160 //==============================================================================
4161 //        PORTA Bits
4162 
4163 extern __at(0x0F80) __sfr PORTA;
4164 
4165 typedef union
4166   {
4167   struct
4168     {
4169     unsigned RA0                : 1;
4170     unsigned RA1                : 1;
4171     unsigned RA2                : 1;
4172     unsigned RA3                : 1;
4173     unsigned RA4                : 1;
4174     unsigned RA5                : 1;
4175     unsigned RA6                : 1;
4176     unsigned                    : 1;
4177     };
4178 
4179   struct
4180     {
4181     unsigned AN0                : 1;
4182     unsigned AN1                : 1;
4183     unsigned AN2                : 1;
4184     unsigned AN3                : 1;
4185     unsigned T0CKI              : 1;
4186     unsigned AN4                : 1;
4187     unsigned OSC2               : 1;
4188     unsigned                    : 1;
4189     };
4190 
4191   struct
4192     {
4193     unsigned CVREF              : 1;
4194     unsigned                    : 1;
4195     unsigned VREFM              : 1;
4196     unsigned VREFP              : 1;
4197     unsigned                    : 1;
4198     unsigned NOT_SS             : 1;
4199     unsigned CLKO               : 1;
4200     unsigned                    : 1;
4201     };
4202 
4203   struct
4204     {
4205     unsigned                    : 1;
4206     unsigned                    : 1;
4207     unsigned                    : 1;
4208     unsigned                    : 1;
4209     unsigned                    : 1;
4210     unsigned SS                 : 1;
4211     unsigned                    : 1;
4212     unsigned                    : 1;
4213     };
4214 
4215   struct
4216     {
4217     unsigned                    : 1;
4218     unsigned                    : 1;
4219     unsigned                    : 1;
4220     unsigned                    : 1;
4221     unsigned                    : 1;
4222     unsigned LVDIN              : 1;
4223     unsigned                    : 1;
4224     unsigned                    : 1;
4225     };
4226 
4227   struct
4228     {
4229     unsigned RA                 : 7;
4230     unsigned                    : 1;
4231     };
4232   } __PORTAbits_t;
4233 
4234 extern __at(0x0F80) volatile __PORTAbits_t PORTAbits;
4235 
4236 #define _PORTA_RA0              0x01
4237 #define _PORTA_AN0              0x01
4238 #define _PORTA_CVREF            0x01
4239 #define _PORTA_RA1              0x02
4240 #define _PORTA_AN1              0x02
4241 #define _PORTA_RA2              0x04
4242 #define _PORTA_AN2              0x04
4243 #define _PORTA_VREFM            0x04
4244 #define _PORTA_RA3              0x08
4245 #define _PORTA_AN3              0x08
4246 #define _PORTA_VREFP            0x08
4247 #define _PORTA_RA4              0x10
4248 #define _PORTA_T0CKI            0x10
4249 #define _PORTA_RA5              0x20
4250 #define _PORTA_AN4              0x20
4251 #define _PORTA_NOT_SS           0x20
4252 #define _PORTA_SS               0x20
4253 #define _PORTA_LVDIN            0x20
4254 #define _PORTA_RA6              0x40
4255 #define _PORTA_OSC2             0x40
4256 #define _PORTA_CLKO             0x40
4257 
4258 //==============================================================================
4259 
4260 
4261 //==============================================================================
4262 //        PORTB Bits
4263 
4264 extern __at(0x0F81) __sfr PORTB;
4265 
4266 typedef union
4267   {
4268   struct
4269     {
4270     unsigned RB0                : 1;
4271     unsigned RB1                : 1;
4272     unsigned RB2                : 1;
4273     unsigned RB3                : 1;
4274     unsigned RB4                : 1;
4275     unsigned RB5                : 1;
4276     unsigned RB6                : 1;
4277     unsigned RB7                : 1;
4278     };
4279 
4280   struct
4281     {
4282     unsigned INT0               : 1;
4283     unsigned INT1               : 1;
4284     unsigned CANTX              : 1;
4285     unsigned CANRX              : 1;
4286     unsigned                    : 1;
4287     unsigned PGM                : 1;
4288     unsigned PGC                : 1;
4289     unsigned PGD                : 1;
4290     };
4291 
4292   struct
4293     {
4294     unsigned INT                : 2;
4295     unsigned                    : 6;
4296     };
4297   } __PORTBbits_t;
4298 
4299 extern __at(0x0F81) volatile __PORTBbits_t PORTBbits;
4300 
4301 #define _PORTB_RB0              0x01
4302 #define _PORTB_INT0             0x01
4303 #define _PORTB_RB1              0x02
4304 #define _PORTB_INT1             0x02
4305 #define _PORTB_RB2              0x04
4306 #define _PORTB_CANTX            0x04
4307 #define _PORTB_RB3              0x08
4308 #define _PORTB_CANRX            0x08
4309 #define _PORTB_RB4              0x10
4310 #define _PORTB_RB5              0x20
4311 #define _PORTB_PGM              0x20
4312 #define _PORTB_RB6              0x40
4313 #define _PORTB_PGC              0x40
4314 #define _PORTB_RB7              0x80
4315 #define _PORTB_PGD              0x80
4316 
4317 //==============================================================================
4318 
4319 
4320 //==============================================================================
4321 //        PORTC Bits
4322 
4323 extern __at(0x0F82) __sfr PORTC;
4324 
4325 typedef union
4326   {
4327   struct
4328     {
4329     unsigned RC0                : 1;
4330     unsigned RC1                : 1;
4331     unsigned RC2                : 1;
4332     unsigned RC3                : 1;
4333     unsigned RC4                : 1;
4334     unsigned RC5                : 1;
4335     unsigned RC6                : 1;
4336     unsigned RC7                : 1;
4337     };
4338 
4339   struct
4340     {
4341     unsigned T1OSO              : 1;
4342     unsigned T1OSI              : 1;
4343     unsigned CCP1               : 1;
4344     unsigned SCK                : 1;
4345     unsigned SDI                : 1;
4346     unsigned SDO                : 1;
4347     unsigned TX                 : 1;
4348     unsigned RX                 : 1;
4349     };
4350 
4351   struct
4352     {
4353     unsigned T1CKI              : 1;
4354     unsigned                    : 1;
4355     unsigned                    : 1;
4356     unsigned SCL                : 1;
4357     unsigned SDA                : 1;
4358     unsigned                    : 1;
4359     unsigned CK                 : 1;
4360     unsigned                    : 1;
4361     };
4362   } __PORTCbits_t;
4363 
4364 extern __at(0x0F82) volatile __PORTCbits_t PORTCbits;
4365 
4366 #define _PORTC_RC0              0x01
4367 #define _PORTC_T1OSO            0x01
4368 #define _PORTC_T1CKI            0x01
4369 #define _PORTC_RC1              0x02
4370 #define _PORTC_T1OSI            0x02
4371 #define _PORTC_RC2              0x04
4372 #define _PORTC_CCP1             0x04
4373 #define _PORTC_RC3              0x08
4374 #define _PORTC_SCK              0x08
4375 #define _PORTC_SCL              0x08
4376 #define _PORTC_RC4              0x10
4377 #define _PORTC_SDI              0x10
4378 #define _PORTC_SDA              0x10
4379 #define _PORTC_RC5              0x20
4380 #define _PORTC_SDO              0x20
4381 #define _PORTC_RC6              0x40
4382 #define _PORTC_TX               0x40
4383 #define _PORTC_CK               0x40
4384 #define _PORTC_RC7              0x80
4385 #define _PORTC_RX               0x80
4386 
4387 //==============================================================================
4388 
4389 
4390 //==============================================================================
4391 //        LATA Bits
4392 
4393 extern __at(0x0F89) __sfr LATA;
4394 
4395 typedef union
4396   {
4397   struct
4398     {
4399     unsigned LATA0              : 1;
4400     unsigned LATA1              : 1;
4401     unsigned LATA2              : 1;
4402     unsigned LATA3              : 1;
4403     unsigned LATA4              : 1;
4404     unsigned LATA5              : 1;
4405     unsigned LATA6              : 1;
4406     unsigned                    : 1;
4407     };
4408 
4409   struct
4410     {
4411     unsigned LATA               : 7;
4412     unsigned                    : 1;
4413     };
4414   } __LATAbits_t;
4415 
4416 extern __at(0x0F89) volatile __LATAbits_t LATAbits;
4417 
4418 #define _LATA0                  0x01
4419 #define _LATA1                  0x02
4420 #define _LATA2                  0x04
4421 #define _LATA3                  0x08
4422 #define _LATA4                  0x10
4423 #define _LATA5                  0x20
4424 #define _LATA6                  0x40
4425 
4426 //==============================================================================
4427 
4428 
4429 //==============================================================================
4430 //        LATB Bits
4431 
4432 extern __at(0x0F8A) __sfr LATB;
4433 
4434 typedef struct
4435   {
4436   unsigned LATB0                : 1;
4437   unsigned LATB1                : 1;
4438   unsigned LATB2                : 1;
4439   unsigned LATB3                : 1;
4440   unsigned LATB4                : 1;
4441   unsigned LATB5                : 1;
4442   unsigned LATB6                : 1;
4443   unsigned LATB7                : 1;
4444   } __LATBbits_t;
4445 
4446 extern __at(0x0F8A) volatile __LATBbits_t LATBbits;
4447 
4448 #define _LATB0                  0x01
4449 #define _LATB1                  0x02
4450 #define _LATB2                  0x04
4451 #define _LATB3                  0x08
4452 #define _LATB4                  0x10
4453 #define _LATB5                  0x20
4454 #define _LATB6                  0x40
4455 #define _LATB7                  0x80
4456 
4457 //==============================================================================
4458 
4459 
4460 //==============================================================================
4461 //        LATC Bits
4462 
4463 extern __at(0x0F8B) __sfr LATC;
4464 
4465 typedef struct
4466   {
4467   unsigned LATC0                : 1;
4468   unsigned LATC1                : 1;
4469   unsigned LATC2                : 1;
4470   unsigned LATC3                : 1;
4471   unsigned LATC4                : 1;
4472   unsigned LATC5                : 1;
4473   unsigned LATC6                : 1;
4474   unsigned LATC7                : 1;
4475   } __LATCbits_t;
4476 
4477 extern __at(0x0F8B) volatile __LATCbits_t LATCbits;
4478 
4479 #define _LATC0                  0x01
4480 #define _LATC1                  0x02
4481 #define _LATC2                  0x04
4482 #define _LATC3                  0x08
4483 #define _LATC4                  0x10
4484 #define _LATC5                  0x20
4485 #define _LATC6                  0x40
4486 #define _LATC7                  0x80
4487 
4488 //==============================================================================
4489 
4490 
4491 //==============================================================================
4492 //        DDRA Bits
4493 
4494 extern __at(0x0F92) __sfr DDRA;
4495 
4496 typedef union
4497   {
4498   struct
4499     {
4500     unsigned TRISA0             : 1;
4501     unsigned TRISA1             : 1;
4502     unsigned TRISA2             : 1;
4503     unsigned TRISA3             : 1;
4504     unsigned TRISA4             : 1;
4505     unsigned TRISA5             : 1;
4506     unsigned TRISA6             : 1;
4507     unsigned                    : 1;
4508     };
4509 
4510   struct
4511     {
4512     unsigned RA0                : 1;
4513     unsigned RA1                : 1;
4514     unsigned RA2                : 1;
4515     unsigned RA3                : 1;
4516     unsigned RA4                : 1;
4517     unsigned RA5                : 1;
4518     unsigned RA6                : 1;
4519     unsigned                    : 1;
4520     };
4521 
4522   struct
4523     {
4524     unsigned RA                 : 7;
4525     unsigned                    : 1;
4526     };
4527 
4528   struct
4529     {
4530     unsigned TRISA              : 7;
4531     unsigned                    : 1;
4532     };
4533   } __DDRAbits_t;
4534 
4535 extern __at(0x0F92) volatile __DDRAbits_t DDRAbits;
4536 
4537 #define _TRISA0                 0x01
4538 #define _RA0                    0x01
4539 #define _TRISA1                 0x02
4540 #define _RA1                    0x02
4541 #define _TRISA2                 0x04
4542 #define _RA2                    0x04
4543 #define _TRISA3                 0x08
4544 #define _RA3                    0x08
4545 #define _TRISA4                 0x10
4546 #define _RA4                    0x10
4547 #define _TRISA5                 0x20
4548 #define _RA5                    0x20
4549 #define _TRISA6                 0x40
4550 #define _RA6                    0x40
4551 
4552 //==============================================================================
4553 
4554 
4555 //==============================================================================
4556 //        TRISA Bits
4557 
4558 extern __at(0x0F92) __sfr TRISA;
4559 
4560 typedef union
4561   {
4562   struct
4563     {
4564     unsigned TRISA0             : 1;
4565     unsigned TRISA1             : 1;
4566     unsigned TRISA2             : 1;
4567     unsigned TRISA3             : 1;
4568     unsigned TRISA4             : 1;
4569     unsigned TRISA5             : 1;
4570     unsigned TRISA6             : 1;
4571     unsigned                    : 1;
4572     };
4573 
4574   struct
4575     {
4576     unsigned RA0                : 1;
4577     unsigned RA1                : 1;
4578     unsigned RA2                : 1;
4579     unsigned RA3                : 1;
4580     unsigned RA4                : 1;
4581     unsigned RA5                : 1;
4582     unsigned RA6                : 1;
4583     unsigned                    : 1;
4584     };
4585 
4586   struct
4587     {
4588     unsigned TRISA              : 7;
4589     unsigned                    : 1;
4590     };
4591 
4592   struct
4593     {
4594     unsigned RA                 : 7;
4595     unsigned                    : 1;
4596     };
4597   } __TRISAbits_t;
4598 
4599 extern __at(0x0F92) volatile __TRISAbits_t TRISAbits;
4600 
4601 #define _TRISA_TRISA0           0x01
4602 #define _TRISA_RA0              0x01
4603 #define _TRISA_TRISA1           0x02
4604 #define _TRISA_RA1              0x02
4605 #define _TRISA_TRISA2           0x04
4606 #define _TRISA_RA2              0x04
4607 #define _TRISA_TRISA3           0x08
4608 #define _TRISA_RA3              0x08
4609 #define _TRISA_TRISA4           0x10
4610 #define _TRISA_RA4              0x10
4611 #define _TRISA_TRISA5           0x20
4612 #define _TRISA_RA5              0x20
4613 #define _TRISA_TRISA6           0x40
4614 #define _TRISA_RA6              0x40
4615 
4616 //==============================================================================
4617 
4618 
4619 //==============================================================================
4620 //        DDRB Bits
4621 
4622 extern __at(0x0F93) __sfr DDRB;
4623 
4624 typedef union
4625   {
4626   struct
4627     {
4628     unsigned TRISB0             : 1;
4629     unsigned TRISB1             : 1;
4630     unsigned TRISB2             : 1;
4631     unsigned TRISB3             : 1;
4632     unsigned TRISB4             : 1;
4633     unsigned TRISB5             : 1;
4634     unsigned TRISB6             : 1;
4635     unsigned TRISB7             : 1;
4636     };
4637 
4638   struct
4639     {
4640     unsigned RB0                : 1;
4641     unsigned RB1                : 1;
4642     unsigned RB2                : 1;
4643     unsigned RB3                : 1;
4644     unsigned RB4                : 1;
4645     unsigned RB5                : 1;
4646     unsigned RB6                : 1;
4647     unsigned RB7                : 1;
4648     };
4649   } __DDRBbits_t;
4650 
4651 extern __at(0x0F93) volatile __DDRBbits_t DDRBbits;
4652 
4653 #define _TRISB0                 0x01
4654 #define _RB0                    0x01
4655 #define _TRISB1                 0x02
4656 #define _RB1                    0x02
4657 #define _TRISB2                 0x04
4658 #define _RB2                    0x04
4659 #define _TRISB3                 0x08
4660 #define _RB3                    0x08
4661 #define _TRISB4                 0x10
4662 #define _RB4                    0x10
4663 #define _TRISB5                 0x20
4664 #define _RB5                    0x20
4665 #define _TRISB6                 0x40
4666 #define _RB6                    0x40
4667 #define _TRISB7                 0x80
4668 #define _RB7                    0x80
4669 
4670 //==============================================================================
4671 
4672 
4673 //==============================================================================
4674 //        TRISB Bits
4675 
4676 extern __at(0x0F93) __sfr TRISB;
4677 
4678 typedef union
4679   {
4680   struct
4681     {
4682     unsigned TRISB0             : 1;
4683     unsigned TRISB1             : 1;
4684     unsigned TRISB2             : 1;
4685     unsigned TRISB3             : 1;
4686     unsigned TRISB4             : 1;
4687     unsigned TRISB5             : 1;
4688     unsigned TRISB6             : 1;
4689     unsigned TRISB7             : 1;
4690     };
4691 
4692   struct
4693     {
4694     unsigned RB0                : 1;
4695     unsigned RB1                : 1;
4696     unsigned RB2                : 1;
4697     unsigned RB3                : 1;
4698     unsigned RB4                : 1;
4699     unsigned RB5                : 1;
4700     unsigned RB6                : 1;
4701     unsigned RB7                : 1;
4702     };
4703   } __TRISBbits_t;
4704 
4705 extern __at(0x0F93) volatile __TRISBbits_t TRISBbits;
4706 
4707 #define _TRISB_TRISB0           0x01
4708 #define _TRISB_RB0              0x01
4709 #define _TRISB_TRISB1           0x02
4710 #define _TRISB_RB1              0x02
4711 #define _TRISB_TRISB2           0x04
4712 #define _TRISB_RB2              0x04
4713 #define _TRISB_TRISB3           0x08
4714 #define _TRISB_RB3              0x08
4715 #define _TRISB_TRISB4           0x10
4716 #define _TRISB_RB4              0x10
4717 #define _TRISB_TRISB5           0x20
4718 #define _TRISB_RB5              0x20
4719 #define _TRISB_TRISB6           0x40
4720 #define _TRISB_RB6              0x40
4721 #define _TRISB_TRISB7           0x80
4722 #define _TRISB_RB7              0x80
4723 
4724 //==============================================================================
4725 
4726 
4727 //==============================================================================
4728 //        DDRC Bits
4729 
4730 extern __at(0x0F94) __sfr DDRC;
4731 
4732 typedef union
4733   {
4734   struct
4735     {
4736     unsigned TRISC0             : 1;
4737     unsigned TRISC1             : 1;
4738     unsigned TRISC2             : 1;
4739     unsigned TRISC3             : 1;
4740     unsigned TRISC4             : 1;
4741     unsigned TRISC5             : 1;
4742     unsigned TRISC6             : 1;
4743     unsigned TRISC7             : 1;
4744     };
4745 
4746   struct
4747     {
4748     unsigned RC0                : 1;
4749     unsigned RC1                : 1;
4750     unsigned RC2                : 1;
4751     unsigned RC3                : 1;
4752     unsigned RC4                : 1;
4753     unsigned RC5                : 1;
4754     unsigned RC6                : 1;
4755     unsigned RC7                : 1;
4756     };
4757   } __DDRCbits_t;
4758 
4759 extern __at(0x0F94) volatile __DDRCbits_t DDRCbits;
4760 
4761 #define _TRISC0                 0x01
4762 #define _RC0                    0x01
4763 #define _TRISC1                 0x02
4764 #define _RC1                    0x02
4765 #define _TRISC2                 0x04
4766 #define _RC2                    0x04
4767 #define _TRISC3                 0x08
4768 #define _RC3                    0x08
4769 #define _TRISC4                 0x10
4770 #define _RC4                    0x10
4771 #define _TRISC5                 0x20
4772 #define _RC5                    0x20
4773 #define _TRISC6                 0x40
4774 #define _RC6                    0x40
4775 #define _TRISC7                 0x80
4776 #define _RC7                    0x80
4777 
4778 //==============================================================================
4779 
4780 
4781 //==============================================================================
4782 //        TRISC Bits
4783 
4784 extern __at(0x0F94) __sfr TRISC;
4785 
4786 typedef union
4787   {
4788   struct
4789     {
4790     unsigned TRISC0             : 1;
4791     unsigned TRISC1             : 1;
4792     unsigned TRISC2             : 1;
4793     unsigned TRISC3             : 1;
4794     unsigned TRISC4             : 1;
4795     unsigned TRISC5             : 1;
4796     unsigned TRISC6             : 1;
4797     unsigned TRISC7             : 1;
4798     };
4799 
4800   struct
4801     {
4802     unsigned RC0                : 1;
4803     unsigned RC1                : 1;
4804     unsigned RC2                : 1;
4805     unsigned RC3                : 1;
4806     unsigned RC4                : 1;
4807     unsigned RC5                : 1;
4808     unsigned RC6                : 1;
4809     unsigned RC7                : 1;
4810     };
4811   } __TRISCbits_t;
4812 
4813 extern __at(0x0F94) volatile __TRISCbits_t TRISCbits;
4814 
4815 #define _TRISC_TRISC0           0x01
4816 #define _TRISC_RC0              0x01
4817 #define _TRISC_TRISC1           0x02
4818 #define _TRISC_RC1              0x02
4819 #define _TRISC_TRISC2           0x04
4820 #define _TRISC_RC2              0x04
4821 #define _TRISC_TRISC3           0x08
4822 #define _TRISC_RC3              0x08
4823 #define _TRISC_TRISC4           0x10
4824 #define _TRISC_RC4              0x10
4825 #define _TRISC_TRISC5           0x20
4826 #define _TRISC_RC5              0x20
4827 #define _TRISC_TRISC6           0x40
4828 #define _TRISC_RC6              0x40
4829 #define _TRISC_TRISC7           0x80
4830 #define _TRISC_RC7              0x80
4831 
4832 //==============================================================================
4833 
4834 
4835 //==============================================================================
4836 //        PIE1 Bits
4837 
4838 extern __at(0x0F9D) __sfr PIE1;
4839 
4840 typedef struct
4841   {
4842   unsigned TMR1IE               : 1;
4843   unsigned TMR2IE               : 1;
4844   unsigned CCP1IE               : 1;
4845   unsigned SSPIE                : 1;
4846   unsigned TXIE                 : 1;
4847   unsigned RCIE                 : 1;
4848   unsigned ADIE                 : 1;
4849   unsigned                      : 1;
4850   } __PIE1bits_t;
4851 
4852 extern __at(0x0F9D) volatile __PIE1bits_t PIE1bits;
4853 
4854 #define _TMR1IE                 0x01
4855 #define _TMR2IE                 0x02
4856 #define _CCP1IE                 0x04
4857 #define _SSPIE                  0x08
4858 #define _TXIE                   0x10
4859 #define _RCIE                   0x20
4860 #define _ADIE                   0x40
4861 
4862 //==============================================================================
4863 
4864 
4865 //==============================================================================
4866 //        PIR1 Bits
4867 
4868 extern __at(0x0F9E) __sfr PIR1;
4869 
4870 typedef struct
4871   {
4872   unsigned TMR1IF               : 1;
4873   unsigned TMR2IF               : 1;
4874   unsigned CCP1IF               : 1;
4875   unsigned SSPIF                : 1;
4876   unsigned TXIF                 : 1;
4877   unsigned RCIF                 : 1;
4878   unsigned ADIF                 : 1;
4879   unsigned                      : 1;
4880   } __PIR1bits_t;
4881 
4882 extern __at(0x0F9E) volatile __PIR1bits_t PIR1bits;
4883 
4884 #define _TMR1IF                 0x01
4885 #define _TMR2IF                 0x02
4886 #define _CCP1IF                 0x04
4887 #define _SSPIF                  0x08
4888 #define _TXIF                   0x10
4889 #define _RCIF                   0x20
4890 #define _ADIF                   0x40
4891 
4892 //==============================================================================
4893 
4894 
4895 //==============================================================================
4896 //        IPR1 Bits
4897 
4898 extern __at(0x0F9F) __sfr IPR1;
4899 
4900 typedef struct
4901   {
4902   unsigned TMR1IP               : 1;
4903   unsigned TMR2IP               : 1;
4904   unsigned CCP1IP               : 1;
4905   unsigned SSPIP                : 1;
4906   unsigned TXIP                 : 1;
4907   unsigned RCIP                 : 1;
4908   unsigned ADIP                 : 1;
4909   unsigned                      : 1;
4910   } __IPR1bits_t;
4911 
4912 extern __at(0x0F9F) volatile __IPR1bits_t IPR1bits;
4913 
4914 #define _TMR1IP                 0x01
4915 #define _TMR2IP                 0x02
4916 #define _CCP1IP                 0x04
4917 #define _SSPIP                  0x08
4918 #define _TXIP                   0x10
4919 #define _RCIP                   0x20
4920 #define _ADIP                   0x40
4921 
4922 //==============================================================================
4923 
4924 
4925 //==============================================================================
4926 //        PIE2 Bits
4927 
4928 extern __at(0x0FA0) __sfr PIE2;
4929 
4930 typedef struct
4931   {
4932   unsigned                      : 1;
4933   unsigned TMR3IE               : 1;
4934   unsigned LVDIE                : 1;
4935   unsigned BCLIE                : 1;
4936   unsigned EEIE                 : 1;
4937   unsigned                      : 1;
4938   unsigned                      : 1;
4939   unsigned                      : 1;
4940   } __PIE2bits_t;
4941 
4942 extern __at(0x0FA0) volatile __PIE2bits_t PIE2bits;
4943 
4944 #define _TMR3IE                 0x02
4945 #define _LVDIE                  0x04
4946 #define _BCLIE                  0x08
4947 #define _EEIE                   0x10
4948 
4949 //==============================================================================
4950 
4951 
4952 //==============================================================================
4953 //        PIR2 Bits
4954 
4955 extern __at(0x0FA1) __sfr PIR2;
4956 
4957 typedef struct
4958   {
4959   unsigned                      : 1;
4960   unsigned TMR3IF               : 1;
4961   unsigned LVDIF                : 1;
4962   unsigned BCLIF                : 1;
4963   unsigned EEIF                 : 1;
4964   unsigned                      : 1;
4965   unsigned                      : 1;
4966   unsigned                      : 1;
4967   } __PIR2bits_t;
4968 
4969 extern __at(0x0FA1) volatile __PIR2bits_t PIR2bits;
4970 
4971 #define _TMR3IF                 0x02
4972 #define _LVDIF                  0x04
4973 #define _BCLIF                  0x08
4974 #define _EEIF                   0x10
4975 
4976 //==============================================================================
4977 
4978 
4979 //==============================================================================
4980 //        IPR2 Bits
4981 
4982 extern __at(0x0FA2) __sfr IPR2;
4983 
4984 typedef struct
4985   {
4986   unsigned                      : 1;
4987   unsigned TMR3IP               : 1;
4988   unsigned LVDIP                : 1;
4989   unsigned BCLIP                : 1;
4990   unsigned EEIP                 : 1;
4991   unsigned                      : 1;
4992   unsigned                      : 1;
4993   unsigned                      : 1;
4994   } __IPR2bits_t;
4995 
4996 extern __at(0x0FA2) volatile __IPR2bits_t IPR2bits;
4997 
4998 #define _TMR3IP                 0x02
4999 #define _LVDIP                  0x04
5000 #define _BCLIP                  0x08
5001 #define _EEIP                   0x10
5002 
5003 //==============================================================================
5004 
5005 
5006 //==============================================================================
5007 //        PIE3 Bits
5008 
5009 extern __at(0x0FA3) __sfr PIE3;
5010 
5011 typedef union
5012   {
5013   struct
5014     {
5015     unsigned RXB0IE             : 1;
5016     unsigned RXB1IE             : 1;
5017     unsigned TXB0IE             : 1;
5018     unsigned TXB1IE             : 1;
5019     unsigned TXB2IE             : 1;
5020     unsigned ERRIE              : 1;
5021     unsigned WAKIE              : 1;
5022     unsigned IRXIE              : 1;
5023     };
5024 
5025   struct
5026     {
5027     unsigned RX0IE              : 1;
5028     unsigned RX1IE              : 1;
5029     unsigned TX0IE              : 1;
5030     unsigned TX1IE              : 1;
5031     unsigned TX2IE              : 1;
5032     unsigned                    : 1;
5033     unsigned                    : 1;
5034     unsigned IVRE               : 1;
5035     };
5036   } __PIE3bits_t;
5037 
5038 extern __at(0x0FA3) volatile __PIE3bits_t PIE3bits;
5039 
5040 #define _RXB0IE                 0x01
5041 #define _RX0IE                  0x01
5042 #define _RXB1IE                 0x02
5043 #define _RX1IE                  0x02
5044 #define _TXB0IE                 0x04
5045 #define _TX0IE                  0x04
5046 #define _TXB1IE                 0x08
5047 #define _TX1IE                  0x08
5048 #define _TXB2IE                 0x10
5049 #define _TX2IE                  0x10
5050 #define _ERRIE                  0x20
5051 #define _WAKIE                  0x40
5052 #define _IRXIE                  0x80
5053 #define _IVRE                   0x80
5054 
5055 //==============================================================================
5056 
5057 
5058 //==============================================================================
5059 //        PIR3 Bits
5060 
5061 extern __at(0x0FA4) __sfr PIR3;
5062 
5063 typedef union
5064   {
5065   struct
5066     {
5067     unsigned RXB0IF             : 1;
5068     unsigned RXB1IF             : 1;
5069     unsigned TXB0IF             : 1;
5070     unsigned TXB1IF             : 1;
5071     unsigned TXB2IF             : 1;
5072     unsigned ERRIF              : 1;
5073     unsigned WAKIF              : 1;
5074     unsigned IRXIF              : 1;
5075     };
5076 
5077   struct
5078     {
5079     unsigned RX0IF              : 1;
5080     unsigned RX1IF              : 1;
5081     unsigned TX0IF              : 1;
5082     unsigned TX1IF              : 1;
5083     unsigned TX2IF              : 1;
5084     unsigned                    : 1;
5085     unsigned                    : 1;
5086     unsigned IVRF               : 1;
5087     };
5088   } __PIR3bits_t;
5089 
5090 extern __at(0x0FA4) volatile __PIR3bits_t PIR3bits;
5091 
5092 #define _RXB0IF                 0x01
5093 #define _RX0IF                  0x01
5094 #define _RXB1IF                 0x02
5095 #define _RX1IF                  0x02
5096 #define _TXB0IF                 0x04
5097 #define _TX0IF                  0x04
5098 #define _TXB1IF                 0x08
5099 #define _TX1IF                  0x08
5100 #define _TXB2IF                 0x10
5101 #define _TX2IF                  0x10
5102 #define _ERRIF                  0x20
5103 #define _WAKIF                  0x40
5104 #define _IRXIF                  0x80
5105 #define _IVRF                   0x80
5106 
5107 //==============================================================================
5108 
5109 
5110 //==============================================================================
5111 //        IPR3 Bits
5112 
5113 extern __at(0x0FA5) __sfr IPR3;
5114 
5115 typedef union
5116   {
5117   struct
5118     {
5119     unsigned RXB0IP             : 1;
5120     unsigned RXB1IP             : 1;
5121     unsigned TXB0IP             : 1;
5122     unsigned TXB1IP             : 1;
5123     unsigned TXB2IP             : 1;
5124     unsigned ERRIP              : 1;
5125     unsigned WAKIP              : 1;
5126     unsigned IRXIP              : 1;
5127     };
5128 
5129   struct
5130     {
5131     unsigned                    : 1;
5132     unsigned                    : 1;
5133     unsigned                    : 1;
5134     unsigned                    : 1;
5135     unsigned                    : 1;
5136     unsigned                    : 1;
5137     unsigned                    : 1;
5138     unsigned IVRP               : 1;
5139     };
5140   } __IPR3bits_t;
5141 
5142 extern __at(0x0FA5) volatile __IPR3bits_t IPR3bits;
5143 
5144 #define _RXB0IP                 0x01
5145 #define _RXB1IP                 0x02
5146 #define _TXB0IP                 0x04
5147 #define _TXB1IP                 0x08
5148 #define _TXB2IP                 0x10
5149 #define _ERRIP                  0x20
5150 #define _WAKIP                  0x40
5151 #define _IRXIP                  0x80
5152 #define _IVRP                   0x80
5153 
5154 //==============================================================================
5155 
5156 
5157 //==============================================================================
5158 //        EECON1 Bits
5159 
5160 extern __at(0x0FA6) __sfr EECON1;
5161 
5162 typedef union
5163   {
5164   struct
5165     {
5166     unsigned RD                 : 1;
5167     unsigned WR                 : 1;
5168     unsigned WREN               : 1;
5169     unsigned WRERR              : 1;
5170     unsigned FREE               : 1;
5171     unsigned                    : 1;
5172     unsigned CFGS               : 1;
5173     unsigned EEPGD              : 1;
5174     };
5175 
5176   struct
5177     {
5178     unsigned                    : 1;
5179     unsigned                    : 1;
5180     unsigned                    : 1;
5181     unsigned                    : 1;
5182     unsigned                    : 1;
5183     unsigned                    : 1;
5184     unsigned EEFS               : 1;
5185     unsigned                    : 1;
5186     };
5187   } __EECON1bits_t;
5188 
5189 extern __at(0x0FA6) volatile __EECON1bits_t EECON1bits;
5190 
5191 #define _RD                     0x01
5192 #define _WR                     0x02
5193 #define _WREN                   0x04
5194 #define _WRERR                  0x08
5195 #define _FREE                   0x10
5196 #define _CFGS                   0x40
5197 #define _EEFS                   0x40
5198 #define _EEPGD                  0x80
5199 
5200 //==============================================================================
5201 
5202 extern __at(0x0FA7) __sfr EECON2;
5203 extern __at(0x0FA8) __sfr EEDATA;
5204 extern __at(0x0FA9) __sfr EEADR;
5205 
5206 //==============================================================================
5207 //        RCSTA Bits
5208 
5209 extern __at(0x0FAB) __sfr RCSTA;
5210 
5211 typedef union
5212   {
5213   struct
5214     {
5215     unsigned RX9D               : 1;
5216     unsigned OERR               : 1;
5217     unsigned FERR               : 1;
5218     unsigned ADDEN              : 1;
5219     unsigned CREN               : 1;
5220     unsigned SREN               : 1;
5221     unsigned RX9                : 1;
5222     unsigned SPEN               : 1;
5223     };
5224 
5225   struct
5226     {
5227     unsigned RCD8               : 1;
5228     unsigned                    : 1;
5229     unsigned                    : 1;
5230     unsigned                    : 1;
5231     unsigned                    : 1;
5232     unsigned                    : 1;
5233     unsigned RC9                : 1;
5234     unsigned                    : 1;
5235     };
5236 
5237   struct
5238     {
5239     unsigned                    : 1;
5240     unsigned                    : 1;
5241     unsigned                    : 1;
5242     unsigned                    : 1;
5243     unsigned                    : 1;
5244     unsigned                    : 1;
5245     unsigned RC8_9              : 1;
5246     unsigned                    : 1;
5247     };
5248 
5249   struct
5250     {
5251     unsigned                    : 1;
5252     unsigned                    : 1;
5253     unsigned                    : 1;
5254     unsigned                    : 1;
5255     unsigned                    : 1;
5256     unsigned                    : 1;
5257     unsigned NOT_RC8            : 1;
5258     unsigned                    : 1;
5259     };
5260   } __RCSTAbits_t;
5261 
5262 extern __at(0x0FAB) volatile __RCSTAbits_t RCSTAbits;
5263 
5264 #define _RX9D                   0x01
5265 #define _RCD8                   0x01
5266 #define _OERR                   0x02
5267 #define _FERR                   0x04
5268 #define _ADDEN                  0x08
5269 #define _CREN                   0x10
5270 #define _SREN                   0x20
5271 #define _RX9                    0x40
5272 #define _RC9                    0x40
5273 #define _RC8_9                  0x40
5274 #define _NOT_RC8                0x40
5275 #define _SPEN                   0x80
5276 
5277 //==============================================================================
5278 
5279 
5280 //==============================================================================
5281 //        TXSTA Bits
5282 
5283 extern __at(0x0FAC) __sfr TXSTA;
5284 
5285 typedef union
5286   {
5287   struct
5288     {
5289     unsigned TX9D               : 1;
5290     unsigned TRMT               : 1;
5291     unsigned BRGH               : 1;
5292     unsigned                    : 1;
5293     unsigned SYNC               : 1;
5294     unsigned TXEN               : 1;
5295     unsigned TX9                : 1;
5296     unsigned CSRC               : 1;
5297     };
5298 
5299   struct
5300     {
5301     unsigned TXD8               : 1;
5302     unsigned                    : 1;
5303     unsigned                    : 1;
5304     unsigned                    : 1;
5305     unsigned                    : 1;
5306     unsigned                    : 1;
5307     unsigned TX8_9              : 1;
5308     unsigned                    : 1;
5309     };
5310 
5311   struct
5312     {
5313     unsigned                    : 1;
5314     unsigned                    : 1;
5315     unsigned                    : 1;
5316     unsigned                    : 1;
5317     unsigned                    : 1;
5318     unsigned                    : 1;
5319     unsigned NOT_TX8            : 1;
5320     unsigned                    : 1;
5321     };
5322   } __TXSTAbits_t;
5323 
5324 extern __at(0x0FAC) volatile __TXSTAbits_t TXSTAbits;
5325 
5326 #define _TX9D                   0x01
5327 #define _TXD8                   0x01
5328 #define _TRMT                   0x02
5329 #define _BRGH                   0x04
5330 #define _SYNC                   0x10
5331 #define _TXEN                   0x20
5332 #define _TX9                    0x40
5333 #define _TX8_9                  0x40
5334 #define _NOT_TX8                0x40
5335 #define _CSRC                   0x80
5336 
5337 //==============================================================================
5338 
5339 extern __at(0x0FAD) __sfr TXREG;
5340 extern __at(0x0FAE) __sfr RCREG;
5341 extern __at(0x0FAF) __sfr SPBRG;
5342 
5343 //==============================================================================
5344 //        T3CON Bits
5345 
5346 extern __at(0x0FB1) __sfr T3CON;
5347 
5348 typedef union
5349   {
5350   struct
5351     {
5352     unsigned TMR3ON             : 1;
5353     unsigned TMR3CS             : 1;
5354     unsigned NOT_T3SYNC         : 1;
5355     unsigned T3CCP1             : 1;
5356     unsigned T3CKPS0            : 1;
5357     unsigned T3CKPS1            : 1;
5358     unsigned T3ECCP1            : 1;
5359     unsigned RD16               : 1;
5360     };
5361 
5362   struct
5363     {
5364     unsigned                    : 1;
5365     unsigned                    : 1;
5366     unsigned T3INSYNC           : 1;
5367     unsigned                    : 1;
5368     unsigned                    : 1;
5369     unsigned                    : 1;
5370     unsigned                    : 1;
5371     unsigned                    : 1;
5372     };
5373 
5374   struct
5375     {
5376     unsigned                    : 1;
5377     unsigned                    : 1;
5378     unsigned T3SYNC             : 1;
5379     unsigned                    : 1;
5380     unsigned                    : 1;
5381     unsigned                    : 1;
5382     unsigned                    : 1;
5383     unsigned                    : 1;
5384     };
5385 
5386   struct
5387     {
5388     unsigned                    : 4;
5389     unsigned T3CKPS             : 2;
5390     unsigned                    : 2;
5391     };
5392   } __T3CONbits_t;
5393 
5394 extern __at(0x0FB1) volatile __T3CONbits_t T3CONbits;
5395 
5396 #define _T3CON_TMR3ON           0x01
5397 #define _T3CON_TMR3CS           0x02
5398 #define _T3CON_NOT_T3SYNC       0x04
5399 #define _T3CON_T3INSYNC         0x04
5400 #define _T3CON_T3SYNC           0x04
5401 #define _T3CON_T3CCP1           0x08
5402 #define _T3CON_T3CKPS0          0x10
5403 #define _T3CON_T3CKPS1          0x20
5404 #define _T3CON_T3ECCP1          0x40
5405 #define _T3CON_RD16             0x80
5406 
5407 //==============================================================================
5408 
5409 extern __at(0x0FB2) __sfr TMR3;
5410 extern __at(0x0FB2) __sfr TMR3L;
5411 extern __at(0x0FB3) __sfr TMR3H;
5412 
5413 //==============================================================================
5414 //        CCP1CON Bits
5415 
5416 extern __at(0x0FBD) __sfr CCP1CON;
5417 
5418 typedef union
5419   {
5420   struct
5421     {
5422     unsigned CCP1M0             : 1;
5423     unsigned CCP1M1             : 1;
5424     unsigned CCP1M2             : 1;
5425     unsigned CCP1M3             : 1;
5426     unsigned DC1B0              : 1;
5427     unsigned DC1B1              : 1;
5428     unsigned                    : 1;
5429     unsigned                    : 1;
5430     };
5431 
5432   struct
5433     {
5434     unsigned                    : 1;
5435     unsigned                    : 1;
5436     unsigned                    : 1;
5437     unsigned                    : 1;
5438     unsigned CCP1Y              : 1;
5439     unsigned CCP1X              : 1;
5440     unsigned                    : 1;
5441     unsigned                    : 1;
5442     };
5443 
5444   struct
5445     {
5446     unsigned CCP1M              : 4;
5447     unsigned                    : 4;
5448     };
5449 
5450   struct
5451     {
5452     unsigned                    : 4;
5453     unsigned DC1B               : 2;
5454     unsigned                    : 2;
5455     };
5456   } __CCP1CONbits_t;
5457 
5458 extern __at(0x0FBD) volatile __CCP1CONbits_t CCP1CONbits;
5459 
5460 #define _CCP1M0                 0x01
5461 #define _CCP1M1                 0x02
5462 #define _CCP1M2                 0x04
5463 #define _CCP1M3                 0x08
5464 #define _DC1B0                  0x10
5465 #define _CCP1Y                  0x10
5466 #define _DC1B1                  0x20
5467 #define _CCP1X                  0x20
5468 
5469 //==============================================================================
5470 
5471 extern __at(0x0FBE) __sfr CCPR1;
5472 extern __at(0x0FBE) __sfr CCPR1L;
5473 extern __at(0x0FBF) __sfr CCPR1H;
5474 
5475 //==============================================================================
5476 //        ADCON1 Bits
5477 
5478 extern __at(0x0FC1) __sfr ADCON1;
5479 
5480 typedef union
5481   {
5482   struct
5483     {
5484     unsigned PCFG0              : 1;
5485     unsigned PCFG1              : 1;
5486     unsigned PCFG2              : 1;
5487     unsigned PCFG3              : 1;
5488     unsigned                    : 1;
5489     unsigned                    : 1;
5490     unsigned ADCS2              : 1;
5491     unsigned ADFM               : 1;
5492     };
5493 
5494   struct
5495     {
5496     unsigned PCFG               : 4;
5497     unsigned                    : 4;
5498     };
5499   } __ADCON1bits_t;
5500 
5501 extern __at(0x0FC1) volatile __ADCON1bits_t ADCON1bits;
5502 
5503 #define _PCFG0                  0x01
5504 #define _PCFG1                  0x02
5505 #define _PCFG2                  0x04
5506 #define _PCFG3                  0x08
5507 #define _ADCS2                  0x40
5508 #define _ADFM                   0x80
5509 
5510 //==============================================================================
5511 
5512 
5513 //==============================================================================
5514 //        ADCON0 Bits
5515 
5516 extern __at(0x0FC2) __sfr ADCON0;
5517 
5518 typedef union
5519   {
5520   struct
5521     {
5522     unsigned ADON               : 1;
5523     unsigned                    : 1;
5524     unsigned GO_NOT_DONE        : 1;
5525     unsigned CHS0               : 1;
5526     unsigned CHS1               : 1;
5527     unsigned CHS2               : 1;
5528     unsigned ADCS0              : 1;
5529     unsigned ADCS1              : 1;
5530     };
5531 
5532   struct
5533     {
5534     unsigned                    : 1;
5535     unsigned                    : 1;
5536     unsigned DONE               : 1;
5537     unsigned                    : 1;
5538     unsigned                    : 1;
5539     unsigned                    : 1;
5540     unsigned                    : 1;
5541     unsigned                    : 1;
5542     };
5543 
5544   struct
5545     {
5546     unsigned                    : 1;
5547     unsigned                    : 1;
5548     unsigned GO_DONE            : 1;
5549     unsigned                    : 1;
5550     unsigned                    : 1;
5551     unsigned                    : 1;
5552     unsigned                    : 1;
5553     unsigned                    : 1;
5554     };
5555 
5556   struct
5557     {
5558     unsigned                    : 1;
5559     unsigned                    : 1;
5560     unsigned GO                 : 1;
5561     unsigned                    : 1;
5562     unsigned                    : 1;
5563     unsigned                    : 1;
5564     unsigned                    : 1;
5565     unsigned                    : 1;
5566     };
5567 
5568   struct
5569     {
5570     unsigned                    : 1;
5571     unsigned                    : 1;
5572     unsigned NOT_DONE           : 1;
5573     unsigned                    : 1;
5574     unsigned                    : 1;
5575     unsigned                    : 1;
5576     unsigned                    : 1;
5577     unsigned                    : 1;
5578     };
5579 
5580   struct
5581     {
5582     unsigned                    : 3;
5583     unsigned CHS                : 3;
5584     unsigned                    : 2;
5585     };
5586 
5587   struct
5588     {
5589     unsigned                    : 6;
5590     unsigned ADCS               : 2;
5591     };
5592   } __ADCON0bits_t;
5593 
5594 extern __at(0x0FC2) volatile __ADCON0bits_t ADCON0bits;
5595 
5596 #define _ADON                   0x01
5597 #define _GO_NOT_DONE            0x04
5598 #define _DONE                   0x04
5599 #define _GO_DONE                0x04
5600 #define _GO                     0x04
5601 #define _NOT_DONE               0x04
5602 #define _CHS0                   0x08
5603 #define _CHS1                   0x10
5604 #define _CHS2                   0x20
5605 #define _ADCS0                  0x40
5606 #define _ADCS1                  0x80
5607 
5608 //==============================================================================
5609 
5610 extern __at(0x0FC3) __sfr ADRES;
5611 extern __at(0x0FC3) __sfr ADRESL;
5612 extern __at(0x0FC4) __sfr ADRESH;
5613 
5614 //==============================================================================
5615 //        SSPCON2 Bits
5616 
5617 extern __at(0x0FC5) __sfr SSPCON2;
5618 
5619 typedef struct
5620   {
5621   unsigned SEN                  : 1;
5622   unsigned RSEN                 : 1;
5623   unsigned PEN                  : 1;
5624   unsigned RCEN                 : 1;
5625   unsigned ACKEN                : 1;
5626   unsigned ACKDT                : 1;
5627   unsigned ACKSTAT              : 1;
5628   unsigned GCEN                 : 1;
5629   } __SSPCON2bits_t;
5630 
5631 extern __at(0x0FC5) volatile __SSPCON2bits_t SSPCON2bits;
5632 
5633 #define _SEN                    0x01
5634 #define _RSEN                   0x02
5635 #define _PEN                    0x04
5636 #define _RCEN                   0x08
5637 #define _ACKEN                  0x10
5638 #define _ACKDT                  0x20
5639 #define _ACKSTAT                0x40
5640 #define _GCEN                   0x80
5641 
5642 //==============================================================================
5643 
5644 
5645 //==============================================================================
5646 //        SSPCON1 Bits
5647 
5648 extern __at(0x0FC6) __sfr SSPCON1;
5649 
5650 typedef union
5651   {
5652   struct
5653     {
5654     unsigned SSPM0              : 1;
5655     unsigned SSPM1              : 1;
5656     unsigned SSPM2              : 1;
5657     unsigned SSPM3              : 1;
5658     unsigned CKP                : 1;
5659     unsigned SSPEN              : 1;
5660     unsigned SSPOV              : 1;
5661     unsigned WCOL               : 1;
5662     };
5663 
5664   struct
5665     {
5666     unsigned SSPM               : 4;
5667     unsigned                    : 4;
5668     };
5669   } __SSPCON1bits_t;
5670 
5671 extern __at(0x0FC6) volatile __SSPCON1bits_t SSPCON1bits;
5672 
5673 #define _SSPM0                  0x01
5674 #define _SSPM1                  0x02
5675 #define _SSPM2                  0x04
5676 #define _SSPM3                  0x08
5677 #define _CKP                    0x10
5678 #define _SSPEN                  0x20
5679 #define _SSPOV                  0x40
5680 #define _WCOL                   0x80
5681 
5682 //==============================================================================
5683 
5684 
5685 //==============================================================================
5686 //        SSPSTAT Bits
5687 
5688 extern __at(0x0FC7) __sfr SSPSTAT;
5689 
5690 typedef union
5691   {
5692   struct
5693     {
5694     unsigned BF                 : 1;
5695     unsigned UA                 : 1;
5696     unsigned R_NOT_W            : 1;
5697     unsigned S                  : 1;
5698     unsigned P                  : 1;
5699     unsigned D_NOT_A            : 1;
5700     unsigned CKE                : 1;
5701     unsigned SMP                : 1;
5702     };
5703 
5704   struct
5705     {
5706     unsigned                    : 1;
5707     unsigned                    : 1;
5708     unsigned I2C_READ           : 1;
5709     unsigned I2C_START          : 1;
5710     unsigned I2C_STOP           : 1;
5711     unsigned I2C_DATA           : 1;
5712     unsigned                    : 1;
5713     unsigned                    : 1;
5714     };
5715 
5716   struct
5717     {
5718     unsigned                    : 1;
5719     unsigned                    : 1;
5720     unsigned R                  : 1;
5721     unsigned                    : 1;
5722     unsigned                    : 1;
5723     unsigned D                  : 1;
5724     unsigned                    : 1;
5725     unsigned                    : 1;
5726     };
5727 
5728   struct
5729     {
5730     unsigned                    : 1;
5731     unsigned                    : 1;
5732     unsigned READ_WRITE         : 1;
5733     unsigned                    : 1;
5734     unsigned                    : 1;
5735     unsigned DATA_ADDRESS       : 1;
5736     unsigned                    : 1;
5737     unsigned                    : 1;
5738     };
5739 
5740   struct
5741     {
5742     unsigned                    : 1;
5743     unsigned                    : 1;
5744     unsigned NOT_WRITE          : 1;
5745     unsigned                    : 1;
5746     unsigned                    : 1;
5747     unsigned NOT_ADDRESS        : 1;
5748     unsigned                    : 1;
5749     unsigned                    : 1;
5750     };
5751 
5752   struct
5753     {
5754     unsigned                    : 1;
5755     unsigned                    : 1;
5756     unsigned NOT_W              : 1;
5757     unsigned                    : 1;
5758     unsigned                    : 1;
5759     unsigned NOT_A              : 1;
5760     unsigned                    : 1;
5761     unsigned                    : 1;
5762     };
5763 
5764   struct
5765     {
5766     unsigned                    : 1;
5767     unsigned                    : 1;
5768     unsigned R_W                : 1;
5769     unsigned                    : 1;
5770     unsigned                    : 1;
5771     unsigned D_A                : 1;
5772     unsigned                    : 1;
5773     unsigned                    : 1;
5774     };
5775 
5776   struct
5777     {
5778     unsigned                    : 1;
5779     unsigned                    : 1;
5780     unsigned                    : 1;
5781     unsigned                    : 1;
5782     unsigned                    : 1;
5783     unsigned I2C_DAT            : 1;
5784     unsigned                    : 1;
5785     unsigned                    : 1;
5786     };
5787   } __SSPSTATbits_t;
5788 
5789 extern __at(0x0FC7) volatile __SSPSTATbits_t SSPSTATbits;
5790 
5791 #define _BF                     0x01
5792 #define _UA                     0x02
5793 #define _R_NOT_W                0x04
5794 #define _I2C_READ               0x04
5795 #define _R                      0x04
5796 #define _READ_WRITE             0x04
5797 #define _NOT_WRITE              0x04
5798 #define _NOT_W                  0x04
5799 #define _R_W                    0x04
5800 #define _S                      0x08
5801 #define _I2C_START              0x08
5802 #define _P                      0x10
5803 #define _I2C_STOP               0x10
5804 #define _D_NOT_A                0x20
5805 #define _I2C_DATA               0x20
5806 #define _D                      0x20
5807 #define _DATA_ADDRESS           0x20
5808 #define _NOT_ADDRESS            0x20
5809 #define _NOT_A                  0x20
5810 #define _D_A                    0x20
5811 #define _I2C_DAT                0x20
5812 #define _CKE                    0x40
5813 #define _SMP                    0x80
5814 
5815 //==============================================================================
5816 
5817 extern __at(0x0FC8) __sfr SSPADD;
5818 extern __at(0x0FC9) __sfr SSPBUF;
5819 
5820 //==============================================================================
5821 //        T2CON Bits
5822 
5823 extern __at(0x0FCA) __sfr T2CON;
5824 
5825 typedef union
5826   {
5827   struct
5828     {
5829     unsigned T2CKPS0            : 1;
5830     unsigned T2CKPS1            : 1;
5831     unsigned TMR2ON             : 1;
5832     unsigned TOUTPS0            : 1;
5833     unsigned TOUTPS1            : 1;
5834     unsigned TOUTPS2            : 1;
5835     unsigned TOUTPS3            : 1;
5836     unsigned                    : 1;
5837     };
5838 
5839   struct
5840     {
5841     unsigned T2CKPS             : 2;
5842     unsigned                    : 6;
5843     };
5844 
5845   struct
5846     {
5847     unsigned                    : 3;
5848     unsigned TOUTPS             : 4;
5849     unsigned                    : 1;
5850     };
5851   } __T2CONbits_t;
5852 
5853 extern __at(0x0FCA) volatile __T2CONbits_t T2CONbits;
5854 
5855 #define _T2CKPS0                0x01
5856 #define _T2CKPS1                0x02
5857 #define _TMR2ON                 0x04
5858 #define _TOUTPS0                0x08
5859 #define _TOUTPS1                0x10
5860 #define _TOUTPS2                0x20
5861 #define _TOUTPS3                0x40
5862 
5863 //==============================================================================
5864 
5865 extern __at(0x0FCB) __sfr PR2;
5866 extern __at(0x0FCC) __sfr TMR2;
5867 
5868 //==============================================================================
5869 //        T1CON Bits
5870 
5871 extern __at(0x0FCD) __sfr T1CON;
5872 
5873 typedef union
5874   {
5875   struct
5876     {
5877     unsigned TMR1ON             : 1;
5878     unsigned TMR1CS             : 1;
5879     unsigned NOT_T1SYNC         : 1;
5880     unsigned T1OSCEN            : 1;
5881     unsigned T1CKPS0            : 1;
5882     unsigned T1CKPS1            : 1;
5883     unsigned                    : 1;
5884     unsigned RD16               : 1;
5885     };
5886 
5887   struct
5888     {
5889     unsigned                    : 1;
5890     unsigned                    : 1;
5891     unsigned T1INSYNC           : 1;
5892     unsigned                    : 1;
5893     unsigned                    : 1;
5894     unsigned                    : 1;
5895     unsigned                    : 1;
5896     unsigned                    : 1;
5897     };
5898 
5899   struct
5900     {
5901     unsigned                    : 1;
5902     unsigned                    : 1;
5903     unsigned T1SYNC             : 1;
5904     unsigned                    : 1;
5905     unsigned                    : 1;
5906     unsigned                    : 1;
5907     unsigned                    : 1;
5908     unsigned                    : 1;
5909     };
5910 
5911   struct
5912     {
5913     unsigned                    : 4;
5914     unsigned T1CKPS             : 2;
5915     unsigned                    : 2;
5916     };
5917   } __T1CONbits_t;
5918 
5919 extern __at(0x0FCD) volatile __T1CONbits_t T1CONbits;
5920 
5921 #define _TMR1ON                 0x01
5922 #define _TMR1CS                 0x02
5923 #define _NOT_T1SYNC             0x04
5924 #define _T1INSYNC               0x04
5925 #define _T1SYNC                 0x04
5926 #define _T1OSCEN                0x08
5927 #define _T1CKPS0                0x10
5928 #define _T1CKPS1                0x20
5929 #define _RD16                   0x80
5930 
5931 //==============================================================================
5932 
5933 extern __at(0x0FCE) __sfr TMR1;
5934 extern __at(0x0FCE) __sfr TMR1L;
5935 extern __at(0x0FCF) __sfr TMR1H;
5936 
5937 //==============================================================================
5938 //        RCON Bits
5939 
5940 extern __at(0x0FD0) __sfr RCON;
5941 
5942 typedef union
5943   {
5944   struct
5945     {
5946     unsigned NOT_BOR            : 1;
5947     unsigned NOT_POR            : 1;
5948     unsigned NOT_PD             : 1;
5949     unsigned NOT_TO             : 1;
5950     unsigned NOT_RI             : 1;
5951     unsigned                    : 1;
5952     unsigned                    : 1;
5953     unsigned IPEN               : 1;
5954     };
5955 
5956   struct
5957     {
5958     unsigned BOR                : 1;
5959     unsigned POR                : 1;
5960     unsigned PD                 : 1;
5961     unsigned TO                 : 1;
5962     unsigned RI                 : 1;
5963     unsigned                    : 1;
5964     unsigned                    : 1;
5965     unsigned NOT_IPEN           : 1;
5966     };
5967   } __RCONbits_t;
5968 
5969 extern __at(0x0FD0) volatile __RCONbits_t RCONbits;
5970 
5971 #define _NOT_BOR                0x01
5972 #define _BOR                    0x01
5973 #define _NOT_POR                0x02
5974 #define _POR                    0x02
5975 #define _NOT_PD                 0x04
5976 #define _PD                     0x04
5977 #define _NOT_TO                 0x08
5978 #define _TO                     0x08
5979 #define _NOT_RI                 0x10
5980 #define _RI                     0x10
5981 #define _IPEN                   0x80
5982 #define _NOT_IPEN               0x80
5983 
5984 //==============================================================================
5985 
5986 
5987 //==============================================================================
5988 //        WDTCON Bits
5989 
5990 extern __at(0x0FD1) __sfr WDTCON;
5991 
5992 typedef union
5993   {
5994   struct
5995     {
5996     unsigned SWDTEN             : 1;
5997     unsigned                    : 1;
5998     unsigned                    : 1;
5999     unsigned                    : 1;
6000     unsigned                    : 1;
6001     unsigned                    : 1;
6002     unsigned                    : 1;
6003     unsigned                    : 1;
6004     };
6005 
6006   struct
6007     {
6008     unsigned SWDTE              : 1;
6009     unsigned                    : 1;
6010     unsigned                    : 1;
6011     unsigned                    : 1;
6012     unsigned                    : 1;
6013     unsigned                    : 1;
6014     unsigned                    : 1;
6015     unsigned                    : 1;
6016     };
6017   } __WDTCONbits_t;
6018 
6019 extern __at(0x0FD1) volatile __WDTCONbits_t WDTCONbits;
6020 
6021 #define _SWDTEN                 0x01
6022 #define _SWDTE                  0x01
6023 
6024 //==============================================================================
6025 
6026 
6027 //==============================================================================
6028 //        LVDCON Bits
6029 
6030 extern __at(0x0FD2) __sfr LVDCON;
6031 
6032 typedef union
6033   {
6034   struct
6035     {
6036     unsigned LVDL0              : 1;
6037     unsigned LVDL1              : 1;
6038     unsigned LVDL2              : 1;
6039     unsigned LVDL3              : 1;
6040     unsigned LVDEN              : 1;
6041     unsigned IRVST              : 1;
6042     unsigned                    : 1;
6043     unsigned                    : 1;
6044     };
6045 
6046   struct
6047     {
6048     unsigned                    : 1;
6049     unsigned                    : 1;
6050     unsigned                    : 1;
6051     unsigned                    : 1;
6052     unsigned                    : 1;
6053     unsigned IVRST              : 1;
6054     unsigned                    : 1;
6055     unsigned                    : 1;
6056     };
6057 
6058   struct
6059     {
6060     unsigned LVDL               : 4;
6061     unsigned                    : 4;
6062     };
6063   } __LVDCONbits_t;
6064 
6065 extern __at(0x0FD2) volatile __LVDCONbits_t LVDCONbits;
6066 
6067 #define _LVDL0                  0x01
6068 #define _LVDL1                  0x02
6069 #define _LVDL2                  0x04
6070 #define _LVDL3                  0x08
6071 #define _LVDEN                  0x10
6072 #define _IRVST                  0x20
6073 #define _IVRST                  0x20
6074 
6075 //==============================================================================
6076 
6077 
6078 //==============================================================================
6079 //        OSCCON Bits
6080 
6081 extern __at(0x0FD3) __sfr OSCCON;
6082 
6083 typedef struct
6084   {
6085   unsigned SCS                  : 1;
6086   unsigned                      : 1;
6087   unsigned                      : 1;
6088   unsigned                      : 1;
6089   unsigned                      : 1;
6090   unsigned                      : 1;
6091   unsigned                      : 1;
6092   unsigned                      : 1;
6093   } __OSCCONbits_t;
6094 
6095 extern __at(0x0FD3) volatile __OSCCONbits_t OSCCONbits;
6096 
6097 #define _SCS                    0x01
6098 
6099 //==============================================================================
6100 
6101 
6102 //==============================================================================
6103 //        T0CON Bits
6104 
6105 extern __at(0x0FD5) __sfr T0CON;
6106 
6107 typedef union
6108   {
6109   struct
6110     {
6111     unsigned T0PS0              : 1;
6112     unsigned T0PS1              : 1;
6113     unsigned T0PS2              : 1;
6114     unsigned PSA                : 1;
6115     unsigned T0SE               : 1;
6116     unsigned T0CS               : 1;
6117     unsigned T08BIT             : 1;
6118     unsigned TMR0ON             : 1;
6119     };
6120 
6121   struct
6122     {
6123     unsigned T0PS               : 3;
6124     unsigned                    : 5;
6125     };
6126   } __T0CONbits_t;
6127 
6128 extern __at(0x0FD5) volatile __T0CONbits_t T0CONbits;
6129 
6130 #define _T0PS0                  0x01
6131 #define _T0PS1                  0x02
6132 #define _T0PS2                  0x04
6133 #define _PSA                    0x08
6134 #define _T0SE                   0x10
6135 #define _T0CS                   0x20
6136 #define _T08BIT                 0x40
6137 #define _TMR0ON                 0x80
6138 
6139 //==============================================================================
6140 
6141 extern __at(0x0FD6) __sfr TMR0;
6142 extern __at(0x0FD6) __sfr TMR0L;
6143 extern __at(0x0FD7) __sfr TMR0H;
6144 
6145 //==============================================================================
6146 //        STATUS Bits
6147 
6148 extern __at(0x0FD8) __sfr STATUS;
6149 
6150 typedef struct
6151   {
6152   unsigned C                    : 1;
6153   unsigned DC                   : 1;
6154   unsigned Z                    : 1;
6155   unsigned OV                   : 1;
6156   unsigned N                    : 1;
6157   unsigned                      : 1;
6158   unsigned                      : 1;
6159   unsigned                      : 1;
6160   } __STATUSbits_t;
6161 
6162 extern __at(0x0FD8) volatile __STATUSbits_t STATUSbits;
6163 
6164 #define _C                      0x01
6165 #define _DC                     0x02
6166 #define _Z                      0x04
6167 #define _OV                     0x08
6168 #define _N                      0x10
6169 
6170 //==============================================================================
6171 
6172 extern __at(0x0FD9) __sfr FSR2L;
6173 extern __at(0x0FDA) __sfr FSR2H;
6174 extern __at(0x0FDB) __sfr PLUSW2;
6175 extern __at(0x0FDC) __sfr PREINC2;
6176 extern __at(0x0FDD) __sfr POSTDEC2;
6177 extern __at(0x0FDE) __sfr POSTINC2;
6178 extern __at(0x0FDF) __sfr INDF2;
6179 extern __at(0x0FE0) __sfr BSR;
6180 extern __at(0x0FE1) __sfr FSR1L;
6181 extern __at(0x0FE2) __sfr FSR1H;
6182 extern __at(0x0FE3) __sfr PLUSW1;
6183 extern __at(0x0FE4) __sfr PREINC1;
6184 extern __at(0x0FE5) __sfr POSTDEC1;
6185 extern __at(0x0FE6) __sfr POSTINC1;
6186 extern __at(0x0FE7) __sfr INDF1;
6187 extern __at(0x0FE8) __sfr WREG;
6188 extern __at(0x0FE9) __sfr FSR0L;
6189 extern __at(0x0FEA) __sfr FSR0H;
6190 extern __at(0x0FEB) __sfr PLUSW0;
6191 extern __at(0x0FEC) __sfr PREINC0;
6192 extern __at(0x0FED) __sfr POSTDEC0;
6193 extern __at(0x0FEE) __sfr POSTINC0;
6194 extern __at(0x0FEF) __sfr INDF0;
6195 
6196 //==============================================================================
6197 //        INTCON3 Bits
6198 
6199 extern __at(0x0FF0) __sfr INTCON3;
6200 
6201 typedef union
6202   {
6203   struct
6204     {
6205     unsigned INT1IF             : 1;
6206     unsigned INT2IF             : 1;
6207     unsigned                    : 1;
6208     unsigned INT1IE             : 1;
6209     unsigned INT2IE             : 1;
6210     unsigned                    : 1;
6211     unsigned INT1IP             : 1;
6212     unsigned INT2IP             : 1;
6213     };
6214 
6215   struct
6216     {
6217     unsigned INT1F              : 1;
6218     unsigned INT2F              : 1;
6219     unsigned                    : 1;
6220     unsigned INT1E              : 1;
6221     unsigned INT2E              : 1;
6222     unsigned                    : 1;
6223     unsigned INT1P              : 1;
6224     unsigned INT2P              : 1;
6225     };
6226   } __INTCON3bits_t;
6227 
6228 extern __at(0x0FF0) volatile __INTCON3bits_t INTCON3bits;
6229 
6230 #define _INT1IF                 0x01
6231 #define _INT1F                  0x01
6232 #define _INT2IF                 0x02
6233 #define _INT2F                  0x02
6234 #define _INT1IE                 0x08
6235 #define _INT1E                  0x08
6236 #define _INT2IE                 0x10
6237 #define _INT2E                  0x10
6238 #define _INT1IP                 0x40
6239 #define _INT1P                  0x40
6240 #define _INT2IP                 0x80
6241 #define _INT2P                  0x80
6242 
6243 //==============================================================================
6244 
6245 
6246 //==============================================================================
6247 //        INTCON2 Bits
6248 
6249 extern __at(0x0FF1) __sfr INTCON2;
6250 
6251 typedef union
6252   {
6253   struct
6254     {
6255     unsigned RBIP               : 1;
6256     unsigned                    : 1;
6257     unsigned TMR0IP             : 1;
6258     unsigned                    : 1;
6259     unsigned INTEDG2            : 1;
6260     unsigned INTEDG1            : 1;
6261     unsigned INTEDG0            : 1;
6262     unsigned NOT_RBPU           : 1;
6263     };
6264 
6265   struct
6266     {
6267     unsigned                    : 1;
6268     unsigned                    : 1;
6269     unsigned T0IP               : 1;
6270     unsigned                    : 1;
6271     unsigned                    : 1;
6272     unsigned                    : 1;
6273     unsigned                    : 1;
6274     unsigned RBPU               : 1;
6275     };
6276   } __INTCON2bits_t;
6277 
6278 extern __at(0x0FF1) volatile __INTCON2bits_t INTCON2bits;
6279 
6280 #define _RBIP                   0x01
6281 #define _TMR0IP                 0x04
6282 #define _T0IP                   0x04
6283 #define _INTEDG2                0x10
6284 #define _INTEDG1                0x20
6285 #define _INTEDG0                0x40
6286 #define _NOT_RBPU               0x80
6287 #define _RBPU                   0x80
6288 
6289 //==============================================================================
6290 
6291 
6292 //==============================================================================
6293 //        INTCON Bits
6294 
6295 extern __at(0x0FF2) __sfr INTCON;
6296 
6297 typedef union
6298   {
6299   struct
6300     {
6301     unsigned RBIF               : 1;
6302     unsigned INT0IF             : 1;
6303     unsigned TMR0IF             : 1;
6304     unsigned RBIE               : 1;
6305     unsigned INT0IE             : 1;
6306     unsigned TMR0IE             : 1;
6307     unsigned PEIE_GIEL          : 1;
6308     unsigned GIE_GIEH           : 1;
6309     };
6310 
6311   struct
6312     {
6313     unsigned                    : 1;
6314     unsigned INT0F              : 1;
6315     unsigned T0IF               : 1;
6316     unsigned                    : 1;
6317     unsigned INT0E              : 1;
6318     unsigned T0IE               : 1;
6319     unsigned PEIE               : 1;
6320     unsigned GIE                : 1;
6321     };
6322 
6323   struct
6324     {
6325     unsigned                    : 1;
6326     unsigned                    : 1;
6327     unsigned                    : 1;
6328     unsigned                    : 1;
6329     unsigned                    : 1;
6330     unsigned                    : 1;
6331     unsigned GIEL               : 1;
6332     unsigned GIEH               : 1;
6333     };
6334   } __INTCONbits_t;
6335 
6336 extern __at(0x0FF2) volatile __INTCONbits_t INTCONbits;
6337 
6338 #define _RBIF                   0x01
6339 #define _INT0IF                 0x02
6340 #define _INT0F                  0x02
6341 #define _TMR0IF                 0x04
6342 #define _T0IF                   0x04
6343 #define _RBIE                   0x08
6344 #define _INT0IE                 0x10
6345 #define _INT0E                  0x10
6346 #define _TMR0IE                 0x20
6347 #define _T0IE                   0x20
6348 #define _PEIE_GIEL              0x40
6349 #define _PEIE                   0x40
6350 #define _GIEL                   0x40
6351 #define _GIE_GIEH               0x80
6352 #define _GIE                    0x80
6353 #define _GIEH                   0x80
6354 
6355 //==============================================================================
6356 
6357 
6358 //==============================================================================
6359 //        INTCON1 Bits
6360 
6361 extern __at(0x0FF2) __sfr INTCON1;
6362 
6363 typedef union
6364   {
6365   struct
6366     {
6367     unsigned RBIF               : 1;
6368     unsigned INT0IF             : 1;
6369     unsigned TMR0IF             : 1;
6370     unsigned RBIE               : 1;
6371     unsigned INT0IE             : 1;
6372     unsigned TMR0IE             : 1;
6373     unsigned PEIE_GIEL          : 1;
6374     unsigned GIE_GIEH           : 1;
6375     };
6376 
6377   struct
6378     {
6379     unsigned                    : 1;
6380     unsigned INT0F              : 1;
6381     unsigned T0IF               : 1;
6382     unsigned                    : 1;
6383     unsigned INT0E              : 1;
6384     unsigned T0IE               : 1;
6385     unsigned PEIE               : 1;
6386     unsigned GIE                : 1;
6387     };
6388 
6389   struct
6390     {
6391     unsigned                    : 1;
6392     unsigned                    : 1;
6393     unsigned                    : 1;
6394     unsigned                    : 1;
6395     unsigned                    : 1;
6396     unsigned                    : 1;
6397     unsigned GIEL               : 1;
6398     unsigned GIEH               : 1;
6399     };
6400   } __INTCON1bits_t;
6401 
6402 extern __at(0x0FF2) volatile __INTCON1bits_t INTCON1bits;
6403 
6404 #define _INTCON1_RBIF           0x01
6405 #define _INTCON1_INT0IF         0x02
6406 #define _INTCON1_INT0F          0x02
6407 #define _INTCON1_TMR0IF         0x04
6408 #define _INTCON1_T0IF           0x04
6409 #define _INTCON1_RBIE           0x08
6410 #define _INTCON1_INT0IE         0x10
6411 #define _INTCON1_INT0E          0x10
6412 #define _INTCON1_TMR0IE         0x20
6413 #define _INTCON1_T0IE           0x20
6414 #define _INTCON1_PEIE_GIEL      0x40
6415 #define _INTCON1_PEIE           0x40
6416 #define _INTCON1_GIEL           0x40
6417 #define _INTCON1_GIE_GIEH       0x80
6418 #define _INTCON1_GIE            0x80
6419 #define _INTCON1_GIEH           0x80
6420 
6421 //==============================================================================
6422 
6423 extern __at(0x0FF3) __sfr PROD;
6424 extern __at(0x0FF3) __sfr PRODL;
6425 extern __at(0x0FF4) __sfr PRODH;
6426 extern __at(0x0FF5) __sfr TABLAT;
6427 extern __at(0x0FF6) __sfr TBLPTR;
6428 extern __at(0x0FF6) __sfr TBLPTRL;
6429 extern __at(0x0FF7) __sfr TBLPTRH;
6430 extern __at(0x0FF8) __sfr TBLPTRU;
6431 extern __at(0x0FF9) __sfr PC;
6432 extern __at(0x0FF9) __sfr PCL;
6433 extern __at(0x0FFA) __sfr PCLATH;
6434 extern __at(0x0FFB) __sfr PCLATU;
6435 
6436 //==============================================================================
6437 //        STKPTR Bits
6438 
6439 extern __at(0x0FFC) __sfr STKPTR;
6440 
6441 typedef union
6442   {
6443   struct
6444     {
6445     unsigned STKPTR0            : 1;
6446     unsigned STKPTR1            : 1;
6447     unsigned STKPTR2            : 1;
6448     unsigned STKPTR3            : 1;
6449     unsigned STKPTR4            : 1;
6450     unsigned                    : 1;
6451     unsigned STKUNF             : 1;
6452     unsigned STKFUL             : 1;
6453     };
6454 
6455   struct
6456     {
6457     unsigned SP0                : 1;
6458     unsigned SP1                : 1;
6459     unsigned SP2                : 1;
6460     unsigned SP3                : 1;
6461     unsigned SP4                : 1;
6462     unsigned                    : 1;
6463     unsigned                    : 1;
6464     unsigned STKOVF             : 1;
6465     };
6466 
6467   struct
6468     {
6469     unsigned STKPTR             : 5;
6470     unsigned                    : 3;
6471     };
6472 
6473   struct
6474     {
6475     unsigned SP                 : 5;
6476     unsigned                    : 3;
6477     };
6478   } __STKPTRbits_t;
6479 
6480 extern __at(0x0FFC) volatile __STKPTRbits_t STKPTRbits;
6481 
6482 #define _STKPTR0                0x01
6483 #define _SP0                    0x01
6484 #define _STKPTR1                0x02
6485 #define _SP1                    0x02
6486 #define _STKPTR2                0x04
6487 #define _SP2                    0x04
6488 #define _STKPTR3                0x08
6489 #define _SP3                    0x08
6490 #define _STKPTR4                0x10
6491 #define _SP4                    0x10
6492 #define _STKUNF                 0x40
6493 #define _STKFUL                 0x80
6494 #define _STKOVF                 0x80
6495 
6496 //==============================================================================
6497 
6498 extern __at(0x0FFD) __sfr TOS;
6499 extern __at(0x0FFD) __sfr TOSL;
6500 extern __at(0x0FFE) __sfr TOSH;
6501 extern __at(0x0FFF) __sfr TOSU;
6502 
6503 //==============================================================================
6504 //
6505 //        Configuration Bits
6506 //
6507 //==============================================================================
6508 
6509 #define __CONFIG1H              0x300001
6510 #define __CONFIG2L              0x300002
6511 #define __CONFIG2H              0x300003
6512 #define __CONFIG4L              0x300006
6513 #define __CONFIG5L              0x300008
6514 #define __CONFIG5H              0x300009
6515 #define __CONFIG6L              0x30000A
6516 #define __CONFIG6H              0x30000B
6517 #define __CONFIG7L              0x30000C
6518 #define __CONFIG7H              0x30000D
6519 
6520 //----------------------------- CONFIG1H Options -------------------------------
6521 
6522 #define _LP_OSC                 0xF8    // LP oscillator.
6523 #define _LP_OSC_1H              0xF8    // LP oscillator.
6524 #define _XT_OSC                 0xF9    // XT oscillator.
6525 #define _XT_OSC_1H              0xF9    // XT oscillator.
6526 #define _HS_OSC                 0xFA    // HS oscillator.
6527 #define _HS_OSC_1H              0xFA    // HS oscillator.
6528 #define _RC_OSC                 0xFB    // RC oscillator.
6529 #define _RC_OSC_1H              0xFB    // RC oscillator.
6530 #define _EC_OSC                 0xFC    // EC oscillator w/ OSC2 configured as divide-by-4 clock output.
6531 #define _EC_OSC_1H              0xFC    // EC oscillator w/ OSC2 configured as divide-by-4 clock output.
6532 #define _ECIO_OSC               0xFD    // EC oscillator w/ OSC2 configured as RA6.
6533 #define _ECIO_OSC_1H            0xFD    // EC oscillator w/ OSC2 configured as RA6.
6534 #define _HSPLL_OSC              0xFE    // HS oscillator with PLL enabled/Clock frequency = (4 x FOSC).
6535 #define _HSPLL_OSC_1H           0xFE    // HS oscillator with PLL enabled/Clock frequency = (4 x FOSC).
6536 #define _RCIO_OSC               0xFF    // RC oscillator w/ OSC2 configured as RA6.
6537 #define _RCIO_OSC_1H            0xFF    // RC oscillator w/ OSC2 configured as RA6.
6538 #define _OSCS_ON_1H             0xDF    // Oscillator system clock switch option is enabled (oscillator switching is enabled).
6539 #define _OSCS_OFF_1H            0xFF    // Oscillator system clock switch option is disabled (main oscillator is source).
6540 
6541 //----------------------------- CONFIG2L Options -------------------------------
6542 
6543 #define _PWRT_ON_2L             0xFE    // PWRT enabled.
6544 #define _PWRT_OFF_2L            0xFF    // PWRT disabled.
6545 #define _BOR_OFF_2L             0xFD    // Brown-out Reset disabled.
6546 #define _BOR_ON_2L              0xFF    // Brown-out Reset enabled.
6547 #define _BORV_45_2L             0xF3    // VBOR set to 4.5V.
6548 #define _BORV_42_2L             0xF7    // VBOR set to 4.2V.
6549 #define _BORV_27_2L             0xFB    // VBOR set to 2.7V.
6550 #define _BORV_25                0xFF    // VBOR set to 2.5V.
6551 #define _BORV_25_2L             0xFF    // VBOR set to 2.5V.
6552 
6553 //----------------------------- CONFIG2H Options -------------------------------
6554 
6555 #define _WDT_OFF_2H             0xFE    // WDT disabled (control is placed on the SWDTEN bit).
6556 #define _WDT_ON_2H              0xFF    // WDT enabled.
6557 #define _WDTPS_1_2H             0xF1    // 1:1.
6558 #define _WDTPS_2_2H             0xF3    // 1:2.
6559 #define _WDTPS_4_2H             0xF5    // 1:4.
6560 #define _WDTPS_8_2H             0xF7    // 1:8.
6561 #define _WDTPS_16_2H            0xF9    // 1:16.
6562 #define _WDTPS_32_2H            0xFB    // 1:32.
6563 #define _WDTPS_64_2H            0xFD    // 1:64.
6564 #define _WDTPS_128_2H           0xFF    // 1:128.
6565 
6566 //----------------------------- CONFIG4L Options -------------------------------
6567 
6568 #define _STVR_OFF_4L            0xFE    // Stack Full/Underflow will not cause Reset.
6569 #define _STVR_ON_4L             0xFF    // Stack Full/Underflow will cause Reset.
6570 #define _LVP_OFF_4L             0xFB    // Low-Voltage ICSP disabled.
6571 #define _LVP_ON_4L              0xFF    // Low-Voltage ICSP enabled.
6572 #define _DEBUG_ON_4L            0x7F    // Background Debugger enabled. RB6 and RB7 are dedicated to In-Circuit Debug.
6573 #define _DEBUG_OFF_4L           0xFF    // Background Debugger disabled. RB6 and RB7 configured as general purpose I/O pins.
6574 
6575 //----------------------------- CONFIG5L Options -------------------------------
6576 
6577 #define _CP0_ON_5L              0xFE    // Block 0 (000200-001FFFh) code protected.
6578 #define _CP0_OFF_5L             0xFF    // Block 0 (000200-001FFFh) not code protected.
6579 #define _CP1_ON_5L              0xFD    // Block 1 (002000-003FFFh) code protected.
6580 #define _CP1_OFF_5L             0xFF    // Block 1 (002000-003FFFh) not code protected.
6581 #define _CP2_ON_5L              0xFB    // Block 2 (004000-005FFFh) code protected.
6582 #define _CP2_OFF_5L             0xFF    // Block 2 (004000-005FFFh) not code protected.
6583 #define _CP3_ON_5L              0xF7    // Block 3 (006000-007FFFh) code protected.
6584 #define _CP3_OFF_5L             0xFF    // Block 3 (006000-007FFFh) not code protected.
6585 
6586 //----------------------------- CONFIG5H Options -------------------------------
6587 
6588 #define _CPB_ON_5H              0xBF    // Boot Block (000000-0001FFh) code protected.
6589 #define _CPB_OFF_5H             0xFF    // Boot Block (000000-0001FFh) not code protected.
6590 #define _CPD_ON_5H              0x7F    // Data EEPROM code protected.
6591 #define _CPD_OFF_5H             0xFF    // Data EEPROM not code protected.
6592 
6593 //----------------------------- CONFIG6L Options -------------------------------
6594 
6595 #define _WRT0_ON_6L             0xFE    // Block 0 (000200-001FFFh) write protected.
6596 #define _WRT0_OFF_6L            0xFF    // Block 0 (000200-001FFFh) not write protected.
6597 #define _WRT1_ON_6L             0xFD    // Block 1 (002000-003FFFh) write protected.
6598 #define _WRT1_OFF_6L            0xFF    // Block 1 (002000-003FFFh) not write protected.
6599 #define _WRT2_ON_6L             0xFB    // Block 2 (004000-005FFFh) write protected.
6600 #define _WRT2_OFF_6L            0xFF    // Block 2 (004000-005FFFh) not write protected.
6601 #define _WRT3_ON_6L             0xF7    // Block 3 (006000-007FFFh) write protected.
6602 #define _WRT3_OFF_6L            0xFF    // Block 3 (006000-007FFFh) not write protected.
6603 
6604 //----------------------------- CONFIG6H Options -------------------------------
6605 
6606 #define _WRTC_ON_6H             0xDF    // Configuration registers (300000-3000FFh) write protected.
6607 #define _WRTC_OFF_6H            0xFF    // Configuration registers (300000-3000FFh) not write protected.
6608 #define _WRTB_ON_6H             0xBF    // Boot Block (000000-0001FFh) write protected.
6609 #define _WRTB_OFF_6H            0xFF    // Boot Block (000000-0001FFh) not write protected.
6610 #define _WRTD_ON_6H             0x7F    // Data EEPROM write protected.
6611 #define _WRTD_OFF_6H            0xFF    // Data EEPROM not write protected.
6612 
6613 //----------------------------- CONFIG7L Options -------------------------------
6614 
6615 #define _EBTR0_ON_7L            0xFE    // Block 0 (000200-001FFFh) protected from Table Reads executed in other blocks.
6616 #define _EBTR0_OFF_7L           0xFF    // Block 0 (000200-001FFFh) not protected from Table Reads executed in other blocks.
6617 #define _EBTR1_ON_7L            0xFD    // Block 1 (002000-003FFFh) protected from Table Reads executed in other blocks.
6618 #define _EBTR1_OFF_7L           0xFF    // Block 1 (002000-003FFFh) not protected from Table Reads executed in other blocks.
6619 #define _EBTR2_ON_7L            0xFB    // Block 2 (004000-005FFFh) protected from Table Reads executed in other blocks.
6620 #define _EBTR2_OFF_7L           0xFF    // Block 2 (004000-005FFFh) not protected from Table Reads executed in other blocks.
6621 #define _EBTR3_ON_7L            0xF7    // Block 3 (006000-007FFFh) protected from Table Reads executed in other blocks.
6622 #define _EBTR3_OFF_7L           0xFF    // Block 3 (006000-007FFFh) not protected from Table Reads executed in other blocks.
6623 
6624 //----------------------------- CONFIG7H Options -------------------------------
6625 
6626 #define _EBTRB_ON_7H            0xBF    // Boot Block (000000-0001FFh) protected from Table Reads executed in other blocks.
6627 #define _EBTRB_OFF_7H           0xFF    // Boot Block (000000-0001FFh) not protected from Table Reads executed in other blocks.
6628 
6629 //==============================================================================
6630 
6631 #define __DEVID1                0x3FFFFE
6632 #define __DEVID2                0x3FFFFF
6633 
6634 #define __IDLOC0                0x200000
6635 #define __IDLOC1                0x200001
6636 #define __IDLOC2                0x200002
6637 #define __IDLOC3                0x200003
6638 #define __IDLOC4                0x200004
6639 #define __IDLOC5                0x200005
6640 #define __IDLOC6                0x200006
6641 #define __IDLOC7                0x200007
6642 
6643 #endif // #ifndef __PIC18F258_H__
6644