Go to the documentation of this file.
55 #define _ISR __attribute__((interrupt)) __attribute__ ((auto_psv))
64 #define _ISRFAST __attribute__((interrupt)) __attribute__ ((no_auto_psv))
69 #define SLEEP() Sleep()
75 #define CLRWDT() ClrWdt()
81 #define ENABLEWDT() (_SWDTEN = 1)
84 #define DISABLEWDT() (_SWDTEN = 0)
96 # define NUM_UART_MODS 4
97 #elif defined(_U3RXIF)
98 # define NUM_UART_MODS 3
99 #elif defined(_U2RXIF)
100 # define NUM_UART_MODS 2
101 #elif defined(_U1RXIF) || defined(__DOXYGEN__)
102 # define NUM_UART_MODS 1
104 # error "UxRXIF flag not defined!"
110 #if defined(_SI2C2IF)
111 # define NUM_I2C_MODS 2
112 #elif defined(_SI2C1IF) || defined(__DOXYGEN__)
113 # define NUM_I2C_MODS 1
115 # error "SI2CxIF flag not defined!"
122 # define NUM_SPI_MODS 2
123 #elif defined(_SPI1IF) || defined(__DOXYGEN__)
124 # define NUM_SPI_MODS 1
126 # error "SPIxIF flag not defined!"
133 # define NUM_ECAN_MODS 2
134 #elif defined(_C1IF) || defined(__DOXYGEN__)
135 # define NUM_ECAN_MODS 1
137 # define NUM_ECAN_MODS 0
154 #define DEV_ID_LOCATION 0xFF0000
156 #define REVISION_LOCATION 0xFF0002
159 #if defined(__PIC24HJ12GP201__) || defined(__DOXYGEN__)
163 #define DEV_ID 0x00080a
167 #define DEV_ID_STR "PIC24HJ12GP201"
172 #define EXPECTED_REVISION1 0x003001
177 #define EXPECTED_REVISION1_STR "A2"
179 #define EXPECTED_REVISION2 0x003002
180 #define EXPECTED_REVISION2_STR "A3"
181 #define EXPECTED_REVISION3 0x003003
182 #define EXPECTED_REVISION3_STR "A4"
185 #ifdef __PIC24HJ12GP202__
186 #define DEV_ID 0x00080B
187 #define DEV_ID_STR "PIC24HJ12GP202"
188 #define EXPECTED_REVISION1 0x003001
189 #define EXPECTED_REVISION1_STR "A2"
190 #define EXPECTED_REVISION2 0x003002
191 #define EXPECTED_REVISION2_STR "A3"
192 #define EXPECTED_REVISION3 0x003003
193 #define EXPECTED_REVISION3_STR "A4"
200 #ifdef __PIC24HJ16GP304__
201 #define DEV_ID 0x000F17
202 #define DEV_ID_STR "PIC24HJ16GP304"
205 #ifdef __PIC24HJ32GP202__
206 #define DEV_ID 0x000F1D
207 #define DEV_ID_STR "PIC24HJ32GP202"
210 #ifdef __PIC24HJ32GP204__
211 #define DEV_ID 0x000F1F
212 #define DEV_ID_STR "PIC24HJ32GP204"
215 #if (defined(__PIC24HJ16GP304__) || defined(__PIC24HJ32GP202__) || defined(__PIC24HJ32GP204__))
216 #define EXPECTED_REVISION1 0x003001
217 #define EXPECTED_REVISION1_STR "A2"
218 #define EXPECTED_REVISION2 0x003002
219 #define EXPECTED_REVISION2_STR "A3"
220 #define EXPECTED_REVISION3 0x003004
221 #define EXPECTED_REVISION3_STR "A4"
222 #define EXPECTED_REVISION4 0x003005
223 #define EXPECTED_REVISION4_STR "A5"
224 #define EXPECTED_REVISION5 0x003006
225 #define EXPECTED_REVISION5_STR "A6"
230 #ifdef __PIC24HJ32GP302__
231 #define DEV_ID 0x000645
232 #define DEV_ID_STR "PIC24HJ32GP302"
235 #ifdef __PIC24HJ32GP304__
236 #define DEV_ID 0x000647
237 #define DEV_ID_STR "PIC24HJ32GP304"
240 #ifdef __PIC24HJ64GP202__
241 #define DEV_ID 0x000655
242 #define DEV_ID_STR "PIC24HJ64GP202"
245 #ifdef __PIC24HJ64GP204__
246 #define DEV_ID 0x000657
247 #define DEV_ID_STR "PIC24HJ64GP204"
250 #ifdef __PIC24HJ64GP502__
251 #define DEV_ID 0x000675
252 #define DEV_ID_STR "PIC24HJ64GP502"
255 #ifdef __PIC24HJ64GP504__
256 #define DEV_ID 0x000677
257 #define DEV_ID_STR "PIC24HJ64GP504"
260 #ifdef __PIC24HJ128GP202__
261 #define DEV_ID 0x000665
262 #define DEV_ID_STR "PIC24HJ128GP202"
266 #ifdef __PIC24HJ128GP204__
267 #define DEV_ID 0x000667
268 #define DEV_ID_STR "PIC24HJ128GP204"
271 #ifdef __PIC24HJ128GP502__
272 #define DEV_ID 0x00067d
273 #define DEV_ID_STR "PIC24HJ128GP502"
276 #ifdef __PIC24HJ128GP504__
277 #define DEV_ID 0x00067f
278 #define DEV_ID_STR "PIC24HJ128GP504"
281 #if (defined(__PIC24HJ128GP504__) || defined(__PIC24HJ128GP502__)\
282 || defined(__PIC24HJ128GP204__) || defined(__PIC24HJ128GP202__)\
283 || defined(__PIC24HJ64GP504__) || defined(__PIC24HJ64GP502__)\
284 || defined(__PIC24HJ64GP204__) || defined(__PIC24HJ64GP202__)\
285 || defined(__PIC24HJ32GP304__) || defined(__PIC24HJ32GP302__))
286 #define EXPECTED_REVISION1 0x003001
287 #define EXPECTED_REVISION1_STR "A1"
288 #define EXPECTED_REVISION2 0x003002
289 #define EXPECTED_REVISION2_STR "A2"
290 #define EXPECTED_REVISION3 0x003003
291 #define EXPECTED_REVISION3_STR "A3"
297 #if (defined(__PIC24HJ64GP206__) || defined(__PIC24HJ64GP206A__))
298 #define DEV_ID 0x000041
299 #define DEV_ID_STR "PIC24HJ64GP206"
302 #if (defined(__PIC24HJ64GP210__) || defined(__PIC24HJ64GP210A__))
303 #define DEV_ID 0x000047
304 #define DEV_ID_STR "PIC24HJ64GP210"
307 #if (defined(__PIC24HJ64GP506__) || defined(__PIC24HJ64GP506A__))
308 #define DEV_ID 0x000049
309 #define DEV_ID_STR "PIC24HJ64GP506"
312 #if (defined(__PIC24HJ64GP510__) || defined(__PIC24HJ64GP510A__))
313 #define DEV_ID 0x00004B
314 #define DEV_ID_STR "PIC24HJ64GP510"
317 #if (defined(__PIC24HJ128GP206__) || defined(__PIC24HJ128GP206A__))
318 #define DEV_ID 0x00005D
319 #define DEV_ID_STR "PIC24HJ128GP206"
322 #if (defined(__PIC24HJ128GP210__) || defined(__PIC24HJ128GP210A__))
323 #define DEV_ID 0x00005F
324 #define DEV_ID_STR "PIC24HJ128GP210"
327 #if (defined(__PIC24HJ128GP306__) || defined(__PIC24HJ128GP306A__))
328 #define DEV_ID 0x000065
329 #define DEV_ID_STR "PIC24HJ128GP306"
332 #if (defined(__PIC24HJ128GP310__) || defined(__PIC24HJ128GP310A__))
333 #define DEV_ID 0x000067
334 #define DEV_ID_STR "PIC24HJ128GP310"
338 #if defined(__PIC24HJ128GP506__) || defined(__PIC24HJ128GP506A__)
339 #define DEV_ID 0x000061
340 #define DEV_ID_STR "PIC24HJ128GP506/506A"
343 #if (defined(__PIC24HJ128GP510__) || defined(__PIC24HJ128GP510A__))
344 #define DEV_ID 0x000063
345 #define DEV_ID_STR "PIC24HJ128GP510"
348 #if (defined(__PIC24HJ256GP206__) )
349 #define DEV_ID 0x000071
350 #define DEV_ID_STR "PIC24HJ256GP206"
353 #ifdef __PIC24HJ256GP210__
354 #define DEV_ID 0x000073
355 #define DEV_ID_STR "PIC24HJ256GP210"
359 #ifdef __PIC24HJ256GP610__
360 #define DEV_ID 0x00007B
361 #define DEV_ID_STR "PIC24HJ256GP610"
364 #if (defined(__PIC24HJ64GP206__) || defined(__PIC24HJ64GP210__) || defined(__PIC24HJ64GP506__) || defined(__PIC24HJ64GP510__)\
365 || defined(__PIC24HJ128GP206__) || defined(__PIC24HJ128GP210__) || defined(__PIC24HJ128GP306__)\
366 || defined(__PIC24HJ128GP310__) || defined(__PIC24HJ128GP506__)|| defined(__PIC24HJ128GP510__)\
367 || defined(__PIC24HJ256GP206__) || defined(__PIC24HJ256GP210__)|| defined(__PIC24HJ256GP610__))
369 #define EXPECTED_REVISION1 0x003002
370 #define EXPECTED_REVISION1_STR "A2"
371 #define EXPECTED_REVISION2 0x003004
372 #define EXPECTED_REVISION2_STR "A3"
373 #define EXPECTED_REVISION3 0x003040
374 #define EXPECTED_REVISION3_STR "A4"
377 #if (defined(__PIC24HJ64GP206A__) || defined(__PIC24HJ64GP210A__) || defined(__PIC24HJ64GP506A__) || defined(__PIC24HJ64GP510A__)\
378 || defined(__PIC24HJ128GP206A__) || defined(__PIC24HJ128GP210A__) || defined(__PIC24HJ128GP306A__)\
379 || defined(__PIC24HJ128GP310A__) || defined(__PIC24HJ128GP506A__)|| defined(__PIC24HJ128GP510A__)\
380 || defined(__PIC24HJ256GP206A__) || defined(__PIC24HJ256GP210A__)|| defined(__PIC24HJ256GP610A__))
381 #define EXPECTED_REVISION1 0x003009
382 #define EXPECTED_REVISION1_STR "A3"
383 #define EXPECTED_REVISION2 0x00300A
384 #define EXPECTED_REVISION2_STR "A4"
385 #define EXPECTED_REVISION3 0x00300B
386 #define EXPECTED_REVISION3_STR "A5"
393 #ifdef __PIC24FJ128GA010__
394 #define DEV_ID 0x00040D
395 #define DEV_ID_STR "PIC24FJ128GA010"
398 #ifdef __PIC24FJ96GA010__
399 #define DEV_ID 0x00040C
400 #define DEV_ID_STR "PIC24FJ96GA010"
403 #ifdef __PIC24FJ64GA010__
404 #define DEV_ID 0x00040B
405 #define DEV_ID_STR "PIC24FJ64GA010"
408 #ifdef __PIC24FJ128GA008__
409 #define DEV_ID 0x00040A
410 #define DEV_ID_STR "PIC24FJ128GA008"
413 #ifdef __PIC24FJ96GA008__
414 #define DEV_ID 0x000409
415 #define DEV_ID_STR "PIC24FJ96GA008"
418 #ifdef __PIC24FJ64GA008__
419 #define DEV_ID 0x000408
420 #define DEV_ID_STR "PIC24FJ64GA008"
423 #ifdef __PIC24FJ128GA006__
424 #define DEV_ID 0x000407
425 #define DEV_ID_STR "PIC24FJ128GA006"
428 #ifdef __PIC24FJ96GA006__
429 #define DEV_ID 0x000409
430 #define DEV_ID_STR "PIC24FJ96GA006"
433 #ifdef __PIC24FJ64GA006__
434 #define DEV_ID 0x000408
435 #define DEV_ID_STR "PIC24FJ64GA006"
438 #if (defined(__PIC24FJ128GA010__) || defined(__PIC24FJ96GA010__) || defined(__PIC24FJ64GA010__)\
439 || defined(__PIC24FJ128GA008__) || defined(__PIC24FJ96GA008__) || defined(__PIC24FJ64GA008__)\
440 || defined(__PIC24FJ128GA006__) || defined(__PIC24FJ96GA006__) || defined(__PIC24FJ64GA006__))
441 #define EXPECTED_REVISION1 0x003002
442 #define EXPECTED_REVISION1_STR "A2"
443 #define EXPECTED_REVISION2 0x003003
444 #define EXPECTED_REVISION2_STR "A3"
445 #define EXPECTED_REVISION3 0x003007
446 #define EXPECTED_REVISION3_STR "A4"
447 #define EXPECTED_REVISION4 0x003043
448 #define EXPECTED_REVISION4_STR "C1"
449 #define EXPECTED_REVISION5 0x003044
450 #define EXPECTED_REVISION5_STR "C2"
456 #ifdef __PIC24FJ32GA102__
457 #define DEV_ID 0x004202
458 #define DEV_ID_STR "PIC24FJ32GA102"
460 #ifdef __PIC24FJ32GA104__
461 #define DEV_ID 0x00420A
462 #define DEV_ID_STR "PIC24FJ32GA104"
464 #ifdef __PIC24FJ64GA102__
465 #define DEV_ID 0x004206
466 #define DEV_ID_STR "PIC24FJ64GA102"
468 #ifdef __PIC24FJ64GA104__
469 #define DEV_ID 0x00420E
470 #define DEV_ID_STR "PIC24FJ64GA104"
474 #if (defined(__PIC24FJ32GA102__) || defined(__PIC24FJ32GA104__)\
475 || defined(__PIC24FJ64GA102__) || defined(__PIC24FJ64GA104__))
476 #define EXPECTED_REVISION1 0x000002
477 #define EXPECTED_REVISION1_STR "A2"
482 #ifdef __PIC24FJ16GA002__
483 #define DEV_ID 0x000444
484 #define DEV_ID_STR "PIC24FJ16GA002"
487 #ifdef __PIC24FJ32GA002__
488 #define DEV_ID 0x000445
489 #define DEV_ID_STR "PIC24FJ32GA002"
492 #ifdef __PIC24FJ48GA002__
493 #define DEV_ID 0x000446
494 #define DEV_ID_STR "PIC24FJ48GA002"
497 #ifdef __PIC24FJ64GA002__
498 #define DEV_ID 0x000447
499 #define DEV_ID_STR "PIC24FJ64GA002"
502 #ifdef __PIC24FJ16GA004__
503 #define DEV_ID 0x00044C
504 #define DEV_ID_STR "PIC24FJ16GA004"
507 #ifdef __PIC24FJ32GA004__
508 #define DEV_ID 0x00044D
509 #define DEV_ID_STR "PIC24FJ32GA004"
512 #ifdef __PIC24FJ48GA004__
513 #define DEV_ID 0x00044E
514 #define DEV_ID_STR "PIC24FJ48GA004"
517 #ifdef __PIC24FJ64GA004__
518 #define DEV_ID 0x00044F
519 #define DEV_ID_STR "PIC24FJ64GA004"
522 #if (defined(__PIC24FJ64GA004__) || defined(__PIC24FJ48GA004__) || defined(__PIC24FJ32GA004__) || defined(__PIC24FJ16GA004__)\
523 || defined(__PIC24FJ64GA002__) || defined(__PIC24FJ48GA002__) || defined(__PIC24FJ32GA002__) || defined(__PIC24FJ16GA002__))
525 #define EXPECTED_REVISION1 0x003003
526 #define EXPECTED_REVISION1_STR "A3/A4"
527 #define EXPECTED_REVISION2 0x003042
528 #define EXPECTED_REVISION2_STR "B4"
529 #define EXPECTED_REVISION3 0x003043
530 #define EXPECTED_REVISION3_STR "B5"
531 #define EXPECTED_REVISION4 0x003046
532 #define EXPECTED_REVISION4_STR "B8"
539 #ifdef __PIC24FJ256GA110__
540 #define DEV_ID 0x00101E
541 #define DEV_ID_STR "PIC24FJ256GA110"
544 #ifdef __PIC24FJ192GA110__
545 #define DEV_ID 0x001016
546 #define DEV_ID_STR "PIC24FJ192GA110"
549 #ifdef __PIC24FJ128GA110__
550 #define DEV_ID 0x00100E
551 #define DEV_ID_STR "PIC24FJ128GA110"
554 #ifdef __PIC24FJ256GA108__
555 #define DEV_ID 0x00101A
556 #define DEV_ID_STR "PIC24FJ256GA108"
559 #ifdef __PIC24FJ192GA108__
560 #define DEV_ID 0x001012
561 #define DEV_ID_STR "PIC24FJ192GA108"
564 #ifdef __PIC24FJ128GA108__
565 #define DEV_ID 0x00100A
566 #define DEV_ID_STR "PIC24FJ128GA108"
569 #ifdef __PIC24FJ256GA106__
570 #define DEV_ID 0x001018
571 #define DEV_ID_STR "PIC24FJ256GA106"
574 #ifdef __PIC24FJ192GA106__
575 #define DEV_ID 0x001010
576 #define DEV_ID_STR "PIC24FJ192GA106"
579 #ifdef __PIC24FJ128GA106__
580 #define DEV_ID 0x001008
581 #define DEV_ID_STR "PIC24FJ128GA106"
584 #if (defined(__PIC24FJ256GA110__) || defined(__PIC24FJ192GA110__) || defined(__PIC24FJ128GA110__)\
585 || defined(__PIC24FJ256GA108__) || defined(__PIC24FJ192GA108__) || defined(__PIC24FJ128GA108__)\
586 || defined(__PIC24FJ256GA106__) || defined(__PIC24FJ192GA106__) || defined(__PIC24FJ128GA106__))
588 #define EXPECTED_REVISION1 0x003001
589 #define EXPECTED_REVISION1_STR "A3"
590 #define EXPECTED_REVISION2 0x003003
591 #define EXPECTED_REVISION2_STR "A5"
596 #ifdef __PIC24F04KA200__
597 #define DEV_ID 0x000D02
598 #define DEV_ID_STR "PIC24F04KA200"
601 #ifdef __PIC24F04KA201__
602 #define DEV_ID 0x000D00
603 #define DEV_ID_STR "PIC24F04KA201"
606 #if (defined(__PIC24F04KA200__) || defined(__PIC24F04KA201__) )
607 #define EXPECTED_REVISION1 0x000001
608 #define EXPECTED_REVISION1_STR "A1"
612 #ifdef __PIC24F08KA101__
613 #define DEV_ID 0x000D08
614 #define DEV_ID_STR "PIC24F08KA101"
617 #ifdef __PIC24F08KA102__
618 #define DEV_ID 0x000D0A
619 #define DEV_ID_STR "PIC24F08KA102"
622 #ifdef __PIC24F16KA101__
623 #define DEV_ID 0x000D01
624 #define DEV_ID_STR "PIC24F16KA101"
627 #ifdef __PIC24F16KA102__
628 #define DEV_ID 0x000D03
629 #define DEV_ID_STR "PIC24F16KA102"
632 #if (defined(__PIC24F08KA101__) || defined(__PIC24F08KA102__) || defined(__PIC24F16KA101__)\
633 || defined(__PIC24F16KA102__))
635 #define EXPECTED_REVISION1 0x000005
636 #define EXPECTED_REVISION1_STR "A5"
637 #define EXPECTED_REVISION2 0x000006
638 #define EXPECTED_REVISION2_STR "A6"
642 #ifdef __PIC24F32KA304__
643 #define DEV_ID 0x004516
644 #define DEV_ID_STR "PIC24F32KA304"
647 #ifdef __PIC24F32KA302__
648 #define DEV_ID 0x004512
649 #define DEV_ID_STR "PIC24F32KA302"
652 #ifdef __PIC24F32KA301__
653 #define DEV_ID 0x004518
654 #define DEV_ID_STR "PIC24F32KA301"
657 #ifdef __PIC24F16KA304__
658 #define DEV_ID 0x004506
659 #define DEV_ID_STR "PIC24F16KA304"
662 #ifdef __PIC24F16KA302__
663 #define DEV_ID 0x004502
664 #define DEV_ID_STR "PIC24F16KA302"
667 #ifdef __PIC24F16KA301__
668 #define DEV_ID 0x004508
669 #define DEV_ID_STR "PIC24F16KA301"
672 #ifdef __PIC24FV32KA304__
673 #define DEV_ID 0x004517
674 #define DEV_ID_STR "PIC24FV32KA304"
677 #ifdef __PIC24FV32KA302__
678 #define DEV_ID 0x004513
679 #define DEV_ID_STR "PIC24FV32KA302"
682 #ifdef __PIC24FV32KA301__
683 #define DEV_ID 0x004519
684 #define DEV_ID_STR "PIC24FV32KA301"
687 #ifdef __PIC24FV16KA304__
688 #define DEV_ID 0x004507
689 #define DEV_ID_STR "PIC24FV16KA304"
692 #ifdef __PIC24FV16KA302__
693 #define DEV_ID 0x004503
694 #define DEV_ID_STR "PIC24FV16KA302"
697 #ifdef __PIC24FV16KA301__
698 #define DEV_ID 0x004509
699 #define DEV_ID_STR "PIC24FV16KA301"
702 #if defined(__PIC24F32KA304__) || defined(__PIC24F32KA302__) || defined(__PIC24F32KA301__) || defined(__PIC24F16KA304__)|| defined(__PIC24F16KA302__)|| defined(__PIC24F16KA301__) || defined(__PIC24FV32KA304__) || defined(__PIC24FV32KA302__) || defined(__PIC24FV32KA301__) || defined(__PIC24FV16KA304__) || defined(__PIC24FV16KA302__) || defined(__PIC24FV16KA301__)
703 #define EXPECTED_REVISION1 0x000004
704 #define EXPECTED_REVISION1_STR "A4"
705 #define EXPECTED_REVISION2 0x000006
706 #define EXPECTED_REVISION2_STR "A6"
713 #ifdef __PIC24FJ256GB110__
714 #define DEV_ID 0x00101F
715 #define DEV_ID_STR "PIC24FJ256GB110"
718 #ifdef __PIC24FJ192GB110__
719 #define DEV_ID 0x001017
720 #define DEV_ID_STR "PIC24FJ192GB110"
723 #ifdef __PIC24FJ128GB110__
724 #define DEV_ID 0x00100F
725 #define DEV_ID_STR "PIC24FJ128GB110"
728 #ifdef __PIC24FJ64GB110__
729 #define DEV_ID 0x001007
730 #define DEV_ID_STR "PIC24FJ64GB110"
733 #ifdef __PIC24FJ256GB108__
734 #define DEV_ID 0x00101B
735 #define DEV_ID_STR "PIC24FJ256GB108"
738 #ifdef __PIC24FJ192GB108__
739 #define DEV_ID 0x001013
740 #define DEV_ID_STR "PIC24FJ192GB108"
743 #ifdef __PIC24FJ128GB108__
744 #define DEV_ID 0x00100B
745 #define DEV_ID_STR "PIC24FJ128GB108"
748 #ifdef __PIC24FJ64GB108__
749 #define DEV_ID 0x001003
750 #define DEV_ID_STR "PIC24FJ64GB108"
753 #ifdef __PIC24FJ256GB106__
754 #define DEV_ID 0x001018
755 #define DEV_ID_STR "PIC24FJ256GB106"
756 #define EXPECTED_REVISION1 0x000001
757 #define EXPECTED_REVISION1_STR "A3"
760 #ifdef __PIC24FJ192GB106__
761 #define DEV_ID 0x001010
762 #define DEV_ID_STR "PIC24FJ192GB106"
765 #ifdef __PIC24FJ128GB106__
766 #define DEV_ID 0x001008
767 #define DEV_ID_STR "PIC24FJ128GB106"
770 #ifdef __PIC24FJ64GB106__
771 #define DEV_ID 0x001001
772 #define DEV_ID_STR "PIC24FJ64GB106"
775 #ifdef __PIC24FJ32GB002__
776 #define DEV_ID 0x004203
777 #define DEV_ID_STR "PIC24FJ32GB002"
780 #ifdef __PIC24FJ32GB004__
781 #define DEV_ID 0x00420B
782 #define DEV_ID_STR "PIC24FJ32GB004"
785 #ifdef __PIC24FJ64GB002__
786 #define DEV_ID 0x004207
787 #define DEV_ID_STR "PIC24FJ64GB002"
790 #ifdef __PIC24FJ64GB004__
791 #define DEV_ID 0x00420F
792 #define DEV_ID_STR "PIC24FJ64GB004"
795 #if (defined(__PIC24FJ32GB002__) || defined(__PIC24FJ32GB004__) || defined(__PIC24FJ64GB002__) || defined(__PIC24FJ64GB004__))
796 #define EXPECTED_REVISION1 0x000002
797 #define EXPECTED_REVISION1_STR "A2"
801 #if (defined(__PIC24FJ256GB110__) || defined(__PIC24FJ192GB110__) || defined(__PIC24FJ128GB110__) || defined(__PIC24FJ64GB110__)\
802 || defined(__PIC24FJ256GB108__) || defined(__PIC24FJ192GB108__) || defined(__PIC24FJ128GB108__) || defined(__PIC24FJ64GB108__)\
803 || defined(__PIC24FJ256GB106__) || defined(__PIC24FJ192GB106__) || defined(__PIC24FJ128GB106__) || defined(__PIC24FJ64GB106__))
805 #define EXPECTED_REVISION1 0x003001
806 #define EXPECTED_REVISION1_STR "A3"
807 #define EXPECTED_REVISION2 0x003003
808 #define EXPECTED_REVISION2_STR "A5"
814 #ifdef __dsPIC33FJ12GP201__
815 #define DEV_ID 0x000802
816 #define DEV_ID_STR "dsPIC33FJ12GP201"
819 #ifdef __dsPIC33FJ12GP202__
820 #define DEV_ID 0x000803
821 #define DEV_ID_STR "dsPIC33FJ12GP202"
824 #if (defined(__dsPIC33FJ12GP201__) || defined(__dsPIC33FJ12GP202__))
825 #define EXPECTED_REVISION1 0x003001
826 #define EXPECTED_REVISION1_STR "A2"
827 #define EXPECTED_REVISION2 0x003002
828 #define EXPECTED_REVISION2_STR "A3"
829 #define EXPECTED_REVISION3 0x003004
830 #define EXPECTED_REVISION3_STR "A4"
835 #ifdef __dsPIC33FJ32GP202__
836 #define DEV_ID 0x000F0D
837 #define DEV_ID_STR "dsPIC24FJ32GP202"
840 #ifdef __dsPIC33FJ32GP204__
841 #define DEV_ID 0x000F0F
842 #define DEV_ID_STR "dsPIC33FJ32GP204"
845 #ifdef __dsPIC33FJ16GP304__
846 #define DEV_ID 0x000F07
847 #define DEV_ID_STR "dsPIC33FJ16GP304"
850 #if (defined(__dsPIC33FJ32GP202__) || defined(__dsPIC33FJ32GP204___) || defined(__dsPIC33FJ16GP304__))
851 #define EXPECTED_REVISION1 0x003001
852 #define EXPECTED_REVISION1_STR "A2"
853 #define EXPECTED_REVISION2 0x003002
854 #define EXPECTED_REVISION2_STR "A3"
855 #define EXPECTED_REVISION3 0x003004
856 #define EXPECTED_REVISION3_STR "A4"
861 #ifdef __dsPIC33FJ32GP302__
862 #define DEV_ID 0x000605
863 #define DEV_ID_STR "dsPIC33FJ32GP302"
866 #ifdef __dsPIC33FJ32GP304__
867 #define DEV_ID 0x000607
868 #define DEV_ID_STR "dsPIC33FJ32GP304"
871 #ifdef __dsPIC33FJ64GP202__
872 #define DEV_ID 0x000615
873 #define DEV_ID_STR "dsPIC33FJ64GP202"
876 #ifdef __dsPIC33FJ64GP204__
877 #define DEV_ID 0x000617
878 #define DEV_ID_STR "dsPIC33FJ64GP204"
881 #ifdef __dsPIC33FJ64GP802__
882 #define DEV_ID 0x00061d
883 #define DEV_ID_STR "dsPIC33FJ64GP802"
886 #ifdef __dsPIC33FJ64GP804__
887 #define DEV_ID 0x00061f
888 #define DEV_ID_STR "dsPIC33FJ64GP804"
891 #ifdef __dsPIC33FJ128GP202__
892 #define DEV_ID 0x000625
893 #define DEV_ID_STR "dsPIC33FJ128GP202"
897 #ifdef __dsPIC33FJ128GP204__
898 #define DEV_ID 0x000627
899 #define DEV_ID_STR "dsPIC33FJ128GP204"
902 #ifdef __dsPIC33FJ128GP802__
903 #define DEV_ID 0x00062d
904 #define DEV_ID_STR "dsPIC33FJ128GP802"
907 #ifdef __dsPIC33FJ128GP804__
908 #define DEV_ID 0x00062f
909 #define DEV_ID_STR "dsPIC33FJ128GP804"
912 #if (defined(__dsPIC33FJ128GP804__) || defined(__dsPIC33FJ128GP802__)\
913 || defined(__dsPIC33FJ128GP204__) || defined(__dsPIC33FJ128GP202__)\
914 || defined(__dsPIC33FJ64GP804__) || defined(__dsPIC33FJ64GP802__)\
915 || defined(__dsPIC33FJ64GP204__) || defined(__dsPIC33FJ64GP202__)\
916 || defined(__dsPIC33FJ32GP304__) || defined(__dsPIC33FJ32GP302__))
917 #define EXPECTED_REVISION1 0x003001
918 #define EXPECTED_REVISION1_STR "A1"
919 #define EXPECTED_REVISION2 0x003002
920 #define EXPECTED_REVISION2_STR "A2"
921 #define EXPECTED_REVISION3 0x003003
922 #define EXPECTED_REVISION3_STR "A3"
928 #ifdef __PIC24EP64GP202__
929 #define DEV_ID 0x001D39
930 #define DEV_ID_STR "PIC24EP64GP202"
931 #define EXPECTED_REVISION1 0x004002
932 #define EXPECTED_REVISION1_STR "A2"
935 #ifdef __PIC24EP64GP203__
936 #define DEV_ID 0x001D3A
937 #define DEV_ID_STR "PIC24EP64GP203"
938 #define EXPECTED_REVISION1 0x004002
939 #define EXPECTED_REVISION1_STR "A2"
942 #ifdef __PIC24EP64GP204__
943 #define DEV_ID 0x001D38
944 #define DEV_ID_STR "PIC24EP64GP204"
945 #define EXPECTED_REVISION1 0x004002
946 #define EXPECTED_REVISION1_STR "A2"
949 #ifdef __PIC24EP64GP206__
950 #define DEV_ID 0x001D3B
951 #define DEV_ID_STR "PIC24EP64GP206"
952 #define EXPECTED_REVISION1 0x004002
953 #define EXPECTED_REVISION1_STR "A2"
956 #ifdef __dsPIC33EP64GP502__
957 #define DEV_ID 0x001D2D
958 #define DEV_ID_STR "dsPIC33EP64GP502"
959 #define EXPECTED_REVISION1 0x004002
960 #define EXPECTED_REVISION1_STR "A2"
963 #ifdef __dsPIC33EP64GP503__
964 #define DEV_ID 0x001D2E
965 #define DEV_ID_STR "dsPIC33EP64GP503"
966 #define EXPECTED_REVISION1 0x004002
967 #define EXPECTED_REVISION1_STR "A2"
970 #ifdef __dsPIC33EP64GP504__
971 #define DEV_ID 0x001D2C
972 #define DEV_ID_STR "dsPIC33EP64GP504"
973 #define EXPECTED_REVISION1 0x004002
974 #define EXPECTED_REVISION1_STR "A2"
977 #ifdef __dsPIC33EP64GP506__
978 #define DEV_ID 0x001D2F
979 #define DEV_ID_STR "dsPIC33EP64GP506"
980 #define EXPECTED_REVISION1 0x004002
981 #define EXPECTED_REVISION1_STR "A2"
984 #ifdef __PIC24EP64MC202__
985 #define DEV_ID 0x001D31
986 #define DEV_ID_STR "PIC24EP64MC202"
987 #define EXPECTED_REVISION1 0x004002
988 #define EXPECTED_REVISION1_STR "A2"
991 #ifdef __PIC24EP64MC203__
992 #define DEV_ID 0x001D32
993 #define DEV_ID_STR "PIC24EP64MC203"
994 #define EXPECTED_REVISION1 0x004002
995 #define EXPECTED_REVISION1_STR "A2"
998 #ifdef __PIC24EP64MC204__
999 #define DEV_ID 0x001D30
1000 #define DEV_ID_STR "PIC24EP64MC204"
1001 #define EXPECTED_REVISION1 0x004002
1002 #define EXPECTED_REVISION1_STR "A2"
1005 #ifdef __PIC24EP64MC206__
1006 #define DEV_ID 0x001D33
1007 #define DEV_ID_STR "PIC24EP64MC206"
1008 #define EXPECTED_REVISION1 0x004002
1009 #define EXPECTED_REVISION1_STR "A2"
1012 #ifdef __dsPIC33EP64MC202__
1013 #define DEV_ID 0x001D21
1014 #define DEV_ID_STR "dsPIC33EP64MC202"
1015 #define EXPECTED_REVISION1 0x004002
1016 #define EXPECTED_REVISION1_STR "A2"
1019 #ifdef __dsPIC33EP64MC203__
1020 #define DEV_ID 0x001D22
1021 #define DEV_ID_STR "dsPIC33EP64MC203"
1022 #define EXPECTED_REVISION1 0x004002
1023 #define EXPECTED_REVISION1_STR "A2"
1026 #ifdef __dsPIC33EP64MC204__
1027 #define DEV_ID 0x001D20
1028 #define DEV_ID_STR "dsPIC33EP64MC204"
1029 #define EXPECTED_REVISION1 0x004002
1030 #define EXPECTED_REVISION1_STR "A2"
1033 #ifdef __dsPIC33EP64MC206__
1034 #define DEV_ID 0x001D23
1035 #define DEV_ID_STR "dsPIC33EP64MC206"
1036 #define EXPECTED_REVISION1 0x004002
1037 #define EXPECTED_REVISION1_STR "A2"
1040 #ifdef __dsPIC33EP64MC502__
1041 #define DEV_ID 0x001D25
1042 #define DEV_ID_STR "dsPIC33EP64MC502"
1043 #define EXPECTED_REVISION1 0x004002
1044 #define EXPECTED_REVISION1_STR "A2"
1047 #ifdef __dsPIC33EP64MC503__
1048 #define DEV_ID 0x001D26
1049 #define DEV_ID_STR "dsPIC33EP64MC503"
1050 #define EXPECTED_REVISION1 0x004002
1051 #define EXPECTED_REVISION1_STR "A2"
1054 #ifdef __dsPIC33EP64MC504__
1055 #define DEV_ID 0x001D24
1056 #define DEV_ID_STR "dsPIC33EP64MC504"
1057 #define EXPECTED_REVISION1 0x004002
1058 #define EXPECTED_REVISION1_STR "A2"
1061 #ifdef __dsPIC33EP64MC506__
1062 #define DEV_ID 0x001D27
1063 #define DEV_ID_STR "dsPIC33EP64MC506"
1064 #define EXPECTED_REVISION1 0x004002
1065 #define EXPECTED_REVISION1_STR "A2"
1069 #ifdef __dsPIC33EP128GP504__
1070 #define DEV_ID 0x001E4C
1071 #define DEV_ID_STR "dsPIC33EP128GP504"
1072 #define EXPECTED_REVISION1 0x004003
1073 #define EXPECTED_REVISION1_STR "A3"
1078 #ifdef __PIC24EP256GU810__
1079 #define DEV_ID 0x001826
1080 #define DEV_ID_STR "PIC24EP256GU810"
1081 #define EXPECTED_REVISION1 0x004002
1082 #define EXPECTED_REVISION1_STR "B1"
1085 #ifdef __PIC24EP256GU814__
1086 #define DEV_ID 0x001827
1087 #define DEV_ID_STR "PIC24EP256GU814"
1088 #define EXPECTED_REVISION1 0x004002
1089 #define EXPECTED_REVISION1_STR "B1"
1092 #ifdef __dsPIC33EP256MU806__
1093 #define DEV_ID 0x001861
1094 #define DEV_ID_STR "dsPIC33EP256MU806"
1095 #define EXPECTED_REVISION1 0x004002
1096 #define EXPECTED_REVISION1_STR "B1"
1099 #ifdef __dsPIC33EP256MU810__
1100 #define DEV_ID 0x001862
1101 #define DEV_ID_STR "dsPIC33EP256MU810"
1102 #define EXPECTED_REVISION1 0x004002
1103 #define EXPECTED_REVISION1_STR "B1"
1106 #ifdef __dsPIC33EP256MU814__
1107 #define DEV_ID 0x001863
1108 #define DEV_ID_STR "dsPIC33EP256MU814"
1109 #define EXPECTED_REVISION1 0x004002
1110 #define EXPECTED_REVISION1_STR "B1"
1115 #ifdef __dsPIC33EP512MU810__
1116 #define DEV_ID 0x001872
1117 #define DEV_ID_STR "dsPIC33EP512MU810"
1118 #define EXPECTED_REVISION1 0x004002
1119 #define EXPECTED_REVISION1_STR "B1"
1122 #ifdef __dsPIC33EP512MU814__
1123 #define DEV_ID 0x001873
1124 #define DEV_ID_STR "dsPIC33EP512MU814"
1125 #define EXPECTED_REVISION1 0x004002
1126 #define EXPECTED_REVISION1_STR "B1"
1129 #ifdef __dsPIC33EP512GP806__
1130 #define DEV_ID 0x00187D
1131 #define DEV_ID_STR "dsPIC33EP512GP806"
1132 #define EXPECTED_REVISION1 0x004002
1133 #define EXPECTED_REVISION1_STR "B1"
1136 #ifdef __dsPIC33EP512MC806__
1137 #define DEV_ID 0x001879
1138 #define DEV_ID_STR "dsPIC33EP512MC806"
1139 #define EXPECTED_REVISION1 0x004002
1140 #define EXPECTED_REVISION1_STR "B1"
1143 #ifdef __PIC24EP512GU810__
1144 #define DEV_ID 0x001836
1145 #define DEV_ID_STR "PIC24EP512GU810"
1146 #define EXPECTED_REVISION1 0x004002
1147 #define EXPECTED_REVISION1_STR "B1"
1150 #ifdef __PIC24EP512GU814__
1151 #define DEV_ID 0x001837
1152 #define DEV_ID_STR "PIC24EP512GU814"
1153 #define EXPECTED_REVISION1 0x004002
1154 #define EXPECTED_REVISION1_STR "B1"
1157 #ifdef __PIC24EP512GP806__
1158 #define DEV_ID 0x00183D
1159 #define DEV_ID_STR "PIC24EP512GP806"
1160 #define EXPECTED_REVISION1 0x004002
1161 #define EXPECTED_REVISION1_STR "B1"
1164 #ifdef __dsPIC33EP128GP502__
1165 #define DEV_ID 0x001E4D
1166 #define DEV_ID_STR "dsPIC33EP128GP502"
1167 #define EXPECTED_REVISION1 0x004003
1168 #define EXPECTED_REVISION1_STR "A3"
1179 #define DEV_ID_STR "unknown"
1180 #define EXPECTED_REVISION1 0
1181 #define EXPECTED_REVISION1_STR "unknown"
1182 #warning "*********************************************"
1183 #warning "* Unknown chip type! Define a device ID and *"
1184 #warning "* revision ID in the lines above for this *"
1185 #warning "* chip to remove this warning message. *"
1186 #warning "* These values can be found by *"
1187 #warning "* executing the checkDeviceAndRevision() *"
1188 #warning "* function, which is typically called after *"
1189 #warning "* reset via calling printResetCause(). *"
1190 #warning "* This check allows you to ensure that the *"
1191 #warning "* programmed hex file is running on the *"
1192 #warning "* same device type it was compiled for. *"
1193 #warning "* This is only a warning. *"
1194 #warning "*********************************************"