MotorWare f2806x Driver API Documentation

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

pie.h
Go to the documentation of this file.
1 /* --COPYRIGHT--,BSD
2 * Copyright (c) 2015, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * --/COPYRIGHT--*/
32 #ifndef _PIE_H_
33 #define _PIE_H_
34
41
42
43 // **************************************************************************
44 // the includes
45
46 #include "sw/modules/types/src/types.h"
47
48 #include "sw/drivers/adc/src/32b/f28x/f2806x/adc.h"
49 #include "sw/drivers/pwm/src/32b/f28x/f2806x/pwm.h"
50
51
56
57
58
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62
63
64 // **************************************************************************
65 // the defines
66
67
70 #define PIE_BASE_ADDR (0x00000CE0)
71
72
75 #define PIE_DBGIER_INT1_BITS (1 << 0)
76
79 #define PIE_DBGIER_INT2_BITS (1 << 1)
80
83 #define PIE_DBGIER_INT3_BITS (1 << 2)
84
87 #define PIE_DBGIER_INT4_BITS (1 << 3)
88
91 #define PIE_DBGIER_INT5_BITS (1 << 4)
92
95 #define PIE_DBGIER_INT6_BITS (1 << 5)
96
99 #define PIE_DBGIER_INT7_BITS (1 << 6)
100
103 #define PIE_DBGIER_INT8_BITS (1 << 7)
104
107 #define PIE_DBGIER_INT9_BITS (1 << 8)
108
111 #define PIE_DBGIER_INT10_BITS (1 << 9)
112
115 #define PIE_DBGIER_INT11_BITS (1 << 10)
116
119 #define PIE_DBGIER_INT12_BITS (1 << 11)
120
123 #define PIE_DBGIER_INT13_BITS (1 << 12)
124
127 #define PIE_DBGIER_INT14_BITS (1 << 13)
128
131 #define PIE_DBGIER_DLOGINT_BITS (1 << 14)
132
135 #define PIE_DBGIER_RTOSINT_BITS (1 << 15)
136
137
138
141 #define PIE_IER_INT1_BITS (1 << 0)
142
145 #define PIE_IER_INT2_BITS (1 << 1)
146
149 #define PIE_IER_INT3_BITS (1 << 2)
150
153 #define PIE_IER_INT4_BITS (1 << 3)
154
157 #define PIE_IER_INT5_BITS (1 << 4)
158
161 #define PIE_IER_INT6_BITS (1 << 5)
162
165 #define PIE_IER_INT7_BITS (1 << 6)
166
169 #define PIE_IER_INT8_BITS (1 << 7)
170
173 #define PIE_IER_INT9_BITS (1 << 8)
174
177 #define PIE_IER_INT10_BITS (1 << 9)
178
181 #define PIE_IER_INT11_BITS (1 << 10)
182
185 #define PIE_IER_INT12_BITS (1 << 11)
186
189 #define PIE_IER_INT13_BITS (1 << 12)
190
193 #define PIE_IER_INT14_BITS (1 << 13)
194
197 #define PIE_IER_DLOGINT_BITS (1 << 14)
198
201 #define PIE_IER_RTOSINT_BITS (1 << 15)
202
203
206 #define PIE_IERx_INTx1_BITS (1 << 0)
207
210 #define PIE_IERx_INTx2_BITS (1 << 1)
211
214 #define PIE_IERx_INTx3_BITS (1 << 2)
215
218 #define PIE_IERx_INTx4_BITS (1 << 3)
219
222 #define PIE_IERx_INTx5_BITS (1 << 4)
223
226 #define PIE_IERx_INTx6_BITS (1 << 5)
227
230 #define PIE_IERx_INTx7_BITS (1 << 6)
231
234 #define PIE_IERx_INTx8_BITS (1 << 7)
235
236
239 #define PIE_IFR_INT1_BITS (1 << 0)
240
243 #define PIE_IFR_INT2_BITS (1 << 1)
244
247 #define PIE_IFR_INT3_BITS (1 << 2)
248
251 #define PIE_IFR_INT4_BITS (1 << 3)
252
255 #define PIE_IFR_INT5_BITS (1 << 4)
256
259 #define PIE_IFR_INT6_BITS (1 << 5)
260
263 #define PIE_IFR_INT7_BITS (1 << 6)
264
267 #define PIE_IFR_INT8_BITS (1 << 7)
268
271 #define PIE_IFR_INT9_BITS (1 << 8)
272
275 #define PIE_IFR_INT10_BITS (1 << 9)
276
279 #define PIE_IFR_INT11_BITS (1 << 10)
280
283 #define PIE_IFR_INT12_BITS (1 << 11)
284
287 #define PIE_IFR_INT13_BITS (1 << 12)
288
291 #define PIE_IFR_INT14_BITS (1 << 13)
292
295 #define PIE_IFR_DLOGINT_BITS (1 << 14)
296
299 #define PIE_IFR_RTOSINT_BITS (1 << 15)
300
301
304 #define PIE_IFRx_INTx1_BITS (1 << 0)
305
308 #define PIE_IFRx_INTx2_BITS (1 << 1)
309
312 #define PIE_IFRx_INTx3_BITS (1 << 2)
313
316 #define PIE_IFRx_INTx4_BITS (1 << 3)
317
320 #define PIE_IFRx_INTx5_BITS (1 << 4)
321
324 #define PIE_IFRx_INTx6_BITS (1 << 5)
325
328 #define PIE_IFRx_INTx7_BITS (1 << 6)
329
332 #define PIE_IFRx_INTx8_BITS (1 << 7)
333
334
337 #define PIE_PIECTRL_ENPIE_BITS (1 << 0)
338
341 #define PIE_PIECTRL_PIEVECT_BITS (32767 << 1)
342
343
344
347 #define PIE_PIEACK_GROUP1_BITS (1 << 0)
348
351 #define PIE_PIEACK_GROUP2_BITS (1 << 1)
352
355 #define PIE_PIEACK_GROUP3_BITS (1 << 2)
356
359 #define PIE_PIEACK_GROUP4_BITS (1 << 3)
360
363 #define PIE_PIEACK_GROUP5_BITS (1 << 4)
364
367 #define PIE_PIEACK_GROUP6_BITS (1 << 5)
368
371 #define PIE_PIEACK_GROUP7_BITS (1 << 6)
372
375 #define PIE_PIEACK_GROUP8_BITS (1 << 7)
376
379 #define PIE_PIEACK_GROUP9_BITS (1 << 8)
380
383 #define PIE_PIEACK_GROUP10_BITS (1 << 9)
384
387 #define PIE_PIEACK_GROUP11_BITS (1 << 10)
388
391 #define PIE_PIEACK_GROUP12_BITS (1 << 11)
392
393
394 #define PIE_XINTnCR_POLARITY_BITS (3 << 2)
395 #define PIE_XINTnCR_ENABLE_BITS (1 << 0)
396
397
398 // **************************************************************************
399 // the typedefs
400
403 typedef interrupt void (*PIE_IntVec_t)(void);
404
405
408 typedef enum
409 {
410 PIE_ExtIntPolarity_FallingEdge=(0 << 2),
411 PIE_ExtIntPolarity_RisingEdge=(1 << 2),
412 PIE_ExtIntPolarity_RisingAndFallingEdge=(3 << 2)
413 } PIE_ExtIntPolarity_e;
414
415
418 typedef enum
419 {
420 PIE_GroupNumber_1 = 0,
421 PIE_GroupNumber_2 = 1,
422 PIE_GroupNumber_3 = 2,
423 PIE_GroupNumber_4 = 3,
424 PIE_GroupNumber_5 = 4,
425 PIE_GroupNumber_6 = 5,
426 PIE_GroupNumber_7 = 6,
427 PIE_GroupNumber_8 = 7,
428 PIE_GroupNumber_9 = 8,
429 PIE_GroupNumber_10 = 9,
430 PIE_GroupNumber_11 = 10,
431 PIE_GroupNumber_12 = 11
432 } PIE_GroupNumber_e;
433
434
437 typedef enum
438 {
439 PIE_SubGroupNumber_1 = 0,
440 PIE_SubGroupNumber_2 = 1,
441 PIE_SubGroupNumber_3 = 2,
442 PIE_SubGroupNumber_4 = 3,
443 PIE_SubGroupNumber_5 = 4,
444 PIE_SubGroupNumber_6 = 5,
445 PIE_SubGroupNumber_7 = 6,
446 PIE_SubGroupNumber_8 = 7
447 } PIE_SubGroupNumber_e;
448
449
452 typedef enum
453 {
454 PIE_SystemInterrupts_Reset = 0,
455 PIE_SystemInterrupts_INT1,
456 PIE_SystemInterrupts_INT2,
457 PIE_SystemInterrupts_INT3,
458 PIE_SystemInterrupts_INT4,
459 PIE_SystemInterrupts_INT5,
460 PIE_SystemInterrupts_INT6,
461 PIE_SystemInterrupts_INT7,
462 PIE_SystemInterrupts_INT8,
463 PIE_SystemInterrupts_INT9,
464 PIE_SystemInterrupts_INT10,
465 PIE_SystemInterrupts_INT11,
466 PIE_SystemInterrupts_INT12,
467 PIE_SystemInterrupts_TINT1,
468 PIE_SystemInterrupts_TINT2,
469 PIE_SystemInterrupts_DATALOG,
470 PIE_SystemInterrupts_RTOSINT,
471 PIE_SystemInterrupts_EMUINT,
472 PIE_SystemInterrupts_NMI,
473 PIE_SystemInterrupts_ILLEGAL,
474 PIE_SystemInterrupts_USER1,
475 PIE_SystemInterrupts_USER2,
476 PIE_SystemInterrupts_USER3,
477 PIE_SystemInterrupts_USER4,
478 PIE_SystemInterrupts_USER5,
479 PIE_SystemInterrupts_USER6,
480 PIE_SystemInterrupts_USER7,
481 PIE_SystemInterrupts_USER8,
482 PIE_SystemInterrupts_USER9,
483 PIE_SystemInterrupts_USER10,
484 PIE_SystemInterrupts_USER11,
485 PIE_SystemInterrupts_USER12
486 } PIE_SystemInterrupts_e;
487
488
491 typedef enum
492 {
493 //Group 1 Interrupts
494 PIE_InterruptSource_ADCINT_1_1 = (1 << 0),
495 PIE_InterruptSource_ADCINT_1_2 = (1 << 1),
496 PIE_InterruptSource_XINT_1 = (1 << 3),
497 PIE_InterruptSource_XINT_2 = (1 << 4),
498 PIE_InterruptSource_ADCINT_9 = (1 << 5),
499 PIE_InterruptSource_TIMER_0 = (1 << 6),
500 PIE_InterruptSource_WAKE = (1 << 7),
501
502 //Group 2 Interrupts
503 PIE_InterruptSource_TZ1 = (1 << 0),
504 PIE_InterruptSource_TZ2 = (1 << 1),
505 PIE_InterruptSource_TZ3 = (1 << 2),
506 PIE_InterruptSource_TZ4 = (1 << 3),
507 PIE_InterruptSource_TZ5 = (1 << 4),
508 PIE_InterruptSource_TZ6 = (1 << 5),
509 PIE_InterruptSource_TZ7 = (1 << 6),
510 PIE_InterruptSource_TZ8 = (1 << 7),
511
512 //Group 3 Interrupts
513 PIE_InterruptSource_EPWM1 = (1 << 0),
514 PIE_InterruptSource_EPWM2 = (1 << 1),
515 PIE_InterruptSource_EPWM3 = (1 << 2),
516 PIE_InterruptSource_EPWM4 = (1 << 3),
517 PIE_InterruptSource_EPWM5 = (1 << 4),
518 PIE_InterruptSource_EPWM6 = (1 << 5),
519 PIE_InterruptSource_EPWM7 = (1 << 6),
520 PIE_InterruptSource_EPWM8 = (1 << 7),
521
522 //Group 4 Interrupts
523 PIE_InterruptSource_ECAP1 = (1 << 0),
524 PIE_InterruptSource_ECAP2 = (1 << 1),
525 PIE_InterruptSource_ECAP3 = (1 << 2),
526 PIE_InterruptSource_HRCAP1 = (1 << 6),
527 PIE_InterruptSource_HRCAP2 = (1 << 7),
528
529 //Group 5 Interrupts
530 PIE_InterruptSource_EQEP1 = (1 << 0),
531 PIE_InterruptSource_EQEP2 = (1 << 1),
532 PIE_InterruptSource_HRCAP3 = (1 << 3),
533 PIE_InterruptSource_HRCAP4 = (1 << 4),
534 PIE_InterruptSource_USB0 = (1 << 7),
535
536 //Group 6 Interrupts
537 PIE_InterruptSource_SPIARX = (1 << 0),
538 PIE_InterruptSource_SPIATX = (1 << 1),
539 PIE_InterruptSource_SPIBRX = (1 << 2),
540 PIE_InterruptSource_SPIBTX = (1 << 3),
541 PIE_InterruptSource_MCBSPARX = (1 << 4),
542 PIE_InterruptSource_MCBSPATX = (1 << 5),
543
544 //Group 7 Interrupts
545 PIE_InterruptSource_DMA_CH1 = (1 << 0),
546 PIE_InterruptSource_DMA_CH2 = (1 << 1),
547 PIE_InterruptSource_DMA_CH3 = (1 << 2),
548 PIE_InterruptSource_DMA_CH4 = (1 << 3),
549 PIE_InterruptSource_DMA_CH5 = (1 << 4),
550 PIE_InterruptSource_DMA_CH6 = (1 << 5),
551
552 //Group 8 Interrupts
553 PIE_InterruptSource_I2CA1 = (1 << 0),
554 PIE_InterruptSource_I2CA2 = (1 << 1),
555
556 //Group 9 Interrupts
557 PIE_InterruptSource_SCIARX = (1 << 0),
558 PIE_InterruptSource_SCIATX = (1 << 1),
559 PIE_InterruptSource_SCIBRX = (1 << 2),
560 PIE_InterruptSource_SCIBTX = (1 << 3),
561 PIE_InterruptSource_ECANA0 = (1 << 4),
562 PIE_InterruptSource_ECANA1 = (1 << 5),
563
564 //Group 10 Interrupts
565 PIE_InterruptSource_ADCINT_10_1 = (1 << 0),
566 PIE_InterruptSource_ADCINT_10_2 = (1 << 1),
567 PIE_InterruptSource_ADCINT_3 = (1 << 2),
568 PIE_InterruptSource_ADCINT_4 = (1 << 3),
569 PIE_InterruptSource_ADCINT_5 = (1 << 4),
570 PIE_InterruptSource_ADCINT_6 = (1 << 5),
571 PIE_InterruptSource_ADCINT_7 = (1 << 6),
572 PIE_InterruptSource_ADCINT_8 = (1 << 7),
573
574 //Group 11 Interrupts
575 PIE_InterruptSource_CLAINT_1 = (1 << 0),
576 PIE_InterruptSource_CLAINT_2 = (1 << 1),
577 PIE_InterruptSource_CLAINT_3 = (1 << 2),
578 PIE_InterruptSource_CLAINT_4 = (1 << 3),
579 PIE_InterruptSource_CLAINT_5 = (1 << 4),
580 PIE_InterruptSource_CLAINT_6 = (1 << 5),
581 PIE_InterruptSource_CLAINT_7 = (1 << 6),
582 PIE_InterruptSource_CLAINT_8 = (1 << 7),
583
584 //Group 12 Interrupts
585 PIE_InterruptSource_XINT_3 = (1 << 0),
586 PIE_InterruptSource_CLAINT_LVF = (1 << 6),
587 PIE_InterruptSource_CLAINT_LUF = (1 << 7)
588
589 } PIE_InterruptSource_e;
590
591
594 typedef struct _PIE_IERIFR_t
595 {
596 volatile uint16_t IER;
597 volatile uint16_t IFR;
598 } PIE_IERIFR_t;
599
600
603 typedef struct _PIE_Obj_
604 {
605 volatile uint16_t PIECTRL;
606 volatile uint16_t PIEACK;
607 volatile PIE_IERIFR_t PIEIER_PIEIFR[12];
608 volatile uint16_t rsvd_1[6];
609 volatile PIE_IntVec_t Reset;
610 volatile PIE_IntVec_t INT1;
611 volatile PIE_IntVec_t INT2;
612 volatile PIE_IntVec_t INT3;
613 volatile PIE_IntVec_t INT4;
614 volatile PIE_IntVec_t INT5;
615 volatile PIE_IntVec_t INT6;
616 volatile PIE_IntVec_t INT7;
617 volatile PIE_IntVec_t INT8;
618 volatile PIE_IntVec_t INT9;
619 volatile PIE_IntVec_t INT10;
620 volatile PIE_IntVec_t INT11;
621 volatile PIE_IntVec_t INT12;
622 volatile PIE_IntVec_t TINT1;
623 volatile PIE_IntVec_t TINT2;
624 volatile PIE_IntVec_t DATALOG;
625 volatile PIE_IntVec_t RTOSINT;
626 volatile PIE_IntVec_t EMUINT;
627 volatile PIE_IntVec_t NMI;
628 volatile PIE_IntVec_t ILLEGAL;
629 volatile PIE_IntVec_t USER1;
630 volatile PIE_IntVec_t USER2;
631 volatile PIE_IntVec_t USER3;
632 volatile PIE_IntVec_t USER4;
633 volatile PIE_IntVec_t USER5;
634 volatile PIE_IntVec_t USER6;
635 volatile PIE_IntVec_t USER7;
636 volatile PIE_IntVec_t USER8;
637 volatile PIE_IntVec_t USER9;
638 volatile PIE_IntVec_t USER10;
639 volatile PIE_IntVec_t USER11;
640 volatile PIE_IntVec_t USER12;
641 //Group 1 PIE interrupt
642 volatile PIE_IntVec_t ADCINT1_HP;
643 volatile PIE_IntVec_t ADCINT2_HP;
644 volatile PIE_IntVec_t rsvd1_3;
645 volatile PIE_IntVec_t XINT1;
646 volatile PIE_IntVec_t XINT2;
647 volatile PIE_IntVec_t ADCINT9;
648 volatile PIE_IntVec_t TINT0;
649 volatile PIE_IntVec_t WAKEINT;
650 //Group 2 PIE interrupt
651 volatile PIE_IntVec_t EPWM1_TZINT;
652 volatile PIE_IntVec_t EPWM2_TZINT;
653 volatile PIE_IntVec_t EPWM3_TZINT;
654 volatile PIE_IntVec_t EPWM4_TZINT;
655 volatile PIE_IntVec_t EPWM5_TZINT;
656 volatile PIE_IntVec_t EPWM6_TZINT;
657 volatile PIE_IntVec_t EPWM7_TZINT;
658 volatile PIE_IntVec_t EPWM8_TZINT;
659 //Group 3 PIE interrupt
660 volatile PIE_IntVec_t EPWM1_INT;
661 volatile PIE_IntVec_t EPWM2_INT;
662 volatile PIE_IntVec_t EPWM3_INT;
663 volatile PIE_IntVec_t EPWM4_INT;
664 volatile PIE_IntVec_t EPWM5_INT;
665 volatile PIE_IntVec_t EPWM6_INT;
666 volatile PIE_IntVec_t EPWM7_INT;
667 volatile PIE_IntVec_t EPWM8_INT;
668
669 //Group 4 PIE interrupt
670 volatile PIE_IntVec_t ECAP1_INT;
671 volatile PIE_IntVec_t ECAP2_INT;
672 volatile PIE_IntVec_t ECAP3_INT;
673 volatile PIE_IntVec_t rsvd4_4;
674 volatile PIE_IntVec_t rsvd4_5;
675 volatile PIE_IntVec_t rsvd4_6;
676 volatile PIE_IntVec_t HRCAP1_INT;
677 volatile PIE_IntVec_t HRCAP2_INT;
678
679 //Group 5 PIE interrupt
680 volatile PIE_IntVec_t EQEP1_INT;
681 volatile PIE_IntVec_t EQEP2_INT;
682 volatile PIE_IntVec_t rsvd5_3;
683 volatile PIE_IntVec_t HRCAP3_INT;
684 volatile PIE_IntVec_t HRCAP4_INT;
685 volatile PIE_IntVec_t rsvd5_6;
686 volatile PIE_IntVec_t rsvd5_7;
687 volatile PIE_IntVec_t USB0_INT;
688
689 //Group 6 PIE interrupt
690 volatile PIE_IntVec_t SPIRXINTA;
691 volatile PIE_IntVec_t SPITXINTA;
692 volatile PIE_IntVec_t SPIRXINTB;
693 volatile PIE_IntVec_t SPITXINTB;
694 volatile PIE_IntVec_t MCBSPARX;
695 volatile PIE_IntVec_t MCBSPATX;
696 volatile PIE_IntVec_t rsvd6_7;
697 volatile PIE_IntVec_t rsvd6_8;
698
699 //Group 7 Interrupts
700 volatile PIE_IntVec_t DMACH1_INT;
701 volatile PIE_IntVec_t DMACH2_INT;
702 volatile PIE_IntVec_t DMACH3_INT;
703 volatile PIE_IntVec_t DMACH4_INT;
704 volatile PIE_IntVec_t DMACH5_INT;
705 volatile PIE_IntVec_t DMACH6_INT;
706 volatile PIE_IntVec_t rsvd7_7;
707 volatile PIE_IntVec_t rsvd7_8;
708
709 //Group 8 Interrupts
710 volatile PIE_IntVec_t I2CINT1A;
711 volatile PIE_IntVec_t I2CINT2A;
712 volatile PIE_IntVec_t rsvd8_3;
713 volatile PIE_IntVec_t rsvd8_4;
714 volatile PIE_IntVec_t rsvd8_5;
715 volatile PIE_IntVec_t rsvd8_6;
716 volatile PIE_IntVec_t rsvd8_7;
717 volatile PIE_IntVec_t rsvd8_8;
718
719 //Group 9 Interrupts
720 volatile PIE_IntVec_t SCIRXINTA;
721 volatile PIE_IntVec_t SCITXINTA;
722 volatile PIE_IntVec_t SCIRXINTB;
723 volatile PIE_IntVec_t SCITXINTB;
724 volatile PIE_IntVec_t ECAN0INT;
725 volatile PIE_IntVec_t ECAN1INT;
726 volatile PIE_IntVec_t rsvd9_7;
727 volatile PIE_IntVec_t rsvd9_8;
728
729 //Group 10 Interrupts
730 volatile PIE_IntVec_t ADCINT1;
731 volatile PIE_IntVec_t ADCINT2;
732 volatile PIE_IntVec_t ADCINT3;
733 volatile PIE_IntVec_t ADCINT4;
734 volatile PIE_IntVec_t ADCINT5;
735 volatile PIE_IntVec_t ADCINT6;
736 volatile PIE_IntVec_t ADCINT7;
737 volatile PIE_IntVec_t ADCINT8;
738
739 //Group 11 Interrupts
740 volatile PIE_IntVec_t CLAINT1;
741 volatile PIE_IntVec_t CLAINT2;
742 volatile PIE_IntVec_t CLAINT3;
743 volatile PIE_IntVec_t CLAINT4;
744 volatile PIE_IntVec_t CLAINT5;
745 volatile PIE_IntVec_t CLAINT6;
746 volatile PIE_IntVec_t CLAINT7;
747 volatile PIE_IntVec_t CLAINT8;
748
749 //Group 12 Interrupts
750 volatile PIE_IntVec_t XINT3;
751 volatile PIE_IntVec_t rsvd12_2;
752 volatile PIE_IntVec_t rsvd12_3;
753 volatile PIE_IntVec_t rsvd12_4;
754 volatile PIE_IntVec_t rsvd12_5;
755 volatile PIE_IntVec_t rsvd12_6;
756 volatile PIE_IntVec_t CLAINT_LVF;
757 volatile PIE_IntVec_t CLAINT_LUF;
758
759 volatile uint16_t rsvd13[25200];
760 volatile uint16_t XINTnCR[3];
761 volatile uint16_t rsvd14[5];
762 volatile uint16_t XINTnCTR[3];
763 } PIE_Obj;
764
765
768 typedef struct _PIE_Obj_ *PIE_Handle;
769
770
771 // **************************************************************************
772 // the globals
773
774
775 // **************************************************************************
776 // the function prototypes
777
780 extern void PIE_clearAllInts(PIE_Handle pieHandle);
781
782
785 extern void PIE_clearAllFlags(PIE_Handle pieHandle);
786
787
791 static inline void PIE_clearInt(PIE_Handle pieHandle,const PIE_GroupNumber_e groupNumber)
792 {
793 PIE_Obj *pie = (PIE_Obj *)pieHandle;
794
795
796 // set the group number
797 pie->PIEACK = (1 << groupNumber);
798
799 return;
800 } // end of PIE_clearInt() function
801
802
805 extern void PIE_disable(PIE_Handle pieHandle);
806
807
810 extern void PIE_disableAllInts(PIE_Handle pieHandle);
811
814 extern void PIE_disableCaptureInt(PIE_Handle pieHandle);
815
820 extern void PIE_disableInt(PIE_Handle pieHandle, const PIE_GroupNumber_e group, const PIE_InterruptSource_e intSource);
821
824 extern void PIE_enable(PIE_Handle pieHandle);
825
829 extern void PIE_enableAdcInt(PIE_Handle pieHandle,const ADC_IntNumber_e intNumber);
830
833 extern void PIE_enableCaptureInt(PIE_Handle pieHandle);
834
838 extern void PIE_enableExtInt(PIE_Handle pieHandle,const CPU_ExtIntNumber_e intNumber);
839
844 extern void PIE_enableInt(PIE_Handle pieHandle, const PIE_GroupNumber_e group, const PIE_InterruptSource_e intSource);
845
849 extern void PIE_enablePwmInt(PIE_Handle pieHandle,const PWM_Number_e pwmNumber);
850
854 extern void PIE_enablePwmTzInt(PIE_Handle pieHandle, const PWM_Number_e pwmNumber);
855
858 extern void PIE_enableTimer0Int(PIE_Handle pieHandle);
859
864 extern uint16_t PIE_getExtIntCount(PIE_Handle pieHandle,const CPU_ExtIntNumber_e intNumber);
865
869 extern uint16_t PIE_getIntEnables(PIE_Handle pieHandle, const PIE_GroupNumber_e group);
870
874 extern uint16_t PIE_getIntFlags(PIE_Handle pieHandle, const PIE_GroupNumber_e group);
875
880 extern void PIE_forceInt(PIE_Handle pieHandle, const PIE_GroupNumber_e group, const PIE_InterruptSource_e intSource);
881
882
885 interrupt void PIE_illegalIsr(void);
886
887
892 extern PIE_Handle PIE_init(void *pMemory,const size_t numBytes);
893
899 extern void PIE_registerPieIntHandler(PIE_Handle pieHandle,
900 const PIE_GroupNumber_e groupNumber,
901 const PIE_SubGroupNumber_e subGroupNumber,
902 const PIE_IntVec_t vector);
903
904
909 extern void PIE_registerSystemIntHandler(PIE_Handle pieHandle,
910 const PIE_SystemInterrupts_e systemInt,
911 const PIE_IntVec_t vector);
912
913
916 extern void PIE_setDefaultIntVectorTable(PIE_Handle pieHandle);
917
918
923 extern void PIE_setExtIntPolarity(PIE_Handle pieHandle,
924 const CPU_ExtIntNumber_e intNumber,
925 const PIE_ExtIntPolarity_e polarity);
926
927
932 extern void PIE_unregisterPieIntHandler(PIE_Handle pieHandle,
933 const PIE_GroupNumber_e groupNumber,
934 const PIE_SubGroupNumber_e subGroupNumber);
935
936
940 extern void PIE_unregisterSystemIntHandler(PIE_Handle pieHandle,
941 const PIE_SystemInterrupts_e systemInt);
942
943
944
945
946 #ifdef __cplusplus
947 }
948 #endif // extern "C"
949
951 #endif // end of _PIE_H_ definition
952
_PIE_Obj_::EPWM6_INT
volatile PIE_IntVec_t EPWM6_INT
EPWM6_INT interrupt vector.
Definition: pie.h:665
PIE_InterruptSource_CLAINT_2
CLA Interrupt 2.
Definition: pie.h:576
PIE_SystemInterrupts_NMI
NMI interrupt vector.
Definition: pie.h:472
_PIE_Obj_::ADCINT4
volatile PIE_IntVec_t ADCINT4
ADCINT4 interrupt vector.
Definition: pie.h:733
_PIE_Obj_::CLAINT_LVF
volatile PIE_IntVec_t CLAINT_LVF
CLA Interrupt LVF.
Definition: pie.h:756
PIE_InterruptSource_CLAINT_5
CLA Interrupt 5.
Definition: pie.h:579
PIE_GroupNumber_5
Denotes PIE group number 5.
Definition: pie.h:424
PIE_SystemInterrupts_DATALOG
DATALOG interrupt vector.
Definition: pie.h:469
_PIE_Obj_::rsvd7_7
volatile PIE_IntVec_t rsvd7_7
Reserved.
Definition: pie.h:706
_PIE_IERIFR_t::IER
volatile uint16_t IER
the Interrupt Enable Register (IER)
Definition: pie.h:596
PIE_InterruptSource_ADCINT_10_1
Group 10 ADC Interrupt 1.
Definition: pie.h:565
PIE_SystemInterrupts_TINT1
INT13 interrupt vector.
Definition: pie.h:467
_PIE_Obj_::INT9
volatile PIE_IntVec_t INT9
INT9 interrupt vector.
Definition: pie.h:618
_PIE_Obj_::EPWM7_TZINT
volatile PIE_IntVec_t EPWM7_TZINT
EPWM7_TZINT interrupt vector.
Definition: pie.h:657
_PIE_Obj_::EPWM2_TZINT
volatile PIE_IntVec_t EPWM2_TZINT
EPWM2_TZINT interrupt vector.
Definition: pie.h:652
PIE_IERIFR_t
struct _PIE_IERIFR_t PIE_IERIFR_t
Defines the PIE_IERIFR_t data type.
PIE_InterruptSource_HRCAP2
HRCAP2 Interrupt.
Definition: pie.h:527
PIE_InterruptSource_MCBSPATX
McBSP A TX Interrupt.
Definition: pie.h:542
PIE_SystemInterrupts_USER2
USER2 interrupt vector.
Definition: pie.h:475
_PIE_Obj_::EPWM6_TZINT
volatile PIE_IntVec_t EPWM6_TZINT
EPWM6_TZINT interrupt vector.
Definition: pie.h:656
_PIE_Obj_::CLAINT4
volatile PIE_IntVec_t CLAINT4
CLA Interrupt 4.
Definition: pie.h:743
_PIE_Obj_::USER4
volatile PIE_IntVec_t USER4
USER4 interrupt vector.
Definition: pie.h:632
_PIE_Obj_::HRCAP1_INT
volatile PIE_IntVec_t HRCAP1_INT
HRCAP1_INT interrupt vector.
Definition: pie.h:676
PIE_clearAllFlags
void PIE_clearAllFlags(PIE_Handle pieHandle)
Clears all the interrupt flags.
Definition: pie.c:55
PIE_InterruptSource_ECAP2
ECAP 2 Interrupt.
Definition: pie.h:524
_PIE_Obj_::CLAINT_LUF
volatile PIE_IntVec_t CLAINT_LUF
CLA Interrupt LUF.
Definition: pie.h:757
pwm.h
Contains public interface to various functions related to the pulse width modulation (PWM) object...
_PIE_Obj_::ILLEGAL
volatile PIE_IntVec_t ILLEGAL
ILLEGAL interrupt vector.
Definition: pie.h:628
PIE_InterruptSource_HRCAP4
HRCAP4 Interrupt.
Definition: pie.h:533
_PIE_Obj_::ADCINT9
volatile PIE_IntVec_t ADCINT9
ADCINT9 interrupt vector.
Definition: pie.h:647
_PIE_Obj_::TINT2
volatile PIE_IntVec_t TINT2
INT14 interrupt vector.
Definition: pie.h:623
PIE_enableInt
void PIE_enableInt(PIE_Handle pieHandle, const PIE_GroupNumber_e group, const PIE_InterruptSource_e intSource)
Enable a specific PIE interrupt.
Definition: pie.c:221
_PIE_Obj_::EPWM1_INT
volatile PIE_IntVec_t EPWM1_INT
EPWM1 interrupt vector.
Definition: pie.h:660
PIE_enableExtInt
void PIE_enableExtInt(PIE_Handle pieHandle, const CPU_ExtIntNumber_e intNumber)
Enables the prescribed external interrupt.
Definition: pie.c:192
_PIE_IERIFR_t::IFR
volatile uint16_t IFR
the Interrupt Flag Register (IFR)
Definition: pie.h:597
_PIE_Obj_::EPWM8_TZINT
volatile PIE_IntVec_t EPWM8_TZINT
EPWM8_TZINT interrupt vector.
Definition: pie.h:658
_PIE_Obj_::EPWM5_INT
volatile PIE_IntVec_t EPWM5_INT
EPWM5_INT interrupt vector.
Definition: pie.h:664
PIE_InterruptSource_TZ4
EPWM TZ4 Interrupt.
Definition: pie.h:506
_PIE_Obj_::rsvd6_7
volatile PIE_IntVec_t rsvd6_7
Reserved.
Definition: pie.h:696
_PIE_Obj_::RTOSINT
volatile PIE_IntVec_t RTOSINT
RTOSINT interrupt vector.
Definition: pie.h:625
PIE_InterruptSource_XINT_3
External Interrupt 3.
Definition: pie.h:585
_PIE_IERIFR_t
Defines the PIE_IERIFR_t data type.
Definition: pie.h:594
PIE_SubGroupNumber_7
Denotes PIE group number 7.
Definition: pie.h:445
PIE_InterruptSource_DMA_CH1
DMA Channel 1.
Definition: pie.h:545
_PIE_Obj_::INT2
volatile PIE_IntVec_t INT2
INT2 interrupt vector.
Definition: pie.h:611
_PIE_Obj_::rsvd13
volatile uint16_t rsvd13[25200]
Reserved.
Definition: pie.h:759
_PIE_Obj_::rsvd_1
volatile uint16_t rsvd_1[6]
Reserved.
Definition: pie.h:608
PIE_InterruptSource_TZ5
EPWM TZ5 Interrupt.
Definition: pie.h:507
PIE_ExtIntPolarity_e
PIE_ExtIntPolarity_e
Enumeration to define the external interrupt polarity.
Definition: pie.h:408
_PIE_Obj_::MCBSPATX
volatile PIE_IntVec_t MCBSPATX
McBSP A TX Interrupt.
Definition: pie.h:695
_PIE_Obj_::EPWM4_TZINT
volatile PIE_IntVec_t EPWM4_TZINT
EPWM4_TZINT interrupt vector.
Definition: pie.h:654
_PIE_Obj_::USER9
volatile PIE_IntVec_t USER9
USER9 interrupt vector.
Definition: pie.h:637
PIE_InterruptSource_TZ2
EPWM TZ2 Interrupt.
Definition: pie.h:504
_PIE_Obj_::CLAINT2
volatile PIE_IntVec_t CLAINT2
CLA Interrupt 2.
Definition: pie.h:741
_PIE_Obj_::SCITXINTB
volatile PIE_IntVec_t SCITXINTB
SPITXINTB interrupt vector.
Definition: pie.h:723
PIE_InterruptSource_EPWM2
EPWM 2 Interrupt.
Definition: pie.h:514
PIE_InterruptSource_EPWM3
EPWM 3 Interrupt.
Definition: pie.h:515
_PIE_Obj_::USER5
volatile PIE_IntVec_t USER5
USER5 interrupt vector.
Definition: pie.h:633
PIE_InterruptSource_XINT_2
External Interrupt 2.
Definition: pie.h:497
_PIE_Obj_::DMACH3_INT
volatile PIE_IntVec_t DMACH3_INT
DMA Channel 3.
Definition: pie.h:702
_PIE_Obj_::rsvd12_3
volatile PIE_IntVec_t rsvd12_3
Reserved.
Definition: pie.h:752
_PIE_Obj_::ADCINT2
volatile PIE_IntVec_t ADCINT2
ADCINT2 interrupt vector.
Definition: pie.h:731
_PIE_Obj_::EMUINT
volatile PIE_IntVec_t EMUINT
EMUINT interrupt vector.
Definition: pie.h:626
PIE_SystemInterrupts_USER6
USER6 interrupt vector.
Definition: pie.h:479
PIE_InterruptSource_I2CA1
I2C A Interrupt 1.
Definition: pie.h:553
PIE_setDefaultIntVectorTable
void PIE_setDefaultIntVectorTable(PIE_Handle pieHandle)
Initializes the vector table with illegal ISR handlers.
Definition: pie.c:386
PIE_SystemInterrupts_RTOSINT
RTOSINT interrupt vector.
Definition: pie.h:470
_PIE_Obj_::ADCINT5
volatile PIE_IntVec_t ADCINT5
ADCINT5 interrupt vector.
Definition: pie.h:734
PIE_enablePwmInt
void PIE_enablePwmInt(PIE_Handle pieHandle, const PWM_Number_e pwmNumber)
Enables the PWM interrupt.
Definition: pie.c:231
_PIE_Obj_::rsvd7_8
volatile PIE_IntVec_t rsvd7_8
Reserved.
Definition: pie.h:707
PIE_enableTimer0Int
void PIE_enableTimer0Int(PIE_Handle pieHandle)
Enables the Cpu Timer 0 interrupt.
Definition: pie.c:257
_PIE_Obj_::SPITXINTA
volatile PIE_IntVec_t SPITXINTA
SPITXINTA interrupt vector.
Definition: pie.h:691
PIE_SubGroupNumber_4
Denotes PIE group number 4.
Definition: pie.h:442
_PIE_Obj_::ADCINT6
volatile PIE_IntVec_t ADCINT6
ADCINT6 interrupt vector.
Definition: pie.h:735
_PIE_Obj_::ADCINT1
volatile PIE_IntVec_t ADCINT1
ADCINT1 interrupt vector.
Definition: pie.h:730
PIE_InterruptSource_CLAINT_1
CLA Interrupt 1.
Definition: pie.h:575
PIE_clearInt
static void PIE_clearInt(PIE_Handle pieHandle, const PIE_GroupNumber_e groupNumber)
Clears an interrupt defined by group number.
Definition: pie.h:791
PIE_forceInt
void PIE_forceInt(PIE_Handle pieHandle, const PIE_GroupNumber_e group, const PIE_InterruptSource_e intSource)
Force a specific PIE interrupt.
Definition: pie.c:268
_PIE_Obj_
Defines the peripheral interrupt expansion (PIE) object.
Definition: pie.h:603
PIE_InterruptSource_CLAINT_8
CLA Interrupt 8.
Definition: pie.h:582
PIE_GroupNumber_7
Denotes PIE group number 7.
Definition: pie.h:426
PIE_SystemInterrupts_INT2
INT2 interrupt vector.
Definition: pie.h:456
_PIE_Obj_::rsvd8_5
volatile PIE_IntVec_t rsvd8_5
Reserved.
Definition: pie.h:714
_PIE_Obj_::CLAINT7
volatile PIE_IntVec_t CLAINT7
CLA Interrupt 7.
Definition: pie.h:746
_PIE_Obj_::INT4
volatile PIE_IntVec_t INT4
INT4 interrupt vector.
Definition: pie.h:613
_PIE_Obj_::USER7
volatile PIE_IntVec_t USER7
USER7 interrupt vector.
Definition: pie.h:635
PIE_InterruptSource_CLAINT_7
CLA Interrupt 7.
Definition: pie.h:581
_PIE_Obj_::SPIRXINTA
volatile PIE_IntVec_t SPIRXINTA
SPIRXINTA interrupt vector.
Definition: pie.h:690
PIE_ExtIntPolarity_RisingEdge
Denotes an interrupt is generated on the rising edge.
Definition: pie.h:411
_PIE_Obj_::CLAINT5
volatile PIE_IntVec_t CLAINT5
CLA Interrupt 5.
Definition: pie.h:744
_PIE_Obj_::rsvd5_7
volatile PIE_IntVec_t rsvd5_7
Reserved.
Definition: pie.h:686
PIE_SubGroupNumber_3
Denotes PIE group number 3.
Definition: pie.h:441
_PIE_Obj_::PIEIER_PIEIFR
volatile PIE_IERIFR_t PIEIER_PIEIFR[12]
PIE Interrupt Enable Register and PIE Interrupt Flag Register.
Definition: pie.h:607
PIE_Handle
struct _PIE_Obj_ * PIE_Handle
Defines the peripheral interrupt expansion (PIE) handle.
Definition: pie.h:768
_PIE_Obj_::ECAP1_INT
volatile PIE_IntVec_t ECAP1_INT
ECAP1_INT interrupt vector.
Definition: pie.h:670
adc.h
Contains public interface to various functions related to the analog-to-digital converter (ADC) objec...
_PIE_Obj_::rsvd4_4
volatile PIE_IntVec_t rsvd4_4
Reserved.
Definition: pie.h:673
PIE_getIntEnables
uint16_t PIE_getIntEnables(PIE_Handle pieHandle, const PIE_GroupNumber_e group)
Gets PIE interrupt enable values.
Definition: pie.c:290
PIE_SystemInterrupts_USER3
USER3 interrupt vector.
Definition: pie.h:476
_PIE_Obj_::SCIRXINTA
volatile PIE_IntVec_t SCIRXINTA
SCIRXINTA interrupt vector.
Definition: pie.h:720
_PIE_Obj_::rsvd12_2
volatile PIE_IntVec_t rsvd12_2
Reserved.
Definition: pie.h:751
_PIE_Obj_::HRCAP4_INT
volatile PIE_IntVec_t HRCAP4_INT
HRCAP4_INT interrupt vector.
Definition: pie.h:684
PIE_InterruptSource_TIMER_0
Timer Interrupt 0.
Definition: pie.h:499
PIE_InterruptSource_ADCINT_10_2
Group 10 ADC Interrupt 2.
Definition: pie.h:566
PIE_SystemInterrupts_USER10
USER10 interrupt vector.
Definition: pie.h:483
PIE_unregisterPieIntHandler
void PIE_unregisterPieIntHandler(PIE_Handle pieHandle, const PIE_GroupNumber_e groupNumber, const PIE_SubGroupNumber_e subGroupNumber)
Unregisters a handler for a PIE interrupt.
Definition: pie.c:423
PIE_InterruptSource_ADCINT_7
ADC Interrupt 7.
Definition: pie.h:571
PIE_InterruptSource_EPWM4
EPWM 4 Interrupt.
Definition: pie.h:516
_PIE_Obj_::TINT0
volatile PIE_IntVec_t TINT0
TINT0 interrupt vector.
Definition: pie.h:648
_PIE_Obj_::USB0_INT
volatile PIE_IntVec_t USB0_INT
USB 0 interrupt source.
Definition: pie.h:687
_PIE_Obj_::USER10
volatile PIE_IntVec_t USER10
USER10 interrupt vector.
Definition: pie.h:638
PIE_InterruptSource_EPWM7
EPWM 7 Interrupt.
Definition: pie.h:519
PIE_SystemInterrupts_Reset
Reset interrupt vector.
Definition: pie.h:454
PIE_InterruptSource_SCIBRX
SCI B RX Interrupt.
Definition: pie.h:559
_PIE_Obj_::I2CINT2A
volatile PIE_IntVec_t I2CINT2A
I2CINT2A interrupt vector.
Definition: pie.h:711
PIE_registerPieIntHandler
void PIE_registerPieIntHandler(PIE_Handle pieHandle, const PIE_GroupNumber_e groupNumber, const PIE_SubGroupNumber_e subGroupNumber, const PIE_IntVec_t vector)
Registers a handler for a PIE interrupt.
Definition: pie.c:334
PIE_SystemInterrupts_USER8
USER8 interrupt vector.
Definition: pie.h:481
PIE_InterruptSource_CLAINT_LVF
CLA Interrupt LVF.
Definition: pie.h:586
PIE_InterruptSource_CLAINT_3
CLA Interrupt 3.
Definition: pie.h:577
PIE_InterruptSource_DMA_CH2
DMA Channel 2.
Definition: pie.h:546
PIE_SystemInterrupts_USER4
USER4 interrupt vector.
Definition: pie.h:477
_PIE_Obj_::ECAN0INT
volatile PIE_IntVec_t ECAN0INT
ECAN0INT interrupt vector.
Definition: pie.h:724
PIE_SystemInterrupts_INT7
INT7 interrupt vector.
Definition: pie.h:461
PIE_illegalIsr
interrupt void PIE_illegalIsr(void)
Defines an illegal interrupt service routine - if the program pointer references this function...
Definition: pie.c:306
PIE_SystemInterrupts_EMUINT
EMUINT interrupt vector.
Definition: pie.h:471
_PIE_Obj_::ADCINT2_HP
volatile PIE_IntVec_t ADCINT2_HP
ADC high priority interrupt.
Definition: pie.h:643
_PIE_Obj_::WAKEINT
volatile PIE_IntVec_t WAKEINT
WAKEINT interrupt vector.
Definition: pie.h:649
PIE_SystemInterrupts_e
PIE_SystemInterrupts_e
Enumeration to define the system interrupts.
Definition: pie.h:452
PIE_InterruptSource_SPIARX
SPI A RX Interrupt.
Definition: pie.h:537
PIE_InterruptSource_ADCINT_8
ADC Interrupt 8.
Definition: pie.h:572
PIE_InterruptSource_ECANA1
eCAN A 1 Interrupt
Definition: pie.h:562
PIE_SystemInterrupts_INT1
INT1 interrupt vector.
Definition: pie.h:455
_PIE_Obj_::rsvd1_3
volatile PIE_IntVec_t rsvd1_3
Reserved.
Definition: pie.h:644
PIE_SystemInterrupts_INT4
INT4 interrupt vector.
Definition: pie.h:458
_PIE_Obj_::USER2
volatile PIE_IntVec_t USER2
USER2 interrupt vector.
Definition: pie.h:630
_PIE_Obj_::rsvd12_4
volatile PIE_IntVec_t rsvd12_4
Reserved.
Definition: pie.h:753
PIE_SystemInterrupts_INT11
INT11 interrupt vector.
Definition: pie.h:465
PIE_enableCaptureInt
void PIE_enableCaptureInt(PIE_Handle pieHandle)
Enables the capture interrupt.
Definition: pie.c:181
_PIE_Obj_::INT12
volatile PIE_IntVec_t INT12
INT12 interrupt vector.
Definition: pie.h:621
_PIE_Obj_::DMACH6_INT
volatile PIE_IntVec_t DMACH6_INT
DMA Channel 6.
Definition: pie.h:705
_PIE_Obj_::NMI
volatile PIE_IntVec_t NMI
NMI interrupt vector.
Definition: pie.h:627
_PIE_Obj_::SCITXINTA
volatile PIE_IntVec_t SCITXINTA
SCITXINTA interrupt vector.
Definition: pie.h:721
PIE_SystemInterrupts_INT5
INT5 interrupt vector.
Definition: pie.h:459
PIE_IntVec_t
interrupt void(* PIE_IntVec_t)(void)
Defines the type for an interrupt vector.
Definition: pie.h:403
ADC_IntNumber_e
ADC_IntNumber_e
Enumeration to define the analog-to-digital converter (ADC) interrupt number.
Definition: adc.h:232
_PIE_Obj_::USER6
volatile PIE_IntVec_t USER6
USER6 interrupt vector.
Definition: pie.h:634
_PIE_Obj_::EQEP1_INT
volatile PIE_IntVec_t EQEP1_INT
EQEP1_INT interrupt vector.
Definition: pie.h:680
_PIE_Obj_::EPWM5_TZINT
volatile PIE_IntVec_t EPWM5_TZINT
EPWM5_TZINT interrupt vector.
Definition: pie.h:655
_PIE_Obj_::PIECTRL
volatile uint16_t PIECTRL
PIE Control Register.
Definition: pie.h:605
_PIE_Obj_::SCIRXINTB
volatile PIE_IntVec_t SCIRXINTB
SPIRXINTB interrupt vector.
Definition: pie.h:722
PIE_InterruptSource_ADCINT_1_2
Group 1 ADC Interrupt 2.
Definition: pie.h:495
_PIE_Obj_::rsvd4_6
volatile PIE_IntVec_t rsvd4_6
Reserved.
Definition: pie.h:675
PIE_GroupNumber_11
Denotes PIE group number 11.
Definition: pie.h:430
PIE_InterruptSource_EPWM5
EPWM 5 Interrupt.
Definition: pie.h:517
_PIE_Obj_::CLAINT6
volatile PIE_IntVec_t CLAINT6
CLA Interrupt 6.
Definition: pie.h:745
_PIE_Obj_::rsvd8_7
volatile PIE_IntVec_t rsvd8_7
Reserved.
Definition: pie.h:716
PIE_InterruptSource_I2CA2
I2C A Interrupt 2.
Definition: pie.h:554
PIE_InterruptSource_DMA_CH5
DMA Channel 5.
Definition: pie.h:549
_PIE_Obj_::XINT2
volatile PIE_IntVec_t XINT2
XINT2 interrupt vector.
Definition: pie.h:646
PIE_InterruptSource_CLAINT_LUF
CLA Interrupt LUF.
Definition: pie.h:587
_PIE_Obj_::rsvd9_8
volatile PIE_IntVec_t rsvd9_8
Reserved.
Definition: pie.h:727
PIE_InterruptSource_MCBSPARX
McBSP A RX Interrupt.
Definition: pie.h:541
PIE_InterruptSource_DMA_CH3
DMA Channel 3.
Definition: pie.h:547
PIE_InterruptSource_SPIATX
SPI A TX Interrupt.
Definition: pie.h:538
PIE_SystemInterrupts_INT6
INT6 interrupt vector.
Definition: pie.h:460
_PIE_Obj_::ECAP2_INT
volatile PIE_IntVec_t ECAP2_INT
ECAP2_INT interrupt vector.
Definition: pie.h:671
_PIE_Obj_::EPWM1_TZINT
volatile PIE_IntVec_t EPWM1_TZINT
EPWM1_TZINT interrupt vector.
Definition: pie.h:651
PIE_SubGroupNumber_8
Denotes PIE group number 8.
Definition: pie.h:446
PIE_disable
void PIE_disable(PIE_Handle pieHandle)
Disables the peripheral interrupt expansion (PIE)
Definition: pie.c:82
PIE_SystemInterrupts_ILLEGAL
ILLEGAL interrupt vector.
Definition: pie.h:473
_PIE_Obj_::SPIRXINTB
volatile PIE_IntVec_t SPIRXINTB
SPIRXINTB interrupt vector.
Definition: pie.h:692
PIE_enable
void PIE_enable(PIE_Handle pieHandle)
Enables the peripheral interrupt expansion (PIE)
Definition: pie.c:140
PIE_InterruptSource_TZ6
EPWM TZ6 Interrupt.
Definition: pie.h:508
_PIE_Obj_::rsvd8_3
volatile PIE_IntVec_t rsvd8_3
Reserved.
Definition: pie.h:712
PIE_InterruptSource_SPIBRX
SPI B RX Interrupt.
Definition: pie.h:539
_PIE_Obj_::rsvd8_8
volatile PIE_IntVec_t rsvd8_8
Reserved.
Definition: pie.h:717
PIE_SubGroupNumber_1
Denotes PIE group number 1.
Definition: pie.h:439
PIE_registerSystemIntHandler
void PIE_registerSystemIntHandler(PIE_Handle pieHandle, const PIE_SystemInterrupts_e systemInt, const PIE_IntVec_t vector)
Registers a handler for a PIE interrupt.
Definition: pie.c:362
PIE_SystemInterrupts_USER12
USER12 interrupt vector.
Definition: pie.h:485
PIE_SystemInterrupts_USER9
USER9 interrupt vector.
Definition: pie.h:482
_PIE_Obj_::SPITXINTB
volatile PIE_IntVec_t SPITXINTB
SPITXINTB interrupt vector.
Definition: pie.h:693
PIE_InterruptSource_EQEP1
EQEP 1 Interrupt.
Definition: pie.h:530
_PIE_Obj_::EPWM4_INT
volatile PIE_IntVec_t EPWM4_INT
EPWM4 interrupt vector.
Definition: pie.h:663
PIE_getIntFlags
uint16_t PIE_getIntFlags(PIE_Handle pieHandle, const PIE_GroupNumber_e group)
Gets PIE interrupt flag values.
Definition: pie.c:298
PIE_GroupNumber_10
Denotes PIE group number 10.
Definition: pie.h:429
_PIE_Obj_::rsvd5_3
volatile PIE_IntVec_t rsvd5_3
Reserved.
Definition: pie.h:682
PIE_SystemInterrupts_USER11
USER11 interrupt vector.
Definition: pie.h:484
PIE_enablePwmTzInt
void PIE_enablePwmTzInt(PIE_Handle pieHandle, const PWM_Number_e pwmNumber)
Enables the PWM Trip Zone interrupt.
Definition: pie.c:244
PIE_GroupNumber_6
Denotes PIE group number 6.
Definition: pie.h:425
PIE_InterruptSource_SCIBTX
SCI B TX Interrupt.
Definition: pie.h:560
PIE_GroupNumber_e
PIE_GroupNumber_e
Enumeration to define the peripheral interrupt expansion (PIE) group numbers.
Definition: pie.h:418
PIE_InterruptSource_HRCAP1
HRCAP1 Interrupt.
Definition: pie.h:526
PIE_GroupNumber_12
Denotes PIE group number 12.
Definition: pie.h:431
_PIE_Obj_::XINT3
volatile PIE_IntVec_t XINT3
XINT3 interrupt vector.
Definition: pie.h:750
PIE_InterruptSource_WAKE
Wake Up Interrupt.
Definition: pie.h:500
_PIE_Obj_::EQEP2_INT
volatile PIE_IntVec_t EQEP2_INT
EQEP2_INT interrupt vector.
Definition: pie.h:681
_PIE_Obj_::INT5
volatile PIE_IntVec_t INT5
INT5 interrupt vector.
Definition: pie.h:614
PIE_GroupNumber_4
Denotes PIE group number 4.
Definition: pie.h:423
_PIE_Obj_::USER11
volatile PIE_IntVec_t USER11
USER11 interrupt vector.
Definition: pie.h:639
PIE_InterruptSource_ECAP1
ECAP 1 Interrupt.
Definition: pie.h:523
PIE_InterruptSource_EPWM1
EPWM 1 Interrupt.
Definition: pie.h:513
_PIE_Obj_::EPWM7_INT
volatile PIE_IntVec_t EPWM7_INT
EPWM7_INT interrupt vector.
Definition: pie.h:666
PIE_SystemInterrupts_INT10
INT10 interrupt vector.
Definition: pie.h:464
PIE_SubGroupNumber_6
Denotes PIE group number 6.
Definition: pie.h:444
PIE_InterruptSource_ADCINT_4
ADC Interrupt 4.
Definition: pie.h:568
_PIE_Obj_::EPWM8_INT
volatile PIE_IntVec_t EPWM8_INT
EPWM8_INT interrupt vector.
Definition: pie.h:667
_PIE_Obj_::CLAINT3
volatile PIE_IntVec_t CLAINT3
CLA Interrupt 3.
Definition: pie.h:742
PIE_SystemInterrupts_INT3
INT3 interrupt vector.
Definition: pie.h:457
_PIE_Obj_::ADCINT3
volatile PIE_IntVec_t ADCINT3
ADCINT3 interrupt vector.
Definition: pie.h:732
_PIE_Obj_::EPWM3_INT
volatile PIE_IntVec_t EPWM3_INT
EPWM3 interrupt vector.
Definition: pie.h:662
PIE_getExtIntCount
uint16_t PIE_getExtIntCount(PIE_Handle pieHandle, const CPU_ExtIntNumber_e intNumber)
Gets the external interrupt count value.
Definition: pie.c:278
PIE_InterruptSource_EPWM8
EPWM 8 Interrupt.
Definition: pie.h:520
_PIE_Obj_::Reset
volatile PIE_IntVec_t Reset
Reset interrupt vector.
Definition: pie.h:609
_PIE_Obj_::CLAINT8
volatile PIE_IntVec_t CLAINT8
CLA Interrupt 8.
Definition: pie.h:747
PIE_InterruptSource_EQEP2
EQEP 2 Interrupt.
Definition: pie.h:531
_PIE_Obj_::USER8
volatile PIE_IntVec_t USER8
USER8 interrupt vector.
Definition: pie.h:636
PIE_setExtIntPolarity
void PIE_setExtIntPolarity(PIE_Handle pieHandle, const CPU_ExtIntNumber_e intNumber, const PIE_ExtIntPolarity_e polarity)
Sets the external interrupt polarity.
Definition: pie.c:406
PIE_SystemInterrupts_TINT2
INT14 interrupt vector.
Definition: pie.h:468
_PIE_Obj_::USER1
volatile PIE_IntVec_t USER1
USER1 interrupt vector.
Definition: pie.h:629
_PIE_Obj_::XINTnCTR
volatile uint16_t XINTnCTR[3]
External Interrupt n Counter Register.
Definition: pie.h:762
_PIE_Obj_::ECAN1INT
volatile PIE_IntVec_t ECAN1INT
ECAN1INT interrupt vector.
Definition: pie.h:725
PIE_InterruptSource_TZ8
EPWM TZ8 Interrupt.
Definition: pie.h:510
PIE_InterruptSource_ADCINT_6
ADC Interrupt 6.
Definition: pie.h:570
_PIE_Obj_::DMACH1_INT
volatile PIE_IntVec_t DMACH1_INT
DMA Channel 1.
Definition: pie.h:700
PIE_disableAllInts
void PIE_disableAllInts(PIE_Handle pieHandle)
Disables all of the interrupts.
Definition: pie.c:116
PIE_InterruptSource_SCIARX
SCI A RX Interrupt.
Definition: pie.h:557
PIE_GroupNumber_1
Denotes PIE group number 1.
Definition: pie.h:420
_PIE_Obj_::rsvd9_7
volatile PIE_IntVec_t rsvd9_7
Reserved.
Definition: pie.h:726
PIE_InterruptSource_ADCINT_3
ADC Interrupt 3.
Definition: pie.h:567
_PIE_Obj_::TINT1
volatile PIE_IntVec_t TINT1
INT13 interrupt vector.
Definition: pie.h:622
_PIE_Obj_::ADCINT8
volatile PIE_IntVec_t ADCINT8
ADCINT8 interrupt vector.
Definition: pie.h:737
PIE_SystemInterrupts_INT9
INT9 interrupt vector.
Definition: pie.h:463
_PIE_Obj_::USER12
volatile PIE_IntVec_t USER12
USER12 interrupt vector.
Definition: pie.h:640
PIE_InterruptSource_ADCINT_1_1
Group 1 ADC Interrupt 1.
Definition: pie.h:494
_PIE_Obj_::INT8
volatile PIE_IntVec_t INT8
INT8 interrupt vector.
Definition: pie.h:617
CPU_ExtIntNumber_e
CPU_ExtIntNumber_e
Enumeration to define the external interrupt numbers.
Definition: cpu.h:404
PIE_SystemInterrupts_USER5
USER5 interrupt vector.
Definition: pie.h:478
_PIE_Obj_::DMACH5_INT
volatile PIE_IntVec_t DMACH5_INT
DMA Channel 5.
Definition: pie.h:704
_PIE_Obj_::HRCAP2_INT
volatile PIE_IntVec_t HRCAP2_INT
HRCAP2_INT interrupt vector.
Definition: pie.h:677
_PIE_Obj_::rsvd4_5
volatile PIE_IntVec_t rsvd4_5
Reserved.
Definition: pie.h:674
_PIE_Obj_::rsvd12_5
volatile PIE_IntVec_t rsvd12_5
Reserved.
Definition: pie.h:754
PIE_InterruptSource_e
PIE_InterruptSource_e
Enumeration to define the peripheral interrupt expansion (PIE) individual interrupt sources...
Definition: pie.h:491
PIE_init
PIE_Handle PIE_init(void *pMemory, const size_t numBytes)
Initializes the peripheral interrupt expansion (PIE) object handle.
Definition: pie.c:318
PIE_GroupNumber_8
Denotes PIE group number 8.
Definition: pie.h:427
PIE_GroupNumber_9
Denotes PIE group number 9.
Definition: pie.h:428
PIE_SystemInterrupts_INT8
INT8 interrupt vector.
Definition: pie.h:462
_PIE_Obj_::INT7
volatile PIE_IntVec_t INT7
INT7 interrupt vector.
Definition: pie.h:616
_PIE_Obj_::CLAINT1
volatile PIE_IntVec_t CLAINT1
CLA Interrupt 1.
Definition: pie.h:740
_PIE_Obj_::XINTnCR
volatile uint16_t XINTnCR[3]
External Interrupt n Control Register.
Definition: pie.h:760
_PIE_Obj_::DMACH2_INT
volatile PIE_IntVec_t DMACH2_INT
DMA Channel 2.
Definition: pie.h:701
_PIE_Obj_::rsvd8_4
volatile PIE_IntVec_t rsvd8_4
Reserved.
Definition: pie.h:713
PIE_clearAllInts
void PIE_clearAllInts(PIE_Handle pieHandle)
Clears all the interrupts.
Definition: pie.c:70
PIE_InterruptSource_ECAP3
ECAP 3 Interrupt.
Definition: pie.h:525
PIE_ExtIntPolarity_FallingEdge
Denotes an interrupt is generated on the falling edge.
Definition: pie.h:410
PIE_InterruptSource_DMA_CH4
DMA Channel 4.
Definition: pie.h:548
PIE_SubGroupNumber_e
PIE_SubGroupNumber_e
Enumeration to define the peripheral interrupt expansion (PIE) sub-group numbers. ...
Definition: pie.h:437
_PIE_Obj_::DMACH4_INT
volatile PIE_IntVec_t DMACH4_INT
DMA Channel 4.
Definition: pie.h:703
_PIE_Obj_::INT3
volatile PIE_IntVec_t INT3
INT3 interrupt vector.
Definition: pie.h:612
_PIE_Obj_::EPWM2_INT
volatile PIE_IntVec_t EPWM2_INT
EPWM2 interrupt vector.
Definition: pie.h:661
PIE_InterruptSource_CLAINT_6
CLA Interrupt 6.
Definition: pie.h:580
_PIE_Obj_::INT10
volatile PIE_IntVec_t INT10
INT10 interrupt vector.
Definition: pie.h:619
PIE_SystemInterrupts_USER1
USER1 interrupt vector.
Definition: pie.h:474
PIE_GroupNumber_2
Denotes PIE group number 2.
Definition: pie.h:421
_PIE_Obj_::EPWM3_TZINT
volatile PIE_IntVec_t EPWM3_TZINT
EPWM3_TZINT interrupt vector.
Definition: pie.h:653
_PIE_Obj_::ECAP3_INT
volatile PIE_IntVec_t ECAP3_INT
ECAP3_INT interrupt vector.
Definition: pie.h:672
PIE_InterruptSource_ADCINT_9
ADC Interrupt 9.
Definition: pie.h:498
PIE_GroupNumber_3
Denotes PIE group number 3.
Definition: pie.h:422
_PIE_Obj_::rsvd12_6
volatile PIE_IntVec_t rsvd12_6
Reserved.
Definition: pie.h:755
_PIE_Obj_::USER3
volatile PIE_IntVec_t USER3
USER3 interrupt vector.
Definition: pie.h:631
PIE_Obj
struct _PIE_Obj_ PIE_Obj
Defines the peripheral interrupt expansion (PIE) object.
PIE_enableAdcInt
void PIE_enableAdcInt(PIE_Handle pieHandle, const ADC_IntNumber_e intNumber)
Enables the specified ADC interrupt.
Definition: pie.c:152
PIE_SubGroupNumber_5
Denotes PIE group number 5.
Definition: pie.h:443
PIE_InterruptSource_HRCAP3
HRCAP3 Interrupt.
Definition: pie.h:532
PIE_InterruptSource_SCIATX
SCI A TX Interrupt.
Definition: pie.h:558
PIE_InterruptSource_TZ3
EPWM TZ3 Interrupt.
Definition: pie.h:505
_PIE_Obj_::rsvd8_6
volatile PIE_IntVec_t rsvd8_6
Reserved.
Definition: pie.h:715
_PIE_Obj_::HRCAP3_INT
volatile PIE_IntVec_t HRCAP3_INT
HRCAP3_INT interrupt vector.
Definition: pie.h:683
PIE_InterruptSource_ECANA0
eCAN A 0 Interrupt
Definition: pie.h:561
PIE_InterruptSource_TZ7
EPWM TZ7 Interrupt.
Definition: pie.h:509
PIE_unregisterSystemIntHandler
void PIE_unregisterSystemIntHandler(PIE_Handle pieHandle, const PIE_SystemInterrupts_e systemInt)
Unregisters a handler for a PIE interrupt.
Definition: pie.c:450
PIE_InterruptSource_EPWM6
EPWM 6 Interrupt.
Definition: pie.h:518
PWM_Number_e
PWM_Number_e
Enumeration to define the pulse width modulation (PWM) numbers.
Definition: pwm.h:715
_PIE_Obj_::INT6
volatile PIE_IntVec_t INT6
INT6 interrupt vector.
Definition: pie.h:615
_PIE_Obj_::ADCINT1_HP
volatile PIE_IntVec_t ADCINT1_HP
ADC high priority interrupt.
Definition: pie.h:642
PIE_disableCaptureInt
void PIE_disableCaptureInt(PIE_Handle pieHandle)
Disables the capture interrupt.
Definition: pie.c:93
PIE_InterruptSource_CLAINT_4
CLA Interrupt 4.
Definition: pie.h:578
_PIE_Obj_::rsvd6_8
volatile PIE_IntVec_t rsvd6_8
Reserved.
Definition: pie.h:697
PIE_InterruptSource_XINT_1
External Interrupt 1.
Definition: pie.h:496
PIE_InterruptSource_USB0
USB0 Interrupt.
Definition: pie.h:534
_PIE_Obj_::DATALOG
volatile PIE_IntVec_t DATALOG
DATALOG interrupt vector.
Definition: pie.h:624
_PIE_Obj_::INT1
volatile PIE_IntVec_t INT1
INT1 interrupt vector.
Definition: pie.h:610
_PIE_Obj_::INT11
volatile PIE_IntVec_t INT11
INT11 interrupt vector.
Definition: pie.h:620
_PIE_Obj_::rsvd14
volatile uint16_t rsvd14[5]
Reserved.
Definition: pie.h:761
PIE_SystemInterrupts_USER7
USER7 interrupt vector.
Definition: pie.h:480
PIE_InterruptSource_DMA_CH6
DMA Channel 6.
Definition: pie.h:550
_PIE_Obj_::ADCINT7
volatile PIE_IntVec_t ADCINT7
ADCINT7 interrupt vector.
Definition: pie.h:736
_PIE_Obj_::XINT1
volatile PIE_IntVec_t XINT1
XINT1 interrupt vector.
Definition: pie.h:645
_PIE_Obj_::rsvd5_6
volatile PIE_IntVec_t rsvd5_6
Reserved.
Definition: pie.h:685
PIE_InterruptSource_TZ1
EPWM TZ1 Interrupt.
Definition: pie.h:503
_PIE_Obj_::PIEACK
volatile uint16_t PIEACK
PIE Acknowledge Register.
Definition: pie.h:606
PIE_disableInt
void PIE_disableInt(PIE_Handle pieHandle, const PIE_GroupNumber_e group, const PIE_InterruptSource_e intSource)
Disable a specific PIE interrupt.
Definition: pie.c:130
PIE_SystemInterrupts_INT12
INT12 interrupt vector.
Definition: pie.h:466
_PIE_Obj_::MCBSPARX
volatile PIE_IntVec_t MCBSPARX
McBSP A RX Interrupt.
Definition: pie.h:694
PIE_InterruptSource_SPIBTX
SPI B TX Interrupt.
Definition: pie.h:540
PIE_SubGroupNumber_2
Denotes PIE group number 2.
Definition: pie.h:440
PIE_InterruptSource_ADCINT_5
ADC Interrupt 5.
Definition: pie.h:569
PIE_ExtIntPolarity_RisingAndFallingEdge
Denotes an interrupt is generated on the falling and rising edges.
Definition: pie.h:412
_PIE_Obj_::I2CINT1A
volatile PIE_IntVec_t I2CINT1A
I2CINT1A interrupt vector.
Definition: pie.h:710