MotorWare f2806x Driver API Documentation
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 
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 {
414 
415 
418 typedef enum
419 {
433 
434 
437 typedef enum
438 {
448 
449 
452 typedef enum
453 {
487 
488 
491 typedef enum
492 {
493  //Group 1 Interrupts
501 
502  //Group 2 Interrupts
511 
512  //Group 3 Interrupts
521 
522  //Group 4 Interrupts
528 
529  //Group 5 Interrupts
535 
536  //Group 6 Interrupts
543 
544  //Group 7 Interrupts
551 
552  //Group 8 Interrupts
555 
556  //Group 9 Interrupts
563 
564  //Group 10 Interrupts
573 
574  //Group 11 Interrupts
583 
584  //Group 12 Interrupts
588 
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;
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;
626  volatile PIE_IntVec_t EMUINT;
627  volatile PIE_IntVec_t NMI;
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
645  volatile PIE_IntVec_t XINT1;
646  volatile PIE_IntVec_t XINT2;
648  volatile PIE_IntVec_t TINT0;
650  //Group 2 PIE interrupt
659  //Group 3 PIE interrupt
668 
669  //Group 4 PIE interrupt
678 
679  //Group 5 PIE interrupt
688 
689  //Group 6 PIE interrupt
698 
699  //Group 7 Interrupts
708 
709  //Group 8 Interrupts
718 
719  //Group 9 Interrupts
728 
729  //Group 10 Interrupts
738 
739  //Group 11 Interrupts
748 
749  //Group 12 Interrupts
750  volatile PIE_IntVec_t XINT3;
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 
volatile PIE_IntVec_t EPWM6_INT
EPWM6_INT interrupt vector.
Definition: pie.h:665
CLA Interrupt 2.
Definition: pie.h:576
NMI interrupt vector.
Definition: pie.h:472
volatile PIE_IntVec_t ADCINT4
ADCINT4 interrupt vector.
Definition: pie.h:733
volatile PIE_IntVec_t CLAINT_LVF
CLA Interrupt LVF.
Definition: pie.h:756
CLA Interrupt 5.
Definition: pie.h:579
Denotes PIE group number 5.
Definition: pie.h:424
DATALOG interrupt vector.
Definition: pie.h:469
volatile PIE_IntVec_t rsvd7_7
Reserved.
Definition: pie.h:706
volatile uint16_t IER
the Interrupt Enable Register (IER)
Definition: pie.h:596
Group 10 ADC Interrupt 1.
Definition: pie.h:565
INT13 interrupt vector.
Definition: pie.h:467
volatile PIE_IntVec_t INT9
INT9 interrupt vector.
Definition: pie.h:618
volatile PIE_IntVec_t EPWM7_TZINT
EPWM7_TZINT interrupt vector.
Definition: pie.h:657
volatile PIE_IntVec_t EPWM2_TZINT
EPWM2_TZINT interrupt vector.
Definition: pie.h:652
struct _PIE_IERIFR_t PIE_IERIFR_t
Defines the PIE_IERIFR_t data type.
HRCAP2 Interrupt.
Definition: pie.h:527
McBSP A TX Interrupt.
Definition: pie.h:542
USER2 interrupt vector.
Definition: pie.h:475
volatile PIE_IntVec_t EPWM6_TZINT
EPWM6_TZINT interrupt vector.
Definition: pie.h:656
volatile PIE_IntVec_t CLAINT4
CLA Interrupt 4.
Definition: pie.h:743
volatile PIE_IntVec_t USER4
USER4 interrupt vector.
Definition: pie.h:632
volatile PIE_IntVec_t HRCAP1_INT
HRCAP1_INT interrupt vector.
Definition: pie.h:676
void PIE_clearAllFlags(PIE_Handle pieHandle)
Clears all the interrupt flags.
Definition: pie.c:55
ECAP 2 Interrupt.
Definition: pie.h:524
volatile PIE_IntVec_t CLAINT_LUF
CLA Interrupt LUF.
Definition: pie.h:757
Contains public interface to various functions related to the pulse width modulation (PWM) object...
volatile PIE_IntVec_t ILLEGAL
ILLEGAL interrupt vector.
Definition: pie.h:628
HRCAP4 Interrupt.
Definition: pie.h:533
volatile PIE_IntVec_t ADCINT9
ADCINT9 interrupt vector.
Definition: pie.h:647
volatile PIE_IntVec_t TINT2
INT14 interrupt vector.
Definition: pie.h:623
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
volatile PIE_IntVec_t EPWM1_INT
EPWM1 interrupt vector.
Definition: pie.h:660
void PIE_enableExtInt(PIE_Handle pieHandle, const CPU_ExtIntNumber_e intNumber)
Enables the prescribed external interrupt.
Definition: pie.c:192
volatile uint16_t IFR
the Interrupt Flag Register (IFR)
Definition: pie.h:597
volatile PIE_IntVec_t EPWM8_TZINT
EPWM8_TZINT interrupt vector.
Definition: pie.h:658
volatile PIE_IntVec_t EPWM5_INT
EPWM5_INT interrupt vector.
Definition: pie.h:664
EPWM TZ4 Interrupt.
Definition: pie.h:506
volatile PIE_IntVec_t rsvd6_7
Reserved.
Definition: pie.h:696
volatile PIE_IntVec_t RTOSINT
RTOSINT interrupt vector.
Definition: pie.h:625
External Interrupt 3.
Definition: pie.h:585
Defines the PIE_IERIFR_t data type.
Definition: pie.h:594
Denotes PIE group number 7.
Definition: pie.h:445
DMA Channel 1.
Definition: pie.h:545
volatile PIE_IntVec_t INT2
INT2 interrupt vector.
Definition: pie.h:611
volatile uint16_t rsvd13[25200]
Reserved.
Definition: pie.h:759
volatile uint16_t rsvd_1[6]
Reserved.
Definition: pie.h:608
EPWM TZ5 Interrupt.
Definition: pie.h:507
PIE_ExtIntPolarity_e
Enumeration to define the external interrupt polarity.
Definition: pie.h:408
volatile PIE_IntVec_t MCBSPATX
McBSP A TX Interrupt.
Definition: pie.h:695
volatile PIE_IntVec_t EPWM4_TZINT
EPWM4_TZINT interrupt vector.
Definition: pie.h:654
volatile PIE_IntVec_t USER9
USER9 interrupt vector.
Definition: pie.h:637
EPWM TZ2 Interrupt.
Definition: pie.h:504
volatile PIE_IntVec_t CLAINT2
CLA Interrupt 2.
Definition: pie.h:741
volatile PIE_IntVec_t SCITXINTB
SPITXINTB interrupt vector.
Definition: pie.h:723
EPWM 2 Interrupt.
Definition: pie.h:514
EPWM 3 Interrupt.
Definition: pie.h:515
volatile PIE_IntVec_t USER5
USER5 interrupt vector.
Definition: pie.h:633
External Interrupt 2.
Definition: pie.h:497
volatile PIE_IntVec_t DMACH3_INT
DMA Channel 3.
Definition: pie.h:702
volatile PIE_IntVec_t rsvd12_3
Reserved.
Definition: pie.h:752
volatile PIE_IntVec_t ADCINT2
ADCINT2 interrupt vector.
Definition: pie.h:731
volatile PIE_IntVec_t EMUINT
EMUINT interrupt vector.
Definition: pie.h:626
USER6 interrupt vector.
Definition: pie.h:479
I2C A Interrupt 1.
Definition: pie.h:553
void PIE_setDefaultIntVectorTable(PIE_Handle pieHandle)
Initializes the vector table with illegal ISR handlers.
Definition: pie.c:386
RTOSINT interrupt vector.
Definition: pie.h:470
volatile PIE_IntVec_t ADCINT5
ADCINT5 interrupt vector.
Definition: pie.h:734
void PIE_enablePwmInt(PIE_Handle pieHandle, const PWM_Number_e pwmNumber)
Enables the PWM interrupt.
Definition: pie.c:231
volatile PIE_IntVec_t rsvd7_8
Reserved.
Definition: pie.h:707
void PIE_enableTimer0Int(PIE_Handle pieHandle)
Enables the Cpu Timer 0 interrupt.
Definition: pie.c:257
volatile PIE_IntVec_t SPITXINTA
SPITXINTA interrupt vector.
Definition: pie.h:691
Denotes PIE group number 4.
Definition: pie.h:442
volatile PIE_IntVec_t ADCINT6
ADCINT6 interrupt vector.
Definition: pie.h:735
volatile PIE_IntVec_t ADCINT1
ADCINT1 interrupt vector.
Definition: pie.h:730
CLA Interrupt 1.
Definition: pie.h:575
static void PIE_clearInt(PIE_Handle pieHandle, const PIE_GroupNumber_e groupNumber)
Clears an interrupt defined by group number.
Definition: pie.h:791
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
Defines the peripheral interrupt expansion (PIE) object.
Definition: pie.h:603
CLA Interrupt 8.
Definition: pie.h:582
Denotes PIE group number 7.
Definition: pie.h:426
INT2 interrupt vector.
Definition: pie.h:456
volatile PIE_IntVec_t rsvd8_5
Reserved.
Definition: pie.h:714
volatile PIE_IntVec_t CLAINT7
CLA Interrupt 7.
Definition: pie.h:746
volatile PIE_IntVec_t INT4
INT4 interrupt vector.
Definition: pie.h:613
volatile PIE_IntVec_t USER7
USER7 interrupt vector.
Definition: pie.h:635
CLA Interrupt 7.
Definition: pie.h:581
volatile PIE_IntVec_t SPIRXINTA
SPIRXINTA interrupt vector.
Definition: pie.h:690
Denotes an interrupt is generated on the rising edge.
Definition: pie.h:411
volatile PIE_IntVec_t CLAINT5
CLA Interrupt 5.
Definition: pie.h:744
volatile PIE_IntVec_t rsvd5_7
Reserved.
Definition: pie.h:686
Denotes PIE group number 3.
Definition: pie.h:441
volatile PIE_IERIFR_t PIEIER_PIEIFR[12]
PIE Interrupt Enable Register and PIE Interrupt Flag Register.
Definition: pie.h:607
struct _PIE_Obj_ * PIE_Handle
Defines the peripheral interrupt expansion (PIE) handle.
Definition: pie.h:768
volatile PIE_IntVec_t ECAP1_INT
ECAP1_INT interrupt vector.
Definition: pie.h:670
Contains public interface to various functions related to the analog-to-digital converter (ADC) objec...
volatile PIE_IntVec_t rsvd4_4
Reserved.
Definition: pie.h:673
uint16_t PIE_getIntEnables(PIE_Handle pieHandle, const PIE_GroupNumber_e group)
Gets PIE interrupt enable values.
Definition: pie.c:290
USER3 interrupt vector.
Definition: pie.h:476
volatile PIE_IntVec_t SCIRXINTA
SCIRXINTA interrupt vector.
Definition: pie.h:720
volatile PIE_IntVec_t rsvd12_2
Reserved.
Definition: pie.h:751
volatile PIE_IntVec_t HRCAP4_INT
HRCAP4_INT interrupt vector.
Definition: pie.h:684
Timer Interrupt 0.
Definition: pie.h:499
Group 10 ADC Interrupt 2.
Definition: pie.h:566
USER10 interrupt vector.
Definition: pie.h:483
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
ADC Interrupt 7.
Definition: pie.h:571
EPWM 4 Interrupt.
Definition: pie.h:516
volatile PIE_IntVec_t TINT0
TINT0 interrupt vector.
Definition: pie.h:648
volatile PIE_IntVec_t USB0_INT
USB 0 interrupt source.
Definition: pie.h:687
volatile PIE_IntVec_t USER10
USER10 interrupt vector.
Definition: pie.h:638
EPWM 7 Interrupt.
Definition: pie.h:519
Reset interrupt vector.
Definition: pie.h:454
SCI B RX Interrupt.
Definition: pie.h:559
volatile PIE_IntVec_t I2CINT2A
I2CINT2A interrupt vector.
Definition: pie.h:711
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
USER8 interrupt vector.
Definition: pie.h:481
CLA Interrupt LVF.
Definition: pie.h:586
CLA Interrupt 3.
Definition: pie.h:577
DMA Channel 2.
Definition: pie.h:546
USER4 interrupt vector.
Definition: pie.h:477
volatile PIE_IntVec_t ECAN0INT
ECAN0INT interrupt vector.
Definition: pie.h:724
INT7 interrupt vector.
Definition: pie.h:461
interrupt void PIE_illegalIsr(void)
Defines an illegal interrupt service routine - if the program pointer references this function...
Definition: pie.c:306
EMUINT interrupt vector.
Definition: pie.h:471
volatile PIE_IntVec_t ADCINT2_HP
ADC high priority interrupt.
Definition: pie.h:643
volatile PIE_IntVec_t WAKEINT
WAKEINT interrupt vector.
Definition: pie.h:649
PIE_SystemInterrupts_e
Enumeration to define the system interrupts.
Definition: pie.h:452
SPI A RX Interrupt.
Definition: pie.h:537
ADC Interrupt 8.
Definition: pie.h:572
eCAN A 1 Interrupt
Definition: pie.h:562
INT1 interrupt vector.
Definition: pie.h:455
volatile PIE_IntVec_t rsvd1_3
Reserved.
Definition: pie.h:644
INT4 interrupt vector.
Definition: pie.h:458
volatile PIE_IntVec_t USER2
USER2 interrupt vector.
Definition: pie.h:630
volatile PIE_IntVec_t rsvd12_4
Reserved.
Definition: pie.h:753
INT11 interrupt vector.
Definition: pie.h:465
void PIE_enableCaptureInt(PIE_Handle pieHandle)
Enables the capture interrupt.
Definition: pie.c:181
volatile PIE_IntVec_t INT12
INT12 interrupt vector.
Definition: pie.h:621
volatile PIE_IntVec_t DMACH6_INT
DMA Channel 6.
Definition: pie.h:705
volatile PIE_IntVec_t NMI
NMI interrupt vector.
Definition: pie.h:627
volatile PIE_IntVec_t SCITXINTA
SCITXINTA interrupt vector.
Definition: pie.h:721
INT5 interrupt vector.
Definition: pie.h:459
interrupt void(* PIE_IntVec_t)(void)
Defines the type for an interrupt vector.
Definition: pie.h:403
ADC_IntNumber_e
Enumeration to define the analog-to-digital converter (ADC) interrupt number.
Definition: adc.h:232
volatile PIE_IntVec_t USER6
USER6 interrupt vector.
Definition: pie.h:634
volatile PIE_IntVec_t EQEP1_INT
EQEP1_INT interrupt vector.
Definition: pie.h:680
volatile PIE_IntVec_t EPWM5_TZINT
EPWM5_TZINT interrupt vector.
Definition: pie.h:655
volatile uint16_t PIECTRL
PIE Control Register.
Definition: pie.h:605
volatile PIE_IntVec_t SCIRXINTB
SPIRXINTB interrupt vector.
Definition: pie.h:722
Group 1 ADC Interrupt 2.
Definition: pie.h:495
volatile PIE_IntVec_t rsvd4_6
Reserved.
Definition: pie.h:675
Denotes PIE group number 11.
Definition: pie.h:430
EPWM 5 Interrupt.
Definition: pie.h:517
volatile PIE_IntVec_t CLAINT6
CLA Interrupt 6.
Definition: pie.h:745
volatile PIE_IntVec_t rsvd8_7
Reserved.
Definition: pie.h:716
I2C A Interrupt 2.
Definition: pie.h:554
DMA Channel 5.
Definition: pie.h:549
volatile PIE_IntVec_t XINT2
XINT2 interrupt vector.
Definition: pie.h:646
CLA Interrupt LUF.
Definition: pie.h:587
volatile PIE_IntVec_t rsvd9_8
Reserved.
Definition: pie.h:727
McBSP A RX Interrupt.
Definition: pie.h:541
DMA Channel 3.
Definition: pie.h:547
SPI A TX Interrupt.
Definition: pie.h:538
INT6 interrupt vector.
Definition: pie.h:460
volatile PIE_IntVec_t ECAP2_INT
ECAP2_INT interrupt vector.
Definition: pie.h:671
volatile PIE_IntVec_t EPWM1_TZINT
EPWM1_TZINT interrupt vector.
Definition: pie.h:651
Denotes PIE group number 8.
Definition: pie.h:446
void PIE_disable(PIE_Handle pieHandle)
Disables the peripheral interrupt expansion (PIE)
Definition: pie.c:82
ILLEGAL interrupt vector.
Definition: pie.h:473
volatile PIE_IntVec_t SPIRXINTB
SPIRXINTB interrupt vector.
Definition: pie.h:692
void PIE_enable(PIE_Handle pieHandle)
Enables the peripheral interrupt expansion (PIE)
Definition: pie.c:140
EPWM TZ6 Interrupt.
Definition: pie.h:508
volatile PIE_IntVec_t rsvd8_3
Reserved.
Definition: pie.h:712
SPI B RX Interrupt.
Definition: pie.h:539
volatile PIE_IntVec_t rsvd8_8
Reserved.
Definition: pie.h:717
Denotes PIE group number 1.
Definition: pie.h:439
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
USER12 interrupt vector.
Definition: pie.h:485
USER9 interrupt vector.
Definition: pie.h:482
volatile PIE_IntVec_t SPITXINTB
SPITXINTB interrupt vector.
Definition: pie.h:693
EQEP 1 Interrupt.
Definition: pie.h:530
volatile PIE_IntVec_t EPWM4_INT
EPWM4 interrupt vector.
Definition: pie.h:663
uint16_t PIE_getIntFlags(PIE_Handle pieHandle, const PIE_GroupNumber_e group)
Gets PIE interrupt flag values.
Definition: pie.c:298
Denotes PIE group number 10.
Definition: pie.h:429
volatile PIE_IntVec_t rsvd5_3
Reserved.
Definition: pie.h:682
USER11 interrupt vector.
Definition: pie.h:484
void PIE_enablePwmTzInt(PIE_Handle pieHandle, const PWM_Number_e pwmNumber)
Enables the PWM Trip Zone interrupt.
Definition: pie.c:244
Denotes PIE group number 6.
Definition: pie.h:425
SCI B TX Interrupt.
Definition: pie.h:560
PIE_GroupNumber_e
Enumeration to define the peripheral interrupt expansion (PIE) group numbers.
Definition: pie.h:418
HRCAP1 Interrupt.
Definition: pie.h:526
Denotes PIE group number 12.
Definition: pie.h:431
volatile PIE_IntVec_t XINT3
XINT3 interrupt vector.
Definition: pie.h:750
Wake Up Interrupt.
Definition: pie.h:500
volatile PIE_IntVec_t EQEP2_INT
EQEP2_INT interrupt vector.
Definition: pie.h:681
volatile PIE_IntVec_t INT5
INT5 interrupt vector.
Definition: pie.h:614
Denotes PIE group number 4.
Definition: pie.h:423
volatile PIE_IntVec_t USER11
USER11 interrupt vector.
Definition: pie.h:639
ECAP 1 Interrupt.
Definition: pie.h:523
EPWM 1 Interrupt.
Definition: pie.h:513
volatile PIE_IntVec_t EPWM7_INT
EPWM7_INT interrupt vector.
Definition: pie.h:666
INT10 interrupt vector.
Definition: pie.h:464
Denotes PIE group number 6.
Definition: pie.h:444
ADC Interrupt 4.
Definition: pie.h:568
volatile PIE_IntVec_t EPWM8_INT
EPWM8_INT interrupt vector.
Definition: pie.h:667
volatile PIE_IntVec_t CLAINT3
CLA Interrupt 3.
Definition: pie.h:742
INT3 interrupt vector.
Definition: pie.h:457
volatile PIE_IntVec_t ADCINT3
ADCINT3 interrupt vector.
Definition: pie.h:732
volatile PIE_IntVec_t EPWM3_INT
EPWM3 interrupt vector.
Definition: pie.h:662
uint16_t PIE_getExtIntCount(PIE_Handle pieHandle, const CPU_ExtIntNumber_e intNumber)
Gets the external interrupt count value.
Definition: pie.c:278
EPWM 8 Interrupt.
Definition: pie.h:520
volatile PIE_IntVec_t Reset
Reset interrupt vector.
Definition: pie.h:609
volatile PIE_IntVec_t CLAINT8
CLA Interrupt 8.
Definition: pie.h:747
EQEP 2 Interrupt.
Definition: pie.h:531
volatile PIE_IntVec_t USER8
USER8 interrupt vector.
Definition: pie.h:636
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
INT14 interrupt vector.
Definition: pie.h:468
volatile PIE_IntVec_t USER1
USER1 interrupt vector.
Definition: pie.h:629
volatile uint16_t XINTnCTR[3]
External Interrupt n Counter Register.
Definition: pie.h:762
volatile PIE_IntVec_t ECAN1INT
ECAN1INT interrupt vector.
Definition: pie.h:725
EPWM TZ8 Interrupt.
Definition: pie.h:510
ADC Interrupt 6.
Definition: pie.h:570
volatile PIE_IntVec_t DMACH1_INT
DMA Channel 1.
Definition: pie.h:700
void PIE_disableAllInts(PIE_Handle pieHandle)
Disables all of the interrupts.
Definition: pie.c:116
SCI A RX Interrupt.
Definition: pie.h:557
Denotes PIE group number 1.
Definition: pie.h:420
volatile PIE_IntVec_t rsvd9_7
Reserved.
Definition: pie.h:726
ADC Interrupt 3.
Definition: pie.h:567
volatile PIE_IntVec_t TINT1
INT13 interrupt vector.
Definition: pie.h:622
volatile PIE_IntVec_t ADCINT8
ADCINT8 interrupt vector.
Definition: pie.h:737
INT9 interrupt vector.
Definition: pie.h:463
volatile PIE_IntVec_t USER12
USER12 interrupt vector.
Definition: pie.h:640
Group 1 ADC Interrupt 1.
Definition: pie.h:494
volatile PIE_IntVec_t INT8
INT8 interrupt vector.
Definition: pie.h:617
CPU_ExtIntNumber_e
Enumeration to define the external interrupt numbers.
Definition: cpu.h:404
USER5 interrupt vector.
Definition: pie.h:478
volatile PIE_IntVec_t DMACH5_INT
DMA Channel 5.
Definition: pie.h:704
volatile PIE_IntVec_t HRCAP2_INT
HRCAP2_INT interrupt vector.
Definition: pie.h:677
volatile PIE_IntVec_t rsvd4_5
Reserved.
Definition: pie.h:674
volatile PIE_IntVec_t rsvd12_5
Reserved.
Definition: pie.h:754
PIE_InterruptSource_e
Enumeration to define the peripheral interrupt expansion (PIE) individual interrupt sources...
Definition: pie.h:491
PIE_Handle PIE_init(void *pMemory, const size_t numBytes)
Initializes the peripheral interrupt expansion (PIE) object handle.
Definition: pie.c:318
Denotes PIE group number 8.
Definition: pie.h:427
Denotes PIE group number 9.
Definition: pie.h:428
INT8 interrupt vector.
Definition: pie.h:462
volatile PIE_IntVec_t INT7
INT7 interrupt vector.
Definition: pie.h:616
volatile PIE_IntVec_t CLAINT1
CLA Interrupt 1.
Definition: pie.h:740
volatile uint16_t XINTnCR[3]
External Interrupt n Control Register.
Definition: pie.h:760
volatile PIE_IntVec_t DMACH2_INT
DMA Channel 2.
Definition: pie.h:701
volatile PIE_IntVec_t rsvd8_4
Reserved.
Definition: pie.h:713
void PIE_clearAllInts(PIE_Handle pieHandle)
Clears all the interrupts.
Definition: pie.c:70
ECAP 3 Interrupt.
Definition: pie.h:525
Denotes an interrupt is generated on the falling edge.
Definition: pie.h:410
DMA Channel 4.
Definition: pie.h:548
PIE_SubGroupNumber_e
Enumeration to define the peripheral interrupt expansion (PIE) sub-group numbers. ...
Definition: pie.h:437
volatile PIE_IntVec_t DMACH4_INT
DMA Channel 4.
Definition: pie.h:703
volatile PIE_IntVec_t INT3
INT3 interrupt vector.
Definition: pie.h:612
volatile PIE_IntVec_t EPWM2_INT
EPWM2 interrupt vector.
Definition: pie.h:661
CLA Interrupt 6.
Definition: pie.h:580
volatile PIE_IntVec_t INT10
INT10 interrupt vector.
Definition: pie.h:619
USER1 interrupt vector.
Definition: pie.h:474
Denotes PIE group number 2.
Definition: pie.h:421
volatile PIE_IntVec_t EPWM3_TZINT
EPWM3_TZINT interrupt vector.
Definition: pie.h:653
volatile PIE_IntVec_t ECAP3_INT
ECAP3_INT interrupt vector.
Definition: pie.h:672
ADC Interrupt 9.
Definition: pie.h:498
Denotes PIE group number 3.
Definition: pie.h:422
volatile PIE_IntVec_t rsvd12_6
Reserved.
Definition: pie.h:755
volatile PIE_IntVec_t USER3
USER3 interrupt vector.
Definition: pie.h:631
struct _PIE_Obj_ PIE_Obj
Defines the peripheral interrupt expansion (PIE) object.
void PIE_enableAdcInt(PIE_Handle pieHandle, const ADC_IntNumber_e intNumber)
Enables the specified ADC interrupt.
Definition: pie.c:152
Denotes PIE group number 5.
Definition: pie.h:443
HRCAP3 Interrupt.
Definition: pie.h:532
SCI A TX Interrupt.
Definition: pie.h:558
EPWM TZ3 Interrupt.
Definition: pie.h:505
volatile PIE_IntVec_t rsvd8_6
Reserved.
Definition: pie.h:715
volatile PIE_IntVec_t HRCAP3_INT
HRCAP3_INT interrupt vector.
Definition: pie.h:683
eCAN A 0 Interrupt
Definition: pie.h:561
EPWM TZ7 Interrupt.
Definition: pie.h:509
void PIE_unregisterSystemIntHandler(PIE_Handle pieHandle, const PIE_SystemInterrupts_e systemInt)
Unregisters a handler for a PIE interrupt.
Definition: pie.c:450
EPWM 6 Interrupt.
Definition: pie.h:518
PWM_Number_e
Enumeration to define the pulse width modulation (PWM) numbers.
Definition: pwm.h:715
volatile PIE_IntVec_t INT6
INT6 interrupt vector.
Definition: pie.h:615
volatile PIE_IntVec_t ADCINT1_HP
ADC high priority interrupt.
Definition: pie.h:642
void PIE_disableCaptureInt(PIE_Handle pieHandle)
Disables the capture interrupt.
Definition: pie.c:93
CLA Interrupt 4.
Definition: pie.h:578
volatile PIE_IntVec_t rsvd6_8
Reserved.
Definition: pie.h:697
External Interrupt 1.
Definition: pie.h:496
USB0 Interrupt.
Definition: pie.h:534
volatile PIE_IntVec_t DATALOG
DATALOG interrupt vector.
Definition: pie.h:624
volatile PIE_IntVec_t INT1
INT1 interrupt vector.
Definition: pie.h:610
volatile PIE_IntVec_t INT11
INT11 interrupt vector.
Definition: pie.h:620
volatile uint16_t rsvd14[5]
Reserved.
Definition: pie.h:761
USER7 interrupt vector.
Definition: pie.h:480
DMA Channel 6.
Definition: pie.h:550
volatile PIE_IntVec_t ADCINT7
ADCINT7 interrupt vector.
Definition: pie.h:736
volatile PIE_IntVec_t XINT1
XINT1 interrupt vector.
Definition: pie.h:645
volatile PIE_IntVec_t rsvd5_6
Reserved.
Definition: pie.h:685
EPWM TZ1 Interrupt.
Definition: pie.h:503
volatile uint16_t PIEACK
PIE Acknowledge Register.
Definition: pie.h:606
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
INT12 interrupt vector.
Definition: pie.h:466
volatile PIE_IntVec_t MCBSPARX
McBSP A RX Interrupt.
Definition: pie.h:694
SPI B TX Interrupt.
Definition: pie.h:540
Denotes PIE group number 2.
Definition: pie.h:440
ADC Interrupt 5.
Definition: pie.h:569
Denotes an interrupt is generated on the falling and rising edges.
Definition: pie.h:412
volatile PIE_IntVec_t I2CINT1A
I2CINT1A interrupt vector.
Definition: pie.h:710