AM263x MCU+ SDK  08.02.00
etpwm.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * 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
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
42 #ifndef EPWM_V1_H_
43 #define EPWM_V1_H_
44 
45 //*****************************************************************************
46 //
47 // If building with a C++ compiler, make all of the definitions in this header
48 // have a C binding.
49 //
50 //*****************************************************************************
51 #ifdef __cplusplus
52 extern "C"
53 {
54 #endif
55 
56 //*****************************************************************************
57 //
58 // Header Files
59 //
60 //*****************************************************************************
61 #include <stdbool.h>
62 #include <stdint.h>
63 #include <drivers/hw_include/hw_types.h>
64 #include <drivers/hw_include/cslr_soc.h>
65 #include <kernel/dpl/DebugP.h>
66 #include <drivers/hw_include/cslr_epwm.h>
67 
68 //*****************************************************************************
69 //
70 // Defines for the API.
71 //
72 //*****************************************************************************
73 //*****************************************************************************
74 //
75 // Define to specify mask for source parameter for
76 // EPWM_enableSyncOutPulseSource() & EPWM_disableSyncOutPulseSource()
77 //
78 //*****************************************************************************
79 #define EPWM_SYNC_OUT_SOURCE_M ((uint16_t)CSL_EPWM_EPWMSYNCOUTEN_SWEN_MASK |\
80  (uint16_t)CSL_EPWM_EPWMSYNCOUTEN_ZEROEN_MASK |\
81  (uint16_t)CSL_EPWM_EPWMSYNCOUTEN_CMPBEN_MASK |\
82  (uint16_t)CSL_EPWM_EPWMSYNCOUTEN_CMPCEN_MASK |\
83  (uint16_t)CSL_EPWM_EPWMSYNCOUTEN_CMPDEN_MASK |\
84  (uint16_t)CSL_EPWM_EPWMSYNCOUTEN_DCAEVT1EN_MASK |\
85  (uint16_t)CSL_EPWM_EPWMSYNCOUTEN_DCBEVT1EN_MASK)
86 
87 //*****************************************************************************
88 //
89 // Values that can be passed to EPWM_enableSyncOutPulseSource() &
90 // EPWM_disableSyncOutPulseSource() as the \e mode parameter.
91 //
92 //*****************************************************************************
94 #define EPWM_SYNC_OUT_PULSE_ON_SOFTWARE CSL_EPWM_EPWMSYNCOUTEN_SWEN_MASK
95 #define EPWM_SYNC_OUT_PULSE_ON_CNTR_ZERO CSL_EPWM_EPWMSYNCOUTEN_ZEROEN_MASK
97 #define EPWM_SYNC_OUT_PULSE_ON_CNTR_COMPARE_B CSL_EPWM_EPWMSYNCOUTEN_CMPBEN_MASK
99 #define EPWM_SYNC_OUT_PULSE_ON_CNTR_COMPARE_C CSL_EPWM_EPWMSYNCOUTEN_CMPCEN_MASK
101 #define EPWM_SYNC_OUT_PULSE_ON_CNTR_COMPARE_D CSL_EPWM_EPWMSYNCOUTEN_CMPDEN_MASK
103 #define EPWM_SYNC_OUT_PULSE_ON_DCA_EVT1_SYNC CSL_EPWM_EPWMSYNCOUTEN_DCAEVT1EN_MASK
105 #define EPWM_SYNC_OUT_PULSE_ON_DCB_EVT1_SYNC CSL_EPWM_EPWMSYNCOUTEN_DCBEVT1EN_MASK
107 #define EPWM_SYNC_OUT_PULSE_ON_ALL EPWM_SYNC_OUT_SOURCE_M
109 
110 //
111 // Time Base Module
112 //
113 //*****************************************************************************
114 //
117 //
118 //*****************************************************************************
119 typedef enum
120 {
128 
129 //*****************************************************************************
130 //
133 //
134 //*****************************************************************************
135 typedef enum
136 {
140 
141 //*****************************************************************************
142 //
145 //
146 //*****************************************************************************
147 typedef enum
148 {
158 
159 //*****************************************************************************
160 //
163 //
164 //*****************************************************************************
165 typedef enum
166 {
176 
177 //*****************************************************************************
178 //
181 //
182 //*****************************************************************************
183 typedef enum
184 {
312 
313 //*****************************************************************************
314 //
317 //
318 //*****************************************************************************
319 typedef enum
320 {
324 
325 //*****************************************************************************
326 //
329 //
330 //*****************************************************************************
331 typedef enum
332 {
338 
339 //*****************************************************************************
340 //
343 //
344 //*****************************************************************************
345 typedef enum
346 {
352 
353 //*****************************************************************************
354 //
357 //
358 //*****************************************************************************
359 typedef enum
360 {
369 
370 //*****************************************************************************
371 //
372 // Values that can be returned by the EPWM_getTimeBaseCounterDirection()
373 //
374 //*****************************************************************************
376 #define EPWM_TIME_BASE_STATUS_COUNT_DOWN (0U)
377 #define EPWM_TIME_BASE_STATUS_COUNT_UP (1U)
379 
380 //*****************************************************************************
381 //
384 //
385 //*****************************************************************************
386 typedef enum
387 {
421 
422 //*****************************************************************************
423 //
426 //
427 //*****************************************************************************
428 typedef enum
429 {
437  EPWM_LINK_DBFED = 6
439 
440 //
441 // Counter Compare Module
442 //
443 //*****************************************************************************
444 //
449 //
450 //*****************************************************************************
451 typedef enum
452 {
458 
459 //*****************************************************************************
460 //
463 //
464 //*****************************************************************************
465 typedef enum
466 {
484 
485 //
486 // Action Qualifier Module
487 //
488 //*****************************************************************************
489 //
492 //
493 //*****************************************************************************
494 typedef enum
495 {
499 
500 //*****************************************************************************
501 //
504 //
505 //*****************************************************************************
506 typedef enum
507 {
525 
526 //*****************************************************************************
527 //
530 //
531 //*****************************************************************************
532 typedef enum
533 {
544 
545 //*****************************************************************************
546 //
549 //
550 //*****************************************************************************
551 typedef enum
552 {
574 
575 //*****************************************************************************
576 //
579 //
580 //*****************************************************************************
581 typedef enum
582 {
588 
589 //*****************************************************************************
590 //
593 //
594 //*****************************************************************************
595 typedef enum
596 {
601 
602 //*****************************************************************************
603 //
606 //
607 //*****************************************************************************
608 typedef enum
609 {
659 
660 //*****************************************************************************
661 //
665 //
666 //*****************************************************************************
667 typedef enum
668 {
702 
703 //*****************************************************************************
704 //
710 //
711 //*****************************************************************************
712 typedef enum
713 {
715  EPWM_AQ_OUTPUT_B = 4
717 
718 //*****************************************************************************
719 //
722 //
723 //*****************************************************************************
724 typedef enum
725 {
735 
736 //*****************************************************************************
737 //
740 //
741 //*****************************************************************************
742 typedef enum
743 {
745  EPWM_DB_OUTPUT_B = 1
747 
748 //*****************************************************************************
749 //
752 //
753 //*****************************************************************************
754 typedef enum
755 {
757  EPWM_DB_FED = 0
759 
760 //*****************************************************************************
761 //
764 //
765 //*****************************************************************************
766 typedef enum
767 {
771 
772 //*****************************************************************************
773 //
774 // Values that can be passed to EPWM_setRisingEdgeDeadBandDelayInput(),
775 // EPWM_setFallingEdgeDeadBandDelayInput() as the input parameter.
776 //
777 //*****************************************************************************
779 #define EPWM_DB_INPUT_EPWMA (0U)
780 #define EPWM_DB_INPUT_EPWMB (1U)
782 #define EPWM_DB_INPUT_DB_RED (2U)
784 
785 //*****************************************************************************
786 //
789 //
790 //*****************************************************************************
791 typedef enum
792 {
802 
803 //*****************************************************************************
804 //
807 //
808 //*****************************************************************************
809 typedef enum
810 {
820 
821 //*****************************************************************************
822 //
825 //
826 //*****************************************************************************
827 typedef enum
828 {
838 
839 //*****************************************************************************
840 //
843 //
844 //*****************************************************************************
845 typedef enum
846 {
852 
853 //
854 // Trip Zone
855 //
856 //*****************************************************************************
857 //
858 // Values that can be passed to EPWM_enableTripZoneSignals() and
859 // EPWM_disableTripZoneSignals() as the tzSignal parameter.
860 //
861 //*****************************************************************************
863 #define EPWM_TZ_SIGNAL_CBC1 (0x1U)
864 #define EPWM_TZ_SIGNAL_CBC2 (0x2U)
866 #define EPWM_TZ_SIGNAL_CBC3 (0x4U)
868 #define EPWM_TZ_SIGNAL_CBC4 (0x8U)
870 #define EPWM_TZ_SIGNAL_CBC5 (0x10U)
872 #define EPWM_TZ_SIGNAL_CBC6 (0x20U)
874 #define EPWM_TZ_SIGNAL_DCAEVT2 (0x40U)
876 #define EPWM_TZ_SIGNAL_DCBEVT2 (0x80U)
878 #define EPWM_TZ_SIGNAL_OSHT1 (0x100U)
880 #define EPWM_TZ_SIGNAL_OSHT2 (0x200U)
882 #define EPWM_TZ_SIGNAL_OSHT3 (0x400U)
884 #define EPWM_TZ_SIGNAL_OSHT4 (0x800U)
886 #define EPWM_TZ_SIGNAL_OSHT5 (0x1000U)
888 #define EPWM_TZ_SIGNAL_OSHT6 (0x2000U)
890 #define EPWM_TZ_SIGNAL_DCAEVT1 (0x4000U)
892 #define EPWM_TZ_SIGNAL_DCBEVT1 (0x8000U)
894 #define EPWM_TZ_SIGNAL_CAPEVT_OST (0x10000U)
896 #define EPWM_TZ_SIGNAL_CAPEVT_CBC (0x1000000U)
898 
899 //*****************************************************************************
900 //
903 //
904 //*****************************************************************************
905 typedef enum
906 {
912 
913 //*****************************************************************************
914 //
917 //
918 //*****************************************************************************
919 typedef enum
920 {
928 
929 //*****************************************************************************
930 //
933 //
934 //*****************************************************************************
935 typedef enum
936 {
944 
945 //*****************************************************************************
946 //
949 //
950 //*****************************************************************************
951 typedef enum
952 {
958 
959 //*****************************************************************************
960 //
963 //
964 //*****************************************************************************
965 typedef enum
966 {
976 
977 //*****************************************************************************
978 //
982 //
983 //*****************************************************************************
984 typedef enum
985 {
992 
993 //*****************************************************************************
994 //
998 //
999 //*****************************************************************************
1000 typedef enum
1001 {
1011 
1012 //*****************************************************************************
1013 //
1014 // Values that can be passed to EPWM_enableTripZoneInterrupt()and
1015 // EPWM_disableTripZoneInterrupt() as the tzInterrupt parameter .
1016 //
1017 //*****************************************************************************
1019 #define EPWM_TZ_INTERRUPT_CBC (0x2U)
1020 #define EPWM_TZ_INTERRUPT_OST (0x4U)
1022 #define EPWM_TZ_INTERRUPT_DCAEVT1 (0x8U)
1024 #define EPWM_TZ_INTERRUPT_DCAEVT2 (0x10U)
1026 #define EPWM_TZ_INTERRUPT_DCBEVT1 (0x20U)
1028 #define EPWM_TZ_INTERRUPT_DCBEVT2 (0x40U)
1030 #define EPWM_TZ_INTERRUPT_CAPEVT (0x80U)
1032 
1033 //*****************************************************************************
1034 //
1035 // Values that can be returned by EPWM_getTripZoneFlagStatus() .
1036 //
1037 //*****************************************************************************
1039 #define EPWM_TZ_FLAG_CBC (0x2U)
1040 #define EPWM_TZ_FLAG_OST (0x4U)
1042 #define EPWM_TZ_FLAG_DCAEVT1 (0x8U)
1044 #define EPWM_TZ_FLAG_DCAEVT2 (0x10U)
1046 #define EPWM_TZ_FLAG_DCBEVT1 (0x20U)
1048 #define EPWM_TZ_FLAG_DCBEVT2 (0x40U)
1050 #define EPWM_TZ_FLAG_CAPEVT (0x80U)
1052 
1053 //*****************************************************************************
1054 //
1055 // Value can be passed to EPWM_clearTripZoneFlag() as the
1056 // tzInterrupt parameter and returned by EPWM_getTripZoneFlagStatus().
1057 //
1058 //*****************************************************************************
1060 #define EPWM_TZ_INTERRUPT (0x1U)
1061 
1062 //*****************************************************************************
1063 //
1064 // Values that can be passed to EPWM_clearCycleByCycleTripZoneFlag()
1065 // as the tzCbcFlag parameter and returned by
1066 // EPWM_getCycleByCycleTripZoneFlagStatus().
1067 //
1068 //*****************************************************************************
1070 #define EPWM_TZ_CBC_FLAG_1 (0x1U)
1071 #define EPWM_TZ_CBC_FLAG_2 (0x2U)
1073 #define EPWM_TZ_CBC_FLAG_3 (0x4U)
1075 #define EPWM_TZ_CBC_FLAG_4 (0x8U)
1077 #define EPWM_TZ_CBC_FLAG_5 (0x10U)
1079 #define EPWM_TZ_CBC_FLAG_6 (0x20U)
1081 #define EPWM_TZ_CBC_FLAG_DCAEVT2 (0x40U)
1083 #define EPWM_TZ_CBC_FLAG_DCBEVT2 (0x80U)
1085 #define EPWM_TZ_CBC_FLAG_CAPEVT (0x100U)
1087 
1088 //*****************************************************************************
1089 //
1090 // Values that can be passed to EPWM_clearOneShotTripZoneFlag() as
1091 // the tzCbcFlag parameter and returned by the
1092 // EPWM_getOneShotTripZoneFlagStatus() .
1093 //
1094 //*****************************************************************************
1096 #define EPWM_TZ_OST_FLAG_OST1 (0x1U)
1097 #define EPWM_TZ_OST_FLAG_OST2 (0x2U)
1099 #define EPWM_TZ_OST_FLAG_OST3 (0x4U)
1101 #define EPWM_TZ_OST_FLAG_OST4 (0x8U)
1103 #define EPWM_TZ_OST_FLAG_OST5 (0x10U)
1105 #define EPWM_TZ_OST_FLAG_OST6 (0x20U)
1107 #define EPWM_TZ_OST_FLAG_DCAEVT1 (0x40U)
1109 #define EPWM_TZ_OST_FLAG_DCBEVT1 (0x80U)
1111 #define EPWM_TZ_OST_FLAG_CAPEVT (0x100U)
1113 
1114 //*****************************************************************************
1115 //
1118 //
1119 //*****************************************************************************
1120 typedef enum
1121 {
1129 
1130 //*****************************************************************************
1131 //
1132 // Values that can be passed to EPWM_forceTripZoneEvent() as the
1133 // tzForceEvent parameter.
1134 //
1135 //*****************************************************************************
1137 #define EPWM_TZ_FORCE_EVENT_CBC (0x2U)
1138 #define EPWM_TZ_FORCE_EVENT_OST (0x4U)
1140 #define EPWM_TZ_FORCE_EVENT_DCAEVT1 (0x8U)
1142 #define EPWM_TZ_FORCE_EVENT_DCAEVT2 (0x10U)
1144 #define EPWM_TZ_FORCE_EVENT_DCBEVT1 (0x20U)
1146 #define EPWM_TZ_FORCE_EVENT_DCBEVT2 (0x40U)
1148 #define EPWM_TZ_FORCE_EVENT_CAPEVT (0x80U)
1150 
1151 //*****************************************************************************
1152 //
1153 // Values that can be passed to EPWM_enableTripZoneOutput() and
1154 // EPWM_disableTripZoneOutput as the tzOutput parameter.
1155 //
1156 //*****************************************************************************
1158 #define EPWM_TZ_SELECT_TRIPOUT_OST (0x1)
1159 #define EPWM_TZ_SELECT_TRIPOUT_CBC (0x2)
1161 #define EPWM_TZ_SELECT_TRIPOUT_TZ1 (0x4)
1163 #define EPWM_TZ_SELECT_TRIPOUT_TZ2 (0x8)
1165 #define EPWM_TZ_SELECT_TRIPOUT_TZ3 (0x10)
1167 #define EPWM_TZ_SELECT_TRIPOUT_TZ4 (0x20)
1169 #define EPWM_TZ_SELECT_TRIPOUT_TZ5 (0x40)
1171 #define EPWM_TZ_SELECT_TRIPOUT_TZ6 (0x80)
1173 #define EPWM_TZ_SELECT_TRIPOUT_DCAEVT1 (0x100)
1175 #define EPWM_TZ_SELECT_TRIPOUT_DCAEVT2 (0x200)
1177 #define EPWM_TZ_SELECT_TRIPOUT_DCBEVT1 (0x400)
1179 #define EPWM_TZ_SELECT_TRIPOUT_DCBEVT2 (0x800)
1181 #define EPWM_TZ_SELECT_TRIPOUT_CAPEVT (0x1000)
1183 
1184 //*****************************************************************************
1185 //
1186 // Values that can be passed to EPWM_setInterruptSource() as the
1187 // interruptSource parameter.
1188 //
1189 //*****************************************************************************
1191 #define EPWM_INT_TBCTR_ZERO (1U)
1192 #define EPWM_INT_TBCTR_PERIOD (2U)
1194 #define EPWM_INT_TBCTR_ETINTMIX (3U)
1196 #define EPWM_INT_TBCTR_U_CMPA (4U)
1198 #define EPWM_INT_TBCTR_U_CMPC (8U)
1200 #define EPWM_INT_TBCTR_D_CMPA (5U)
1202 #define EPWM_INT_TBCTR_D_CMPC (10U)
1204 #define EPWM_INT_TBCTR_U_CMPB (6U)
1206 #define EPWM_INT_TBCTR_U_CMPD (12U)
1208 #define EPWM_INT_TBCTR_D_CMPB (7U)
1210 #define EPWM_INT_TBCTR_D_CMPD (14U)
1212 
1213 //*****************************************************************************
1214 //
1215 // Values that can be passed to EPWM_setInterruptSource() and
1216 // EPWM_setADCTriggerSource() as the mixedSource parameter.
1217 //
1218 //*****************************************************************************
1220 #define EPWM_INT_MIX_TBCTR_ZERO (0x1)
1221 #define EPWM_INT_MIX_TBCTR_PERIOD (0x2)
1223 #define EPWM_INT_MIX_TBCTR_U_CMPA (0x4)
1225 #define EPWM_INT_MIX_TBCTR_D_CMPA (0x8)
1227 #define EPWM_INT_MIX_TBCTR_U_CMPB (0x10)
1229 #define EPWM_INT_MIX_TBCTR_D_CMPB (0x20)
1231 #define EPWM_INT_MIX_TBCTR_U_CMPC (0x40)
1233 #define EPWM_INT_MIX_TBCTR_D_CMPC (0x80)
1235 #define EPWM_INT_MIX_TBCTR_U_CMPD (0x100)
1237 #define EPWM_INT_MIX_TBCTR_D_CMPD (0x200)
1239 #define EPWM_INT_MIX_DCAEVT1 (0x400)
1241 
1242 
1243 //*****************************************************************************
1244 //
1252 //
1253 //*****************************************************************************
1254 typedef enum
1255 {
1257  EPWM_SOC_B = 1
1259 
1260 //*****************************************************************************
1261 //
1264 //
1265 //*****************************************************************************
1266 typedef enum
1267 {
1293 
1294 //
1295 // Digital Compare Module
1296 //
1297 //*****************************************************************************
1298 //
1303 //
1304 //*****************************************************************************
1305 typedef enum
1306 {
1310  EPWM_DC_TYPE_DCBL = 3
1312 
1313 //*****************************************************************************
1314 //
1317 //
1318 //*****************************************************************************
1319 typedef enum
1320 {
1337 
1338 //*****************************************************************************
1339 //
1340 // Values that can be passed to EPWM_enableDigitalCompareTripCombinationInput()
1341 // EPWM_disableDigitalCompareTripCombinationInput() as the tripInput
1342 // parameter.
1343 //
1344 //*****************************************************************************
1346 #define EPWM_DC_COMBINATIONAL_TRIPIN1 (0x1U)
1347 #define EPWM_DC_COMBINATIONAL_TRIPIN2 (0x2U)
1349 #define EPWM_DC_COMBINATIONAL_TRIPIN3 (0x4U)
1351 #define EPWM_DC_COMBINATIONAL_TRIPIN4 (0x8U)
1353 #define EPWM_DC_COMBINATIONAL_TRIPIN5 (0x10U)
1355 #define EPWM_DC_COMBINATIONAL_TRIPIN6 (0x20U)
1357 #define EPWM_DC_COMBINATIONAL_TRIPIN7 (0x40U)
1359 #define EPWM_DC_COMBINATIONAL_TRIPIN8 (0x80U)
1361 #define EPWM_DC_COMBINATIONAL_TRIPIN9 (0x100U)
1363 #define EPWM_DC_COMBINATIONAL_TRIPIN10 (0x200U)
1365 #define EPWM_DC_COMBINATIONAL_TRIPIN11 (0x400U)
1367 #define EPWM_DC_COMBINATIONAL_TRIPIN12 (0x800U)
1369 #define EPWM_DC_COMBINATIONAL_TRIPIN14 (0x2000U)
1371 #define EPWM_DC_COMBINATIONAL_TRIPIN15 (0x4000U)
1373 
1374 //*****************************************************************************
1375 //
1378 //
1379 //*****************************************************************************
1380 typedef enum
1381 {
1391 
1392 //*****************************************************************************
1393 //
1394 // Values that can be passed to EPWM_setDigitalCompareBlankingEvent()
1395 // as the mixedSource parameter.
1396 //
1397 //*****************************************************************************
1399 #define EPWM_DC_TBCTR_ZERO (0x1)
1400 #define EPWM_DC_TBCTR_PERIOD (0x2)
1402 #define EPWM_DC_TBCTR_U_CMPA (0x4)
1404 #define EPWM_DC_TBCTR_D_CMPA (0x8)
1406 #define EPWM_DC_TBCTR_U_CMPB (0x10)
1408 #define EPWM_DC_TBCTR_D_CMPB (0x20)
1410 #define EPWM_DC_TBCTR_U_CMPC (0x40)
1412 #define EPWM_DC_TBCTR_D_CMPC (0x80)
1414 #define EPWM_DC_TBCTR_U_CMPD (0x100)
1416 #define EPWM_DC_TBCTR_D_CMPD (0x200)
1418 
1419 //*****************************************************************************
1420 //
1423 //
1424 //*****************************************************************************
1425 typedef enum
1426 {
1432 
1433 //*****************************************************************************
1434 //
1441 //
1442 //*****************************************************************************
1443 typedef enum
1444 {
1446  EPWM_DC_MODULE_B = 1
1448 
1449 //*****************************************************************************
1450 //
1456 //
1457 //*****************************************************************************
1458 typedef enum
1459 {
1461  EPWM_DC_EVENT_2 = 1
1463 
1464 //*****************************************************************************
1465 //
1468 //
1469 //*****************************************************************************
1470 typedef enum
1471 {
1477 
1478 //*****************************************************************************
1479 //
1482 //
1483 //*****************************************************************************
1484 typedef enum
1485 {
1491 
1492 //*****************************************************************************
1493 //
1496 //
1497 //*****************************************************************************
1498 typedef enum
1499 {
1505 
1506 //*****************************************************************************
1507 //
1510 //
1511 //*****************************************************************************
1512 typedef enum
1513 {
1521 
1522 //*****************************************************************************
1523 //
1526 //
1527 //*****************************************************************************
1528 typedef enum
1529 {
1555 
1556 //*****************************************************************************
1557 //
1558 // Values that can be passed to EPWM_enableGlobalLoadRegisters(),
1559 // EPWM_disableGlobalLoadRegisters() as theloadRegister parameter.
1560 //
1561 //*****************************************************************************
1563 #define EPWM_GL_REGISTER_TBPRD_TBPRDHR (0x1U)
1564 #define EPWM_GL_REGISTER_CMPA_CMPAHR (0x2U)
1566 #define EPWM_GL_REGISTER_CMPB_CMPBHR (0x4U)
1568 #define EPWM_GL_REGISTER_CMPC (0x8U)
1570 #define EPWM_GL_REGISTER_CMPD (0x10U)
1572 #define EPWM_GL_REGISTER_DBRED_DBREDHR (0x20U)
1574 #define EPWM_GL_REGISTER_DBFED_DBFEDHR (0x40U)
1576 #define EPWM_GL_REGISTER_DBCTL (0x80U)
1578 #define EPWM_GL_REGISTER_AQCTLA_AQCTLA2 (0x100U)
1580 #define EPWM_GL_REGISTER_AQCTLB_AQCTLB2 (0x200U)
1582 #define EPWM_GL_REGISTER_AQCSFRC (0x400U)
1584 
1585 //*****************************************************************************
1586 //
1589 //
1590 //*****************************************************************************
1591 typedef enum
1592 {
1610 
1611 //*****************************************************************************
1612 //
1615 //
1616 //*****************************************************************************
1617 typedef enum
1618 {
1622 
1623 //*****************************************************************************
1624 //
1627 //
1628 //*****************************************************************************
1629 typedef enum
1630 {
1646 
1647 //
1648 // DC Edge Filter
1649 //
1650 //*****************************************************************************
1651 //
1654 //
1655 //*****************************************************************************
1656 typedef enum
1657 {
1665 
1666 //*****************************************************************************
1667 //
1670 //
1671 //*****************************************************************************
1672 typedef enum
1673 {
1691 
1692 //*****************************************************************************
1693 //
1696 //
1697 //*****************************************************************************
1698 typedef enum
1699 {
1706 
1707 //
1708 // Minimum Dead Band
1709 //
1710 //*****************************************************************************
1711 //
1713 //
1714 //*****************************************************************************
1716 #define EPWM_MINDB_BLOCK_A (0x0)
1717 #define EPWM_MINDB_BLOCK_B (0x1)
1719 
1720 //*****************************************************************************
1721 //
1723 //
1724 //*****************************************************************************
1726 #define EPWM_MINDB_NO_INVERT (0x0)
1727 #define EPWM_MINDB_INVERT (0x1)
1729 
1730 //*****************************************************************************
1731 //
1733 //
1734 //*****************************************************************************
1736 #define EPWM_MINDB_INVERT_LOGICAL_AND (0x0)
1737 #define EPWM_MINDB_LOGICAL_OR (0x1)
1739 
1740 //*****************************************************************************
1741 //
1743 //
1744 //*****************************************************************************
1746 #define EPWM_MINDB_PWMB (0x0)
1747 #define EPWM_MINDB_PWM_OUTXBAR_OUT1 (0x1)
1749 #define EPWM_MINDB_PWM_OUTXBAR_OUT2 (0x2)
1751 #define EPWM_MINDB_PWM_OUTXBAR_OUT3 (0x3)
1753 #define EPWM_MINDB_PWM_OUTXBAR_OUT4 (0x4)
1755 #define EPWM_MINDB_PWM_OUTXBAR_OUT5 (0x5)
1757 #define EPWM_MINDB_PWM_OUTXBAR_OUT6 (0x6)
1759 #define EPWM_MINDB_PWM_OUTXBAR_OUT7 (0x7)
1761 #define EPWM_MINDB_PWM_OUTXBAR_OUT8 (0x8)
1763 #define EPWM_MINDB_PWM_OUTXBAR_OUT9 (0x9)
1765 #define EPWM_MINDB_PWM_OUTXBAR_OUT10 (0xA)
1767 #define EPWM_MINDB_PWM_OUTXBAR_OUT11 (0xB)
1769 #define EPWM_MINDB_PWM_OUTXBAR_OUT12 (0xC)
1771 #define EPWM_MINDB_PWM_OUTXBAR_OUT13 (0xD)
1773 #define EPWM_MINDB_PWM_OUTXBAR_OUT14 (0xE)
1775 #define EPWM_MINDB_PWM_OUTXBAR_OUT15 (0xF)
1777 
1778 //*****************************************************************************
1779 //
1781 //
1782 //*****************************************************************************
1784 #define EPWM_MINDB_BLOCKING_SIGNAL_SAME (0x0)
1785 #define EPWM_MINDB_BLOCKING_SIGNAL_DIFF (0x1)
1787 
1788 //*****************************************************************************
1789 //
1791 //
1792 //*****************************************************************************
1794 #define EPWM_MINDB_ICSS_XBAR_OUT0 (0x0)
1795 #define EPWM_MINDB_ICSS_XBAR_OUT1 (0x1)
1797 #define EPWM_MINDB_ICSS_XBAR_OUT2 (0x2)
1799 #define EPWM_MINDB_ICSS_XBAR_OUT3 (0x3)
1801 #define EPWM_MINDB_ICSS_XBAR_OUT4 (0x4)
1803 #define EPWM_MINDB_ICSS_XBAR_OUT5 (0x5)
1805 #define EPWM_MINDB_ICSS_XBAR_OUT6 (0x6)
1807 #define EPWM_MINDB_ICSS_XBAR_OUT7 (0x7)
1809 #define EPWM_MINDB_ICSS_XBAR_OUT8 (0x8)
1811 #define EPWM_MINDB_ICSS_XBAR_OUT9 (0x9)
1813 #define EPWM_MINDB_ICSS_XBAR_OUT10 (0xA)
1815 #define EPWM_MINDB_ICSS_XBAR_OUT11 (0xB)
1817 #define EPWM_MINDB_ICSS_XBAR_OUT12 (0xC)
1819 #define EPWM_MINDB_ICSS_XBAR_OUT13 (0xD)
1821 #define EPWM_MINDB_ICSS_XBAR_OUT14 (0xE)
1823 #define EPWM_MINDB_ICSS_XBAR_OUT15 (0xF)
1825 
1826 //*****************************************************************************
1827 //
1831 //
1832 //*****************************************************************************
1833 typedef enum
1834 {
1836  HRPWM_CHANNEL_B = 8
1838 
1839 //*****************************************************************************
1840 //
1843 //
1844 //*****************************************************************************
1845 typedef enum
1846 {
1856 
1857 //*****************************************************************************
1858 //
1861 //
1862 //*****************************************************************************
1863 typedef enum
1864 {
1870 
1871 //*****************************************************************************
1872 //
1876 //
1877 //*****************************************************************************
1878 typedef enum
1879 {
1889 
1890 //*****************************************************************************
1891 //
1894 //
1895 //*****************************************************************************
1896 typedef enum
1897 {
1903 
1904 //*****************************************************************************
1905 //
1908 //
1909 //*****************************************************************************
1910 typedef enum
1911 {
1925 
1926 //*****************************************************************************
1927 //
1930 //
1931 //*****************************************************************************
1932 typedef enum
1933 {
1937 
1938 //*****************************************************************************
1939 //
1942 //
1943 //*****************************************************************************
1944 typedef enum
1945 {
1955 
1956 //*****************************************************************************
1957 //
1959 //
1960 //*****************************************************************************
1961 #define EPWM_DCxCTL_STEP (CSL_EPWM_DCBCTL - CSL_EPWM_DCACTL)
1962 #define EPWM_DCxxTRIPSEL (CSL_EPWM_DCALTRIPSEL - CSL_EPWM_DCAHTRIPSEL)
1963 #define EPWM_XREGSHDWxSTS_STEP (CSL_EPWM_XREGSHDW2STS-CSL_EPWM_XREGSHDW1STS)
1964 #define EPWM_XCMPx_ACTIVE_STEP (CSL_EPWM_XCMP2_ACTIVE-CSL_EPWM_XCMP1_ACTIVE)
1965 #define EPWM_XCMPx_STEP (CSL_EPWM_XCMP1_SHDW2-CSL_EPWM_XCMP1_SHDW1)
1966 #define EPWM_XCMPx_SHDWx_STEP (CSL_EPWM_XCMP2_SHDW1-CSL_EPWM_XCMP1_SHDW1)
1967 #define EPWM_LOCK_KEY (0xA5A50000U)
1968 
1969 //*****************************************************************************
1970 //
1973 //
1974 //*****************************************************************************
1975 typedef struct
1976 {
1977  Float32 freqInHz;
1978  Float32 dutyValA;
1979  Float32 dutyValB;
1981  Float32 sysClkInHz;
1986 
1987 //
1988 // Time Base Sub Module related APIs
1989 //
1990 //*****************************************************************************
1991 //
2000 //
2001 //*****************************************************************************
2002 static inline void
2003 EPWM_setTimeBaseCounter(uint32_t base, uint16_t count)
2004 {
2005  //
2006  // Write to TBCTR register
2007  //
2008  HW_WR_REG16(base + CSL_EPWM_TBCTR, count);
2009 }
2010 
2011 //*****************************************************************************
2012 //
2025 //
2026 //*****************************************************************************
2027 static inline void
2029 {
2030  if(mode == EPWM_COUNT_MODE_UP_AFTER_SYNC)
2031  {
2032  //
2033  // Set PHSDIR bit
2034  //
2035  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2036  (HW_RD_REG16(base + CSL_EPWM_TBCTL) |
2037  CSL_EPWM_TBCTL_PHSDIR_MASK));
2038  }
2039  else
2040  {
2041  //
2042  // Clear PHSDIR bit
2043  //
2044  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2045  (HW_RD_REG16(base + CSL_EPWM_TBCTL) &
2046  ~CSL_EPWM_TBCTL_PHSDIR_MASK));
2047  }
2048 }
2049 
2050 //*****************************************************************************
2051 //
2071 //
2072 //*****************************************************************************
2073 static inline void
2075  EPWM_HSClockDivider highSpeedPrescaler)
2076 {
2077  //
2078  // Write to CLKDIV and HSPCLKDIV bit
2079  //
2080  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2081  ((HW_RD_REG16(base + CSL_EPWM_TBCTL) &
2082  ~(CSL_EPWM_TBCTL_CLKDIV_MASK | CSL_EPWM_TBCTL_HSPCLKDIV_MASK)) |
2083  (((uint16_t)prescaler << CSL_EPWM_TBCTL_CLKDIV_SHIFT) |
2084  ((uint16_t)highSpeedPrescaler << CSL_EPWM_TBCTL_HSPCLKDIV_SHIFT))));
2085 }
2086 
2087 //*****************************************************************************
2088 //
2098 //
2099 //*****************************************************************************
2100 static inline void
2101 EPWM_forceSyncPulse(uint32_t base)
2102 {
2103  //
2104  // Set SWFSYNC bit
2105  //
2106  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2107  HW_RD_REG16(base + CSL_EPWM_TBCTL) | CSL_EPWM_TBCTL_SWFSYNC_MASK);
2108 }
2109 
2110 //*****************************************************************************
2111 //
2138 //
2139 //*****************************************************************************
2140 static inline void
2142 {
2143  //
2144  // Set EPWM Sync-In Source Mode.
2145  //
2146  HW_WR_REG16(base + CSL_EPWM_EPWMSYNCINSEL,
2147  ((HW_RD_REG16(base + CSL_EPWM_EPWMSYNCINSEL) &
2148  (~CSL_EPWM_EPWMSYNCINSEL_SEL_MASK)) |
2149  ((uint16_t)source & CSL_EPWM_EPWMSYNCINSEL_SEL_MASK)));
2150 }
2151 
2152 //*****************************************************************************
2153 //
2185 //
2186 //*****************************************************************************
2187 static inline void
2188 EPWM_enableSyncOutPulseSource(uint32_t base, uint16_t source)
2189 {
2190  //
2191  // Check the arguments
2192  //
2194 
2195  //
2196  // Enable selected EPWM Sync-Out Sources.
2197  //
2198  HW_WR_REG16(base + CSL_EPWM_EPWMSYNCOUTEN,
2199  (HW_RD_REG16(base + CSL_EPWM_EPWMSYNCOUTEN) |
2200  (uint16_t)source));
2201 }
2202 
2203 //*****************************************************************************
2204 //
2230 //
2231 //*****************************************************************************
2232 static inline void
2233 EPWM_disableSyncOutPulseSource(uint32_t base, uint16_t source)
2234 {
2235  //
2236  // Check the arguments
2237  //
2239 
2240  //
2241  // Disable EPWM Sync-Out Sources.
2242  //
2243  HW_WR_REG16(base + CSL_EPWM_EPWMSYNCOUTEN,
2244  (HW_RD_REG16(base + CSL_EPWM_EPWMSYNCOUTEN) &
2245  ~((uint16_t)source)));
2246 }
2247 
2248 //*****************************************************************************
2249 //
2263 //
2264 //*****************************************************************************
2265 static inline void
2268 {
2269  //
2270  // Set source for One-Shot Sync-Out Pulse.
2271  //
2272  HW_WR_REG16(base + CSL_EPWM_TBCTL3,
2273  ((HW_RD_REG16(base + CSL_EPWM_TBCTL3) &
2274  ~(CSL_EPWM_TBCTL3_OSSFRCEN_MASK)) |
2275  (uint16_t)trigger));
2276 }
2277 
2278 //*****************************************************************************
2279 //
2292 //
2293 //*****************************************************************************
2294 static inline void
2296 {
2297  if(loadMode == EPWM_PERIOD_SHADOW_LOAD)
2298  {
2299  //
2300  // Clear PRDLD
2301  //
2302  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2303  (HW_RD_REG16(base + CSL_EPWM_TBCTL) & ~CSL_EPWM_TBCTL_PRDLD_MASK));
2304  }
2305  else
2306  {
2307  //
2308  // Set PRDLD
2309  //
2310  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2311  (HW_RD_REG16(base + CSL_EPWM_TBCTL) | CSL_EPWM_TBCTL_PRDLD_MASK));
2312  }
2313 }
2314 
2315 //*****************************************************************************
2316 //
2325 //
2326 //*****************************************************************************
2327 static inline void
2329 {
2330  //
2331  // Set PHSEN bit
2332  //
2333  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2334  (HW_RD_REG16(base + CSL_EPWM_TBCTL) | CSL_EPWM_TBCTL_PHSEN_MASK));
2335 }
2336 
2337 //*****************************************************************************
2338 //
2346 //
2347 //*****************************************************************************
2348 static inline void
2350 {
2351  //
2352  // Clear PHSEN bit
2353  //
2354  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2355  (HW_RD_REG16(base + CSL_EPWM_TBCTL) & ~CSL_EPWM_TBCTL_PHSEN_MASK));
2356 }
2357 
2358 //*****************************************************************************
2359 //
2373 //
2374 //*****************************************************************************
2375 static inline void
2377 {
2378  //
2379  // Write to CTRMODE bit
2380  //
2381  HW_WR_REG16(base + CSL_EPWM_TBCTL,
2382  ((HW_RD_REG16(base + CSL_EPWM_TBCTL) &
2383  ~(CSL_EPWM_TBCTL_CTRMODE_MASK)) | ((uint16_t)counterMode)));
2384 }
2385 
2386 //*****************************************************************************
2387 //
2404 //
2405 //*****************************************************************************
2406 static inline void
2408  EPWM_PeriodShadowLoadMode shadowLoadMode)
2409 {
2410  //
2411  // Write to PRDLDSYNC bit
2412  //
2413  HW_WR_REG16(base + CSL_EPWM_TBCTL2,
2414  ((HW_RD_REG16(base + CSL_EPWM_TBCTL2) &
2415  ~(CSL_EPWM_TBCTL2_PRDLDSYNC_MASK)) |
2416  ((uint16_t)shadowLoadMode << CSL_EPWM_TBCTL2_PRDLDSYNC_SHIFT)));
2417 }
2418 //*****************************************************************************
2419 //
2427 //
2428 //*****************************************************************************
2429 static inline void
2431 {
2432  //
2433  // Set OSHTSYNCMODE bit
2434  //
2435  HW_WR_REG16(base + CSL_EPWM_TBCTL2,
2436  (HW_RD_REG16(base + CSL_EPWM_TBCTL2) |
2437  CSL_EPWM_TBCTL2_OSHTSYNCMODE_MASK));
2438 }
2439 
2440 //*****************************************************************************
2441 //
2449 //
2450 //*****************************************************************************
2451 static inline void
2453 {
2454  //
2455  // Clear OSHTSYNCMODE bit
2456  //
2457  HW_WR_REG16(base + CSL_EPWM_TBCTL2,
2458  (HW_RD_REG16(base + CSL_EPWM_TBCTL2) &
2459  ~CSL_EPWM_TBCTL2_OSHTSYNCMODE_MASK));
2460 }
2461 
2462 //*****************************************************************************
2463 //
2471 //
2472 //*****************************************************************************
2473 static inline void
2475 {
2476  //
2477  // Set OSHTSYNC bit
2478  //
2479  HW_WR_REG16(base + CSL_EPWM_TBCTL2,
2480  (HW_RD_REG16(base + CSL_EPWM_TBCTL2) | CSL_EPWM_TBCTL2_OSHTSYNC_MASK));
2481 }
2482 
2483 //*****************************************************************************
2484 //
2492 //
2493 //*****************************************************************************
2494 static inline uint16_t
2496 {
2497  //
2498  // Returns TBCTR value
2499  //
2500  return(HW_RD_REG16(base + CSL_EPWM_TBCTR));
2501 }
2502 
2503 //*****************************************************************************
2504 //
2513 //
2514 //*****************************************************************************
2515 static inline bool
2517 {
2518  //
2519  // Return true if CTRMAX bit is set, false otherwise
2520  //
2521  return(((HW_RD_REG16(base + CSL_EPWM_TBSTS) &
2522  CSL_EPWM_TBSTS_CTRMAX_MASK) ==
2523  CSL_EPWM_TBSTS_CTRMAX_MASK) ? true : false);
2524 }
2525 
2526 //*****************************************************************************
2527 //
2536 //
2537 //*****************************************************************************
2538 static inline void
2540 {
2541  //
2542  // Set CTRMAX bit
2543  //
2544  HW_WR_REG16(base + CSL_EPWM_TBSTS,
2545  (HW_RD_REG16(base + CSL_EPWM_TBSTS) | CSL_EPWM_TBSTS_CTRMAX_MASK));
2546 }
2547 
2548 //*****************************************************************************
2549 //
2558 //
2559 //*****************************************************************************
2560 static inline bool
2561 EPWM_getSyncStatus(uint32_t base)
2562 {
2563  //
2564  // Return true if SYNCI bit is set, false otherwise
2565  //
2566  return(((HW_RD_REG16(base + CSL_EPWM_TBSTS) & CSL_EPWM_TBSTS_SYNCI_MASK) ==
2567  CSL_EPWM_TBSTS_SYNCI_MASK) ? true : false);
2568 }
2569 
2570 //*****************************************************************************
2571 //
2579 //
2580 //*****************************************************************************
2581 static inline void
2582 EPWM_clearSyncEvent(uint32_t base)
2583 {
2584  //
2585  // Set SYNCI bit
2586  //
2587  HW_WR_REG16(base + CSL_EPWM_TBSTS,
2588  (HW_RD_REG16(base + CSL_EPWM_TBSTS) | CSL_EPWM_TBSTS_SYNCI_MASK));
2589 }
2590 
2591 //*****************************************************************************
2592 //
2602 //
2603 //*****************************************************************************
2604 static inline uint16_t
2606 {
2607  //
2608  // Return CTRDIR bit
2609  //
2610  return(HW_RD_REG16(base + CSL_EPWM_TBSTS) & CSL_EPWM_TBSTS_CTRDIR_MASK);
2611 }
2612 
2613 //*****************************************************************************
2614 //
2626 //
2627 //*****************************************************************************
2628 static inline void
2629 EPWM_setPhaseShift(uint32_t base, uint16_t phaseCount)
2630 {
2631  //
2632  // Write to TBPHS bit
2633  //
2634  HW_WR_REG16(base + CSL_EPWM_TBPHS,
2635  ((HW_RD_REG16(base + CSL_EPWM_TBPHS) &
2636  ~((uint32_t)CSL_EPWM_TBPHS_TBPHS_MASK)) |
2637  ((uint32_t)phaseCount << CSL_EPWM_TBPHS_TBPHS_SHIFT)));
2638 }
2639 
2640 //*****************************************************************************
2641 //
2655 //
2656 //*****************************************************************************
2657 static inline void
2658 EPWM_setTimeBasePeriod(uint32_t base, uint16_t periodCount)
2659 {
2660  //
2661  // Write to TBPRD bit
2662  //
2663  HW_WR_REG16(base + CSL_EPWM_TBPRD, periodCount);
2664 }
2665 
2666 //*****************************************************************************
2667 //
2675 //
2676 //*****************************************************************************
2677 static inline uint16_t
2679 {
2680  //
2681  // Read from TBPRD bit
2682  //
2683  return(HW_RD_REG16(base + CSL_EPWM_TBPRD));
2684 }
2685 
2686 //*****************************************************************************
2687 //
2747 //
2748 //*****************************************************************************
2749 static inline void
2750 EPWM_setupEPWMLinks(uint32_t base, EPWM_CurrentLink epwmLink,
2751  EPWM_LinkComponent linkComp)
2752 {
2753  uint32_t registerOffset;
2754 
2755  if((linkComp == EPWM_LINK_DBRED) || (linkComp == EPWM_LINK_DBFED))
2756  {
2757  registerOffset = base + CSL_EPWM_EPWMXLINK2;
2758  linkComp = linkComp - 1;
2759  }
2760  else
2761  {
2762  registerOffset = base + CSL_EPWM_EPWMXLINK;
2763  }
2764 
2765  //
2766  // Configure EPWM links
2767  //
2768  HW_WR_REG32(registerOffset,
2769  ((HW_RD_REG32(registerOffset) &
2770  ~((uint32_t)CSL_EPWM_EPWMXLINK_TBPRDLINK_MASK << linkComp)) |
2771  ((uint32_t)epwmLink << linkComp)));
2772 }
2773 
2774 //*****************************************************************************
2775 //
2802 //
2803 //*****************************************************************************
2804 static inline void
2806  EPWM_CounterCompareModule compModule,
2807  EPWM_CounterCompareLoadMode loadMode)
2808 {
2809  uint16_t syncModeOffset;
2810  uint16_t loadModeOffset;
2811  uint16_t shadowModeOffset;
2812  uint32_t registerOffset;
2813 
2814  if((compModule == EPWM_COUNTER_COMPARE_A) ||
2815  (compModule == EPWM_COUNTER_COMPARE_C))
2816  {
2817  syncModeOffset = CSL_EPWM_CMPCTL_LOADASYNC_SHIFT;
2818  loadModeOffset = CSL_EPWM_CMPCTL_LOADAMODE_SHIFT;
2819  shadowModeOffset = CSL_EPWM_CMPCTL_SHDWAMODE_SHIFT;
2820  }
2821  else
2822  {
2823  syncModeOffset = CSL_EPWM_CMPCTL_LOADBSYNC_SHIFT;
2824  loadModeOffset = CSL_EPWM_CMPCTL_LOADBMODE_SHIFT;
2825  shadowModeOffset = CSL_EPWM_CMPCTL_SHDWBMODE_SHIFT;
2826  }
2827 
2828  //
2829  // Get the register offset. CSL_EPWM_CMPCTL for A&B or
2830  // CSL_EPWM_CMPCTL2 for C&D
2831  //
2832  if((compModule == EPWM_COUNTER_COMPARE_A) ||
2833  (compModule == EPWM_COUNTER_COMPARE_B))
2834  {
2835  registerOffset = base + CSL_EPWM_CMPCTL;
2836  }
2837  else
2838  {
2839  registerOffset = base + CSL_EPWM_CMPCTL2;
2840  }
2841 
2842  //
2843  // Set the appropriate sync and load mode bits and also enable shadow
2844  // load mode. Shadow to active load can also be frozen.
2845  //
2846  HW_WR_REG16(registerOffset,
2847  ((HW_RD_REG16(registerOffset) &
2848  ~((CSL_EPWM_CMPCTL_LOADASYNC_MAX << syncModeOffset) |
2849  (CSL_EPWM_CMPCTL_LOADAMODE_MAX << loadModeOffset) |
2850  (CSL_EPWM_CMPCTL_SHDWAMODE_MAX << shadowModeOffset))) |
2851  ((((uint16_t)loadMode >> 2U) << syncModeOffset) |
2852  (((uint16_t)loadMode & CSL_EPWM_CMPCTL_LOADASYNC_MAX) <<
2853  loadModeOffset))));
2854 }
2855 
2856 //*****************************************************************************
2857 //
2872 //
2873 //*****************************************************************************
2874 static inline void
2876  EPWM_CounterCompareModule compModule)
2877 {
2878  uint16_t shadowModeOffset;
2879  uint32_t registerOffset;
2880 
2881  if((compModule == EPWM_COUNTER_COMPARE_A) ||
2882  (compModule == EPWM_COUNTER_COMPARE_C))
2883  {
2884  shadowModeOffset = CSL_EPWM_CMPCTL_SHDWAMODE_SHIFT;
2885  }
2886  else
2887  {
2888  shadowModeOffset = CSL_EPWM_CMPCTL_SHDWBMODE_SHIFT;
2889  }
2890 
2891  //
2892  // Get the register offset. CSL_EPWM_CMPCTL for A&B or
2893  // CSL_EPWM_CMPCTL2 for C&D
2894  //
2895  if((compModule == EPWM_COUNTER_COMPARE_A) ||
2896  (compModule == EPWM_COUNTER_COMPARE_B))
2897  {
2898  registerOffset = base + CSL_EPWM_CMPCTL;
2899  }
2900  else
2901  {
2902  registerOffset = base + CSL_EPWM_CMPCTL2;
2903  }
2904 
2905  //
2906  // Disable shadow load mode.
2907  //
2908  HW_WR_REG16(registerOffset,
2909  (HW_RD_REG16(registerOffset) |
2910  (CSL_EPWM_CMPCTL_SHDWAMODE_MAX << shadowModeOffset)));
2911 }
2912 
2913 //*****************************************************************************
2914 //
2930 //
2931 //*****************************************************************************
2932 static inline void
2934  uint16_t compCount)
2935 {
2936  uint32_t registerOffset;
2937 
2938  //
2939  // Get the register offset for the Counter compare
2940  //
2941  registerOffset = base + CSL_EPWM_CMPA + (uint16_t)compModule;
2942 
2943  //
2944  // Write to the counter compare registers.
2945  //
2946  if((compModule == EPWM_COUNTER_COMPARE_A) ||
2947  (compModule == EPWM_COUNTER_COMPARE_B))
2948  {
2949  //
2950  // Write to COMPA or COMPB bits
2951  //
2952  HW_WR_REG16(registerOffset + 0x2U, compCount);
2953  }
2954  else
2955  {
2956  //
2957  // Write to COMPC or COMPD bits
2958  //
2959  HW_WR_REG16(registerOffset, compCount);
2960  }
2961 }
2962 
2963 //*****************************************************************************
2964 //
2978 //
2979 //*****************************************************************************
2980 static inline uint16_t
2982 {
2983  uint32_t registerOffset;
2984  uint16_t compCount;
2985 
2986  //
2987  // Get the register offset for the Counter compare
2988  //
2989  registerOffset = base + CSL_EPWM_CMPA + (uint16_t)compModule;
2990 
2991  //
2992  // Read from the counter compare registers.
2993  //
2994  if((compModule == EPWM_COUNTER_COMPARE_A) ||
2995  (compModule == EPWM_COUNTER_COMPARE_B))
2996  {
2997  //
2998  // Read COMPA or COMPB bits
2999  //
3000  compCount = (uint16_t)((HW_RD_REG32(registerOffset) &
3001  (uint32_t)CSL_EPWM_CMPA_CMPA_MASK) >>
3002  CSL_EPWM_CMPA_CMPA_SHIFT);
3003  }
3004  else
3005  {
3006  //
3007  // Read COMPC or COMPD bits
3008  //
3009  compCount = HW_RD_REG16(registerOffset);
3010  }
3011  return(compCount);
3012 }
3013 
3014 //*****************************************************************************
3015 //
3028 //
3029 //*****************************************************************************
3030 static inline bool
3032  EPWM_CounterCompareModule compModule)
3033 {
3034  //
3035  // Check the arguments
3036  //
3037  DebugP_assert((compModule == EPWM_COUNTER_COMPARE_A) ||
3038  (compModule == EPWM_COUNTER_COMPARE_B));
3039 
3040  //
3041  // Read the value of SHDWAFULL or SHDWBFULL bit
3042  //
3043  return((((HW_RD_REG32(base + CSL_EPWM_CMPCTL) >>
3044  ((((uint16_t)compModule >> 1U) & 0x2U) +
3045  CSL_EPWM_CMPCTL_SHDWAFULL_SHIFT)) &
3046  0x1U) == 0x1U) ? true:false);
3047 }
3048 
3049 //
3050 // Action Qualifier module related APIs
3051 //
3052 //*****************************************************************************
3053 //
3080 //
3081 //*****************************************************************************
3082 static inline void
3084  EPWM_ActionQualifierModule aqModule,
3086 {
3087  uint16_t syncModeOffset;
3088  uint16_t shadowModeOffset;
3089 
3090  syncModeOffset = CSL_EPWM_AQCTL_LDAQASYNC_SHIFT + (uint16_t)aqModule;
3091  shadowModeOffset = CSL_EPWM_AQCTL_SHDWAQAMODE_SHIFT + (uint16_t)aqModule;
3092 
3093  //
3094  // Set the appropriate sync and load mode bits and also enable shadow
3095  // load mode. Shadow to active load can also be frozen.
3096  //
3097  HW_WR_REG16(base + CSL_EPWM_AQCTL,
3098  ((HW_RD_REG16(base + CSL_EPWM_AQCTL) &
3099  (~((CSL_EPWM_AQCTL_LDAQAMODE_MASK << (uint16_t)aqModule) |
3100  (CSL_EPWM_AQCTL_LDAQASYNC_MAX << (uint16_t)syncModeOffset))) |
3101  (CSL_EPWM_AQCTL_SHDWAQAMODE_MAX << shadowModeOffset)) |
3102  ((((uint16_t)loadMode >> 2U) << syncModeOffset) |
3103  (((uint16_t)loadMode & CSL_EPWM_AQCTL_LDAQAMODE_MASK) <<
3104  (uint16_t)aqModule))));
3105 }
3106 
3107 //*****************************************************************************
3108 //
3121 //
3122 //*****************************************************************************
3123 static inline void
3125  EPWM_ActionQualifierModule aqModule)
3126 {
3127  uint16_t shadowModeOffset;
3128 
3129  shadowModeOffset = CSL_EPWM_AQCTL_SHDWAQAMODE_SHIFT + (uint16_t)aqModule;
3130 
3131  //
3132  // Disable shadow load mode. Action qualifier is loaded on
3133  // immediate mode only.
3134  //
3135  HW_WR_REG16(base + CSL_EPWM_AQCTL,
3136  (HW_RD_REG16(base + CSL_EPWM_AQCTL) &
3137  ~(CSL_EPWM_AQCTL_SHDWAQAMODE_MAX << shadowModeOffset)));
3138 }
3139 
3140 //*****************************************************************************
3141 //
3160 //
3161 //*****************************************************************************
3162 static inline void
3165 {
3166  //
3167  // Set T1 trigger source
3168  //
3169  HW_WR_REG16(base + CSL_EPWM_AQTSRCSEL,
3170  ((HW_RD_REG16(base + CSL_EPWM_AQTSRCSEL) &
3171  (~CSL_EPWM_AQTSRCSEL_T1SEL_MASK)) |
3172  ((uint16_t)trigger)));
3173 }
3174 
3175 //*****************************************************************************
3176 //
3195 //
3196 //*****************************************************************************
3197 static inline void
3200 {
3201  //
3202  // Set T2 trigger source
3203  //
3204  HW_WR_REG16(base + CSL_EPWM_AQTSRCSEL,
3205  ((HW_RD_REG16(base + CSL_EPWM_AQTSRCSEL) &
3206  (~CSL_EPWM_AQTSRCSEL_T2SEL_MASK)) |
3207  ((uint16_t)trigger << CSL_EPWM_AQTSRCSEL_T2SEL_SHIFT)));
3208 }
3209 
3210 //*****************************************************************************
3211 //
3250 //
3251 //*****************************************************************************
3252 static inline void
3257 {
3258  uint32_t registerOffset;
3259  uint32_t registerTOffset;
3260 
3261  //
3262  // Get the register offset
3263  //
3264  registerOffset = CSL_EPWM_AQCTLA + (uint16_t)epwmOutput;
3265  registerTOffset = CSL_EPWM_AQCTLA2 + (uint16_t)epwmOutput;
3266 
3267  //
3268  // If the event occurs on T1 or T2 events
3269  //
3270  if(((uint16_t)event & 0x1U) == 1U)
3271  {
3272  //
3273  // Write to T1U,T1D,T2U or T2D of AQCTLA2 register
3274  //
3275  HW_WR_REG16(base + registerTOffset,
3276  ((HW_RD_REG16(base + registerTOffset) &
3277  ~(CSL_EPWM_AQCTLA_ZRO_MAX << ((uint16_t)event - 1U))) |
3278  ((uint16_t)output << ((uint16_t)event - 1U))));
3279  }
3280  else
3281  {
3282  //
3283  // Write to ZRO,PRD,CAU,CAD,CBU or CBD bits of AQCTLA register
3284  //
3285  HW_WR_REG16(base + registerOffset,
3286  ((HW_RD_REG16(base + registerOffset) &
3287  ~(CSL_EPWM_AQCTLA_ZRO_MAX << (uint16_t)event)) |
3288  ((uint16_t)output << (uint16_t)event)));
3289  }
3290 }
3291 
3292 //*****************************************************************************
3293 //
3374 //
3375 //*****************************************************************************
3376 static inline void
3380 {
3381  uint32_t registerOffset;
3382 
3383  //
3384  // Get the register offset
3385  //
3386  registerOffset = CSL_EPWM_AQCTLA + (uint16_t)epwmOutput;
3387 
3388  //
3389  // Write to ZRO, PRD, CAU, CAD, CBU or CBD bits of AQCTLA register
3390  //
3391  HW_WR_REG16(base + registerOffset, action);
3392 }
3393 
3394 //*****************************************************************************
3395 //
3453 //
3454 //*****************************************************************************
3455 static inline void
3459 {
3460  uint32_t registerTOffset;
3461 
3462  //
3463  // Get the register offset
3464  //
3465  registerTOffset = CSL_EPWM_AQCTLA2 + (uint16_t)epwmOutput;
3466 
3467  //
3468  // Write to T1U, T1D, T2U or T2D of AQCTLA2 register
3469  //
3470  HW_WR_REG16(base + registerTOffset, action);
3471 }
3472 
3473 //*****************************************************************************
3474 //
3493 //
3494 //*****************************************************************************
3495 static inline void
3498 {
3499  //
3500  // Set the Action qualifier software action reload mode.
3501  // Write to RLDCSF bit
3502  //
3503  HW_WR_REG16(base + CSL_EPWM_AQSFRC,
3504  ((HW_RD_REG16(base + CSL_EPWM_AQSFRC) &
3505  ~CSL_EPWM_AQSFRC_RLDCSF_MASK) |
3506  ((uint16_t)mode << CSL_EPWM_AQSFRC_RLDCSF_SHIFT)));
3507 }
3508 
3509 //*****************************************************************************
3510 //
3529 //
3530 //*****************************************************************************
3531 static inline void
3535 {
3536  //
3537  // Initiate a continuous software forced output
3538  //
3539  if(epwmOutput == EPWM_AQ_OUTPUT_A)
3540  {
3541  HW_WR_REG16(base + CSL_EPWM_AQCSFRC,
3542  ((HW_RD_REG16(base + CSL_EPWM_AQCSFRC) &
3543  ~CSL_EPWM_AQCSFRC_CSFA_MASK) |
3544  ((uint16_t)output)));
3545  }
3546  else
3547  {
3548  HW_WR_REG16(base + CSL_EPWM_AQCSFRC,
3549  ((HW_RD_REG16(base + CSL_EPWM_AQCSFRC) &
3550  ~CSL_EPWM_AQCSFRC_CSFB_MASK) |
3551  ((uint16_t)output << CSL_EPWM_AQCSFRC_CSFB_SHIFT)));
3552  }
3553 }
3554 
3555 //*****************************************************************************
3556 //
3577 //
3578 //*****************************************************************************
3579 static inline void
3583 {
3584  //
3585  // Set the one time software forced action
3586  //
3587  if(epwmOutput == EPWM_AQ_OUTPUT_A)
3588  {
3589  HW_WR_REG16(base + CSL_EPWM_AQSFRC,
3590  ((HW_RD_REG16(base + CSL_EPWM_AQSFRC) &
3591  ~CSL_EPWM_AQSFRC_ACTSFA_MASK) |
3592  ((uint16_t)output)));
3593  }
3594  else
3595  {
3596  HW_WR_REG16(base + CSL_EPWM_AQSFRC,
3597  ((HW_RD_REG16(base + CSL_EPWM_AQSFRC) &
3598  ~CSL_EPWM_AQSFRC_ACTSFB_MASK) |
3599  ((uint16_t)output << CSL_EPWM_AQSFRC_ACTSFB_SHIFT)));
3600  }
3601 }
3602 
3603 //*****************************************************************************
3604 //
3617 //
3618 //*****************************************************************************
3619 static inline void
3622 {
3623  //
3624  // Initiate a software forced event
3625  //
3626  if(epwmOutput == EPWM_AQ_OUTPUT_A)
3627  {
3628  HW_WR_REG16(base + CSL_EPWM_AQSFRC,
3629  (HW_RD_REG16(base + CSL_EPWM_AQSFRC) |
3630  CSL_EPWM_AQSFRC_OTSFA_MASK));
3631  }
3632  else
3633  {
3634  HW_WR_REG16(base + CSL_EPWM_AQSFRC,
3635  (HW_RD_REG16(base + CSL_EPWM_AQSFRC) |
3636  CSL_EPWM_AQSFRC_OTSFB_MASK));
3637  }
3638 }
3639 
3640 //
3641 // Dead Band Module related APIs
3642 //
3643 //*****************************************************************************
3644 //
3663 //
3664 //*****************************************************************************
3665 static inline void
3667  bool enableSwapMode)
3668 {
3669  uint16_t mask;
3670 
3671  mask = (uint16_t)1U << ((uint16_t)output + CSL_EPWM_DBCTL_OUTSWAP_SHIFT);
3672 
3673  if(enableSwapMode)
3674  {
3675  //
3676  // Set the appropriate outswap bit to swap output
3677  //
3678  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3679  (HW_RD_REG16(base + CSL_EPWM_DBCTL) | mask));
3680  }
3681  else
3682  {
3683  //
3684  // Clear the appropriate outswap bit to disable output swap
3685  //
3686  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3687  (HW_RD_REG16(base + CSL_EPWM_DBCTL) & ~mask));
3688  }
3689 }
3690 
3691 //*****************************************************************************
3692 //
3711 //
3712 //*****************************************************************************
3713 static inline void
3715  bool enableDelayMode)
3716 {
3717  uint16_t mask;
3718 
3719  mask = 1U << ((uint16_t)(delayMode + CSL_EPWM_DBCTL_OUT_MODE_SHIFT));
3720 
3721  if(enableDelayMode)
3722  {
3723  //
3724  // Set the appropriate outmode bit to enable Dead Band delay
3725  //
3726  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3727  (HW_RD_REG16(base + CSL_EPWM_DBCTL) | mask));
3728  }
3729  else
3730  {
3731  //
3732  // Clear the appropriate outswap bit to disable output swap
3733  //
3734  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3735  (HW_RD_REG16(base + CSL_EPWM_DBCTL) & ~mask));
3736  }
3737 }
3738 
3739 //*****************************************************************************
3740 //
3758 //
3759 //*****************************************************************************
3760 static inline void
3762  EPWM_DeadBandDelayMode delayMode,
3763  EPWM_DeadBandPolarity polarity)
3764 {
3765  uint16_t shift;
3766 
3767  shift = (((uint16_t)delayMode ^ 0x1U) + CSL_EPWM_DBCTL_POLSEL_SHIFT);
3768 
3769  //
3770  // Set the appropriate polsel bits for dead band polarity
3771  //
3772  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3773  ((HW_RD_REG16(base + CSL_EPWM_DBCTL) & ~ (1U << shift)) |
3774  ((uint16_t)polarity << shift)));
3775 }
3776 
3777 //*****************************************************************************
3778 //
3792 //
3793 //*****************************************************************************
3794 static inline void
3795 EPWM_setRisingEdgeDeadBandDelayInput(uint32_t base, uint16_t input)
3796 {
3797  //
3798  // Check the arguments
3799  //
3800  DebugP_assert((input == EPWM_DB_INPUT_EPWMA) ||
3801  (input == EPWM_DB_INPUT_EPWMB));
3802 
3803  //
3804  // Set the Rising Edge Delay input
3805  //
3806  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3807  ((HW_RD_REG16(base + CSL_EPWM_DBCTL) &
3808  ~(1U << (CSL_EPWM_DBCTL_IN_MODE_SHIFT))) |
3809  (input << CSL_EPWM_DBCTL_IN_MODE_SHIFT)));
3810 }
3811 
3812 //*****************************************************************************
3813 //
3830 //
3831 //*****************************************************************************
3832 static inline void
3833 EPWM_setFallingEdgeDeadBandDelayInput(uint32_t base, uint16_t input)
3834 {
3835  //
3836  // Check the arguments
3837  //
3838  DebugP_assert((input == EPWM_DB_INPUT_EPWMA) ||
3839  (input == EPWM_DB_INPUT_EPWMB) ||
3840  (input == EPWM_DB_INPUT_DB_RED));
3841 
3842  if(input == EPWM_DB_INPUT_DB_RED)
3843  {
3844  //
3845  // Set the Falling Edge Delay input
3846  //
3847  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3848  (HW_RD_REG16(base + CSL_EPWM_DBCTL) |
3849  CSL_EPWM_DBCTL_DEDB_MODE_MASK));
3850  }
3851  else
3852  {
3853  //
3854  // Set the Falling Edge Delay input
3855  //
3856  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3857  (HW_RD_REG16(base + CSL_EPWM_DBCTL) &
3858  ~CSL_EPWM_DBCTL_DEDB_MODE_MASK));
3859 
3860  //
3861  // Set the Rising Edge Delay input
3862  //
3863  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3864  ((HW_RD_REG16(base + CSL_EPWM_DBCTL) &
3865  ~(1U << (CSL_EPWM_DBCTL_IN_MODE_SHIFT + 1U))) |
3866  (input << (CSL_EPWM_DBCTL_IN_MODE_SHIFT + 1U))));
3867  }
3868 }
3869 
3870 //*****************************************************************************
3871 //
3887 //
3888 //*****************************************************************************
3889 static inline void
3892 {
3893  //
3894  // Enable the shadow mode and setup the load event
3895  //
3896  HW_WR_REG16(base + CSL_EPWM_DBCTL2,
3897  ((HW_RD_REG16(base + CSL_EPWM_DBCTL2) &
3898  ~CSL_EPWM_DBCTL2_LOADDBCTLMODE_MASK) |
3899  (CSL_EPWM_DBCTL2_LOADDBCTLMODE_MASK | (uint16_t)loadMode)));
3900 }
3901 
3902 //*****************************************************************************
3903 //
3912 //
3913 //*****************************************************************************
3914 static inline void
3916 {
3917  //
3918  // Disable the shadow load mode. Only immediate load mode only.
3919  //
3920  HW_WR_REG16(base + CSL_EPWM_DBCTL2,
3921  (HW_RD_REG16(base + CSL_EPWM_DBCTL2) &
3922  ~CSL_EPWM_DBCTL2_SHDWDBCTLMODE_MASK));
3923 }
3924 
3925 //*****************************************************************************
3926 //
3941 //
3942 //*****************************************************************************
3943 static inline void
3946 {
3947  //
3948  // Enable the shadow mode. Set-up the load mode
3949  //
3950  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3951  ((HW_RD_REG16(base + CSL_EPWM_DBCTL) &
3952  ~CSL_EPWM_DBCTL_LOADREDMODE_MASK) |
3953  ((uint16_t)CSL_EPWM_DBCTL_SHDWDBREDMODE_MASK |
3954  ((uint16_t)loadMode << CSL_EPWM_DBCTL_LOADREDMODE_SHIFT))));
3955 
3956 }
3957 
3958 //*****************************************************************************
3959 //
3967 //
3968 //*****************************************************************************
3969 static inline void
3971 {
3972  //
3973  // Disable the shadow mode.
3974  //
3975  HW_WR_REG16(base + CSL_EPWM_DBCTL,
3976  (HW_RD_REG16(base + CSL_EPWM_DBCTL) &
3977  ~CSL_EPWM_DBCTL_SHDWDBREDMODE_MASK));
3978 }
3979 
3980 //*****************************************************************************
3981 //
3996 //
3997 //*****************************************************************************
3998 static inline void
4001 {
4002  //
4003  // Enable the shadow mode. Setup the load mode.
4004  //
4005  HW_WR_REG16(base + CSL_EPWM_DBCTL,
4006  ((HW_RD_REG16(base + CSL_EPWM_DBCTL) &
4007  ~CSL_EPWM_DBCTL_LOADFEDMODE_MASK) |
4008  (CSL_EPWM_DBCTL_SHDWDBFEDMODE_MASK |
4009  ((uint16_t)loadMode << CSL_EPWM_DBCTL_LOADFEDMODE_SHIFT))));
4010 }
4011 
4012 //*****************************************************************************
4013 //
4022 //
4023 //*****************************************************************************
4024 static inline void
4026 {
4027  //
4028  // Disable the shadow mode.
4029  //
4030  HW_WR_REG16(base + CSL_EPWM_DBCTL,
4031  (HW_RD_REG16(base + CSL_EPWM_DBCTL) &
4032  ~CSL_EPWM_DBCTL_SHDWDBFEDMODE_MASK));
4033 }
4034 
4035 //*****************************************************************************
4036 //
4051 //
4052 //*****************************************************************************
4053 static inline void
4055  EPWM_DeadBandClockMode clockMode)
4056 {
4057  //
4058  // Set the DB clock mode
4059  //
4060  HW_WR_REG16(base + CSL_EPWM_DBCTL,
4061  ((HW_RD_REG16(base + CSL_EPWM_DBCTL) &
4062  ~CSL_EPWM_DBCTL_HALFCYCLE_MASK) |
4063  ((uint16_t)clockMode << CSL_EPWM_DBCTL_HALFCYCLE_SHIFT)));
4064 }
4065 
4066 //*****************************************************************************
4067 //
4077 //
4078 //*****************************************************************************
4079 static inline void
4080 EPWM_setRisingEdgeDelayCount(uint32_t base, uint16_t redCount)
4081 {
4082  //
4083  // Check the arguments
4084  //
4085  DebugP_assert(redCount <= CSL_EPWM_DBRED_DBRED_MAX);
4086 
4087  //
4088  // Set the RED (Rising Edge Delay) count
4089  //
4090  HW_WR_REG16(base + CSL_EPWM_DBRED, redCount);
4091 }
4092 
4093 //*****************************************************************************
4094 //
4104 //
4105 //*****************************************************************************
4106 static inline void
4107 EPWM_setFallingEdgeDelayCount(uint32_t base, uint16_t fedCount)
4108 {
4109  //
4110  // Check the arguments
4111  //
4112  DebugP_assert(fedCount <= CSL_EPWM_DBFED_DBFED_MAX);
4113 
4114  //
4115  // Set the FED (Falling Edge Delay) count
4116  //
4117  HW_WR_REG16(base + CSL_EPWM_DBFED, fedCount);
4118 }
4119 
4120 //
4121 // Chopper module related APIs
4122 //
4123 //*****************************************************************************
4124 //
4132 //
4133 //*****************************************************************************
4134 static inline void
4135 EPWM_enableChopper(uint32_t base)
4136 {
4137  //
4138  // Set CHPEN bit. Enable Chopper
4139  //
4140  HW_WR_REG16(base + CSL_EPWM_PCCTL,
4141  (HW_RD_REG16(base + CSL_EPWM_PCCTL) | CSL_EPWM_PCCTL_CHPEN_MASK));
4142 }
4143 
4144 //*****************************************************************************
4145 //
4153 //
4154 //*****************************************************************************
4155 static inline void
4156 EPWM_disableChopper(uint32_t base)
4157 {
4158  //
4159  // Clear CHPEN bit. Disable Chopper
4160  //
4161  HW_WR_REG16(base + CSL_EPWM_PCCTL,
4162  (HW_RD_REG16(base + CSL_EPWM_PCCTL) & ~CSL_EPWM_PCCTL_CHPEN_MASK));
4163 }
4164 
4165 //*****************************************************************************
4166 //
4178 //
4179 //*****************************************************************************
4180 static inline void
4181 EPWM_setChopperDutyCycle(uint32_t base, uint16_t dutyCycleCount)
4182 {
4183  //
4184  // Check the arguments
4185  //
4186  DebugP_assert(dutyCycleCount < CSL_EPWM_PCCTL_CHPDUTY_MAX);
4187 
4188  //
4189  // Set the chopper duty cycle
4190  //
4191  HW_WR_REG16(base + CSL_EPWM_PCCTL,
4192  ((HW_RD_REG16(base + CSL_EPWM_PCCTL) & ~CSL_EPWM_PCCTL_CHPDUTY_MASK) |
4193  (dutyCycleCount << CSL_EPWM_PCCTL_CHPDUTY_SHIFT)));
4194 }
4195 
4196 //*****************************************************************************
4197 //
4209 //
4210 //*****************************************************************************
4211 static inline void
4212 EPWM_setChopperFreq(uint32_t base, uint16_t freqDiv)
4213 {
4214  //
4215  // Check the arguments
4216  //
4217  DebugP_assert(freqDiv <= CSL_EPWM_PCCTL_CHPFREQ_MAX);
4218 
4219  //
4220  // Set the chopper clock
4221  //
4222  HW_WR_REG16(base + CSL_EPWM_PCCTL,
4223  ((HW_RD_REG16(base + CSL_EPWM_PCCTL) &
4224  ~(uint16_t)CSL_EPWM_PCCTL_CHPFREQ_MASK) |
4225  (freqDiv << CSL_EPWM_PCCTL_CHPFREQ_SHIFT)));
4226 }
4227 
4228 //*****************************************************************************
4229 //
4241 //
4242 //*****************************************************************************
4243 static inline void
4244 EPWM_setChopperFirstPulseWidth(uint32_t base, uint16_t firstPulseWidth)
4245 {
4246  //
4247  // Check the arguments
4248  //
4249  DebugP_assert(firstPulseWidth <= CSL_EPWM_PCCTL_OSHTWTH_MAX);
4250 
4251  //
4252  // Set the chopper clock
4253  //
4254  HW_WR_REG16(base + CSL_EPWM_PCCTL,
4255  ((HW_RD_REG16(base + CSL_EPWM_PCCTL) &
4256  ~(uint16_t)CSL_EPWM_PCCTL_OSHTWTH_MASK) |
4257  (firstPulseWidth << CSL_EPWM_PCCTL_OSHTWTH_SHIFT)));
4258 }
4259 
4260 //
4261 // Trip Zone module related APIs
4262 //
4263 //*****************************************************************************
4264 //
4294 //
4295 //*****************************************************************************
4296 static inline void
4297 EPWM_enableTripZoneSignals(uint32_t base, uint32_t tzSignal)
4298 {
4299  //
4300  // Set the trip zone bits
4301  //
4302  HW_WR_REG32(base + CSL_EPWM_TZSEL,
4303  (HW_RD_REG32(base + CSL_EPWM_TZSEL) | tzSignal));
4304 }
4305 
4306 //*****************************************************************************
4307 //
4337 //
4338 //*****************************************************************************
4339 static inline void
4340 EPWM_disableTripZoneSignals(uint32_t base, uint32_t tzSignal)
4341 {
4342  //
4343  // Clear the trip zone bits
4344  //
4345  HW_WR_REG32(base + CSL_EPWM_TZSEL,
4346  (HW_RD_REG32(base + CSL_EPWM_TZSEL) & ~tzSignal));
4347 }
4348 
4349 //*****************************************************************************
4350 //
4379 //
4380 //*****************************************************************************
4381 static inline void
4385 {
4386  //
4387  // Set Digital Compare Events conditions that cause a Digital Compare trip
4388  //
4389  HW_WR_REG16(base + CSL_EPWM_TZDCSEL,
4390  ((HW_RD_REG16(base + CSL_EPWM_TZDCSEL) &
4391  ~(CSL_EPWM_TZDCSEL_DCAEVT1_MASK << (uint16_t)dcType)) |
4392  ((uint16_t)dcEvent << (uint16_t)dcType)));
4393 }
4394 
4395 //*****************************************************************************
4396 //
4406 //
4407 //*****************************************************************************
4408 static inline void
4410 {
4411  //
4412  // Enable Advanced feature. Set ETZE bit
4413  //
4414  HW_WR_REG16(base + CSL_EPWM_TZCTL2,
4415  (HW_RD_REG16(base + CSL_EPWM_TZCTL2) | CSL_EPWM_TZCTL2_ETZE_MASK));
4416 }
4417 
4418 //*****************************************************************************
4419 //
4427 //
4428 //*****************************************************************************
4429 static inline void
4431 {
4432  //
4433  // Disable Advanced feature. clear ETZE bit
4434  //
4435  HW_WR_REG16(base + CSL_EPWM_TZCTL2,
4436  (HW_RD_REG16(base + CSL_EPWM_TZCTL2) & ~CSL_EPWM_TZCTL2_ETZE_MASK));
4437 }
4438 
4439 //*****************************************************************************
4440 //
4469 //
4470 //*****************************************************************************
4471 static inline void
4473  EPWM_TripZoneAction tzAction)
4474 {
4475  //
4476  // Set the Action for Trip Zone events
4477  //
4478  HW_WR_REG16(base + CSL_EPWM_TZCTL,
4479  ((HW_RD_REG16(base + CSL_EPWM_TZCTL) &
4480  ~(CSL_EPWM_TZCTL_TZA_MASK << (uint16_t)tzEvent)) |
4481  ((uint16_t)tzAction << (uint16_t)tzEvent)));
4482 }
4483 
4484 //*****************************************************************************
4485 //
4520 //
4521 //*****************************************************************************
4522 static inline void
4524  EPWM_TripZoneAdvancedAction tzAdvAction)
4525 {
4526  //
4527  // Set the Advanced Action for Trip Zone events
4528  //
4529  HW_WR_REG16(base + CSL_EPWM_TZCTL2,
4530  ((HW_RD_REG16(base + CSL_EPWM_TZCTL2) &
4531  ~(CSL_EPWM_TZCTL2_TZAU_MASK << (uint16_t)tzAdvEvent)) |
4532  ((uint16_t)tzAdvAction << (uint16_t)tzAdvEvent)));
4533 
4534  HW_WR_REG16(base + CSL_EPWM_TZCTL2,
4535  (HW_RD_REG16(base + CSL_EPWM_TZCTL2) | CSL_EPWM_TZCTL2_ETZE_MASK));
4536 }
4537 
4538 //*****************************************************************************
4539 //
4571 //
4572 //*****************************************************************************
4573 static inline void
4576  EPWM_TripZoneAdvancedAction tzAdvDCAction)
4577 {
4578  //
4579  // Set the Advanced Action for Trip Zone events
4580  //
4581  HW_WR_REG16(base + CSL_EPWM_TZCTLDCA,
4582  ((HW_RD_REG16(base + CSL_EPWM_TZCTLDCA) &
4583  ~(CSL_EPWM_TZCTLDCA_DCAEVT1U_MASK << (uint16_t)tzAdvDCEvent)) |
4584  ((uint16_t)tzAdvDCAction << (uint16_t)tzAdvDCEvent)));
4585 
4586  HW_WR_REG16(base + CSL_EPWM_TZCTL2,
4587  (HW_RD_REG16(base + CSL_EPWM_TZCTL2) | CSL_EPWM_TZCTL2_ETZE_MASK));
4588 }
4589 
4590 //*****************************************************************************
4591 //
4623 //
4624 //*****************************************************************************
4625 static inline void EPWM_setTripZoneAdvDigitalCompareActionB(uint32_t base,
4627  EPWM_TripZoneAdvancedAction tzAdvDCAction)
4628 {
4629  //
4630  // Set the Advanced Action for Trip Zone events
4631  //
4632  HW_WR_REG16(base + CSL_EPWM_TZCTLDCB,
4633  ((HW_RD_REG16(base + CSL_EPWM_TZCTLDCB) &
4634  ~(CSL_EPWM_TZCTLDCB_DCBEVT1U_MASK << (uint16_t)tzAdvDCEvent)) |
4635  ((uint16_t)tzAdvDCAction << (uint16_t)tzAdvDCEvent)));
4636 
4637  HW_WR_REG16(base + CSL_EPWM_TZCTL2,
4638  (HW_RD_REG16(base + CSL_EPWM_TZCTL2) | CSL_EPWM_TZCTL2_ETZE_MASK));
4639 }
4640 
4641 //*****************************************************************************
4642 //
4661 //
4662 //*****************************************************************************
4663 static inline void
4664 EPWM_enableTripZoneInterrupt(uint32_t base, uint16_t tzInterrupt)
4665 {
4666  //
4667  // Check the arguments
4668  //
4669  DebugP_assert((tzInterrupt >= 0U) && (tzInterrupt < 0x80U));
4670 
4671  //
4672  // Enable Trip zone interrupts
4673  //
4674  HW_WR_REG16(base + CSL_EPWM_TZEINT,
4675  (HW_RD_REG16(base + CSL_EPWM_TZEINT) | tzInterrupt));
4676 }
4677 
4678 //*****************************************************************************
4679 //
4698 //
4699 //***************************************************************************
4700 static inline void
4701 EPWM_disableTripZoneInterrupt(uint32_t base, uint16_t tzInterrupt)
4702 {
4703  //
4704  // Check the arguments
4705  //
4706  DebugP_assert((tzInterrupt > 0U) && (tzInterrupt < 0x80U));
4707 
4708  //
4709  // Disable Trip zone interrupts
4710  //
4711  HW_WR_REG16(base + CSL_EPWM_TZEINT,
4712  (HW_RD_REG16(base + CSL_EPWM_TZEINT) & ~tzInterrupt));
4713 }
4714 
4715 //*****************************************************************************
4716 //
4733 //
4734 //***************************************************************************
4735 static inline uint16_t
4737 {
4738  //
4739  // Return the Trip zone flag status
4740  //
4741  return(HW_RD_REG16(base + CSL_EPWM_TZFLG) & 0xFFU);
4742 }
4743 
4744 //*****************************************************************************
4745 //
4765 //
4766 //***************************************************************************
4767 static inline uint16_t
4769 {
4770  //
4771  // Return the Cycle By Cycle Trip zone flag status
4772  //
4773  return(HW_RD_REG16(base + CSL_EPWM_TZCBCFLG) & 0x1FFU);
4774 }
4775 
4776 //*****************************************************************************
4777 //
4795 //
4796 //***************************************************************************
4797 static inline uint16_t
4799 {
4800  //
4801  // Return the One Shot Trip zone flag status
4802  //
4803  return(HW_RD_REG16(base + CSL_EPWM_TZOSTFLG) & 0x1FFU);
4804 }
4805 
4806 //*****************************************************************************
4807 //
4824 //
4825 //**************************************************************************
4826 static inline void
4829 {
4830  //
4831  // Set the Cycle by Cycle Trip Latch mode
4832  //
4833  HW_WR_REG16(base + CSL_EPWM_TZCLR,
4834  ((HW_RD_REG16(base + CSL_EPWM_TZCLR) &
4835  ~CSL_EPWM_TZCLR_CBCPULSE_MASK) |
4836  ((uint16_t)clearEvent << CSL_EPWM_TZCLR_CBCPULSE_SHIFT)));
4837 }
4838 
4839 //*****************************************************************************
4840 //
4860 //
4861 //***************************************************************************
4862 static inline void
4863 EPWM_clearTripZoneFlag(uint32_t base, uint16_t tzFlags)
4864 {
4865  //
4866  // Check the arguments
4867  //
4868  DebugP_assert((tzFlags < 0x80U) && (tzFlags >= 0x1U));
4869 
4870  //
4871  // Clear Trip zone event flag
4872  //
4873  HW_WR_REG16(base + CSL_EPWM_TZCLR,
4874  (HW_RD_REG16(base + CSL_EPWM_TZCLR) | tzFlags));
4875 }
4876 
4877 //*****************************************************************************
4878 //
4898 //
4899 //***************************************************************************
4900 static inline void
4901 EPWM_clearCycleByCycleTripZoneFlag(uint32_t base, uint16_t tzCBCFlags)
4902 {
4903  //
4904  // Check the arguments
4905  //
4906  DebugP_assert(tzCBCFlags < 0x200U);
4907 
4908  //
4909  // Clear the Cycle By Cycle Trip zone flag
4910  //
4911  HW_WR_REG16(base + CSL_EPWM_TZCBCCLR,
4912  (HW_RD_REG16(base + CSL_EPWM_TZCBCCLR) | tzCBCFlags));
4913 }
4914 
4915 //*****************************************************************************
4916 //
4935 //
4936 //***************************************************************************
4937 static inline void
4938 EPWM_clearOneShotTripZoneFlag(uint32_t base, uint16_t tzOSTFlags)
4939 {
4940  //
4941  // Check the arguments
4942  //
4943  DebugP_assert(tzOSTFlags < 0x200U);
4944 
4945  //
4946  // Clear the Cycle By Cycle Trip zone flag
4947  //
4948  HW_WR_REG16(base + CSL_EPWM_TZOSTCLR,
4949  (HW_RD_REG16(base + CSL_EPWM_TZOSTCLR) | tzOSTFlags));
4950 }
4951 
4952 //*****************************************************************************
4953 //
4969 //
4970 //***************************************************************************
4971 static inline void
4972 EPWM_forceTripZoneEvent(uint32_t base, uint16_t tzForceEvent)
4973 {
4974  //
4975  // Check the arguments
4976  //
4977  DebugP_assert((tzForceEvent & 0xFF01U)== 0U);
4978 
4979  //
4980  // Force a Trip Zone event
4981  //
4982  HW_WR_REG16(base + CSL_EPWM_TZFRC,
4983  (HW_RD_REG16(base + CSL_EPWM_TZFRC) | tzForceEvent));
4984 }
4985 
4986 //*****************************************************************************
4987 //
5001 //
5002 //***************************************************************************
5003 static inline void
5004 EPWM_enableTripZoneOutput(uint32_t base, uint16_t tzOutput)
5005 {
5006  //
5007  // Enable the Trip Zone signals as output
5008  //
5009  HW_WR_REG16(base + CSL_EPWM_TZTRIPOUTSEL,
5010  (HW_RD_REG16(base + CSL_EPWM_TZTRIPOUTSEL) | tzOutput));
5011 }
5012 
5013 //*****************************************************************************
5014 //
5028 //
5029 //***************************************************************************
5030 static inline void
5031 EPWM_disableTripZoneOutput(uint32_t base, uint16_t tzOutput)
5032 {
5033  //
5034  // Disable the Trip Zone signals as output
5035  //
5036  HW_WR_REG16(base + CSL_EPWM_TZTRIPOUTSEL,
5037  (HW_RD_REG16(base + CSL_EPWM_TZTRIPOUTSEL) & ~tzOutput));
5038 }
5039 
5040 //
5041 // Event Trigger related APIs
5042 //
5043 //*****************************************************************************
5044 //
5052 //
5053 //*****************************************************************************
5054 static inline void
5055 EPWM_enableInterrupt(uint32_t base)
5056 {
5057  //
5058  // Enable ePWM interrupt
5059  //
5060  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5061  (HW_RD_REG16(base + CSL_EPWM_ETSEL) | CSL_EPWM_ETSEL_INTEN_MASK));
5062 }
5063 
5064 //*****************************************************************************
5065 //
5073 //
5074 //*****************************************************************************
5075 static inline void
5077 {
5078  //
5079  // Disable ePWM interrupt
5080  //
5081  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5082  (HW_RD_REG16(base + CSL_EPWM_ETSEL) & ~CSL_EPWM_ETSEL_INTEN_MASK));
5083 }
5084 
5085 //*****************************************************************************
5086 //
5109 //
5110 //*****************************************************************************
5111 static inline void
5112 EPWM_setInterruptSource(uint32_t base, uint16_t interruptSource,
5113  uint16_t mixedSource)
5114 {
5115  uint16_t intSource;
5116 
5117  //
5118  // Check the arguments
5119  //
5120  DebugP_assert(((interruptSource > 0U) && (interruptSource < 9U)) ||
5121  (interruptSource == 10U) || (interruptSource == 12U) ||
5122  (interruptSource == 14U));
5123 
5124  if((interruptSource == EPWM_INT_TBCTR_U_CMPC) ||
5125  (interruptSource == EPWM_INT_TBCTR_U_CMPD) ||
5126  (interruptSource == EPWM_INT_TBCTR_D_CMPC) ||
5127  (interruptSource == EPWM_INT_TBCTR_D_CMPD))
5128  {
5129  //
5130  // Shift the interrupt source by 1
5131  //
5132  intSource = interruptSource >> 1U;
5133 
5134  //
5135  // Enable events based on comp C or comp D
5136  //
5137  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5138  (HW_RD_REG16(base + CSL_EPWM_ETSEL) |
5139  CSL_EPWM_ETSEL_INTSELCMP_MASK));
5140  }
5141  else if((interruptSource == EPWM_INT_TBCTR_U_CMPA) ||
5142  (interruptSource == EPWM_INT_TBCTR_U_CMPB) ||
5143  (interruptSource == EPWM_INT_TBCTR_D_CMPA) ||
5144  (interruptSource == EPWM_INT_TBCTR_D_CMPB))
5145  {
5146  intSource = interruptSource;
5147 
5148  //
5149  // Enable events based on comp A or comp B
5150  //
5151  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5152  (HW_RD_REG16(base + CSL_EPWM_ETSEL) &
5153  ~CSL_EPWM_ETSEL_INTSELCMP_MASK));
5154  }
5155  else if(interruptSource == EPWM_INT_TBCTR_ETINTMIX)
5156  {
5157  intSource = interruptSource;
5158 
5159  //
5160  // Enable mixed events
5161  //
5162  HW_WR_REG16(base + CSL_EPWM_ETINTMIXEN, mixedSource);
5163  }
5164  else
5165  {
5166  intSource = interruptSource;
5167  }
5168 
5169  //
5170  // Set the interrupt source
5171  //
5172  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5173  ((HW_RD_REG16(base + CSL_EPWM_ETSEL) &
5174  ~CSL_EPWM_ETSEL_INTSEL_MASK) | intSource));
5175 }
5176 
5177 //*****************************************************************************
5178 //
5189 //
5190 //*****************************************************************************
5191 static inline void
5192 EPWM_setInterruptEventCount(uint32_t base, uint16_t eventCount)
5193 {
5194  //
5195  // Check the arguments
5196  //
5197  DebugP_assert(eventCount <= CSL_EPWM_ETINTPS_INTPRD2_MAX);
5198 
5199  //
5200  // Enable advanced feature of interrupt every up to 15 events
5201  //
5202  HW_WR_REG16(base + CSL_EPWM_ETPS,
5203  (HW_RD_REG16(base + CSL_EPWM_ETPS) | CSL_EPWM_ETPS_INTPSSEL_MASK));
5204 
5205  HW_WR_REG16(base + CSL_EPWM_ETINTPS,
5206  ((HW_RD_REG16(base + CSL_EPWM_ETINTPS) &
5207  ~CSL_EPWM_ETINTPS_INTPRD2_MASK) | eventCount));
5208 }
5209 
5210 //*****************************************************************************
5211 //
5221 //
5222 //*****************************************************************************
5223 static inline bool
5225 {
5226  //
5227  // Return INT bit of ETFLG register
5228  //
5229  return(((HW_RD_REG16(base + CSL_EPWM_ETFLG) & 0x1U) ==
5230  0x1U) ? true : false);
5231 }
5232 
5233 //*****************************************************************************
5234 //
5242 //
5243 //*****************************************************************************
5244 static inline void
5246 {
5247  //
5248  // Clear INT bit of ETCLR register
5249  //
5250  HW_WR_REG16(base + CSL_EPWM_ETCLR,
5251  (HW_RD_REG16(base + CSL_EPWM_ETCLR) | CSL_EPWM_ETCLR_INT_MASK));
5252 }
5253 
5254 //*****************************************************************************
5255 //
5266 //
5267 //*****************************************************************************
5268 static inline void
5270 {
5271  //
5272  // Enable interrupt event count initializing/loading
5273  //
5274  HW_WR_REG16(base + CSL_EPWM_ETCNTINITCTL,
5275  (HW_RD_REG16(base + CSL_EPWM_ETCNTINITCTL) |
5276  CSL_EPWM_ETCNTINITCTL_INTINITEN_MASK));
5277 }
5278 
5279 //*****************************************************************************
5280 //
5289 //
5290 //*****************************************************************************
5291 static inline void
5293 {
5294  //
5295  // Disable interrupt event count initializing/loading
5296  //
5297  HW_WR_REG16(base + CSL_EPWM_ETCNTINITCTL,
5298  (HW_RD_REG16(base + CSL_EPWM_ETCNTINITCTL) &
5299  ~CSL_EPWM_ETCNTINITCTL_INTINITEN_MASK));
5300 }
5301 
5302 //*****************************************************************************
5303 //
5315 //
5316 //*****************************************************************************
5317 static inline void
5319 {
5320  //
5321  // Load the Interrupt Event counter value
5322  //
5323  HW_WR_REG16(base + CSL_EPWM_ETCNTINITCTL,
5324  (HW_RD_REG16(base + CSL_EPWM_ETCNTINITCTL) |
5325  CSL_EPWM_ETCNTINITCTL_INTINITFRC_MASK));
5326 }
5327 
5328 //*****************************************************************************
5329 //
5340 //
5341 //*****************************************************************************
5342 static inline void
5343 EPWM_setInterruptEventCountInitValue(uint32_t base, uint16_t eventCount)
5344 {
5345  //
5346  // Check the arguments
5347  //
5348  DebugP_assert(eventCount <= CSL_EPWM_ETCNTINIT_INTINIT_MAX);
5349 
5350  //
5351  // Set the Pre-interrupt event count
5352  //
5353  HW_WR_REG16(base + CSL_EPWM_ETCNTINIT,
5354  ((HW_RD_REG16(base + CSL_EPWM_ETCNTINIT) &
5355  ~CSL_EPWM_ETCNTINIT_INTINIT_MASK) |
5356  (uint16_t)(eventCount & CSL_EPWM_ETCNTINIT_INTINIT_MASK)));
5357 }
5358 
5359 //*****************************************************************************
5360 //
5368 //
5369 //*****************************************************************************
5370 static inline uint16_t
5372 {
5373  //
5374  // Return the interrupt event count
5375  //
5376  return(((HW_RD_REG16(base + CSL_EPWM_ETINTPS) &
5377  CSL_EPWM_ETINTPS_INTCNT2_MASK) >>
5378  CSL_EPWM_ETINTPS_INTCNT2_SHIFT));
5379 }
5380 
5381 //*****************************************************************************
5382 //
5390 //
5391 //*****************************************************************************
5392 static inline void
5394 {
5395  //
5396  // Set INT bit of ETFRC register
5397  //
5398  HW_WR_REG16(base + CSL_EPWM_ETFRC,
5399  (HW_RD_REG16(base + CSL_EPWM_ETFRC) | CSL_EPWM_ETFRC_INT_MASK));
5400 }
5401 
5402 //
5403 // ADC SOC configuration related APIs
5404 //
5405 //*****************************************************************************
5406 //
5418 //
5419 //*****************************************************************************
5420 static inline void
5422 {
5423  //
5424  // Enable an SOC
5425  //
5426  if(adcSOCType == EPWM_SOC_A)
5427  {
5428  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5429  (HW_RD_REG16(base + CSL_EPWM_ETSEL) | CSL_EPWM_ETSEL_SOCAEN_MASK));
5430  }
5431  else
5432  {
5433  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5434  (HW_RD_REG16(base + CSL_EPWM_ETSEL) | CSL_EPWM_ETSEL_SOCBEN_MASK));
5435  }
5436 }
5437 
5438 //*****************************************************************************
5439 //
5451 //
5452 //*****************************************************************************
5453 static inline void
5455 {
5456  //
5457  // Disable an SOC
5458  //
5459  if(adcSOCType == EPWM_SOC_A)
5460  {
5461  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5462  (HW_RD_REG16(base + CSL_EPWM_ETSEL) & ~CSL_EPWM_ETSEL_SOCAEN_MASK));
5463  }
5464  else
5465  {
5466  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5467  (HW_RD_REG16(base + CSL_EPWM_ETSEL) & ~CSL_EPWM_ETSEL_SOCBEN_MASK));
5468  }
5469 }
5470 
5471 //*****************************************************************************
5472 //
5501 //
5502 //*****************************************************************************
5503 static inline void
5505  EPWM_ADCStartOfConversionType adcSOCType,
5507  uint16_t mixedSource)
5508 {
5509  uint16_t source;
5510 
5511  if((socSource == EPWM_SOC_TBCTR_U_CMPC) ||
5512  (socSource == EPWM_SOC_TBCTR_U_CMPD) ||
5513  (socSource == EPWM_SOC_TBCTR_D_CMPC) ||
5514  (socSource == EPWM_SOC_TBCTR_D_CMPD))
5515  {
5516  source = (uint16_t)socSource >> 1U;
5517  }
5518  else
5519  {
5520  source = (uint16_t)socSource;
5521  }
5522 
5523  if(adcSOCType == EPWM_SOC_A)
5524  {
5525  //
5526  // Set the SOC source
5527  //
5528  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5529  ((HW_RD_REG16(base + CSL_EPWM_ETSEL) &
5530  ~CSL_EPWM_ETSEL_SOCASEL_MASK) |
5531  (source << CSL_EPWM_ETSEL_SOCASEL_SHIFT)));
5532 
5533  //
5534  // Enable the comparator selection
5535  //
5536  if((socSource == EPWM_SOC_TBCTR_U_CMPA) ||
5537  (socSource == EPWM_SOC_TBCTR_U_CMPB) ||
5538  (socSource == EPWM_SOC_TBCTR_D_CMPA) ||
5539  (socSource == EPWM_SOC_TBCTR_D_CMPB))
5540  {
5541  //
5542  // Enable events based on comp A or comp B
5543  //
5544  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5545  (HW_RD_REG16(base + CSL_EPWM_ETSEL) &
5546  ~CSL_EPWM_ETSEL_SOCASELCMP_MASK));
5547  }
5548  else if((socSource == EPWM_SOC_TBCTR_U_CMPC) ||
5549  (socSource == EPWM_SOC_TBCTR_U_CMPD) ||
5550  (socSource == EPWM_SOC_TBCTR_D_CMPC) ||
5551  (socSource == EPWM_SOC_TBCTR_D_CMPD))
5552  {
5553  //
5554  // Enable events based on comp C or comp D
5555  //
5556  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5557  (HW_RD_REG16(base + CSL_EPWM_ETSEL) |
5558  CSL_EPWM_ETSEL_SOCASELCMP_MASK));
5559  }
5560  else if(socSource == EPWM_SOC_TBCTR_MIXED_EVENT)
5561  {
5562  //
5563  // Enable mixed events
5564  //
5565  HW_WR_REG16(base + CSL_EPWM_ETSOCAMIXEN, mixedSource);
5566  }
5567  else
5568  {
5569  //
5570  // No action required for the other socSource options
5571  //
5572  }
5573  }
5574  else
5575  {
5576  //
5577  // Enable the comparator selection
5578  //
5579  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5580  ((HW_RD_REG16(base + CSL_EPWM_ETSEL) &
5581  ~CSL_EPWM_ETSEL_SOCBSEL_MASK) |
5582  (source << CSL_EPWM_ETSEL_SOCBSEL_SHIFT)));
5583 
5584  //
5585  // Enable the comparator selection
5586  //
5587  if((socSource == EPWM_SOC_TBCTR_U_CMPA) ||
5588  (socSource == EPWM_SOC_TBCTR_U_CMPB) ||
5589  (socSource == EPWM_SOC_TBCTR_D_CMPA) ||
5590  (socSource == EPWM_SOC_TBCTR_D_CMPB))
5591  {
5592  //
5593  // Enable events based on comp A or comp B
5594  //
5595  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5596  (HW_RD_REG16(base + CSL_EPWM_ETSEL) &
5597  ~CSL_EPWM_ETSEL_SOCBSELCMP_MASK));
5598  }
5599  else if((socSource == EPWM_SOC_TBCTR_U_CMPC) ||
5600  (socSource == EPWM_SOC_TBCTR_U_CMPD) ||
5601  (socSource == EPWM_SOC_TBCTR_D_CMPC) ||
5602  (socSource == EPWM_SOC_TBCTR_D_CMPD))
5603  {
5604  //
5605  // Enable events based on comp C or comp D
5606  //
5607  HW_WR_REG16(base + CSL_EPWM_ETSEL,
5608  (HW_RD_REG16(base + CSL_EPWM_ETSEL) |
5609  CSL_EPWM_ETSEL_SOCBSELCMP_MASK));
5610  }
5611  else if(socSource == EPWM_SOC_TBCTR_MIXED_EVENT)
5612  {
5613  //
5614  // Enable mixed events
5615  //
5616  HW_WR_REG16(base + CSL_EPWM_ETSOCBMIXEN, mixedSource);
5617  }
5618  else
5619  {
5620  //
5621  // No action required for the other socSource options
5622  //
5623  }
5624  }
5625 }
5626 
5627 //*****************************************************************************
5628 //
5648 //
5649 //*****************************************************************************
5650 static inline void
5652  EPWM_ADCStartOfConversionType adcSOCType,
5653  uint16_t preScaleCount)
5654 {
5655  //
5656  // Check the arguments
5657  //
5658  DebugP_assert(preScaleCount <= CSL_EPWM_ETSOCPS_SOCAPRD2_MAX);
5659 
5660  //
5661  // Enable advanced feature of SOC every up to 15 events
5662  //
5663  HW_WR_REG16(base + CSL_EPWM_ETPS,
5664  (HW_RD_REG16(base + CSL_EPWM_ETPS) |
5665  CSL_EPWM_ETPS_SOCPSSEL_MASK));
5666 
5667  if(adcSOCType == EPWM_SOC_A)
5668  {
5669  //
5670  // Set the count for SOC A
5671  //
5672  HW_WR_REG16(base + CSL_EPWM_ETSOCPS,
5673  ((HW_RD_REG16(base + CSL_EPWM_ETSOCPS) &
5674  ~CSL_EPWM_ETSOCPS_SOCAPRD2_MASK) |
5675  preScaleCount));
5676  }
5677  else
5678  {
5679  //
5680  // Set the count for SOC B
5681  //
5682  HW_WR_REG16(base + CSL_EPWM_ETSOCPS,
5683  ((HW_RD_REG16(base + CSL_EPWM_ETSOCPS) &
5684  ~CSL_EPWM_ETSOCPS_SOCBPRD2_MASK) |
5685  (preScaleCount << CSL_EPWM_ETSOCPS_SOCBPRD2_SHIFT)));
5686  }
5687 }
5688 
5689 //*****************************************************************************
5690 //
5703 //
5704 //*****************************************************************************
5705 static inline bool
5707  EPWM_ADCStartOfConversionType adcSOCType)
5708 {
5709  //
5710  // Return the SOC A/ B status
5711  //
5712  return((((HW_RD_REG16(base + CSL_EPWM_ETFLG) >>
5713  ((uint16_t)adcSOCType + CSL_EPWM_ETFLG_SOCA_SHIFT)) &
5714  0x1U) == 0x1U) ? true : false);
5715 }
5716 
5717 //*****************************************************************************
5718 //
5730 //
5731 //*****************************************************************************
5732 static inline void
5734  EPWM_ADCStartOfConversionType adcSOCType)
5735 {
5736  //
5737  // Clear SOC A/B bit of ETCLR register
5738  //
5739  HW_WR_REG16(base + CSL_EPWM_ETCLR,
5740  (HW_RD_REG16(base + CSL_EPWM_ETCLR) |
5741  1U << ((uint16_t)adcSOCType + CSL_EPWM_ETCLR_SOCA_SHIFT)));
5742 }
5743 
5744 //*****************************************************************************
5745 //
5761 //
5762 //*****************************************************************************
5763 static inline void
5765  EPWM_ADCStartOfConversionType adcSOCType)
5766 {
5767  //
5768  // Enable SOC event count initializing/loading
5769  //
5770  HW_WR_REG16(base + CSL_EPWM_ETCNTINITCTL,
5771  (HW_RD_REG16(base + CSL_EPWM_ETCNTINITCTL) | 1U <<
5772  ((uint16_t)adcSOCType + CSL_EPWM_ETCNTINITCTL_SOCAINITEN_SHIFT)));
5773 }
5774 
5775 //*****************************************************************************
5776 //
5791 //
5792 //*****************************************************************************
5793 static inline void
5795  EPWM_ADCStartOfConversionType adcSOCType)
5796 {
5797  //
5798  // Disable SOC event count initializing/loading
5799  //
5800  HW_WR_REG16(base + CSL_EPWM_ETCNTINITCTL,
5801  (HW_RD_REG16(base + CSL_EPWM_ETCNTINITCTL) &
5802  ~(1U << ((uint16_t)adcSOCType +
5803  CSL_EPWM_ETCNTINITCTL_SOCAINITEN_SHIFT))));
5804 }
5805 
5806 //*****************************************************************************
5807 //
5820 //
5821 //*****************************************************************************
5822 static inline void
5824  EPWM_ADCStartOfConversionType adcSOCType)
5825 {
5826  //
5827  // Load the Interrupt Event counter value
5828  //
5829  HW_WR_REG16(base + CSL_EPWM_ETCNTINITCTL,
5830  (HW_RD_REG16(base + CSL_EPWM_ETCNTINITCTL) |
5831  1U << ((uint16_t)adcSOCType +
5832  CSL_EPWM_ETCNTINITCTL_SOCAINITFRC_SHIFT)));
5833 }
5834 
5835 //*****************************************************************************
5836 //
5850 //
5851 //*****************************************************************************
5852 static inline void
5854  EPWM_ADCStartOfConversionType adcSOCType,
5855  uint16_t eventCount)
5856 {
5857  //
5858  // Check the arguments
5859  //
5860  DebugP_assert(eventCount <= CSL_EPWM_ETCNTINIT_SOCAINIT_MAX);
5861 
5862  //
5863  // Set the ADC Trigger event count
5864  //
5865  if(adcSOCType == EPWM_SOC_A)
5866  {
5867  HW_WR_REG16(base + CSL_EPWM_ETCNTINIT,
5868  ((HW_RD_REG16(base + CSL_EPWM_ETCNTINIT) &
5869  ~CSL_EPWM_ETCNTINIT_SOCAINIT_MASK) |
5870  (uint16_t)(eventCount << CSL_EPWM_ETCNTINIT_SOCAINIT_SHIFT)));
5871  }
5872  else
5873  {
5874  HW_WR_REG16(base + CSL_EPWM_ETCNTINIT,
5875  ((HW_RD_REG16(base + CSL_EPWM_ETCNTINIT) &
5876  ~CSL_EPWM_ETCNTINIT_SOCBINIT_MASK) |
5877  (eventCount << CSL_EPWM_ETCNTINIT_SOCBINIT_SHIFT)));
5878  }
5879 }
5880 
5881 //*****************************************************************************
5882 //
5894 //
5895 //*****************************************************************************
5896 static inline uint16_t
5898  EPWM_ADCStartOfConversionType adcSOCType)
5899 {
5900  uint16_t eventCount;
5901 
5902  //
5903  // Return the SOC event count
5904  //
5905  if(adcSOCType == EPWM_SOC_A)
5906  {
5907  eventCount = (HW_RD_REG16(base + CSL_EPWM_ETSOCPS) >>
5908  CSL_EPWM_ETSOCPS_SOCACNT2_SHIFT) &
5909  CSL_EPWM_ETSOCPS_SOCACNT2_MAX;
5910  }
5911  else
5912  {
5913  eventCount = (HW_RD_REG16(base + CSL_EPWM_ETSOCPS) >>
5914  CSL_EPWM_ETSOCPS_SOCBCNT2_SHIFT) &
5915  CSL_EPWM_ETSOCPS_SOCBCNT2_MAX;
5916  }
5917 
5918  return(eventCount);
5919 }
5920 
5921 //*****************************************************************************
5922 //
5934 //
5935 //*****************************************************************************
5936 static inline void
5938 {
5939  //
5940  // Set SOC A/B bit of ETFRC register
5941  //
5942  HW_WR_REG16(base + CSL_EPWM_ETFRC,
5943  (HW_RD_REG16(base + CSL_EPWM_ETFRC) |
5944  1U << ((uint16_t)adcSOCType + CSL_EPWM_ETFRC_SOCA_SHIFT)));
5945 }
5946 
5947 //
5948 // Digital Compare module related APIs
5949 //
5950 //*****************************************************************************
5951 //
5973 //
5974 //*****************************************************************************
5975 static inline void
5977  EPWM_DigitalCompareTripInput tripSource,
5978  EPWM_DigitalCompareType dcType)
5979 {
5980  //
5981  // Set the DC trip input
5982  //
5983  HW_WR_REG16(base + CSL_EPWM_DCTRIPSEL,
5984  ((HW_RD_REG16(base + CSL_EPWM_DCTRIPSEL) &
5985  ~(CSL_EPWM_DCTRIPSEL_DCAHCOMPSEL_MASK <<
5986  ((uint16_t)dcType << 2U))) |
5987  ((uint16_t)tripSource << ((uint16_t)dcType << 2U))));
5988 }
5989 
5990 //
5991 // DCFILT
5992 //
5993 //*****************************************************************************
5994 //
6002 //
6003 //*****************************************************************************
6004 static inline void
6006 {
6007  //
6008  // Enable DC filter blanking window
6009  //
6010  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6011  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) | CSL_EPWM_DCFCTL_BLANKE_MASK));
6012 }
6013 
6014 //*****************************************************************************
6015 //
6023 //
6024 //*****************************************************************************
6025 static inline void
6027 {
6028  //
6029  // Disable DC filter blanking window
6030  //
6031  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6032  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) & ~CSL_EPWM_DCFCTL_BLANKE_MASK));
6033 }
6034 
6035 //*****************************************************************************
6036 //
6045 //
6046 //*****************************************************************************
6047 static inline void
6049 {
6050  //
6051  // Enable DC window inverse mode.
6052  //
6053  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6054  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) | CSL_EPWM_DCFCTL_BLANKINV_MASK));
6055 }
6056 
6057 //*****************************************************************************
6058 //
6066 //
6067 //*****************************************************************************
6068 static inline void
6070 {
6071  //
6072  // Disable DC window inverse mode.
6073  //
6074  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6075  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6076  ~CSL_EPWM_DCFCTL_BLANKINV_MASK));
6077 }
6078 
6079 //*****************************************************************************
6080 //
6096 //
6097 //*****************************************************************************
6098 static inline void
6100  EPWM_DigitalCompareBlankingPulse blankingPulse,
6101  uint16_t mixedSource)
6102 {
6103  if(blankingPulse == EPWM_DC_WINDOW_START_TBCTR_BLANK_PULSE_MIX)
6104  {
6105  //
6106  // Enable mixed events
6107  //
6108  HW_WR_REG16(base + CSL_EPWM_BLANKPULSEMIXSEL, mixedSource);
6109  }
6110 
6111  //
6112  // Set DC blanking event
6113  //
6114  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6115  ((HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6116  ~CSL_EPWM_DCFCTL_PULSESEL_MASK) |
6117  ((uint16_t)((uint32_t)blankingPulse <<
6118  CSL_EPWM_DCFCTL_PULSESEL_SHIFT))));
6119 }
6120 
6121 //*****************************************************************************
6122 //
6137 //
6138 //*****************************************************************************
6139 static inline void
6141  EPWM_DigitalCompareFilterInput filterInput)
6142 {
6143  //
6144  // Set the signal source that will be filtered
6145  //
6146  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6147  ((HW_RD_REG16(base + CSL_EPWM_DCFCTL) & ~CSL_EPWM_DCFCTL_SRCSEL_MASK) |
6148  ((uint16_t)filterInput)));
6149 }
6150 
6151 //
6152 // DC Edge Filter
6153 //
6154 //*****************************************************************************
6155 //
6164 //
6165 //*****************************************************************************
6166 static inline void
6168 {
6169  //
6170  // Enable DC Edge Filter
6171  //
6172  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6173  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) |
6174  CSL_EPWM_DCFCTL_EDGEFILTSEL_MASK));
6175 }
6176 
6177 //*****************************************************************************
6178 //
6186 //
6187 //*****************************************************************************
6188 static inline void
6190 {
6191  //
6192  // Disable DC Edge Filter
6193  //
6194  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6195  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6196  ~CSL_EPWM_DCFCTL_EDGEFILTSEL_MASK));
6197 }
6198 
6199 //*****************************************************************************
6200 //
6213 //
6214 //*****************************************************************************
6215 static inline void
6218 {
6219  //
6220  // Set DC Edge filter mode
6221  //
6222  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6223  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6224  ~CSL_EPWM_DCFCTL_EDGEMODE_MASK) |
6225  (edgeMode << CSL_EPWM_DCFCTL_EDGEMODE_SHIFT));
6226 }
6227 
6228 //*****************************************************************************
6229 //
6247 //
6248 //*****************************************************************************
6249 static inline void
6252 {
6253  //
6254  // Set DC Edge filter edge count
6255  //
6256  HW_WR_REG16(base + CSL_EPWM_DCFCTL,
6257  (HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6258  ~CSL_EPWM_DCFCTL_EDGECOUNT_MASK) |
6259  (edgeCount << CSL_EPWM_DCFCTL_EDGECOUNT_SHIFT));
6260 }
6261 
6262 //*****************************************************************************
6263 //
6272 //
6273 //*****************************************************************************
6274 static inline uint16_t
6276 {
6277  //
6278  // Return configured DC edge filter edge count
6279  //
6280  return((HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6281  CSL_EPWM_DCFCTL_EDGECOUNT_MASK) >>
6282  CSL_EPWM_DCFCTL_EDGECOUNT_SHIFT);
6283 }
6284 
6285 //*****************************************************************************
6286 //
6295 //
6296 //*****************************************************************************
6297 static inline uint16_t
6299 {
6300  //
6301  // Return captured edge count by DC Edge filter
6302  //
6303  return((HW_RD_REG16(base + CSL_EPWM_DCFCTL) &
6304  CSL_EPWM_DCFCTL_EDGESTATUS_MASK) >>
6305  CSL_EPWM_DCFCTL_EDGESTATUS_SHIFT);
6306 }
6307 
6308 //*****************************************************************************
6309 //
6320 //
6321 //*****************************************************************************
6322 static inline void
6323 EPWM_setDigitalCompareWindowOffset(uint32_t base, uint16_t windowOffsetCount)
6324 {
6325  //
6326  // Set the blanking window offset in TBCLK counts
6327  //
6328  HW_WR_REG16(base + CSL_EPWM_DCFOFFSET, windowOffsetCount);
6329 }
6330 
6331 //*****************************************************************************
6332 //
6342 //
6343 //*****************************************************************************
6344 static inline void
6345 EPWM_setDigitalCompareWindowLength(uint32_t base, uint16_t windowLengthCount)
6346 {
6347  //
6348  // Set the blanking window length in TBCLK counts
6349  //
6350  HW_WR_REG16(base + CSL_EPWM_DCFWINDOW, windowLengthCount);
6351 }
6352 
6353 //*****************************************************************************
6354 //
6362 //
6363 //*****************************************************************************
6364 static inline uint16_t
6366 {
6367  //
6368  // Return the Blanking Window Offset count
6369  //
6370  return(HW_RD_REG16(base + CSL_EPWM_DCFOFFSETCNT));
6371 }
6372 
6373 //*****************************************************************************
6374 //
6382 //
6383 //*****************************************************************************
6384 static inline uint16_t
6386 {
6387  //
6388  // Return the Blanking Window Length count
6389  //
6390  return(HW_RD_REG16(base + CSL_EPWM_DCFWINDOWCNT));
6391 }
6392 
6393 //*****************************************************************************
6394 //
6420 //
6421 //*****************************************************************************
6422 static inline void
6424  EPWM_DigitalCompareModule dcModule,
6425  EPWM_DigitalCompareEvent dcEvent,
6426  EPWM_DigitalCompareEventSource dcEventSource)
6427 {
6428  uint32_t registerOffset;
6429 
6430  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6431 
6432  //
6433  // Set the DC event 1 source source
6434  //
6435  if(dcEvent == EPWM_DC_EVENT_1)
6436  {
6437  HW_WR_REG16(base + registerOffset,
6438  ((HW_RD_REG16(base + registerOffset) &
6439  ~CSL_EPWM_DCACTL_EVT1SRCSEL_MASK) |
6440  (uint16_t)dcEventSource));
6441  }
6442  else
6443  {
6444  HW_WR_REG16(base + registerOffset,
6445  ((HW_RD_REG16(base + registerOffset) &
6446  ~CSL_EPWM_DCACTL_EVT2SRCSEL_MASK) |
6447  ((uint16_t)dcEventSource << CSL_EPWM_DCACTL_EVT2SRCSEL_SHIFT)));
6448  }
6449 }
6450 
6451 //*****************************************************************************
6452 //
6475 //
6476 //*****************************************************************************
6477 static inline void
6479  EPWM_DigitalCompareModule dcModule,
6480  EPWM_DigitalCompareEvent dcEvent,
6481  EPWM_DigitalCompareSyncMode syncMode)
6482 {
6483  uint32_t registerOffset;
6484 
6485  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6486 
6487  //
6488  // Set the DC event sync mode
6489  //
6490  if(dcEvent == EPWM_DC_EVENT_1)
6491  {
6492  HW_WR_REG16(base + registerOffset,
6493  ((HW_RD_REG16(base + registerOffset) &
6494  ~CSL_EPWM_DCACTL_EVT1FRCSYNCSEL_MASK) |
6495  ((uint16_t)syncMode << CSL_EPWM_DCACTL_EVT1FRCSYNCSEL_SHIFT)));
6496  }
6497  else
6498  {
6499  HW_WR_REG16(base + registerOffset,
6500  ((HW_RD_REG16(base + registerOffset) &
6501  ~CSL_EPWM_DCACTL_EVT2FRCSYNCSEL_MASK) |
6502  ((uint16_t)syncMode << CSL_EPWM_DCACTL_EVT2FRCSYNCSEL_SHIFT)));
6503  }
6504 }
6505 
6506 //*****************************************************************************
6507 //
6520 //
6521 //*****************************************************************************
6522 static inline void
6524  EPWM_DigitalCompareModule dcModule)
6525 {
6526  uint32_t registerOffset;
6527 
6528  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6529 
6530  //
6531  // Enable Digital Compare start of conversion generation
6532  //
6533  HW_WR_REG16(base + registerOffset,
6534  (HW_RD_REG16(base + registerOffset) | CSL_EPWM_DCACTL_EVT1SOCE_MASK));
6535 }
6536 
6537 //*****************************************************************************
6538 //
6551 //
6552 //*****************************************************************************
6553 static inline void
6555  EPWM_DigitalCompareModule dcModule)
6556 {
6557  uint32_t registerOffset;
6558 
6559  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6560 
6561  //
6562  // Disable Digital Compare start of conversion generation
6563  //
6564  HW_WR_REG16(base + registerOffset,
6565  (HW_RD_REG16(base + registerOffset) & ~CSL_EPWM_DCACTL_EVT1SOCE_MASK));
6566 }
6567 
6568 //*****************************************************************************
6569 //
6582 //
6583 //*****************************************************************************
6584 static inline void
6586  EPWM_DigitalCompareModule dcModule)
6587 {
6588  uint32_t registerOffset;
6589 
6590  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6591 
6592  //
6593  // Enable Digital Compare sync out pulse generation
6594  //
6595  HW_WR_REG16(base + registerOffset,
6596  (HW_RD_REG16(base + registerOffset) | CSL_EPWM_DCACTL_EVT1SYNCE_MASK));
6597 }
6598 
6599 //*****************************************************************************
6600 //
6613 //
6614 //*****************************************************************************
6615 static inline void
6617  EPWM_DigitalCompareModule dcModule)
6618 {
6619  uint32_t registerOffset;
6620 
6621  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6622 
6623  //
6624  // Disable Digital Compare sync out pulse generation
6625  //
6626  HW_WR_REG16(base + registerOffset,
6627  (HW_RD_REG16(base + registerOffset) &
6628  ~CSL_EPWM_DCACTL_EVT1SYNCE_MASK));
6629 }
6630 
6631 //*****************************************************************************
6632 //
6653 //
6654 //*****************************************************************************
6655 static inline void
6657  EPWM_DigitalCompareModule dcModule,
6658  EPWM_DigitalCompareEvent dcEvent,
6660 {
6661  uint32_t registerOffset;
6662 
6663  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6664 
6665  //
6666  // Set the DC CBC Latch Mode
6667  //
6668  if(dcEvent == EPWM_DC_EVENT_1)
6669  {
6670  HW_WR_REG16(base + registerOffset,
6671  ((HW_RD_REG16(base + registerOffset) &
6672  ~CSL_EPWM_DCACTL_EVT1LATSEL_MASK) |
6673  ((uint16_t)latchMode << CSL_EPWM_DCACTL_EVT1LATSEL_SHIFT)));
6674  }
6675  else
6676  {
6677  HW_WR_REG16(base + registerOffset,
6678  ((HW_RD_REG16(base + registerOffset) &
6679  ~CSL_EPWM_DCACTL_EVT2LATSEL_MASK) |
6680  ((uint16_t)latchMode << CSL_EPWM_DCACTL_EVT2LATSEL_SHIFT)));
6681  }
6682 }
6683 
6684 //*****************************************************************************
6685 //
6711 //
6712 //*****************************************************************************
6713 static inline void
6715  EPWM_DigitalCompareModule dcModule,
6716  EPWM_DigitalCompareEvent dcEvent,
6718 {
6719  uint32_t registerOffset;
6720 
6721  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6722 
6723  //
6724  // Set the DC CBC Latch Clear Event
6725  //
6726  if(dcEvent == EPWM_DC_EVENT_1)
6727  {
6728  HW_WR_REG16(base + registerOffset,
6729  ((HW_RD_REG16(base + registerOffset) &
6730  ~CSL_EPWM_DCACTL_EVT1LATCLRSEL_MASK) |
6731  ((uint16_t)clearEvent << CSL_EPWM_DCACTL_EVT1LATCLRSEL_SHIFT)));
6732  }
6733  else
6734  {
6735  HW_WR_REG16(base + registerOffset,
6736  ((HW_RD_REG16(base + registerOffset) &
6737  ~CSL_EPWM_DCACTL_EVT2LATCLRSEL_MASK) |
6738  ((uint16_t)clearEvent << CSL_EPWM_DCACTL_EVT2LATCLRSEL_SHIFT)));
6739  }
6740 }
6741 
6742 //*****************************************************************************
6743 //
6763 //
6764 //*****************************************************************************
6765 static inline bool
6767  EPWM_DigitalCompareModule dcModule,
6768  EPWM_DigitalCompareEvent dcEvent)
6769 {
6770  uint32_t registerOffset;
6771  uint16_t status;
6772 
6773  registerOffset = CSL_EPWM_DCACTL + (uint16_t)dcModule * EPWM_DCxCTL_STEP;
6774 
6775  //
6776  // Get DC CBC Latch Clear Event
6777  //
6778  if(dcEvent == EPWM_DC_EVENT_1)
6779  {
6780  status = HW_RD_REG16(base + registerOffset) &
6781  CSL_EPWM_DCACTL_EVT1LAT_MASK;
6782  }
6783  else
6784  {
6785  status = HW_RD_REG16(base + registerOffset) &
6786  CSL_EPWM_DCACTL_EVT2LAT_MASK;
6787  }
6788 
6789  return(status != 0U);
6790 }
6791 
6792 //
6793 // DC capture mode
6794 //
6795 //*****************************************************************************
6796 //
6804 //
6805 //*****************************************************************************
6806 static inline void
6808 {
6809  //
6810  // Enable Time base counter capture
6811  //
6812  HW_WR_REG16(base + CSL_EPWM_DCCAPCTL,
6813  (HW_RD_REG16(base + CSL_EPWM_DCCAPCTL) | CSL_EPWM_DCCAPCTL_CAPE_MASK));
6814 }
6815 
6816 //*****************************************************************************
6817 //
6825 //
6826 //*****************************************************************************
6827 static inline void
6829 {
6830  //
6831  // Disable Time base counter capture
6832  //
6833  HW_WR_REG16(base + CSL_EPWM_DCCAPCTL,
6834  (HW_RD_REG16(base + CSL_EPWM_DCCAPCTL) &
6835  ~CSL_EPWM_DCCAPCTL_CAPE_MASK));
6836 }
6837 
6838 //*****************************************************************************
6839 //
6851 //
6852 //*****************************************************************************
6853 static inline void
6854 EPWM_setDigitalCompareCounterShadowMode(uint32_t base, bool enableShadowMode)
6855 {
6856  if(enableShadowMode)
6857  {
6858  //
6859  // Enable DC counter shadow mode
6860  //
6861  HW_WR_REG16(base + CSL_EPWM_DCCAPCTL,
6862  (HW_RD_REG16(base + CSL_EPWM_DCCAPCTL) &
6863  ~CSL_EPWM_DCCAPCTL_SHDWMODE_MASK));
6864  }
6865  else
6866  {
6867  //
6868  // Disable DC counter shadow mode
6869  //
6870  HW_WR_REG16(base + CSL_EPWM_DCCAPCTL,
6871  (HW_RD_REG16(base + CSL_EPWM_DCCAPCTL) |
6872  CSL_EPWM_DCCAPCTL_SHDWMODE_MASK));
6873  }
6874 }
6875 
6876 //*****************************************************************************
6877 //
6888 //
6889 //*****************************************************************************
6890 static inline bool
6892 {
6893  //
6894  // Return the DC compare status
6895  //
6896  return((HW_RD_REG16(base + CSL_EPWM_DCCAPCTL) &
6897  CSL_EPWM_DCCAPCTL_CAPSTS_MASK) == CSL_EPWM_DCCAPCTL_CAPSTS_MASK);
6898 }
6899 
6900 //*****************************************************************************
6901 //
6911 //
6912 //*****************************************************************************
6913 static inline uint16_t
6915 {
6916  //
6917  // Return the DC Time Base Counter Capture count value
6918  //
6919  return(HW_RD_REG16(base + CSL_EPWM_DCCAP));
6920 }
6921 
6922 //*****************************************************************************
6923 //
6941 //
6942 //*****************************************************************************
6943 static inline void
6945  uint16_t tripInput,
6946  EPWM_DigitalCompareType dcType)
6947 {
6948  uint32_t registerOffset;
6949 
6950  //
6951  // Get the DCAHTRIPSEL, DCALTRIPSEL, DCBHTRIPSEL, DCBLTRIPSEL register
6952  // offset with respect to DCAHTRIPSEL
6953  //
6954  registerOffset = CSL_EPWM_DCAHTRIPSEL +
6955  (uint16_t)dcType * EPWM_DCxxTRIPSEL;
6956 
6957  //
6958  // Set the DC trip input
6959  //
6960  HW_WR_REG16(base + registerOffset,
6961  (HW_RD_REG16(base + registerOffset) | tripInput));
6962 
6963  //
6964  // Enable the combination input
6965  //
6966  HW_WR_REG16(base + CSL_EPWM_DCTRIPSEL,
6967  (HW_RD_REG16(base + CSL_EPWM_DCTRIPSEL) |
6968  (CSL_EPWM_DCTRIPSEL_DCAHCOMPSEL_MASK << ((uint16_t)dcType << 2U))));
6969 }
6970 
6971 //*****************************************************************************
6972 //
6990 //
6991 //*****************************************************************************
6992 static inline void
6994  uint16_t tripInput,
6995  EPWM_DigitalCompareType dcType)
6996 {
6997  uint32_t registerOffset;
6998 
6999  //
7000  // Get the DCAHTRIPSEL, DCALTRIPSEL, DCBHTRIPSEL, DCBLTRIPSEL register
7001  // offset with respect to DCAHTRIPSEL
7002  //
7003  registerOffset = CSL_EPWM_DCAHTRIPSEL +
7004  (uint16_t)dcType * EPWM_DCxxTRIPSEL;
7005 
7006  //
7007  // Set the DC trip input
7008  //
7009  HW_WR_REG16(base + registerOffset,
7010  (HW_RD_REG16(base + registerOffset) & ~tripInput));
7011 }
7012 
7013 //
7014 // Valley switching
7015 //
7016 //*****************************************************************************
7017 //
7025 //
7026 //*****************************************************************************
7027 static inline void
7029 {
7030  //
7031  // Set VCAPE bit
7032  //
7033  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7034  (HW_RD_REG16(base + CSL_EPWM_VCAPCTL) | CSL_EPWM_VCAPCTL_VCAPE_MASK));
7035 }
7036 
7037 //*****************************************************************************
7038 //
7046 //
7047 //*****************************************************************************
7048 static inline void
7050 {
7051  //
7052  // Clear VCAPE bit
7053  //
7054  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7055  (HW_RD_REG16(base + CSL_EPWM_VCAPCTL) & ~CSL_EPWM_VCAPCTL_VCAPE_MASK));
7056 }
7057 
7058 //*****************************************************************************
7059 //
7071 //
7072 //*****************************************************************************
7073 static inline void
7075 {
7076  //
7077  // Set VCAPSTART bit
7078  //
7079  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7080  (HW_RD_REG16(base + CSL_EPWM_VCAPCTL) |
7081  CSL_EPWM_VCAPCTL_VCAPSTART_MASK));
7082 }
7083 
7084 //*****************************************************************************
7085 //
7097 //
7098 //*****************************************************************************
7099 static inline void
7101 {
7102  //
7103  // Write to TRIGSEL bits
7104  //
7105  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7106  ((HW_RD_REG16(base + CSL_EPWM_VCAPCTL) &
7107  ~CSL_EPWM_VCAPCTL_TRIGSEL_MASK) |
7108  ((uint16_t)trigger << CSL_EPWM_VCAPCTL_TRIGSEL_SHIFT)));
7109 }
7110 
7111 //*****************************************************************************
7112 //
7129 //
7130 //*****************************************************************************
7131 static inline void
7132 EPWM_setValleyTriggerEdgeCounts(uint32_t base, uint16_t startCount,
7133  uint16_t stopCount)
7134 {
7135  //
7136  // Check the arguments
7137  //
7138  DebugP_assert((startCount < 16U) && (stopCount < 16U));
7139 
7140  //
7141  // Write to STARTEDGE and STOPEDGE bits
7142  //
7143  HW_WR_REG16(base + CSL_EPWM_VCNTCFG,
7144  ((HW_RD_REG16(base + CSL_EPWM_VCNTCFG) &
7145  ~(CSL_EPWM_VCNTCFG_STARTEDGE_MASK | CSL_EPWM_VCNTCFG_STOPEDGE_MASK)) |
7146  (startCount | (stopCount << CSL_EPWM_VCNTCFG_STOPEDGE_SHIFT))));
7147 }
7148 
7149 //*****************************************************************************
7150 //
7158 //
7159 //*****************************************************************************
7160 static inline void
7162 {
7163  //
7164  // Set EDGEFILTDLYSEL bit
7165  //
7166  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7167  (HW_RD_REG16(base + CSL_EPWM_VCAPCTL) |
7168  CSL_EPWM_VCAPCTL_EDGEFILTDLYSEL_MASK));
7169 }
7170 
7171 //*****************************************************************************
7172 //
7180 //
7181 //*****************************************************************************
7182 static inline void
7184 {
7185  //
7186  // Clear EDGEFILTDLYSEL bit
7187  //
7188  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7189  (HW_RD_REG16(base + CSL_EPWM_VCAPCTL) &
7190  ~CSL_EPWM_VCAPCTL_EDGEFILTDLYSEL_MASK));
7191 }
7192 
7193 //*****************************************************************************
7194 //
7203 //
7204 //*****************************************************************************
7205 static inline void
7206 EPWM_setValleySWDelayValue(uint32_t base, uint16_t delayOffsetValue)
7207 {
7208  //
7209  // Write to SWVDELVAL bits
7210  //
7211  HW_WR_REG16(base + CSL_EPWM_SWVDELVAL, delayOffsetValue);
7212 }
7213 
7214 //*****************************************************************************
7215 //
7224 //
7225 //*****************************************************************************
7226 static inline void
7228 {
7229  //
7230  // Write to VDELAYDIV bits
7231  //
7232  HW_WR_REG16(base + CSL_EPWM_VCAPCTL,
7233  ((HW_RD_REG16(base + CSL_EPWM_VCAPCTL) &
7234  ~CSL_EPWM_VCAPCTL_VDELAYDIV_MASK) |
7235  ((uint16_t)delayMode << CSL_EPWM_VCAPCTL_VDELAYDIV_SHIFT)));
7236 }
7237 
7238 //*****************************************************************************
7239 //
7252 //
7253 //*****************************************************************************
7254 static inline bool
7256 {
7257  if(edge == EPWM_VALLEY_COUNT_START_EDGE)
7258  {
7259  //
7260  // Returns STARTEDGESTS status
7261  //
7262  return(((HW_RD_REG16(base + CSL_EPWM_VCNTCFG) &
7263  CSL_EPWM_VCNTCFG_STARTEDGESTS_MASK) ==
7264  CSL_EPWM_VCNTCFG_STARTEDGESTS_MASK) ? true : false);
7265  }
7266  else
7267  {
7268  //
7269  // Returns STOPEDGESTS status
7270  //
7271  return(((HW_RD_REG16(base + CSL_EPWM_VCNTCFG) &
7272  CSL_EPWM_VCNTCFG_STOPEDGESTS_MASK) ==
7273  CSL_EPWM_VCNTCFG_STOPEDGESTS_MASK) ? true : false);
7274  }
7275 }
7276 
7277 //*****************************************************************************
7278 //
7289 //
7290 //*****************************************************************************
7291 static inline uint16_t
7292 EPWM_getValleyCount(uint32_t base)
7293 {
7294  //
7295  // Read VCNTVAL register
7296  //
7297  return(HW_RD_REG16(base + CSL_EPWM_VCNTVAL));
7298 }
7299 
7300 //*****************************************************************************
7301 //
7309 //
7310 //*****************************************************************************
7311 static inline uint16_t
7313 {
7314  //
7315  // Read HWVDELVAL register
7316  //
7317  return(HW_RD_REG16(base + CSL_EPWM_HWVDELVAL));
7318 }
7319 
7320 //*****************************************************************************
7321 //
7331 //
7332 //*****************************************************************************
7333 static inline void
7335 {
7336  //
7337  // Shadow to active load is controlled globally
7338  //
7339  HW_WR_REG16(base + CSL_EPWM_GLDCTL,
7340  (HW_RD_REG16(base + CSL_EPWM_GLDCTL) | CSL_EPWM_GLDCTL_GLD_MASK));
7341 }
7342 
7343 //*****************************************************************************
7344 //
7353 //
7354 //*****************************************************************************
7355 static inline void
7357 {
7358  //
7359  // Shadow to active load is controlled individually
7360  //
7361  HW_WR_REG16(base + CSL_EPWM_GLDCTL,
7362  (HW_RD_REG16(base + CSL_EPWM_GLDCTL) & ~CSL_EPWM_GLDCTL_GLD_MASK));
7363 }
7364 
7365 //*****************************************************************************
7366 //
7392 //
7393 //*****************************************************************************
7394 static inline void
7396 {
7397  //
7398  // Set the Global shadow to active load pulse
7399  //
7400  HW_WR_REG16(base + CSL_EPWM_GLDCTL,
7401  ((HW_RD_REG16(base + CSL_EPWM_GLDCTL) &
7402  ~CSL_EPWM_GLDCTL_GLDMODE_MASK) |
7403  ((uint16_t)loadTrigger << CSL_EPWM_GLDCTL_GLDMODE_SHIFT)));
7404 }
7405 
7406 //*****************************************************************************
7407 //
7419 //
7420 //*****************************************************************************
7421 static inline void
7422 EPWM_setGlobalLoadEventPrescale(uint32_t base, uint16_t prescalePulseCount)
7423 {
7424  //
7425  // Check the arguments
7426  //
7427  DebugP_assert(prescalePulseCount < 8U);
7428 
7429  //
7430  // Set the number of counts that have to occur before
7431  // a load strobe is issued
7432  //
7433  HW_WR_REG16(base + CSL_EPWM_GLDCTL,
7434  ((HW_RD_REG16(base + CSL_EPWM_GLDCTL) & ~CSL_EPWM_GLDCTL_GLDPRD_MASK) |
7435  (prescalePulseCount << CSL_EPWM_GLDCTL_GLDPRD_SHIFT)));
7436 }
7437 
7438 //*****************************************************************************
7439 //
7449 //
7450 //*****************************************************************************
7451 static inline uint16_t
7453 {
7454  //
7455  // Return the number of events that have occurred
7456  //
7457  return((HW_RD_REG16(base + CSL_EPWM_GLDCTL) >>
7458  CSL_EPWM_GLDCTL_GLDCNT_SHIFT) & CSL_EPWM_GLDCTL_GLDCNT_MAX);
7459 }
7460 
7461 //*****************************************************************************
7462 //
7472 //
7473 //*****************************************************************************
7474 static inline void
7476 {
7477  //
7478  // Enable global continuous shadow to active load
7479  //
7480  HW_WR_REG16(base + CSL_EPWM_GLDCTL,
7481  (HW_RD_REG16(base + CSL_EPWM_GLDCTL) &
7482  ~CSL_EPWM_GLDCTL_OSHTMODE_MASK));
7483 }
7484 
7485 //*****************************************************************************
7486 //
7496 //
7497 //*****************************************************************************
7498 static inline void
7500 {
7501  //
7502  // Enable global continuous shadow to active load
7503  //
7504  HW_WR_REG16(base + CSL_EPWM_GLDCTL,
7505  (HW_RD_REG16(base + CSL_EPWM_GLDCTL) | CSL_EPWM_GLDCTL_OSHTMODE_MASK));
7506 }
7507 
7508 //*****************************************************************************
7509 //
7519 //
7520 //*****************************************************************************
7521 static inline void
7523 {
7524  //
7525  // Set a one shot Global shadow load pulse.
7526  //
7527  HW_WR_REG16(base + CSL_EPWM_GLDCTL2,
7528  (HW_RD_REG16(base + CSL_EPWM_GLDCTL2) | CSL_EPWM_GLDCTL2_OSHTLD_MASK));
7529 }
7530 
7531 //*****************************************************************************
7532 //
7541 //
7542 //*****************************************************************************
7543 static inline void
7545 {
7546  //
7547  // Force a Software Global shadow load pulse
7548  //
7549  HW_WR_REG16(base + CSL_EPWM_GLDCTL2,
7550  (HW_RD_REG16(base + CSL_EPWM_GLDCTL2) | CSL_EPWM_GLDCTL2_GFRCLD_MASK));
7551 }
7552 
7553 //*****************************************************************************
7554 //
7576 //
7577 //*****************************************************************************
7578 static inline void
7579 EPWM_enableGlobalLoadRegisters(uint32_t base, uint16_t loadRegister)
7580 {
7581  //
7582  // Check the arguments
7583  //
7584  DebugP_assert((loadRegister > 0x0000U) && (loadRegister < 0x0800U));
7585 
7586  //
7587  // The register specified by loadRegister is loaded globally
7588  //
7589  HW_WR_REG16(base + CSL_EPWM_GLDCFG,
7590  (HW_RD_REG16(base + CSL_EPWM_GLDCFG) | loadRegister));
7591 }
7592 
7593 //*****************************************************************************
7594 //
7617 //
7618 //*****************************************************************************
7619 static inline void
7620 EPWM_disableGlobalLoadRegisters(uint32_t base, uint16_t loadRegister)
7621 {
7622  //
7623  // Check the arguments
7624  //
7625  DebugP_assert((loadRegister > 0x0000U) && (loadRegister < 0x0800U));
7626 
7627  //
7628  // The register specified by loadRegister is loaded by individual
7629  // register configuration setting
7630  //
7631  HW_WR_REG16(base + CSL_EPWM_GLDCFG,
7632  (HW_RD_REG16(base + CSL_EPWM_GLDCFG) & ~loadRegister));
7633 }
7634 
7635 //*****************************************************************************
7636 //
7646 //
7647 //*****************************************************************************
7648 static inline void
7649 EPWM_lockRegisters(uint32_t base, EPWM_LockRegisterGroup registerGroup)
7650 {
7651  //
7652  // Write the Key to EPWMLOCK register
7653  //
7654  HW_WR_REG32(base + CSL_EPWM_EPWMLOCK,
7655  ((uint32_t)EPWM_LOCK_KEY | ((uint32_t)registerGroup)));
7656 }
7657 
7658 //
7659 // Minimum Dead Band
7660 //
7661 //*****************************************************************************
7662 //
7671 //
7672 //*****************************************************************************
7673 static inline void
7674 EPWM_enableMinimumDeadBand(uint32_t base, uint32_t block)
7675 {
7676  if(block == EPWM_MINDB_BLOCK_A)
7677  {
7678  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7679  (HW_RD_REG32(base + CSL_EPWM_MINDBCFG) |
7680  CSL_EPWM_MINDBCFG_ENABLEA_MASK));
7681  }
7682  else
7683  {
7684  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7685  (HW_RD_REG32(base + CSL_EPWM_MINDBCFG) |
7686  CSL_EPWM_MINDBCFG_ENABLEB_MASK));
7687  }
7688 }
7689 
7690 //*****************************************************************************
7691 //
7700 //
7701 //*****************************************************************************
7702 static inline void
7703 EPWM_disableMinimumDeadBand(uint32_t base, uint32_t block)
7704 {
7705  if(block == EPWM_MINDB_BLOCK_A)
7706  {
7707  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7708  (HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7709  ~CSL_EPWM_MINDBCFG_ENABLEA_MASK));
7710  }
7711  else
7712  {
7713  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7714  (HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7715  ~CSL_EPWM_MINDBCFG_ENABLEB_MASK));
7716  }
7717 }
7718 
7719 //*****************************************************************************
7720 //
7731 //
7732 //*****************************************************************************
7733 static inline void
7734 EPWM_invertMinimumDeadBandSignal(uint32_t base, uint32_t block,
7735  uint32_t invert)
7736 {
7737  if(block == EPWM_MINDB_BLOCK_A)
7738  {
7739  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7740  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7741  ~CSL_EPWM_MINDBCFG_INVERTA_MASK) |
7742  (invert<<CSL_EPWM_MINDBCFG_INVERTA_SHIFT)));
7743  }
7744  else
7745  {
7746  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7747  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7748  ~CSL_EPWM_MINDBCFG_INVERTB_MASK) |
7749  (invert<<CSL_EPWM_MINDBCFG_INVERTB_SHIFT)));
7750  }
7751 }
7752 
7753 //*****************************************************************************
7754 //
7766 //
7767 //*****************************************************************************
7768 static inline void
7769 EPWM_selectMinimumDeadBandAndOrLogic(uint32_t base, uint32_t block,
7770  uint32_t referenceSignal)
7771 {
7772  if(block == EPWM_MINDB_BLOCK_A)
7773  {
7774  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7775  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7776  ~CSL_EPWM_MINDBCFG_POLSELA_MASK) |
7777  (referenceSignal<<CSL_EPWM_MINDBCFG_POLSELA_SHIFT)));
7778  }
7779  else
7780  {
7781  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7782  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7783  ~CSL_EPWM_MINDBCFG_POLSELB_MASK) |
7784  (referenceSignal<<CSL_EPWM_MINDBCFG_POLSELB_SHIFT)));
7785  }
7786 }
7787 
7788 //*****************************************************************************
7789 //
7800 //
7801 //*****************************************************************************
7802 static inline void
7803 EPWM_selectMinimumDeadBandBlockingSignal(uint32_t base, uint32_t block,
7804  uint32_t blockingSignal)
7805 {
7806  if(block == EPWM_MINDB_BLOCK_A)
7807  {
7808  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7809  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7810  ~CSL_EPWM_MINDBCFG_SELBLOCKA_MASK) |
7811  (blockingSignal<<CSL_EPWM_MINDBCFG_SELBLOCKA_SHIFT)));
7812  }
7813  else
7814  {
7815  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7816  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7817  ~CSL_EPWM_MINDBCFG_SELBLOCKB_MASK) |
7818  (blockingSignal<<CSL_EPWM_MINDBCFG_SELBLOCKB_SHIFT)));
7819  }
7820 }
7821 
7822 //*****************************************************************************
7823 //
7833 //
7834 //*****************************************************************************
7835 static inline void
7836 EPWM_selectMinimumDeadBandReferenceSignal(uint32_t base, uint32_t block,
7837  uint32_t referenceSignal)
7838 {
7839  if(block == EPWM_MINDB_BLOCK_A)
7840  {
7841  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7842  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7843  ~CSL_EPWM_MINDBCFG_SELA_MASK) |
7844  (referenceSignal<<CSL_EPWM_MINDBCFG_SELA_SHIFT)));
7845  }
7846  else
7847  {
7848  HW_WR_REG32(base + CSL_EPWM_MINDBCFG,
7849  ((HW_RD_REG32(base + CSL_EPWM_MINDBCFG) &
7850  ~CSL_EPWM_MINDBCFG_SELB_MASK) |
7851  (referenceSignal<<CSL_EPWM_MINDBCFG_SELB_SHIFT)));
7852  }
7853 }
7854 
7855 //*****************************************************************************
7856 //
7865 //
7866 //*****************************************************************************
7867 static inline uint32_t
7868 EPWM_getMinDeadBandDelay(uint32_t base, uint32_t block)
7869 {
7870  uint32_t retval;
7871 
7872  if(block == EPWM_MINDB_BLOCK_A)
7873  {
7874  retval = (HW_RD_REG32(base + CSL_EPWM_MINDBDLY) &
7875  CSL_EPWM_MINDBDLY_DELAYA_MASK);
7876  }
7877  else
7878  {
7879  retval = (HW_RD_REG32(base + CSL_EPWM_MINDBDLY) &
7880  CSL_EPWM_MINDBDLY_DELAYB_MASK);
7881  }
7882 
7883  return retval;
7884 }
7885 
7886 //*****************************************************************************
7887 //
7898 //
7899 //*****************************************************************************
7900 static inline void
7901 EPWM_setMinDeadBandDelay(uint32_t base, uint32_t block, uint32_t delay)
7902 {
7903  if(block == EPWM_MINDB_BLOCK_A)
7904  {
7905  HW_WR_REG32(base + CSL_EPWM_MINDBDLY,
7906  ((HW_RD_REG32(base + CSL_EPWM_MINDBDLY) &
7907  ~CSL_EPWM_MINDBDLY_DELAYA_MASK) |
7908  (delay<<CSL_EPWM_MINDBDLY_DELAYA_SHIFT)));
7909  }
7910  else
7911  {
7912  HW_WR_REG32(base + CSL_EPWM_MINDBDLY,
7913  ((HW_RD_REG32(base + CSL_EPWM_MINDBDLY) &
7914  ~CSL_EPWM_MINDBDLY_DELAYB_MASK) |
7915  (delay<<CSL_EPWM_MINDBDLY_DELAYB_SHIFT)));
7916  }
7917 }
7918 
7919 //
7920 // Illegal Combo Logic
7921 //
7922 //*****************************************************************************
7923 //
7932 //
7933 //*****************************************************************************
7934 static inline void
7935 EPWM_enableIllegalComboLogic(uint32_t base, uint32_t block)
7936 {
7937  if(block == EPWM_MINDB_BLOCK_A)
7938  {
7939  HW_WR_REG32(base + CSL_EPWM_LUTCTLA,
7940  (HW_RD_REG32(base + CSL_EPWM_LUTCTLA) |
7941  CSL_EPWM_LUTCTLA_BYPASS_MASK));
7942  }
7943  else
7944  {
7945  HW_WR_REG32(base + CSL_EPWM_LUTCTLB,
7946  (HW_RD_REG32(base + CSL_EPWM_LUTCTLB) |
7947  CSL_EPWM_LUTCTLB_BYPASS_MASK));
7948  }
7949 }
7950 
7951 //*****************************************************************************
7952 //
7961 //
7962 //*****************************************************************************
7963 static inline void
7964 EPWM_disableIllegalComboLogic(uint32_t base, uint32_t block)
7965 {
7966  if(block == EPWM_MINDB_BLOCK_A)
7967  {
7968  HW_WR_REG32(base + CSL_EPWM_LUTCTLA,
7969  (HW_RD_REG32(base + CSL_EPWM_LUTCTLA) &
7970  ~CSL_EPWM_LUTCTLA_BYPASS_MASK));
7971  }
7972  else
7973  {
7974  HW_WR_REG32(base + CSL_EPWM_LUTCTLB,
7975  (HW_RD_REG32(base + CSL_EPWM_LUTCTLB) &
7976  ~CSL_EPWM_LUTCTLB_BYPASS_MASK));
7977  }
7978 }
7979 
7980 //*****************************************************************************
7981 //
7991 //
7992 //*****************************************************************************
7993 static inline void
7994 EPWM_selectXbarInput(uint32_t base, uint32_t block, uint32_t xbarInput)
7995 {
7996  if(block == EPWM_MINDB_BLOCK_A)
7997  {
7998  HW_WR_REG32(base + CSL_EPWM_LUTCTLA,
7999  ((HW_RD_REG32(base + CSL_EPWM_LUTCTLA) &
8000  ~CSL_EPWM_LUTCTLA_SELXBAR_MASK) |
8001  (xbarInput<<CSL_EPWM_LUTCTLA_SELXBAR_SHIFT)));
8002  }
8003  else
8004  {
8005  HW_WR_REG32(base + CSL_EPWM_LUTCTLB,
8006  ((HW_RD_REG32(base + CSL_EPWM_LUTCTLB) &
8007  ~CSL_EPWM_LUTCTLB_SELXBAR_MASK) |
8008  (xbarInput<<CSL_EPWM_LUTCTLB_SELXBAR_SHIFT)));
8009  }
8010 }
8011 
8012 //*****************************************************************************
8013 //
8025 //
8026 //*****************************************************************************
8027 static inline void
8028 EPWM_setLutDecX(uint32_t base, uint32_t block, uint32_t decx, uint32_t force)
8029 {
8030  HW_WR_REG32(base + CSL_EPWM_LUTCTLA,
8031  ((HW_RD_REG32(base + CSL_EPWM_LUTCTLA) &
8032  ~(CSL_EPWM_LUTCTLA_LUTDEC0_MAX <<
8033  (CSL_EPWM_LUTCTLA_LUTDEC0_SHIFT+decx))) |
8034  (force<<(CSL_EPWM_LUTCTLA_LUTDEC0_SHIFT+decx))));
8035 }
8036 
8037 //*****************************************************************************
8038 //
8055 //
8056 //*****************************************************************************
8057 static inline void
8058 HRPWM_setPhaseShift(uint32_t base, uint32_t phaseCount)
8059 {
8060  //
8061  // Check the arguments
8062  //
8063  DebugP_assert(phaseCount <= 0xFFFFFFFF);
8064 
8065  //
8066  // Write to TBPHS:TBPHSHR bits
8067  //
8068  HW_WR_REG32(base + CSL_EPWM_TBPHS, phaseCount);
8069 }
8070 
8071 //*****************************************************************************
8072 //
8085 //
8086 //*****************************************************************************
8087 static inline void
8088 HRPWM_setHiResPhaseShift(uint32_t base, uint16_t hrPhaseCount)
8089 {
8090  //
8091  // Check the arguments
8092  //
8093  DebugP_assert(hrPhaseCount <= CSL_EPWM_TBPHS_TBPHSHR_MAX);
8094 
8095  //
8096  // Write to TBPHSHR bits
8097  //
8098  HW_WR_REG16(base + CSL_EPWM_TBPHS,
8099  ((HW_RD_REG16(base + CSL_EPWM_TBPHS) &
8100  ~((uint32_t)CSL_EPWM_TBPHS_TBPHSHR_MASK)) |
8101  ((uint32_t)hrPhaseCount << CSL_EPWM_TBPHS_TBPHSHR_SHIFT)));
8102 }
8103 
8104 //*****************************************************************************
8105 //
8120 //
8121 //*****************************************************************************
8122 static inline void
8123 HRPWM_setHiResTimeBasePeriod(uint32_t base, uint16_t hrPeriodCount)
8124 {
8125  //
8126  // Check the arguments
8127  //
8128  DebugP_assert(hrPeriodCount <= CSL_EPWM_TBPRDHR_TBPRDHR_MAX);
8129 
8130  //
8131  // Write to TBPRDHR bits
8132  //
8133  HW_WR_REG16(base + CSL_EPWM_TBPRDHR, hrPeriodCount << 8);
8134 }
8135 
8136 //*****************************************************************************
8137 //
8145 //
8146 //*****************************************************************************
8147 static inline uint16_t
8149 {
8150  //
8151  // Read from TBPRDHR bit
8152  //
8153  return(HW_RD_REG16(base + CSL_EPWM_TBPRDHR));
8154 }
8155 
8156 //*****************************************************************************
8157 //
8180 //
8181 //*****************************************************************************
8182 static inline void
8183 HRPWM_setMEPEdgeSelect(uint32_t base, HRPWM_Channel channel,
8184  HRPWM_MEPEdgeMode mepEdgeMode)
8185 {
8186  //
8187  // Set the edge mode
8188  //
8189  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8190  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG) &
8191  ~(CSL_EPWM_HRCNFG_EDGMODE_MAX << (uint16_t)channel)) |
8192  ((uint16_t)mepEdgeMode << (uint16_t)channel)));
8193 }
8194 
8195 //*****************************************************************************
8196 //
8217 //
8218 //*****************************************************************************
8219 static inline void
8221  HRPWM_MEPCtrlMode mepCtrlMode)
8222 {
8223  //
8224  // Set the MEP control
8225  //
8226  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8227  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG) &
8228  ~(CSL_EPWM_HRCNFG_CTLMODE_MAX << ((uint16_t)channel + 2U))) |
8229  ((uint16_t)mepCtrlMode << ((uint16_t)channel + 2U))));
8230 }
8231 
8232 //*****************************************************************************
8233 //
8255 //
8256 //*****************************************************************************
8257 static inline void
8259  HRPWM_LoadMode loadEvent)
8260 {
8261  //
8262  // Set the CMPAHR or CMPBHR load mode
8263  //
8264  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8265  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG) &
8266  ~(CSL_EPWM_HRCNFG_HRLOAD_MAX << ((uint16_t)channel + 3U))) |
8267  ((uint16_t)loadEvent << ((uint16_t)channel + 3U))));
8268 }
8269 
8270 //*****************************************************************************
8271 //
8282 //
8283 //*****************************************************************************
8284 static inline void
8285 HRPWM_setOutputSwapMode(uint32_t base, bool enableOutputSwap)
8286 {
8287  //
8288  // Set output swap mode
8289  //
8290  if(enableOutputSwap)
8291  {
8292  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8293  HW_RD_REG16(base + CSL_EPWM_HRCNFG) | CSL_EPWM_HRCNFG_SWAPAB_MASK);
8294  }
8295  else
8296  {
8297  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8298  HW_RD_REG16(base + CSL_EPWM_HRCNFG) & ~CSL_EPWM_HRCNFG_SWAPAB_MASK);
8299  }
8300 }
8301 
8302 //*****************************************************************************
8303 //
8315 //
8316 //*****************************************************************************
8317 static inline void
8319 {
8320  //
8321  // Set the output on ePWM B
8322  //
8323  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8324  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG) & ~(CSL_EPWM_HRCNFG_SELOUTB_MASK)) |
8325  ((uint16_t)outputOnB << CSL_EPWM_HRCNFG_SELOUTB_SHIFT)));
8326 }
8327 
8328 //*****************************************************************************
8329 //
8338 //
8339 //*****************************************************************************
8340 static inline void
8342 {
8343  //
8344  // Enable MEP automatic scale
8345  //
8346  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8347  HW_RD_REG16(base + CSL_EPWM_HRCNFG) | CSL_EPWM_HRCNFG_AUTOCONV_MASK);
8348 }
8349 
8350 //*****************************************************************************
8351 //
8360 //
8361 //*****************************************************************************
8362 static inline void
8364 {
8365  //
8366  // Disable MEP automatic scale
8367  //
8368  HW_WR_REG16(base + CSL_EPWM_HRCNFG,
8369  HW_RD_REG16(base + CSL_EPWM_HRCNFG) & ~CSL_EPWM_HRCNFG_AUTOCONV_MASK);
8370 }
8371 
8372 //*****************************************************************************
8373 //
8381 //
8382 //*****************************************************************************
8383 static inline void
8385 {
8386  //
8387  // Set HRPE bit
8388  //
8389  HW_WR_REG16(base + CSL_EPWM_HRPCTL,
8390  HW_RD_REG16(base + CSL_EPWM_HRPCTL) | CSL_EPWM_HRPCTL_HRPE_MASK);
8391 }
8392 
8393 //*****************************************************************************
8394 //
8402 //
8403 //*****************************************************************************
8404 static inline void
8406 {
8407  //
8408  // Clear HRPE bit
8409  //
8410  HW_WR_REG16(base + CSL_EPWM_HRPCTL,
8411  HW_RD_REG16(base + CSL_EPWM_HRPCTL) & ~CSL_EPWM_HRPCTL_HRPE_MASK);
8412 }
8413 
8414 //*****************************************************************************
8415 //
8424 //
8425 //*****************************************************************************
8426 static inline void
8428 {
8429  //
8430  // Set TBPHSHRLOADE bit
8431  //
8432  HW_WR_REG16(base + CSL_EPWM_HRPCTL,
8433  HW_RD_REG16(base + CSL_EPWM_HRPCTL) | CSL_EPWM_HRPCTL_TBPHSHRLOADE_MASK);
8434 }
8435 
8436 //*****************************************************************************
8437 //
8445 //
8446 //*****************************************************************************
8447 static inline void
8449 {
8450  //
8451  // Clear TBPHSHRLOADE bit
8452  //
8453  HW_WR_REG16(base + CSL_EPWM_HRPCTL,
8454  HW_RD_REG16(base + CSL_EPWM_HRPCTL) & ~CSL_EPWM_HRPCTL_TBPHSHRLOADE_MASK);
8455 }
8456 
8457 //*****************************************************************************
8458 //
8478 //
8479 //*****************************************************************************
8480 static inline void
8481 HRPWM_setSyncPulseSource(uint32_t base, HRPWM_SyncPulseSource syncPulseSource)
8482 {
8483  //
8484  // Set the PWMSYNC source
8485  //
8486 
8487  //
8488  // Configuration for sync pulse source equal to HRPWM_PWMSYNC_SOURCE_PERIOD
8489  // or HRPWM_PWMSYNC_SOURCE_ZERO
8490  //
8491  if(syncPulseSource < HRPWM_PWMSYNC_SOURCE_COMPC_UP)
8492  {
8493  HW_WR_REG16(base + CSL_EPWM_HRPCTL,
8494  ((HW_RD_REG16(base + CSL_EPWM_HRPCTL) &
8495  ~(CSL_EPWM_HRPCTL_PWMSYNCSELX_MASK | CSL_EPWM_HRPCTL_PWMSYNCSEL_MASK)) |
8496  ((uint16_t)syncPulseSource << 1U)));
8497  }
8498  else
8499  {
8500  HW_WR_REG16(base + CSL_EPWM_HRPCTL,
8501  ((HW_RD_REG16(base + CSL_EPWM_HRPCTL) & ~CSL_EPWM_HRPCTL_PWMSYNCSELX_MASK) |
8502  ((uint16_t)syncPulseSource << CSL_EPWM_HRPCTL_PWMSYNCSELX_SHIFT)));
8503  }
8504 }
8505 
8506 //*****************************************************************************
8507 //
8516 //
8517 //*****************************************************************************
8518 static inline void
8519 HRPWM_setTranslatorRemainder(uint32_t base, uint16_t trremVal)
8520 {
8521  //
8522  // Check the arguments
8523  //
8524  DebugP_assert(trremVal <= CSL_EPWM_TRREM_TRREM_MAX);
8525 
8526  //
8527  // Set Translator Remainder value
8528  //
8529  HW_WR_REG16(base + CSL_EPWM_TRREM, trremVal & CSL_EPWM_TRREM_TRREM_MASK);
8530 }
8531 
8532 //*****************************************************************************
8533 //
8551 //
8552 //*****************************************************************************
8553 static inline void
8555  HRPWM_CounterCompareModule compModule,
8556  uint32_t compCount)
8557 {
8558  //
8559  // Check the arguments
8560  //
8561  DebugP_assert(compCount <= 0xFFFFFFFF);
8562 
8563  //
8564  // Write to counter compare registers
8565  //
8566  if(compModule == HRPWM_COUNTER_COMPARE_A)
8567  {
8568  //
8569  // Write to CMPA:CMPAHR
8570  //
8571  HW_WR_REG32(base + CSL_EPWM_CMPA, compCount << 8);
8572  }
8573  else
8574  {
8575  //
8576  // Write to CMPB:CMPBHR
8577  //
8578  HW_WR_REG32(base + CSL_EPWM_CMPB, compCount << 8);
8579  }
8580 }
8581 
8582 //*****************************************************************************
8583 //
8597 //
8598 //*****************************************************************************
8599 static inline uint32_t
8601  HRPWM_CounterCompareModule compModule)
8602 {
8603  uint32_t compCount;
8604 
8605  //
8606  // Get counter compare value for selected module
8607  //
8608  if(compModule == HRPWM_COUNTER_COMPARE_A)
8609  {
8610  //
8611  // Read from CMPAHR
8612  //
8613  compCount = HW_RD_REG32(base + CSL_EPWM_CMPA);
8614  }
8615  else
8616  {
8617  //
8618  // Read from CMPBHR
8619  //
8620  compCount = HW_RD_REG32(base + CSL_EPWM_CMPA);
8621  }
8622 
8623  return(compCount);
8624 }
8625 
8626 //*****************************************************************************
8627 //
8643 //
8644 //*****************************************************************************
8645 static inline void
8647  HRPWM_CounterCompareModule compModule,
8648  uint16_t hrCompCount)
8649 {
8650  //
8651  // Check the arguments
8652  //
8653  DebugP_assert(hrCompCount <= CSL_EPWM_CMPA_CMPAHR_MAX);
8654 
8655  //
8656  // Write to the high resolution counter compare registers
8657  //
8658  if(compModule == HRPWM_COUNTER_COMPARE_A)
8659  {
8660  //
8661  // Write to CMPAHR
8662  //
8663  HW_WR_REG32(base + CSL_EPWM_CMPA,
8664  HW_RD_REG32(base + CSL_EPWM_CMPA) | (hrCompCount & CSL_EPWM_CMPA_CMPAHR_MASK));
8665  }
8666  else
8667  {
8668  //
8669  // Write to CMPBHR
8670  //
8671  HW_WR_REG32(base + CSL_EPWM_CMPB,
8672  HW_RD_REG32(base + CSL_EPWM_CMPB) | (hrCompCount & CSL_EPWM_CMPB_CMPBHR_MASK));
8673  }
8674 }
8675 
8676 //*****************************************************************************
8677 //
8690 //
8691 //*****************************************************************************
8692 static inline uint16_t
8694  HRPWM_CounterCompareModule compModule)
8695 {
8696  uint16_t hrCompCount;
8697 
8698  //
8699  // Get counter compare value for selected module
8700  //
8701  if(compModule == HRPWM_COUNTER_COMPARE_A)
8702  {
8703  //
8704  // Read from CMPAHR
8705  //
8706  hrCompCount = (HW_RD_REG16(base + CSL_EPWM_CMPA) & CSL_EPWM_CMPA_CMPAHR_MASK);
8707  }
8708  else
8709  {
8710  //
8711  // Read from CMPBHR
8712  //
8713  hrCompCount = (HW_RD_REG16(base + CSL_EPWM_CMPB) & CSL_EPWM_CMPB_CMPBHR_MASK);
8714  }
8715 
8716  return(hrCompCount);
8717 }
8718 
8719 //*****************************************************************************
8720 //
8733 //
8734 //*****************************************************************************
8735 static inline void
8736 HRPWM_setHiResRisingEdgeDelay(uint32_t base, uint16_t hrRedCount)
8737 {
8738  //
8739  // Check the arguments
8740  //
8741  DebugP_assert(hrRedCount <= CSL_EPWM_DBREDHR_DBREDHR_MAX);
8742 
8743  //
8744  // Set the High Resolution RED (Rising Edge Delay) count only
8745  //
8746  HW_WR_REG16(base + CSL_EPWM_DBREDHR,
8747  HW_RD_REG16(base + CSL_EPWM_DBREDHR) |
8748  (hrRedCount << CSL_EPWM_DBREDHR_DBREDHR_SHIFT));
8749 }
8750 
8751 //*****************************************************************************
8752 //
8764 //
8765 //*****************************************************************************
8766 static inline void
8767 HRPWM_setHiResFallingEdgeDelayOnly(uint32_t base, uint16_t hrFedCount)
8768 {
8769  //
8770  // Check the arguments
8771  //
8772  DebugP_assert(hrFedCount <= CSL_EPWM_DBFEDHR_DBFEDHR_MAX);
8773 
8774  //
8775  // Set the high resolution FED (Falling Edge Delay) count
8776  //
8777  HW_WR_REG16(base + CSL_EPWM_DBFEDHR,
8778  HW_RD_REG16(base + CSL_EPWM_DBFEDHR) &
8779  ~CSL_EPWM_DBFEDHR_DBFEDHR_MASK |
8780  (hrFedCount << CSL_EPWM_DBFEDHR_DBFEDHR_SHIFT));
8781 }
8782 
8783 //*****************************************************************************
8784 //
8795 //
8796 //*****************************************************************************
8797 static inline void
8798 HRPWM_setMEPStep(uint32_t base, uint16_t mepCount)
8799 {
8800  //
8801  // Check the arguments
8802  //
8803  DebugP_assert(mepCount <= CSL_OTTOCAL_HRMSTEP_HRMSTEP_MAX);
8804 
8805  //
8806  // Set HRPWM MEP count
8807  //
8808  HW_WR_REG16(base + CSL_OTTOCAL_HRMSTEP,
8809  ((HW_RD_REG16(base + CSL_OTTOCAL_HRMSTEP) & ~CSL_OTTOCAL_HRMSTEP_HRMSTEP_MASK) |
8810  mepCount << CSL_OTTOCAL_HRMSTEP_HRMSTEP_SHIFT));
8811 }
8812 
8813 //*****************************************************************************
8814 //
8832 //
8833 //*****************************************************************************
8834 static inline void
8836  HRPWM_MEPDeadBandEdgeMode mepDBEdge)
8837 {
8838  //
8839  // Set the HRPWM DB edge mode
8840  //
8841  HW_WR_REG16(base + CSL_EPWM_HRCNFG2,
8842  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG2) & ~CSL_EPWM_HRCNFG2_EDGMODEDB_MASK) |
8843  ((uint16_t)mepDBEdge << CSL_EPWM_HRCNFG2_EDGMODEDB_SHIFT)));
8844 }
8845 
8846 //*****************************************************************************
8847 //
8862 //
8863 //*****************************************************************************
8864 static inline void
8866  HRPWM_LoadMode loadEvent)
8867 {
8868  //
8869  // Set the HRPWM RED load mode
8870  //
8871  HW_WR_REG16(base + CSL_EPWM_HRCNFG2,
8872  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG2) & ~CSL_EPWM_HRCNFG2_CTLMODEDBRED_MASK) |
8873  ((uint16_t)loadEvent << CSL_EPWM_HRCNFG2_CTLMODEDBRED_SHIFT)));
8874 }
8875 
8876 //*****************************************************************************
8877 //
8892 //
8893 //*****************************************************************************
8894 static inline void
8896 {
8897  //
8898  // Set the HRPWM FED load mode
8899  //
8900  HW_WR_REG16(base + CSL_EPWM_HRCNFG2,
8901  ((HW_RD_REG16(base + CSL_EPWM_HRCNFG2) & ~CSL_EPWM_HRCNFG2_CTLMODEDBFED_MASK) |
8902  ((uint16_t)loadEvent << CSL_EPWM_HRCNFG2_CTLMODEDBFED_SHIFT)));
8903 }
8904 
8905 //*****************************************************************************
8906 //
8921 //
8922 //*****************************************************************************
8923 extern void
8924 EPWM_setEmulationMode(uint32_t base, EPWM_EmulationMode emulationMode);
8925 //*****************************************************************************
8926 //
8936 //
8937 //*****************************************************************************
8938 extern void
8939 EPWM_configureSignal(uint32_t base, const EPWM_SignalParams *signalParams);
8940 //*****************************************************************************
8941 //
8942 // Close the Doxygen group.
8944 //
8945 //*****************************************************************************
8946 
8947 //*****************************************************************************
8948 //
8949 // Mark the end of the C bindings section for C++ compilers.
8950 //
8951 //*****************************************************************************
8952 #ifdef __cplusplus
8953 }
8954 #endif
8955 
8956 #endif // EPWM_V1_H_
EPWM_TZ_ACTION_HIGH
@ EPWM_TZ_ACTION_HIGH
high voltage state
Definition: etpwm.h:954
HRPWM_LOAD_ON_CNTR_ZERO_PERIOD
@ HRPWM_LOAD_ON_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:1885
EPWM_disableInterruptEventCountInit
static void EPWM_disableInterruptEventCountInit(uint32_t base)
Definition: etpwm.h:5292
EPWM_setDeadBandOutputSwapMode
static void EPWM_setDeadBandOutputSwapMode(uint32_t base, EPWM_DeadBandOutput output, bool enableSwapMode)
Definition: etpwm.h:3666
EPWM_enableADCTriggerEventCountInit
static void EPWM_enableADCTriggerEventCountInit(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5764
EPWM_AQ_OUTPUT_HIGH_UP_T1
@ EPWM_AQ_OUTPUT_HIGH_UP_T1
T1 event on count up and set output pins to high.
Definition: etpwm.h:674
EPWM_getValleyHWDelay
static uint16_t EPWM_getValleyHWDelay(uint32_t base)
Definition: etpwm.h:7312
EPWM_getDigitalCompareEdgeFilterEdgeStatus
static uint16_t EPWM_getDigitalCompareEdgeFilterEdgeStatus(uint32_t base)
Definition: etpwm.h:6298
EPWM_TimeBaseCountMode
EPWM_TimeBaseCountMode
Definition: etpwm.h:346
EPWM_TZ_ACTION_LOW
@ EPWM_TZ_ACTION_LOW
low voltage state
Definition: etpwm.h:955
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM8
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM8
Sync-in source is EPWM8 sync-out signal.
Definition: etpwm.h:204
EPWM_getCycleByCycleTripZoneFlagStatus
static uint16_t EPWM_getCycleByCycleTripZoneFlagStatus(uint32_t base)
Definition: etpwm.h:4768
EPWM_ActionQualifierLoadMode
EPWM_ActionQualifierLoadMode
Definition: etpwm.h:507
EPWM_LINK_WITH_EPWM_5
@ EPWM_LINK_WITH_EPWM_5
link current ePWM with ePWM5
Definition: etpwm.h:393
EPWM_setFallingEdgeDelayCountShadowLoadMode
static void EPWM_setFallingEdgeDelayCountShadowLoadMode(uint32_t base, EPWM_FallingEdgeDelayLoadMode loadMode)
Definition: etpwm.h:3999
EPWM_selectPeriodLoadEvent
static void EPWM_selectPeriodLoadEvent(uint32_t base, EPWM_PeriodShadowLoadMode shadowLoadMode)
Definition: etpwm.h:2407
EPWM_TZ_CBC_PULSE_CLR_CNTR_ZERO_PERIOD
@ EPWM_TZ_CBC_PULSE_CLR_CNTR_ZERO_PERIOD
Clear CBC pulse when counter equals zero or period.
Definition: etpwm.h:1127
EPWM_setupEPWMLinks
static void EPWM_setupEPWMLinks(uint32_t base, EPWM_CurrentLink epwmLink, EPWM_LinkComponent linkComp)
Definition: etpwm.h:2750
HRPWM_setMEPEdgeSelect
static void HRPWM_setMEPEdgeSelect(uint32_t base, HRPWM_Channel channel, HRPWM_MEPEdgeMode mepEdgeMode)
Definition: etpwm.h:8183
EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG2
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG2
Sync-in source is FSI-RX2 RX Trigger 2 signal.
Definition: etpwm.h:300
EPWM_SOC_A
@ EPWM_SOC_A
SOC A.
Definition: etpwm.h:1256
EPWM_DC_EVENT_1
@ EPWM_DC_EVENT_1
Digital Compare Event number 1.
Definition: etpwm.h:1460
EPWM_AQ_LOAD_ON_CNTR_ZERO_PERIOD
@ EPWM_AQ_LOAD_ON_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:513
EPWM_AQ_SW_OUTPUT_HIGH
@ EPWM_AQ_SW_OUTPUT_HIGH
Set output pins to High.
Definition: etpwm.h:599
EPWM_DC_WINDOW_START_TBCTR_ZERO_PERIOD
@ EPWM_DC_WINDOW_START_TBCTR_ZERO_PERIOD
Time base counter equals zero.
Definition: etpwm.h:1387
EPWM_HSCLOCK_DIVIDER_2
@ EPWM_HSCLOCK_DIVIDER_2
Divide clock by 2.
Definition: etpwm.h:168
EPWM_LINK_WITH_EPWM_9
@ EPWM_LINK_WITH_EPWM_9
link current ePWM with ePWM9
Definition: etpwm.h:397
HRPWM_setMEPStep
static void HRPWM_setMEPStep(uint32_t base, uint16_t mepCount)
Definition: etpwm.h:8798
EPWM_startValleyCapture
static void EPWM_startValleyCapture(uint32_t base)
Definition: etpwm.h:7074
EPWM_disableOneShotSync
static void EPWM_disableOneShotSync(uint32_t base)
Definition: etpwm.h:2452
EPWM_GL_LOAD_PULSE_CNTR_CMPC_U
@ EPWM_GL_LOAD_PULSE_CNTR_CMPC_U
load when counter is equal to cmpc and cmpc is incrementing
Definition: etpwm.h:1545
EPWM_enableValleyHWDelay
static void EPWM_enableValleyHWDelay(uint32_t base)
Definition: etpwm.h:7161
EPWM_selectCycleByCycleTripZoneClearEvent
static void EPWM_selectCycleByCycleTripZoneClearEvent(uint32_t base, EPWM_CycleByCycleTripZoneClearMode clearEvent)
Definition: etpwm.h:4827
EPWM_setChopperFreq
static void EPWM_setChopperFreq(uint32_t base, uint16_t freqDiv)
Definition: etpwm.h:4212
EPWM_SYNC_IN_PULSE_SRC_C2K_TIMESYNC_XBAR_PWM_OUT1
@ EPWM_SYNC_IN_PULSE_SRC_C2K_TIMESYNC_XBAR_PWM_OUT1
Sync-in source is C2K Timesync xbar sync pwm out1 signal.
Definition: etpwm.h:278
EPWM_enableTripZoneOutput
static void EPWM_enableTripZoneOutput(uint32_t base, uint16_t tzOutput)
Definition: etpwm.h:5004
EPWM_SHADOW_LOAD_MODE_COUNTER_ZERO
@ EPWM_SHADOW_LOAD_MODE_COUNTER_ZERO
shadow to active load occurs when time base counter reaches 0.
Definition: etpwm.h:362
EPWM_REGISTER_GROUP_TRIP_ZONE
@ EPWM_REGISTER_GROUP_TRIP_ZONE
Trip zone register group.
Definition: etpwm.h:1702
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM24
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM24
Sync-in source is EPWM24 sync-out signal.
Definition: etpwm.h:236
EPWM_TZ_ADV_ACTION_EVENT_DCxEVT1_U
@ EPWM_TZ_ADV_ACTION_EVENT_DCxEVT1_U
Digital Compare event A/B 1 while counting up.
Definition: etpwm.h:1003
EPWM_COMP_LOAD_ON_CNTR_ZERO
@ EPWM_COMP_LOAD_ON_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:468
EPWM_ActionQualifierContForce
EPWM_ActionQualifierContForce
Definition: etpwm.h:725
EPWM_getTimeBaseCounterValue
static uint16_t EPWM_getTimeBaseCounterValue(uint32_t base)
Definition: etpwm.h:2495
EPWM_getADCTriggerEventCount
static uint16_t EPWM_getADCTriggerEventCount(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5897
EPWM_enableTripZoneAdvAction
static void EPWM_enableTripZoneAdvAction(uint32_t base)
Definition: etpwm.h:4409
HRPWM_PWMSYNC_SOURCE_ZERO
@ HRPWM_PWMSYNC_SOURCE_ZERO
Counter equals zero.
Definition: etpwm.h:1915
HRPWM_PWMSYNC_SOURCE_COMPD_UP
@ HRPWM_PWMSYNC_SOURCE_COMPD_UP
Counter equals COMPD when counting up.
Definition: etpwm.h:1921
HRPWM_setHiResFallingEdgeDelayOnly
static void HRPWM_setHiResFallingEdgeDelayOnly(uint32_t base, uint16_t hrFedCount)
Definition: etpwm.h:8767
EPWM_setActionQualifierActionComplete
static void EPWM_setActionQualifierActionComplete(uint32_t base, EPWM_ActionQualifierOutputModule epwmOutput, EPWM_ActionQualifierEventAction action)
Definition: etpwm.h:3377
EPWM_DC_CBC_LATCH_CLR_ON_CNTR_ZERO_PERIOD
@ EPWM_DC_CBC_LATCH_CLR_ON_CNTR_ZERO_PERIOD
Clear CBC latch when counter equals zero or period.
Definition: etpwm.h:1519
EPWM_CLOCK_DIVIDER_32
@ EPWM_CLOCK_DIVIDER_32
Divide clock by 32.
Definition: etpwm.h:154
EPWM_setFallingEdgeDelayCount
static void EPWM_setFallingEdgeDelayCount(uint32_t base, uint16_t fedCount)
Definition: etpwm.h:4107
EPWM_COMP_LOAD_FREEZE
@ EPWM_COMP_LOAD_FREEZE
Freeze shadow to active load.
Definition: etpwm.h:474
EPWM_SYNC_IN_PULSE_SRC_C2K_TIMESYNC_XBAR_PWM_OUT0
@ EPWM_SYNC_IN_PULSE_SRC_C2K_TIMESYNC_XBAR_PWM_OUT0
Sync-in source is C2K Timesync xbar sync pwm out0 signal.
Definition: etpwm.h:276
EPWM_DC_EDGEFILT_EDGECNT_6
@ EPWM_DC_EDGEFILT_EDGECNT_6
Digital Compare Edge filter edge count = 7.
Definition: etpwm.h:1687
EPWM_SignalParams::dutyValA
Float32 dutyValA
Desired ePWMxA Signal Duty.
Definition: etpwm.h:1978
EPWM_AQ_LOAD_ON_SYNC_CNTR_ZERO
@ EPWM_AQ_LOAD_ON_SYNC_CNTR_ZERO
load on sync or when counter equals zero
Definition: etpwm.h:517
EPWM_forceActionQualifierSWAction
static void EPWM_forceActionQualifierSWAction(uint32_t base, EPWM_ActionQualifierOutputModule epwmOutput)
Definition: etpwm.h:3620
EPWM_DC_CBC_LATCH_CLR_CNTR_ZERO
@ EPWM_DC_CBC_LATCH_CLR_CNTR_ZERO
Clear CBC latch when counter equals zero.
Definition: etpwm.h:1515
EPWM_LINK_WITH_EPWM_22
@ EPWM_LINK_WITH_EPWM_22
link current ePWM with ePWM22
Definition: etpwm.h:410
EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_T1
@ EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_T1
T1 event on count down and no change in the output pins.
Definition: etpwm.h:678
EPWM_setEmulationMode
void EPWM_setEmulationMode(uint32_t base, EPWM_EmulationMode emulationMode)
EPWM_LINK_WITH_EPWM_16
@ EPWM_LINK_WITH_EPWM_16
link current ePWM with ePWM16
Definition: etpwm.h:404
EPWM_DigitalCompareEdgeFilterEdgeCount
EPWM_DigitalCompareEdgeFilterEdgeCount
Definition: etpwm.h:1673
EPWM_AQ_OUTPUT_HIGH_DOWN_CMPA
@ EPWM_AQ_OUTPUT_HIGH_DOWN_CMPA
Time base counter down equals COMPA and set output pins to high.
Definition: etpwm.h:639
EPWM_selectDigitalCompareTripInput
static void EPWM_selectDigitalCompareTripInput(uint32_t base, EPWM_DigitalCompareTripInput tripSource, EPWM_DigitalCompareType dcType)
Definition: etpwm.h:5976
EPWM_TripZoneDigitalCompareOutput
EPWM_TripZoneDigitalCompareOutput
Definition: etpwm.h:906
EPWM_TripZoneAdvancedEvent
EPWM_TripZoneAdvancedEvent
Definition: etpwm.h:966
EPWM_FED_LOAD_ON_CNTR_PERIOD
@ EPWM_FED_LOAD_ON_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:832
EPWM_clearADCTriggerFlag
static void EPWM_clearADCTriggerFlag(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5733
EPWM_COMP_LOAD_ON_CNTR_ZERO_PERIOD
@ EPWM_COMP_LOAD_ON_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:472
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP9
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP9
Sync-in source is ECAP9 sync-out signal.
Definition: etpwm.h:270
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP0
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP0
Sync-in source is ECAP0 sync-out signal.
Definition: etpwm.h:252
HRPWM_setMEPControlMode
static void HRPWM_setMEPControlMode(uint32_t base, HRPWM_Channel channel, HRPWM_MEPCtrlMode mepCtrlMode)
Definition: etpwm.h:8220
EPWM_setDigitalCompareEventSyncMode
static void EPWM_setDigitalCompareEventSyncMode(uint32_t base, EPWM_DigitalCompareModule dcModule, EPWM_DigitalCompareEvent dcEvent, EPWM_DigitalCompareSyncMode syncMode)
Definition: etpwm.h:6478
EPWM_DB_POLARITY_ACTIVE_HIGH
@ EPWM_DB_POLARITY_ACTIVE_HIGH
DB polarity is not inverted.
Definition: etpwm.h:768
EPWM_setActionQualifierContSWForceShadowMode
static void EPWM_setActionQualifierContSWForceShadowMode(uint32_t base, EPWM_ActionQualifierContForce mode)
Definition: etpwm.h:3496
EPWM_DB_RED
@ EPWM_DB_RED
DB RED (Rising Edge Delay) mode.
Definition: etpwm.h:756
EPWM_LINK_WITH_EPWM_24
@ EPWM_LINK_WITH_EPWM_24
link current ePWM with ePWM24
Definition: etpwm.h:412
EPWM_ActionQualifierTriggerSource
EPWM_ActionQualifierTriggerSource
Definition: etpwm.h:533
HRPWM_MEP_PHASE_CTRL
@ HRPWM_MEP_PHASE_CTRL
TBPHSHR controls MEP edge.
Definition: etpwm.h:1868
EPWM_SYNC_OUT_SOURCE_M
#define EPWM_SYNC_OUT_SOURCE_M
Definition: etpwm.h:79
EPWM_COUNTER_COMPARE_D
@ EPWM_COUNTER_COMPARE_D
counter compare D
Definition: etpwm.h:456
EPWM_TZ_EVENT_DCXL_HIGH_DCXH_LOW
@ EPWM_TZ_EVENT_DCXL_HIGH_DCXH_LOW
Event when DCxL high DCxH low.
Definition: etpwm.h:926
EPWM_LINK_TBPRD
@ EPWM_LINK_TBPRD
link TBPRD:TBPRDHR registers
Definition: etpwm.h:430
EPWM_INT_TBCTR_D_CMPD
#define EPWM_INT_TBCTR_D_CMPD
time-base counter equal to CMPD when the timer is decrementing
Definition: etpwm.h:1211
EPWM_TZ_ADV_ACTION_EVENT_TZA_U
@ EPWM_TZ_ADV_ACTION_EVENT_TZA_U
TZ1 - TZ6, DCAEVT2, DCAEVT1 while counting up.
Definition: etpwm.h:974
EPWM_SOC_TBCTR_PERIOD
@ EPWM_SOC_TBCTR_PERIOD
Time-base counter equal to period.
Definition: etpwm.h:1273
EPWM_getGlobalLoadEventCount
static uint16_t EPWM_getGlobalLoadEventCount(uint32_t base)
Definition: etpwm.h:7452
EPWM_setTripZoneAdvDigitalCompareActionB
static void EPWM_setTripZoneAdvDigitalCompareActionB(uint32_t base, EPWM_TripZoneAdvDigitalCompareEvent tzAdvDCEvent, EPWM_TripZoneAdvancedAction tzAdvDCAction)
Definition: etpwm.h:4625
EPWM_AQ_OUTPUT_TOGGLE_ZERO
@ EPWM_AQ_OUTPUT_TOGGLE_ZERO
Time base counter equals zero and toggle the output pins.
Definition: etpwm.h:617
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM18
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM18
Sync-in source is EPWM18 sync-out signal.
Definition: etpwm.h:224
HRPWM_setDeadbandMEPEdgeSelect
static void HRPWM_setDeadbandMEPEdgeSelect(uint32_t base, HRPWM_MEPDeadBandEdgeMode mepDBEdge)
Definition: etpwm.h:8835
EPWM_AQ_TRIGGER_EVENT_TRIG_DC_EVTFILT
@ EPWM_AQ_TRIGGER_EVENT_TRIG_DC_EVTFILT
Digital compare filter event.
Definition: etpwm.h:542
HRPWM_DB_MEP_CTRL_RED
@ HRPWM_DB_MEP_CTRL_RED
MEP controls Rising Edge Delay.
Definition: etpwm.h:1949
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM0
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM0
Sync-in source is EPWM0 sync-out signal.
Definition: etpwm.h:188
EPWM_SOC_TBCTR_D_CMPC
@ EPWM_SOC_TBCTR_D_CMPC
time-base counter equal to CMPC when the timer is decrementing
Definition: etpwm.h:1283
EPWM_setOneShotSyncOutTrigger
static void EPWM_setOneShotSyncOutTrigger(uint32_t base, EPWM_OneShotSyncOutTrigger trigger)
Definition: etpwm.h:2266
EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA
@ EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA
Time base counter down equals COMPA.
Definition: etpwm.h:560
EPWM_ActionQualifierEventAction
EPWM_ActionQualifierEventAction
Definition: etpwm.h:609
EPWM_setDigitalCompareWindowOffset
static void EPWM_setDigitalCompareWindowOffset(uint32_t base, uint16_t windowOffsetCount)
Definition: etpwm.h:6323
EPWM_SignalParams::tbClkDiv
EPWM_ClockDivider tbClkDiv
Time Base Counter Clock Divider.
Definition: etpwm.h:1983
EPWM_AQ_OUTPUT_NO_CHANGE
@ EPWM_AQ_OUTPUT_NO_CHANGE
No change in the output pins.
Definition: etpwm.h:583
EPWM_AQ_TRIGGER_EVENT_TRIG_DCB_1
@ EPWM_AQ_TRIGGER_EVENT_TRIG_DCB_1
Digital compare event B 1.
Definition: etpwm.h:536
HRPWM_setHiResRisingEdgeDelay
static void HRPWM_setHiResRisingEdgeDelay(uint32_t base, uint16_t hrRedCount)
Definition: etpwm.h:8736
EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG1
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG1
Sync-in source is FSI-RX1 RX Trigger 1 signal.
Definition: etpwm.h:290
HRPWM_LOAD_ON_CNTR_ZERO
@ HRPWM_LOAD_ON_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:1881
EPWM_setMinDeadBandDelay
static void EPWM_setMinDeadBandDelay(uint32_t base, uint32_t block, uint32_t delay)
Definition: etpwm.h:7901
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM27
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM27
Sync-in source is EPWM27 sync-out signal.
Definition: etpwm.h:242
EPWM_LINK_WITH_EPWM_12
@ EPWM_LINK_WITH_EPWM_12
link current ePWM with ePWM12
Definition: etpwm.h:400
HRPWM_setChannelBOutputPath
static void HRPWM_setChannelBOutputPath(uint32_t base, HRPWM_ChannelBOutput outputOnB)
Definition: etpwm.h:8318
EPWM_enableInterrupt
static void EPWM_enableInterrupt(uint32_t base)
Definition: etpwm.h:5055
EPWM_disableTripZoneAdvAction
static void EPWM_disableTripZoneAdvAction(uint32_t base)
Definition: etpwm.h:4430
EPWM_DB_INPUT_EPWMA
#define EPWM_DB_INPUT_EPWMA
Input signal is ePWMA.
Definition: etpwm.h:779
EPWM_setDeadBandCounterClock
static void EPWM_setDeadBandCounterClock(uint32_t base, EPWM_DeadBandClockMode clockMode)
Definition: etpwm.h:4054
EPWM_OSHT_SYNC_OUT_TRIG_RELOAD
@ EPWM_OSHT_SYNC_OUT_TRIG_RELOAD
Trigger is OSHT reload.
Definition: etpwm.h:322
EPWM_AQ_OUTPUT_HIGH_ZERO
@ EPWM_AQ_OUTPUT_HIGH_ZERO
Time base counter equals zero and set output pins to high.
Definition: etpwm.h:615
EPWM_GL_LOAD_PULSE_SYNC_OR_CNTR_PERIOD
@ EPWM_GL_LOAD_PULSE_SYNC_OR_CNTR_PERIOD
load on sync event or when counter is equal to period
Definition: etpwm.h:1541
HRPWM_ChannelBOutput
HRPWM_ChannelBOutput
Definition: etpwm.h:1897
EPWM_LINK_WITH_EPWM_2
@ EPWM_LINK_WITH_EPWM_2
link current ePWM with ePWM2
Definition: etpwm.h:390
EPWM_enableIllegalComboLogic
static void EPWM_enableIllegalComboLogic(uint32_t base, uint32_t block)
Definition: etpwm.h:7935
HRPWM_disablePeriodControl
static void HRPWM_disablePeriodControl(uint32_t base)
Definition: etpwm.h:8405
EPWM_DB_OUTPUT_A
@ EPWM_DB_OUTPUT_A
DB output is ePWMA.
Definition: etpwm.h:744
EPWM_TZ_CBC_PULSE_CLR_CNTR_PERIOD
@ EPWM_TZ_CBC_PULSE_CLR_CNTR_PERIOD
Clear CBC pulse when counter equals period.
Definition: etpwm.h:1125
EPWM_TripZoneDigitalCompareOutputEvent
EPWM_TripZoneDigitalCompareOutputEvent
Definition: etpwm.h:920
EPWM_SHADOW_LOAD_MODE_SYNC
@ EPWM_SHADOW_LOAD_MODE_SYNC
shadow to active load occurs only when a SYNC occurs
Definition: etpwm.h:367
EPWM_setTimeBaseCounterMode
static void EPWM_setTimeBaseCounterMode(uint32_t base, EPWM_TimeBaseCountMode counterMode)
Definition: etpwm.h:2376
EPWM_PeriodLoadMode
EPWM_PeriodLoadMode
Definition: etpwm.h:332
EPWM_SignalParams::sysClkInHz
Float32 sysClkInHz
SYSCLK Frequency(in Hz)
Definition: etpwm.h:1981
EPWM_CurrentLink
EPWM_CurrentLink
Definition: etpwm.h:387
EPWM_setDeadBandDelayPolarity
static void EPWM_setDeadBandDelayPolarity(uint32_t base, EPWM_DeadBandDelayMode delayMode, EPWM_DeadBandPolarity polarity)
Definition: etpwm.h:3761
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM15
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM15
Sync-in source is EPWM15 sync-out signal.
Definition: etpwm.h:218
EPWM_HSCLOCK_DIVIDER_1
@ EPWM_HSCLOCK_DIVIDER_1
Divide clock by 1.
Definition: etpwm.h:167
EPWM_setChopperFirstPulseWidth
static void EPWM_setChopperFirstPulseWidth(uint32_t base, uint16_t firstPulseWidth)
Definition: etpwm.h:4244
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM4
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM4
Sync-in source is EPWM4 sync-out signal.
Definition: etpwm.h:196
EPWM_HSCLOCK_DIVIDER_14
@ EPWM_HSCLOCK_DIVIDER_14
Divide clock by 14.
Definition: etpwm.h:174
EPWM_AQ_OUTPUT_LOW_DOWN_T2
@ EPWM_AQ_OUTPUT_LOW_DOWN_T2
T2 event on count down and set output pins to low.
Definition: etpwm.h:696
EPWM_DCxxTRIPSEL
#define EPWM_DCxxTRIPSEL
Definition: etpwm.h:1962
HRPWM_MEPCtrlMode
HRPWM_MEPCtrlMode
Definition: etpwm.h:1864
EPWM_REGISTER_GROUP_DIGITAL_COMPARE
@ EPWM_REGISTER_GROUP_DIGITAL_COMPARE
Digital compare group.
Definition: etpwm.h:1704
EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG0
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG0
Sync-in source is FSI-RX3 RX Trigger 0 signal.
Definition: etpwm.h:304
EPWM_disableFallingEdgeDelayCountShadowLoadMode
static void EPWM_disableFallingEdgeDelayCountShadowLoadMode(uint32_t base)
Definition: etpwm.h:4025
EPWM_clearEventTriggerInterruptFlag
static void EPWM_clearEventTriggerInterruptFlag(uint32_t base)
Definition: etpwm.h:5245
EPWM_DigitalCompareTripInput
EPWM_DigitalCompareTripInput
Definition: etpwm.h:1320
EPWM_AQ_SW_OUTPUT_LOW
@ EPWM_AQ_SW_OUTPUT_LOW
Set output pins to low.
Definition: etpwm.h:598
EPWM_enableDigitalCompareTripCombinationInput
static void EPWM_enableDigitalCompareTripCombinationInput(uint32_t base, uint16_t tripInput, EPWM_DigitalCompareType dcType)
Definition: etpwm.h:6944
EPWM_SyncInPulseSource
EPWM_SyncInPulseSource
Definition: etpwm.h:184
EPWM_AQ_OUTPUT_TOGGLE_DOWN_T2
@ EPWM_AQ_OUTPUT_TOGGLE_DOWN_T2
T2 event on count down and toggle the output pins.
Definition: etpwm.h:700
EPWM_selectMinimumDeadBandReferenceSignal
static void EPWM_selectMinimumDeadBandReferenceSignal(uint32_t base, uint32_t block, uint32_t referenceSignal)
Definition: etpwm.h:7836
EPWM_DeadBandControlLoadMode
EPWM_DeadBandControlLoadMode
Definition: etpwm.h:792
EPWM_ActionQualifierSWOutput
EPWM_ActionQualifierSWOutput
Definition: etpwm.h:596
EPWM_setValleyDelayDivider
static void EPWM_setValleyDelayDivider(uint32_t base, EPWM_ValleyDelayMode delayMode)
Definition: etpwm.h:7227
EPWM_AQ_OUTPUT_ON_T1_COUNT_UP
@ EPWM_AQ_OUTPUT_ON_T1_COUNT_UP
T1 event on count up.
Definition: etpwm.h:566
EPWM_clearTripZoneFlag
static void EPWM_clearTripZoneFlag(uint32_t base, uint16_t tzFlags)
Definition: etpwm.h:4863
HRPWM_setFallingEdgeDelayLoadMode
static void HRPWM_setFallingEdgeDelayLoadMode(uint32_t base, HRPWM_LoadMode loadEvent)
Definition: etpwm.h:8895
EPWM_ADCStartOfConversionType
EPWM_ADCStartOfConversionType
Definition: etpwm.h:1255
EPWM_setValleyTriggerSource
static void EPWM_setValleyTriggerSource(uint32_t base, EPWM_ValleyTriggerSource trigger)
Definition: etpwm.h:7100
EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SHIFT_1_SW_DELAY
@ EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SHIFT_1_SW_DELAY
Definition: etpwm.h:1638
EPWM_setCountModeAfterSync
static void EPWM_setCountModeAfterSync(uint32_t base, EPWM_SyncCountMode mode)
Definition: etpwm.h:2028
EPWM_setTripZoneAdvAction
static void EPWM_setTripZoneAdvAction(uint32_t base, EPWM_TripZoneAdvancedEvent tzAdvEvent, EPWM_TripZoneAdvancedAction tzAdvAction)
Definition: etpwm.h:4523
EPWM_GL_LOAD_PULSE_SYNC
@ EPWM_GL_LOAD_PULSE_SYNC
load on sync event
Definition: etpwm.h:1537
EPWM_disableDigitalCompareWindowInverseMode
static void EPWM_disableDigitalCompareWindowInverseMode(uint32_t base)
Definition: etpwm.h:6069
EPWM_GL_LOAD_PULSE_SYNC_OR_CNTR_ZERO
@ EPWM_GL_LOAD_PULSE_SYNC_OR_CNTR_ZERO
load on sync event or when counter is equal to zero
Definition: etpwm.h:1539
EPWM_setChopperDutyCycle
static void EPWM_setChopperDutyCycle(uint32_t base, uint16_t dutyCycleCount)
Definition: etpwm.h:4181
EPWM_INT_TBCTR_ETINTMIX
#define EPWM_INT_TBCTR_ETINTMIX
Time-base counter based on mix events.
Definition: etpwm.h:1195
EPWM_LINK_WITH_EPWM_18
@ EPWM_LINK_WITH_EPWM_18
link current ePWM with ePWM18
Definition: etpwm.h:406
EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_CMPA
@ EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_CMPA
Time base counter down equals COMPA and no change in the output pins.
Definition: etpwm.h:635
EPWM_setInterruptEventCount
static void EPWM_setInterruptEventCount(uint32_t base, uint16_t eventCount)
Definition: etpwm.h:5192
EPWM_CLOCK_DIVIDER_8
@ EPWM_CLOCK_DIVIDER_8
Divide clock by 8.
Definition: etpwm.h:152
EPWM_TZ_ADV_ACTION_EVENT_TZA_D
@ EPWM_TZ_ADV_ACTION_EVENT_TZA_D
TZ1 - TZ6, DCAEVT2, DCAEVT1 while counting down.
Definition: etpwm.h:972
EPWM_getSyncStatus
static bool EPWM_getSyncStatus(uint32_t base)
Definition: etpwm.h:2561
EPWM_TZ_ADV_ACTION_LOW
@ EPWM_TZ_ADV_ACTION_LOW
low voltage state
Definition: etpwm.h:988
EPWM_COMP_LOAD_ON_SYNC_CNTR_PERIOD
@ EPWM_COMP_LOAD_ON_SYNC_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:478
EPWM_COUNTER_MODE_UP
@ EPWM_COUNTER_MODE_UP
Up - count mode.
Definition: etpwm.h:347
EPWM_SOC_TBCTR_U_CMPD
@ EPWM_SOC_TBCTR_U_CMPD
time-base counter equal to CMPD when the timer is incrementing
Definition: etpwm.h:1287
EPWM_setADCTriggerSource
static void EPWM_setADCTriggerSource(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType, EPWM_ADCStartOfConversionSource socSource, uint16_t mixedSource)
Definition: etpwm.h:5504
EPWM_enableMinimumDeadBand
static void EPWM_enableMinimumDeadBand(uint32_t base, uint32_t block)
Definition: etpwm.h:7674
EPWM_HSCLOCK_DIVIDER_6
@ EPWM_HSCLOCK_DIVIDER_6
Divide clock by 6.
Definition: etpwm.h:170
EPWM_getTripZoneFlagStatus
static uint16_t EPWM_getTripZoneFlagStatus(uint32_t base)
Definition: etpwm.h:4736
EPWM_REGISTER_GROUP_GLOBAL_LOAD
@ EPWM_REGISTER_GROUP_GLOBAL_LOAD
Global load register group.
Definition: etpwm.h:1701
EPWM_GL_LOAD_PULSE_CNTR_PERIOD
@ EPWM_GL_LOAD_PULSE_CNTR_PERIOD
load when counter is equal to period
Definition: etpwm.h:1533
EPWM_AQ_OUTPUT_NO_CHANGE_UP_T2
@ EPWM_AQ_OUTPUT_NO_CHANGE_UP_T2
T2 event on count up and no change in the output pins.
Definition: etpwm.h:686
EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG0
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG0
Sync-in source is FSI-RX0 RX Trigger 0 signal.
Definition: etpwm.h:280
EPWM_getTimeBasePeriod
static uint16_t EPWM_getTimeBasePeriod(uint32_t base)
Definition: etpwm.h:2678
EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG2
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG2
Sync-in source is FSI-RX0 RX Trigger 2 signal.
Definition: etpwm.h:284
EPWM_setValleySWDelayValue
static void EPWM_setValleySWDelayValue(uint32_t base, uint16_t delayOffsetValue)
Definition: etpwm.h:7206
EPWM_DC_MODULE_A
@ EPWM_DC_MODULE_A
Digital Compare Module A.
Definition: etpwm.h:1445
EPWM_AQ_OUTPUT_A
@ EPWM_AQ_OUTPUT_A
ePWMxA output
Definition: etpwm.h:714
EPWM_GlobalLoadTrigger
EPWM_GlobalLoadTrigger
Definition: etpwm.h:1529
EPWM_HSCLOCK_DIVIDER_10
@ EPWM_HSCLOCK_DIVIDER_10
Divide clock by 10.
Definition: etpwm.h:172
EPWM_LINK_WITH_EPWM_0
@ EPWM_LINK_WITH_EPWM_0
link current ePWM with ePWM0
Definition: etpwm.h:388
EPWM_COUNT_MODE_DOWN_AFTER_SYNC
@ EPWM_COUNT_MODE_DOWN_AFTER_SYNC
Count down after sync event.
Definition: etpwm.h:137
EPWM_DC_WINDOW_START_TBCTR_ZERO
@ EPWM_DC_WINDOW_START_TBCTR_ZERO
Time base counter equals zero.
Definition: etpwm.h:1385
EPWM_AQ_OUTPUT_TOGGLE
@ EPWM_AQ_OUTPUT_TOGGLE
Toggle the output pins.
Definition: etpwm.h:586
EPWM_DigitalCompareCBCLatchClearEvent
EPWM_DigitalCompareCBCLatchClearEvent
Definition: etpwm.h:1513
EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_1
@ EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_1
Digital compare event A 1.
Definition: etpwm.h:534
EPWM_AQ_OUTPUT_HIGH_DOWN_T1
@ EPWM_AQ_OUTPUT_HIGH_DOWN_T1
T1 event on count down and set output pins to high.
Definition: etpwm.h:682
EPWM_getDigitalCompareCaptureStatus
static bool EPWM_getDigitalCompareCaptureStatus(uint32_t base)
Definition: etpwm.h:6891
EPWM_VALLEY_TRIGGER_EVENT_SOFTWARE
@ EPWM_VALLEY_TRIGGER_EVENT_SOFTWARE
Valley capture trigged by software.
Definition: etpwm.h:1594
EPWM_setGlobalLoadOneShotLatch
static void EPWM_setGlobalLoadOneShotLatch(uint32_t base)
Definition: etpwm.h:7522
EPWM_AQ_SW_DISABLED
@ EPWM_AQ_SW_DISABLED
Software forcing disabled.
Definition: etpwm.h:597
EPWM_ADCStartOfConversionSource
EPWM_ADCStartOfConversionSource
Definition: etpwm.h:1267
EPWM_disableDigitalCompareTripCombinationInput
static void EPWM_disableDigitalCompareTripCombinationInput(uint32_t base, uint16_t tripInput, EPWM_DigitalCompareType dcType)
Definition: etpwm.h:6993
HRPWM_PWMSYNC_SOURCE_COMPD_DOWN
@ HRPWM_PWMSYNC_SOURCE_COMPD_DOWN
Counter equals COMPD when counting down.
Definition: etpwm.h:1923
EPWM_EmulationMode
EPWM_EmulationMode
Definition: etpwm.h:120
EPWM_AQ_TRIGGER_EVENT_TRIG_TZ_2
@ EPWM_AQ_TRIGGER_EVENT_TRIG_TZ_2
Trip zone 2.
Definition: etpwm.h:539
EPWM_DC_WINDOW_SOURCE_DCBEVT2
@ EPWM_DC_WINDOW_SOURCE_DCBEVT2
DC filter signal source is DCBEVT2.
Definition: etpwm.h:1430
EPWM_INT_TBCTR_U_CMPC
#define EPWM_INT_TBCTR_U_CMPC
time-base counter equal to CMPC when the timer is incrementing
Definition: etpwm.h:1199
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM25
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM25
Sync-in source is EPWM25 sync-out signal.
Definition: etpwm.h:238
EPWM_DC_EDGEFILT_EDGECNT_2
@ EPWM_DC_EDGEFILT_EDGECNT_2
Digital Compare Edge filter edge count = 3.
Definition: etpwm.h:1679
EPWM_INT_TBCTR_D_CMPB
#define EPWM_INT_TBCTR_D_CMPB
time-base counter equal to CMPB when the timer is decrementing
Definition: etpwm.h:1209
EPWM_LINK_WITH_EPWM_20
@ EPWM_LINK_WITH_EPWM_20
link current ePWM with ePWM20
Definition: etpwm.h:408
EPWM_RED_LOAD_ON_CNTR_ZERO_PERIOD
@ EPWM_RED_LOAD_ON_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:816
EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_2
@ EPWM_AQ_TRIGGER_EVENT_TRIG_DCA_2
Digital compare event A 2.
Definition: etpwm.h:535
HRPWM_setSyncPulseSource
static void HRPWM_setSyncPulseSource(uint32_t base, HRPWM_SyncPulseSource syncPulseSource)
Definition: etpwm.h:8481
HRPWM_setHiResTimeBasePeriod
static void HRPWM_setHiResTimeBasePeriod(uint32_t base, uint16_t hrPeriodCount)
Definition: etpwm.h:8123
EPWM_LINK_WITH_EPWM_30
@ EPWM_LINK_WITH_EPWM_30
link current ePWM with ePWM30
Definition: etpwm.h:418
EPWM_enableDigitalCompareADCTrigger
static void EPWM_enableDigitalCompareADCTrigger(uint32_t base, EPWM_DigitalCompareModule dcModule)
Definition: etpwm.h:6523
EPWM_DC_TYPE_DCAL
@ EPWM_DC_TYPE_DCAL
Digital Compare A Low.
Definition: etpwm.h:1308
EPWM_CounterCompareModule
EPWM_CounterCompareModule
Definition: etpwm.h:452
EPWM_SignalParams::tbHSClkDiv
EPWM_HSClockDivider tbHSClkDiv
Time Base Counter HS Clock Divider.
Definition: etpwm.h:1984
EPWM_OSHT_SYNC_OUT_TRIG_SYNC
@ EPWM_OSHT_SYNC_OUT_TRIG_SYNC
Trigger is OSHT sync.
Definition: etpwm.h:321
HRPWM_CounterCompareModule
HRPWM_CounterCompareModule
Definition: etpwm.h:1933
EPWM_TZ_EVENT_DCXL_LOW
@ EPWM_TZ_EVENT_DCXL_LOW
Event when DCxL low.
Definition: etpwm.h:924
EPWM_TZ_ADV_ACTION_EVENT_DCxEVT1_D
@ EPWM_TZ_ADV_ACTION_EVENT_DCxEVT1_D
Digital Compare event A/B 1 while counting down.
Definition: etpwm.h:1005
HRPWM_setPhaseShift
static void HRPWM_setPhaseShift(uint32_t base, uint32_t phaseCount)
Definition: etpwm.h:8058
EPWM_DigitalCompareSyncMode
EPWM_DigitalCompareSyncMode
Definition: etpwm.h:1485
EPWM_setTimeBaseCounter
static void EPWM_setTimeBaseCounter(uint32_t base, uint16_t count)
Definition: etpwm.h:2003
EPWM_COUNTER_COMPARE_A
@ EPWM_COUNTER_COMPARE_A
counter compare A
Definition: etpwm.h:453
EPWM_DC_EDGEFILT_MODE_BOTH
@ EPWM_DC_EDGEFILT_MODE_BOTH
Definition: etpwm.h:1663
EPWM_LINK_WITH_EPWM_13
@ EPWM_LINK_WITH_EPWM_13
link current ePWM with ePWM13
Definition: etpwm.h:401
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM16
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM16
Sync-in source is EPWM16 sync-out signal.
Definition: etpwm.h:220
EPWM_SignalParams
Definition: etpwm.h:1976
EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPB
@ EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPB
Time base counter up equals COMPB.
Definition: etpwm.h:562
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP4
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP4
Sync-in source is ECAP4 sync-out signal.
Definition: etpwm.h:260
EPWM_enableTripZoneSignals
static void EPWM_enableTripZoneSignals(uint32_t base, uint32_t tzSignal)
Definition: etpwm.h:4297
EPWM_DC_EDGEFILT_EDGECNT_7
@ EPWM_DC_EDGEFILT_EDGECNT_7
Definition: etpwm.h:1689
EPWM_AQ_OUTPUT_B
@ EPWM_AQ_OUTPUT_B
ePWMxB output
Definition: etpwm.h:715
EPWM_REGISTER_GROUP_TRIP_ZONE_CLEAR
@ EPWM_REGISTER_GROUP_TRIP_ZONE_CLEAR
Trip zone clear group.
Definition: etpwm.h:1703
EPWM_AQ_OUTPUT_ON_TIMEBASE_PERIOD
@ EPWM_AQ_OUTPUT_ON_TIMEBASE_PERIOD
Time base counter equals period.
Definition: etpwm.h:556
EPWM_disableDigitalCompareBlankingWindow
static void EPWM_disableDigitalCompareBlankingWindow(uint32_t base)
Definition: etpwm.h:6026
EPWM_SOC_TBCTR_ZERO
@ EPWM_SOC_TBCTR_ZERO
Time-base counter equal to zero.
Definition: etpwm.h:1271
EPWM_LINK_WITH_EPWM_29
@ EPWM_LINK_WITH_EPWM_29
link current ePWM with ePWM29
Definition: etpwm.h:417
EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SHIFT_4_SW_DELAY
@ EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SHIFT_4_SW_DELAY
Definition: etpwm.h:1644
EPWM_LINK_WITH_EPWM_14
@ EPWM_LINK_WITH_EPWM_14
link current ePWM with ePWM14
Definition: etpwm.h:402
EPWM_setActionQualifierT1TriggerSource
static void EPWM_setActionQualifierT1TriggerSource(uint32_t base, EPWM_ActionQualifierTriggerSource trigger)
Definition: etpwm.h:3163
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM17
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM17
Sync-in source is EPWM17 sync-out signal.
Definition: etpwm.h:222
EPWM_MINDB_BLOCK_A
#define EPWM_MINDB_BLOCK_A
Values that can be passed to.
Definition: etpwm.h:1716
EPWM_ActionQualifierOutputEvent
EPWM_ActionQualifierOutputEvent
Definition: etpwm.h:552
EPWM_AQ_LOAD_ON_SYNC_CNTR_PERIOD
@ EPWM_AQ_LOAD_ON_SYNC_CNTR_PERIOD
load on sync or when counter equals period
Definition: etpwm.h:519
EPWM_DC_EDGEFILT_EDGECNT_0
@ EPWM_DC_EDGEFILT_EDGECNT_0
Digital Compare Edge filter edge count = 0.
Definition: etpwm.h:1675
EPWM_AQ_LOAD_ON_CNTR_ZERO
@ EPWM_AQ_LOAD_ON_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:509
EPWM_DC_TYPE_DCAH
@ EPWM_DC_TYPE_DCAH
Digital Compare A High.
Definition: etpwm.h:1307
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1
Sync-in source is EPWM1 sync-out signal.
Definition: etpwm.h:190
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM31
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM31
Sync-in source is EPWM31 sync-out signal.
Definition: etpwm.h:250
HRPWM_OUTPUT_ON_B_INV_A
@ HRPWM_OUTPUT_ON_B_INV_A
Definition: etpwm.h:1901
EPWM_setGlobalLoadTrigger
static void EPWM_setGlobalLoadTrigger(uint32_t base, EPWM_GlobalLoadTrigger loadTrigger)
Definition: etpwm.h:7395
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM3
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM3
Sync-in source is EPWM3 sync-out signal.
Definition: etpwm.h:194
EPWM_TZ_ACTION_EVENT_TZB
@ EPWM_TZ_ACTION_EVENT_TZB
TZ1 - TZ6, DCBEVT2, DCBEVT1.
Definition: etpwm.h:938
EPWM_getEventTriggerInterruptStatus
static bool EPWM_getEventTriggerInterruptStatus(uint32_t base)
Definition: etpwm.h:5224
EPWM_COMP_LOAD_ON_SYNC_CNTR_ZERO_PERIOD
@ EPWM_COMP_LOAD_ON_SYNC_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:480
EPWM_CLOCK_DIVIDER_64
@ EPWM_CLOCK_DIVIDER_64
Divide clock by 64.
Definition: etpwm.h:155
EPWM_AQ_OUTPUT_TOGGLE_UP_T1
@ EPWM_AQ_OUTPUT_TOGGLE_UP_T1
T1 event on count up and toggle the output pins.
Definition: etpwm.h:676
EPWM_LINK_WITH_EPWM_3
@ EPWM_LINK_WITH_EPWM_3
link current ePWM with ePWM3
Definition: etpwm.h:391
EPWM_SignalParams::tbCtrMode
EPWM_TimeBaseCountMode tbCtrMode
Time Base Counter Mode.
Definition: etpwm.h:1982
EPWM_setPhaseShift
static void EPWM_setPhaseShift(uint32_t base, uint16_t phaseCount)
Definition: etpwm.h:2629
EPWM_DigitalCompareType
EPWM_DigitalCompareType
Definition: etpwm.h:1306
EPWM_COMP_LOAD_ON_SYNC_ONLY
@ EPWM_COMP_LOAD_ON_SYNC_ONLY
load on sync only
Definition: etpwm.h:482
EPWM_REGISTER_GROUP_HR
@ EPWM_REGISTER_GROUP_HR
HRPWM register group.
Definition: etpwm.h:1700
EPWM_AQ_OUTPUT_TOGGLE_DOWN_CMPA
@ EPWM_AQ_OUTPUT_TOGGLE_DOWN_CMPA
Time base counter down equals COMPA and toggle the output pins.
Definition: etpwm.h:641
EPWM_LINK_WITH_EPWM_21
@ EPWM_LINK_WITH_EPWM_21
link current ePWM with ePWM21
Definition: etpwm.h:409
EPWM_forceEventTriggerInterrupt
static void EPWM_forceEventTriggerInterrupt(uint32_t base)
Definition: etpwm.h:5393
EPWM_selectXbarInput
static void EPWM_selectXbarInput(uint32_t base, uint32_t block, uint32_t xbarInput)
Definition: etpwm.h:7994
EPWM_DeadBandOutput
EPWM_DeadBandOutput
Definition: etpwm.h:743
EPWM_TZ_ADV_ACTION_EVENT_DCxEVT2_U
@ EPWM_TZ_ADV_ACTION_EVENT_DCxEVT2_U
Digital Compare event A/B 2 while counting up.
Definition: etpwm.h:1007
EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG1
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG1
Sync-in source is FSI-RX0 RX Trigger 1 signal.
Definition: etpwm.h:282
EPWM_EMULATION_STOP_AFTER_FULL_CYCLE
@ EPWM_EMULATION_STOP_AFTER_FULL_CYCLE
Stop when counter completes whole cycle.
Definition: etpwm.h:124
EPWM_TZ_ADV_ACTION_EVENT_TZB_D
@ EPWM_TZ_ADV_ACTION_EVENT_TZB_D
TZ1 - TZ6, DCBEVT2, DCBEVT1 while counting down.
Definition: etpwm.h:968
EPWM_disableValleyHWDelay
static void EPWM_disableValleyHWDelay(uint32_t base)
Definition: etpwm.h:7183
EPWM_SOC_TBCTR_MIXED_EVENT
@ EPWM_SOC_TBCTR_MIXED_EVENT
Time-base counter equal to zero or period.
Definition: etpwm.h:1275
EPWM_setClockPrescaler
static void EPWM_setClockPrescaler(uint32_t base, EPWM_ClockDivider prescaler, EPWM_HSClockDivider highSpeedPrescaler)
Definition: etpwm.h:2074
EPWM_AQ_OUTPUT_TOGGLE_UP_CMPB
@ EPWM_AQ_OUTPUT_TOGGLE_UP_CMPB
Time base counter up equals COMPB and toggle the output pins.
Definition: etpwm.h:649
EPWM_getDigitalCompareBlankingWindowLengthCount
static uint16_t EPWM_getDigitalCompareBlankingWindowLengthCount(uint32_t base)
Definition: etpwm.h:6385
EPWM_AQ_OUTPUT_LOW_UP_CMPB
@ EPWM_AQ_OUTPUT_LOW_UP_CMPB
Time base counter up equals COMPB and set output pins to low.
Definition: etpwm.h:645
EPWM_RED_LOAD_ON_CNTR_ZERO
@ EPWM_RED_LOAD_ON_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:812
EPWM_HSCLOCK_DIVIDER_8
@ EPWM_HSCLOCK_DIVIDER_8
Divide clock by 8.
Definition: etpwm.h:171
EPWM_TZ_DC_OUTPUT_A2
@ EPWM_TZ_DC_OUTPUT_A2
Digital Compare output 2 A.
Definition: etpwm.h:908
EPWM_SignalParams::dutyValB
Float32 dutyValB
Desired ePWMxB Signal Duty.
Definition: etpwm.h:1979
EPWM_lockRegisters
static void EPWM_lockRegisters(uint32_t base, EPWM_LockRegisterGroup registerGroup)
Definition: etpwm.h:7649
HRPWM_disableAutoConversion
static void HRPWM_disableAutoConversion(uint32_t base)
Definition: etpwm.h:8363
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM12
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM12
Sync-in source is EPWM12 sync-out signal.
Definition: etpwm.h:212
EPWM_INT_TBCTR_D_CMPC
#define EPWM_INT_TBCTR_D_CMPC
time-base counter equal to CMPC when the timer is decrementing
Definition: etpwm.h:1203
EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_T2
@ EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_T2
T2 event on count down and no change in the output pins.
Definition: etpwm.h:694
EPWM_AQ_OUTPUT_TOGGLE_UP_T2
@ EPWM_AQ_OUTPUT_TOGGLE_UP_T2
T2 event on count up and toggle the output pins.
Definition: etpwm.h:692
EPWM_TZ_ACTION_DISABLE
@ EPWM_TZ_ACTION_DISABLE
disable action
Definition: etpwm.h:956
EPWM_AQ_TRIGGER_EVENT_TRIG_EPWM_SYNCIN
@ EPWM_AQ_TRIGGER_EVENT_TRIG_EPWM_SYNCIN
ePWM sync
Definition: etpwm.h:541
EPWM_forceADCTriggerEventCountInit
static void EPWM_forceADCTriggerEventCountInit(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5823
EPWM_getMinDeadBandDelay
static uint32_t EPWM_getMinDeadBandDelay(uint32_t base, uint32_t block)
Definition: etpwm.h:7868
EPWM_disableIllegalComboLogic
static void EPWM_disableIllegalComboLogic(uint32_t base, uint32_t block)
Definition: etpwm.h:7964
EPWM_GL_LOAD_PULSE_SYNC_CNTR_ZERO_PERIOD
@ EPWM_GL_LOAD_PULSE_SYNC_CNTR_ZERO_PERIOD
load on sync event or when counter is equal to period or zero
Definition: etpwm.h:1543
EPWM_disableActionQualifierShadowLoadMode
static void EPWM_disableActionQualifierShadowLoadMode(uint32_t base, EPWM_ActionQualifierModule aqModule)
Definition: etpwm.h:3124
EPWM_setADCTriggerEventPrescale
static void EPWM_setADCTriggerEventPrescale(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType, uint16_t preScaleCount)
Definition: etpwm.h:5651
EPWM_enableInterruptEventCountInit
static void EPWM_enableInterruptEventCountInit(uint32_t base)
Definition: etpwm.h:5269
EPWM_enableDigitalCompareCounterCapture
static void EPWM_enableDigitalCompareCounterCapture(uint32_t base)
Definition: etpwm.h:6807
EPWM_DC_WINDOW_SOURCE_DCAEVT1
@ EPWM_DC_WINDOW_SOURCE_DCAEVT1
DC filter signal source is DCAEVT1.
Definition: etpwm.h:1427
EPWM_DigitalCompareEvent
EPWM_DigitalCompareEvent
Definition: etpwm.h:1459
HRPWM_enableAutoConversion
static void HRPWM_enableAutoConversion(uint32_t base)
Definition: etpwm.h:8341
EPWM_LINK_COMP_B
@ EPWM_LINK_COMP_B
link COMPB registers
Definition: etpwm.h:432
EPWM_LINK_WITH_EPWM_6
@ EPWM_LINK_WITH_EPWM_6
link current ePWM with ePWM6
Definition: etpwm.h:394
EPWM_enableDigitalCompareWindowInverseMode
static void EPWM_enableDigitalCompareWindowInverseMode(uint32_t base)
Definition: etpwm.h:6048
EPWM_LINK_WITH_EPWM_15
@ EPWM_LINK_WITH_EPWM_15
link current ePWM with ePWM15
Definition: etpwm.h:403
HRPWM_MEP_DUTY_PERIOD_CTRL
@ HRPWM_MEP_DUTY_PERIOD_CTRL
CMPAHR/CMPBHR or TBPRDHR controls MEP edge.
Definition: etpwm.h:1866
EPWM_disableDeadBandControlShadowLoadMode
static void EPWM_disableDeadBandControlShadowLoadMode(uint32_t base)
Definition: etpwm.h:3915
EPWM_DB_POLARITY_ACTIVE_LOW
@ EPWM_DB_POLARITY_ACTIVE_LOW
DB polarity is inverted.
Definition: etpwm.h:769
EPWM_setRisingEdgeDelayCountShadowLoadMode
static void EPWM_setRisingEdgeDelayCountShadowLoadMode(uint32_t base, EPWM_RisingEdgeDelayLoadMode loadMode)
Definition: etpwm.h:3944
EPWM_TZ_ADV_ACTION_DISABLE
@ EPWM_TZ_ADV_ACTION_DISABLE
disable action
Definition: etpwm.h:990
EPWM_CLOCK_DIVIDER_4
@ EPWM_CLOCK_DIVIDER_4
Divide clock by 4.
Definition: etpwm.h:151
EPWM_DC_EVENT_INPUT_SYNCED
@ EPWM_DC_EVENT_INPUT_SYNCED
DC input signal is synced with TBCLK.
Definition: etpwm.h:1487
EPWM_AQ_OUTPUT_NO_CHANGE_PERIOD
@ EPWM_AQ_OUTPUT_NO_CHANGE_PERIOD
Time base counter equals period and no change in the output pins.
Definition: etpwm.h:619
EPWM_LINK_DBRED
@ EPWM_LINK_DBRED
link DBRED registers
Definition: etpwm.h:436
EPWM_ValleyCounterEdge
EPWM_ValleyCounterEdge
Definition: etpwm.h:1618
EPWM_LockRegisterGroup
EPWM_LockRegisterGroup
Definition: etpwm.h:1699
EPWM_SYNC_IN_PULSE_SRC_DISABLE
@ EPWM_SYNC_IN_PULSE_SRC_DISABLE
Disable Sync-in.
Definition: etpwm.h:186
EPWM_setFallingEdgeDeadBandDelayInput
static void EPWM_setFallingEdgeDeadBandDelayInput(uint32_t base, uint16_t input)
Definition: etpwm.h:3833
EPWM_configureSignal
void EPWM_configureSignal(uint32_t base, const EPWM_SignalParams *signalParams)
EPWM_SyncCountMode
EPWM_SyncCountMode
Definition: etpwm.h:136
EPWM_RED_LOAD_FREEZE
@ EPWM_RED_LOAD_FREEZE
Freeze shadow to active load.
Definition: etpwm.h:818
EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG0
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG0
Sync-in source is FSI-RX1 RX Trigger 0 signal.
Definition: etpwm.h:288
EPWM_HSCLOCK_DIVIDER_12
@ EPWM_HSCLOCK_DIVIDER_12
Divide clock by 12.
Definition: etpwm.h:173
HRPWM_Channel
HRPWM_Channel
Definition: etpwm.h:1834
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM21
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM21
Sync-in source is EPWM21 sync-out signal.
Definition: etpwm.h:230
EPWM_setDeadBandControlShadowLoadMode
static void EPWM_setDeadBandControlShadowLoadMode(uint32_t base, EPWM_DeadBandControlLoadMode loadMode)
Definition: etpwm.h:3890
EPWM_DC_TRIP_TRIPIN4
@ EPWM_DC_TRIP_TRIPIN4
Trip 4.
Definition: etpwm.h:1324
EPWM_HSClockDivider
EPWM_HSClockDivider
Definition: etpwm.h:166
EPWM_RED_LOAD_ON_CNTR_PERIOD
@ EPWM_RED_LOAD_ON_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:814
HRPWM_setOutputSwapMode
static void HRPWM_setOutputSwapMode(uint32_t base, bool enableOutputSwap)
Definition: etpwm.h:8285
EPWM_AQ_OUTPUT_LOW_DOWN_CMPA
@ EPWM_AQ_OUTPUT_LOW_DOWN_CMPA
Time base counter down equals COMPA and set output pins to low.
Definition: etpwm.h:637
HRPWM_MEP_CTRL_DISABLE
@ HRPWM_MEP_CTRL_DISABLE
HRPWM is disabled.
Definition: etpwm.h:1848
EPWM_AQ_OUTPUT_NO_CHANGE_ZERO
@ EPWM_AQ_OUTPUT_NO_CHANGE_ZERO
Time base counter equals zero and no change in the output pins.
Definition: etpwm.h:611
EPWM_AQ_OUTPUT_LOW
@ EPWM_AQ_OUTPUT_LOW
Set output pins to low.
Definition: etpwm.h:584
EPWM_getTimeBaseCounterDirection
static uint16_t EPWM_getTimeBaseCounterDirection(uint32_t base)
Definition: etpwm.h:2605
HRPWM_LoadMode
HRPWM_LoadMode
Definition: etpwm.h:1879
EPWM_selectMinimumDeadBandAndOrLogic
static void EPWM_selectMinimumDeadBandAndOrLogic(uint32_t base, uint32_t block, uint32_t referenceSignal)
Definition: etpwm.h:7769
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM19
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM19
Sync-in source is EPWM19 sync-out signal.
Definition: etpwm.h:226
EPWM_getDigitalCompareCaptureCount
static uint16_t EPWM_getDigitalCompareCaptureCount(uint32_t base)
Definition: etpwm.h:6914
EPWM_setDigitalCompareBlankingEvent
static void EPWM_setDigitalCompareBlankingEvent(uint32_t base, EPWM_DigitalCompareBlankingPulse blankingPulse, uint16_t mixedSource)
Definition: etpwm.h:6099
EPWM_INT_TBCTR_U_CMPD
#define EPWM_INT_TBCTR_U_CMPD
time-base counter equal to CMPD when the timer is incrementing
Definition: etpwm.h:1207
EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG1
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG1
Sync-in source is FSI-RX3 RX Trigger 1 signal.
Definition: etpwm.h:306
EPWM_TZ_ADV_ACTION_EVENT_TZB_U
@ EPWM_TZ_ADV_ACTION_EVENT_TZB_U
TZ1 - TZ6, DCBEVT2, DCBEVT1 while counting up.
Definition: etpwm.h:970
EPWM_TZ_EVENT_DC_DISABLED
@ EPWM_TZ_EVENT_DC_DISABLED
Event is disabled.
Definition: etpwm.h:921
EPWM_getInterruptEventCount
static uint16_t EPWM_getInterruptEventCount(uint32_t base)
Definition: etpwm.h:5371
EPWM_setDigitalCompareCounterShadowMode
static void EPWM_setDigitalCompareCounterShadowMode(uint32_t base, bool enableShadowMode)
Definition: etpwm.h:6854
EPWM_SignalParams::freqInHz
Float32 freqInHz
Desired Signal Frequency(in Hz)
Definition: etpwm.h:1977
EPWM_ACTION_QUALIFIER_A
@ EPWM_ACTION_QUALIFIER_A
Action Qualifier A.
Definition: etpwm.h:496
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM11
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM11
Sync-in source is EPWM11 sync-out signal.
Definition: etpwm.h:210
EPWM_TripZoneEvent
EPWM_TripZoneEvent
Definition: etpwm.h:936
EPWM_DC_TRIP_COMBINATION
@ EPWM_DC_TRIP_COMBINATION
All Trips (Trip1 - Trip 15) are selected.
Definition: etpwm.h:1335
EPWM_GL_LOAD_PULSE_GLOBAL_FORCE
@ EPWM_GL_LOAD_PULSE_GLOBAL_FORCE
load on global force
Definition: etpwm.h:1553
EPWM_DC_TRIP_TRIPIN15
@ EPWM_DC_TRIP_TRIPIN15
Trip 15.
Definition: etpwm.h:1334
EPWM_disableGlobalLoadOneShotMode
static void EPWM_disableGlobalLoadOneShotMode(uint32_t base)
Definition: etpwm.h:7475
EPWM_INT_TBCTR_D_CMPA
#define EPWM_INT_TBCTR_D_CMPA
time-base counter equal to CMPA when the timer is decrementing
Definition: etpwm.h:1201
EPWM_DigitalCompareBlankingPulse
EPWM_DigitalCompareBlankingPulse
Definition: etpwm.h:1381
HRPWM_getHiResCounterCompareValueOnly
static uint16_t HRPWM_getHiResCounterCompareValueOnly(uint32_t base, HRPWM_CounterCompareModule compModule)
Definition: etpwm.h:8693
EPWM_forceSyncPulse
static void EPWM_forceSyncPulse(uint32_t base)
Definition: etpwm.h:2101
EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SHIFT_2_SW_DELAY
@ EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SHIFT_2_SW_DELAY
Definition: etpwm.h:1641
EPWM_ValleyDelayMode
EPWM_ValleyDelayMode
Definition: etpwm.h:1630
EPWM_LINK_WITH_EPWM_11
@ EPWM_LINK_WITH_EPWM_11
link current ePWM with ePWM11
Definition: etpwm.h:399
EPWM_CLOCK_DIVIDER_1
@ EPWM_CLOCK_DIVIDER_1
Divide clock by 1.
Definition: etpwm.h:149
EPWM_AQ_OUTPUT_NO_CHANGE_UP_CMPA
@ EPWM_AQ_OUTPUT_NO_CHANGE_UP_CMPA
Time base counter up equals COMPA and no change in the output pins.
Definition: etpwm.h:627
EPWM_setSyncInPulseSource
static void EPWM_setSyncInPulseSource(uint32_t base, EPWM_SyncInPulseSource source)
Definition: etpwm.h:2141
EPWM_TZ_ACTION_HIGH_Z
@ EPWM_TZ_ACTION_HIGH_Z
high impedance output
Definition: etpwm.h:953
HRPWM_LOAD_ON_CNTR_PERIOD
@ HRPWM_LOAD_ON_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:1883
EPWM_setTripZoneAdvDigitalCompareActionA
static void EPWM_setTripZoneAdvDigitalCompareActionA(uint32_t base, EPWM_TripZoneAdvDigitalCompareEvent tzAdvDCEvent, EPWM_TripZoneAdvancedAction tzAdvDCAction)
Definition: etpwm.h:4574
EPWM_setDigitalCompareEdgeFilterMode
static void EPWM_setDigitalCompareEdgeFilterMode(uint32_t base, EPWM_DigitalCompareEdgeFilterMode edgeMode)
Definition: etpwm.h:6216
EPWM_LINK_WITH_EPWM_23
@ EPWM_LINK_WITH_EPWM_23
link current ePWM with ePWM23
Definition: etpwm.h:411
EPWM_EMULATION_STOP_AFTER_NEXT_TB
@ EPWM_EMULATION_STOP_AFTER_NEXT_TB
Stop after next Time Base counter increment or decrement.
Definition: etpwm.h:122
EPWM_setGlobalLoadEventPrescale
static void EPWM_setGlobalLoadEventPrescale(uint32_t base, uint16_t prescalePulseCount)
Definition: etpwm.h:7422
EPWM_SOC_TBCTR_D_CMPA
@ EPWM_SOC_TBCTR_D_CMPA
time-base counter equal to CMPA when the timer is decrementing
Definition: etpwm.h:1281
EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL
@ EPWM_DC_EVENT_SOURCE_ORIG_SIGNAL
signal source is unfiltered (DCAEVT1/2)
Definition: etpwm.h:1473
EPWM_SignalParams::invertSignalB
bool invertSignalB
Invert ePWMxB Signal if true.
Definition: etpwm.h:1980
EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG2
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG2
Sync-in source is FSI-RX1 RX Trigger 2 signal.
Definition: etpwm.h:292
EPWM_AQ_OUTPUT_ON_T2_COUNT_DOWN
@ EPWM_AQ_OUTPUT_ON_T2_COUNT_DOWN
T2 event on count down.
Definition: etpwm.h:572
EPWM_setActionQualifierAction
static void EPWM_setActionQualifierAction(uint32_t base, EPWM_ActionQualifierOutputModule epwmOutput, EPWM_ActionQualifierOutput output, EPWM_ActionQualifierOutputEvent event)
Definition: etpwm.h:3253
EPWM_DB_FED
@ EPWM_DB_FED
DB FED (Falling Edge Delay) mode.
Definition: etpwm.h:757
EPWM_disableMinimumDeadBand
static void EPWM_disableMinimumDeadBand(uint32_t base, uint32_t block)
Definition: etpwm.h:7703
EPWM_TZ_DC_OUTPUT_B2
@ EPWM_TZ_DC_OUTPUT_B2
Digital Compare output 2 B.
Definition: etpwm.h:910
EPWM_setCounterCompareValue
static void EPWM_setCounterCompareValue(uint32_t base, EPWM_CounterCompareModule compModule, uint16_t compCount)
Definition: etpwm.h:2933
EPWM_TZ_ADV_ACTION_HIGH_Z
@ EPWM_TZ_ADV_ACTION_HIGH_Z
high impedance output
Definition: etpwm.h:986
EPWM_getDigitalCompareBlankingWindowOffsetCount
static uint16_t EPWM_getDigitalCompareBlankingWindowOffsetCount(uint32_t base)
Definition: etpwm.h:6365
EPWM_invertMinimumDeadBandSignal
static void EPWM_invertMinimumDeadBandSignal(uint32_t base, uint32_t block, uint32_t invert)
Definition: etpwm.h:7734
EPWM_DC_TYPE_DCBL
@ EPWM_DC_TYPE_DCBL
Digital Compare B Low.
Definition: etpwm.h:1310
EPWM_CLOCK_DIVIDER_2
@ EPWM_CLOCK_DIVIDER_2
Divide clock by 2.
Definition: etpwm.h:150
EPWM_DeadBandDelayMode
EPWM_DeadBandDelayMode
Definition: etpwm.h:755
EPWM_enableDigitalCompareEdgeFilter
static void EPWM_enableDigitalCompareEdgeFilter(uint32_t base)
Definition: etpwm.h:6167
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM26
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM26
Sync-in source is EPWM26 sync-out signal.
Definition: etpwm.h:240
EPWM_DC_EDGEFILT_EDGECNT_3
@ EPWM_DC_EDGEFILT_EDGECNT_3
Digital Compare Edge filter edge count = 4.
Definition: etpwm.h:1681
HRPWM_LOAD_ON_CMPB_EQ
@ HRPWM_LOAD_ON_CMPB_EQ
load on translater event CMPB-3
Definition: etpwm.h:1887
EPWM_INT_TBCTR_U_CMPA
#define EPWM_INT_TBCTR_U_CMPA
time-base counter equal to CMPA when the timer is incrementing
Definition: etpwm.h:1197
EPWM_setCounterCompareShadowLoadMode
static void EPWM_setCounterCompareShadowLoadMode(uint32_t base, EPWM_CounterCompareModule compModule, EPWM_CounterCompareLoadMode loadMode)
Definition: etpwm.h:2805
EPWM_OneShotSyncOutTrigger
EPWM_OneShotSyncOutTrigger
Definition: etpwm.h:320
EPWM_setRisingEdgeDelayCount
static void EPWM_setRisingEdgeDelayCount(uint32_t base, uint16_t redCount)
Definition: etpwm.h:4080
EPWM_TZ_EVENT_DCXH_HIGH
@ EPWM_TZ_EVENT_DCXH_HIGH
Event when DCxH high.
Definition: etpwm.h:923
EPWM_CLOCK_DIVIDER_16
@ EPWM_CLOCK_DIVIDER_16
Divide clock by 16.
Definition: etpwm.h:153
EPWM_DC_TRIP_TRIPIN12
@ EPWM_DC_TRIP_TRIPIN12
Trip 12.
Definition: etpwm.h:1332
EPWM_LINK_WITH_EPWM_10
@ EPWM_LINK_WITH_EPWM_10
link current ePWM with ePWM10
Definition: etpwm.h:398
EPWM_enableADCTrigger
static void EPWM_enableADCTrigger(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5421
EPWM_DC_TRIP_TRIPIN10
@ EPWM_DC_TRIP_TRIPIN10
Trip 10.
Definition: etpwm.h:1330
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP2
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP2
Sync-in source is ECAP2 sync-out signal.
Definition: etpwm.h:256
EPWM_setADCTriggerEventCountInitValue
static void EPWM_setADCTriggerEventCountInitValue(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType, uint16_t eventCount)
Definition: etpwm.h:5853
HRPWM_MEPDeadBandEdgeMode
HRPWM_MEPDeadBandEdgeMode
Definition: etpwm.h:1945
EPWM_SOC_TBCTR_U_CMPC
@ EPWM_SOC_TBCTR_U_CMPC
time-base counter equal to CMPC when the timer is incrementing
Definition: etpwm.h:1279
EPWM_VALLEY_COUNT_STOP_EDGE
@ EPWM_VALLEY_COUNT_STOP_EDGE
Valley count stop edge.
Definition: etpwm.h:1620
EPWM_COUNTER_MODE_STOP_FREEZE
@ EPWM_COUNTER_MODE_STOP_FREEZE
Stop - Freeze counter.
Definition: etpwm.h:350
EPWM_LINK_WITH_EPWM_17
@ EPWM_LINK_WITH_EPWM_17
link current ePWM with ePWM17
Definition: etpwm.h:405
EPWM_setDigitalCompareCBCLatchMode
static void EPWM_setDigitalCompareCBCLatchMode(uint32_t base, EPWM_DigitalCompareModule dcModule, EPWM_DigitalCompareEvent dcEvent, EPWM_DigitalCompareCBCLatchMode latchMode)
Definition: etpwm.h:6656
EPWM_forceGlobalLoadOneShotEvent
static void EPWM_forceGlobalLoadOneShotEvent(uint32_t base)
Definition: etpwm.h:7544
EPWM_getValleyEdgeStatus
static bool EPWM_getValleyEdgeStatus(uint32_t base, EPWM_ValleyCounterEdge edge)
Definition: etpwm.h:7255
EPWM_ActionQualifierOutput
EPWM_ActionQualifierOutput
Definition: etpwm.h:582
EPWM_DC_EDGEFILT_MODE_RISING
@ EPWM_DC_EDGEFILT_MODE_RISING
Digital Compare Edge filter low to high edge mode.
Definition: etpwm.h:1659
EPWM_TZ_ACTION_EVENT_DCBEVT2
@ EPWM_TZ_ACTION_EVENT_DCBEVT2
DCBEVT2 (Digital Compare B event 2)
Definition: etpwm.h:942
EPWM_AQ_OUTPUT_LOW_UP_T1
@ EPWM_AQ_OUTPUT_LOW_UP_T1
T1 event on count up and set output pins to low.
Definition: etpwm.h:672
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM14
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM14
Sync-in source is EPWM14 sync-out signal.
Definition: etpwm.h:216
HRPWM_PWMSYNC_SOURCE_COMPC_DOWN
@ HRPWM_PWMSYNC_SOURCE_COMPC_DOWN
Counter equals COMPC when counting down.
Definition: etpwm.h:1919
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM10
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM10
Sync-in source is EPWM10 sync-out signal.
Definition: etpwm.h:208
EPWM_ClockDivider
EPWM_ClockDivider
Definition: etpwm.h:148
EPWM_DB_INPUT_DB_RED
#define EPWM_DB_INPUT_DB_RED
Input signal is the output of Rising Edge delay.
Definition: etpwm.h:783
EPWM_LinkComponent
EPWM_LinkComponent
Definition: etpwm.h:429
EPWM_disableSyncOutPulseSource
static void EPWM_disableSyncOutPulseSource(uint32_t base, uint16_t source)
Definition: etpwm.h:2233
EPWM_disableADCTriggerEventCountInit
static void EPWM_disableADCTriggerEventCountInit(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5794
EPWM_GL_LOAD_PULSE_CNTR_CMPD_D
@ EPWM_GL_LOAD_PULSE_CNTR_CMPD_D
load when counter is equal to cmpd and cmpd is decrementing
Definition: etpwm.h:1551
HRPWM_SyncPulseSource
HRPWM_SyncPulseSource
Definition: etpwm.h:1911
EPWM_VALLEY_TRIGGER_EVENT_CNTR_ZERO
@ EPWM_VALLEY_TRIGGER_EVENT_CNTR_ZERO
Valley capture trigged by when counter is equal to zero.
Definition: etpwm.h:1596
EPWM_AQ_OUTPUT_LOW_DOWN_CMPB
@ EPWM_AQ_OUTPUT_LOW_DOWN_CMPB
Time base counter down equals COMPB and set output pins to low.
Definition: etpwm.h:653
EPWM_DigitalCompareModule
EPWM_DigitalCompareModule
Definition: etpwm.h:1444
EPWM_getADCTriggerFlagStatus
static bool EPWM_getADCTriggerFlagStatus(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5706
EPWM_FED_LOAD_FREEZE
@ EPWM_FED_LOAD_FREEZE
Freeze shadow to active load.
Definition: etpwm.h:836
EPWM_DigitalCompareCBCLatchMode
EPWM_DigitalCompareCBCLatchMode
Definition: etpwm.h:1499
EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG3
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX1_RX_TRIG3
Sync-in source is FSI-RX1 RX Trigger 3 signal.
Definition: etpwm.h:294
EPWM_SOC_B
@ EPWM_SOC_B
SOC B.
Definition: etpwm.h:1257
EPWM_PERIOD_SHADOW_LOAD
@ EPWM_PERIOD_SHADOW_LOAD
PWM Period register access is through shadow register.
Definition: etpwm.h:334
EPWM_TZ_ADV_ACTION_EVENT_DCxEVT2_D
@ EPWM_TZ_ADV_ACTION_EVENT_DCxEVT2_D
Digital Compare event A/B 2 while counting down.
Definition: etpwm.h:1009
EPWM_DC_EDGEFILT_EDGECNT_1
@ EPWM_DC_EDGEFILT_EDGECNT_1
Digital Compare Edge filter edge count = 2.
Definition: etpwm.h:1677
HRPWM_setHiResCounterCompareValue
static void HRPWM_setHiResCounterCompareValue(uint32_t base, HRPWM_CounterCompareModule compModule, uint16_t hrCompCount)
Definition: etpwm.h:8646
EPWM_DC_EVENT_SOURCE_FILT_SIGNAL
@ EPWM_DC_EVENT_SOURCE_FILT_SIGNAL
signal source is filtered (DCEVTFILT)
Definition: etpwm.h:1475
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM23
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM23
Sync-in source is EPWM23 sync-out signal.
Definition: etpwm.h:234
EPWM_LINK_WITH_EPWM_8
@ EPWM_LINK_WITH_EPWM_8
link current ePWM with ePWM8
Definition: etpwm.h:396
EPWM_AQ_OUTPUT_HIGH_UP_CMPB
@ EPWM_AQ_OUTPUT_HIGH_UP_CMPB
Time base counter up equals COMPB and set output pins to high.
Definition: etpwm.h:647
EPWM_getTimeBaseCounterOverflowStatus
static bool EPWM_getTimeBaseCounterOverflowStatus(uint32_t base)
Definition: etpwm.h:2516
EPWM_COUNTER_COMPARE_B
@ EPWM_COUNTER_COMPARE_B
counter compare B
Definition: etpwm.h:454
EPWM_SOC_DCxEVT1
@ EPWM_SOC_DCxEVT1
Event is based on DCxEVT1.
Definition: etpwm.h:1269
EPWM_AQ_OUTPUT_NO_CHANGE_UP_T1
@ EPWM_AQ_OUTPUT_NO_CHANGE_UP_T1
T1 event on count up and no change in the output pins.
Definition: etpwm.h:670
EPWM_DC_CBC_LATCH_ENABLED
@ EPWM_DC_CBC_LATCH_ENABLED
DC cycle-by-cycle(CBC) latch is enabled.
Definition: etpwm.h:1503
EPWM_AQ_TRIGGER_EVENT_TRIG_TZ_1
@ EPWM_AQ_TRIGGER_EVENT_TRIG_TZ_1
Trip zone 1.
Definition: etpwm.h:538
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM28
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM28
Sync-in source is EPWM28 sync-out signal.
Definition: etpwm.h:244
EPWM_ValleyTriggerSource
EPWM_ValleyTriggerSource
Definition: etpwm.h:1592
EPWM_DC_TRIP_TRIPIN6
@ EPWM_DC_TRIP_TRIPIN6
Trip 6.
Definition: etpwm.h:1326
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP5
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP5
Sync-in source is ECAP5 sync-out signal.
Definition: etpwm.h:262
EPWM_TZ_ADV_ACTION_TOGGLE
@ EPWM_TZ_ADV_ACTION_TOGGLE
toggle the output
Definition: etpwm.h:989
EPWM_LINK_COMP_A
@ EPWM_LINK_COMP_A
link COMPA registers
Definition: etpwm.h:431
EPWM_enableGlobalLoad
static void EPWM_enableGlobalLoad(uint32_t base)
Definition: etpwm.h:7334
EPWM_disableValleyCapture
static void EPWM_disableValleyCapture(uint32_t base)
Definition: etpwm.h:7049
EPWM_TZ_ADV_ACTION_HIGH
@ EPWM_TZ_ADV_ACTION_HIGH
high voltage state
Definition: etpwm.h:987
EPWM_VALLEY_TRIGGER_EVENT_DCBEVT1
@ EPWM_VALLEY_TRIGGER_EVENT_DCBEVT1
Valley capture trigged by DCBEVT1 (Digital Compare B event 1)
Definition: etpwm.h:1606
EPWM_AdditionalActionQualifierEventAction
EPWM_AdditionalActionQualifierEventAction
Definition: etpwm.h:668
EPWM_enableChopper
static void EPWM_enableChopper(uint32_t base)
Definition: etpwm.h:4135
EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO
@ EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO
Time base counter equals zero.
Definition: etpwm.h:554
EPWM_DC_TRIP_TRIPIN3
@ EPWM_DC_TRIP_TRIPIN3
Trip 3.
Definition: etpwm.h:1323
EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG1
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG1
Sync-in source is FSI-RX2 RX Trigger 1 signal.
Definition: etpwm.h:298
EPWM_enablePhaseShiftLoad
static void EPWM_enablePhaseShiftLoad(uint32_t base)
Definition: etpwm.h:2328
EPWM_setTripZoneDigitalCompareEventCondition
static void EPWM_setTripZoneDigitalCompareEventCondition(uint32_t base, EPWM_TripZoneDigitalCompareOutput dcType, EPWM_TripZoneDigitalCompareOutputEvent dcEvent)
Definition: etpwm.h:4382
EPWM_AQ_SW_IMMEDIATE_LOAD
@ EPWM_AQ_SW_IMMEDIATE_LOAD
No shadow load mode. Immediate mode only.
Definition: etpwm.h:733
EPWM_DC_WINDOW_SOURCE_DCBEVT1
@ EPWM_DC_WINDOW_SOURCE_DCBEVT1
DC filter signal source is DCBEVT1.
Definition: etpwm.h:1429
EPWM_clearTimeBaseCounterOverflowEvent
static void EPWM_clearTimeBaseCounterOverflowEvent(uint32_t base)
Definition: etpwm.h:2539
EPWM_DeadBandPolarity
EPWM_DeadBandPolarity
Definition: etpwm.h:767
EPWM_DC_TRIP_TRIPIN7
@ EPWM_DC_TRIP_TRIPIN7
Trip 7.
Definition: etpwm.h:1327
EPWM_LINK_WITH_EPWM_28
@ EPWM_LINK_WITH_EPWM_28
link current ePWM with ePWM28
Definition: etpwm.h:416
HRPWM_MEPEdgeMode
HRPWM_MEPEdgeMode
Definition: etpwm.h:1846
EPWM_disableADCTrigger
static void EPWM_disableADCTrigger(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5454
EPWM_DB_LOAD_FREEZE
@ EPWM_DB_LOAD_FREEZE
Freeze shadow to active load.
Definition: etpwm.h:800
HRPWM_setCounterCompareShadowLoadEvent
static void HRPWM_setCounterCompareShadowLoadEvent(uint32_t base, HRPWM_Channel channel, HRPWM_LoadMode loadEvent)
Definition: etpwm.h:8258
EPWM_enableDigitalCompareBlankingWindow
static void EPWM_enableDigitalCompareBlankingWindow(uint32_t base)
Definition: etpwm.h:6005
EPWM_DC_WINDOW_START_TBCTR_PERIOD
@ EPWM_DC_WINDOW_START_TBCTR_PERIOD
Time base counter equals period.
Definition: etpwm.h:1383
EPWM_TripZoneAdvancedAction
EPWM_TripZoneAdvancedAction
Definition: etpwm.h:985
EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SW_DELAY
@ EPWM_VALLEY_DELAY_MODE_VCNT_DELAY_SW_DELAY
Definition: etpwm.h:1635
HRPWM_MEP_CTRL_RISING_EDGE
@ HRPWM_MEP_CTRL_RISING_EDGE
MEP controls rising edge.
Definition: etpwm.h:1850
EPWM_DC_TRIP_TRIPIN14
@ EPWM_DC_TRIP_TRIPIN14
Trip 14.
Definition: etpwm.h:1333
HRPWM_disablePhaseShiftLoad
static void HRPWM_disablePhaseShiftLoad(uint32_t base)
Definition: etpwm.h:8448
EPWM_disableTripZoneOutput
static void EPWM_disableTripZoneOutput(uint32_t base, uint16_t tzOutput)
Definition: etpwm.h:5031
EPWM_AQ_OUTPUT_TOGGLE_PERIOD
@ EPWM_AQ_OUTPUT_TOGGLE_PERIOD
Time base counter equals period and toggle the output pins.
Definition: etpwm.h:625
EPWM_VALLEY_TRIGGER_EVENT_CNTR_ZERO_PERIOD
@ EPWM_VALLEY_TRIGGER_EVENT_CNTR_ZERO_PERIOD
Valley capture trigged when counter is equal to zero or period.
Definition: etpwm.h:1600
EPWM_setActionQualifierSWAction
static void EPWM_setActionQualifierSWAction(uint32_t base, EPWM_ActionQualifierOutputModule epwmOutput, EPWM_ActionQualifierOutput output)
Definition: etpwm.h:3580
EPWM_disableGlobalLoadRegisters
static void EPWM_disableGlobalLoadRegisters(uint32_t base, uint16_t loadRegister)
Definition: etpwm.h:7620
EPWM_COUNTER_MODE_UP_DOWN
@ EPWM_COUNTER_MODE_UP_DOWN
Up - down - count mode.
Definition: etpwm.h:349
EPWM_DC_TRIP_TRIPIN11
@ EPWM_DC_TRIP_TRIPIN11
Trip 11.
Definition: etpwm.h:1331
EPWM_enableOneShotSync
static void EPWM_enableOneShotSync(uint32_t base)
Definition: etpwm.h:2430
EPWM_enableSyncOutPulseSource
static void EPWM_enableSyncOutPulseSource(uint32_t base, uint16_t source)
Definition: etpwm.h:2188
DebugP.h
EPWM_setAdditionalActionQualifierActionComplete
static void EPWM_setAdditionalActionQualifierActionComplete(uint32_t base, EPWM_ActionQualifierOutputModule epwmOutput, EPWM_AdditionalActionQualifierEventAction action)
Definition: etpwm.h:3456
EPWM_TripZoneAction
EPWM_TripZoneAction
Definition: etpwm.h:952
HRPWM_DB_MEP_CTRL_RED_FED
@ HRPWM_DB_MEP_CTRL_RED_FED
MEP controls both Falling and Rising edge delay.
Definition: etpwm.h:1953
EPWM_LOCK_KEY
#define EPWM_LOCK_KEY
Definition: etpwm.h:1967
HRPWM_MEP_CTRL_FALLING_EDGE
@ HRPWM_MEP_CTRL_FALLING_EDGE
MEP controls falling edge.
Definition: etpwm.h:1852
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP8
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP8
Sync-in source is ECAP8 sync-out signal.
Definition: etpwm.h:268
EPWM_DC_CBC_LATCH_DISABLED
@ EPWM_DC_CBC_LATCH_DISABLED
DC cycle-by-cycle(CBC) latch is disabled.
Definition: etpwm.h:1501
EPWM_LINK_GLDCTL2
@ EPWM_LINK_GLDCTL2
link GLDCTL2 registers
Definition: etpwm.h:435
EPWM_VALLEY_TRIGGER_EVENT_CNTR_PERIOD
@ EPWM_VALLEY_TRIGGER_EVENT_CNTR_PERIOD
Valley capture trigged by when counter is equal period.
Definition: etpwm.h:1598
EPWM_TripZoneAdvDigitalCompareEvent
EPWM_TripZoneAdvDigitalCompareEvent
Definition: etpwm.h:1001
EPWM_selectMinimumDeadBandBlockingSignal
static void EPWM_selectMinimumDeadBandBlockingSignal(uint32_t base, uint32_t block, uint32_t blockingSignal)
Definition: etpwm.h:7803
EPWM_DigitalCompareEventSource
EPWM_DigitalCompareEventSource
Definition: etpwm.h:1471
EPWM_SHADOW_LOAD_MODE_COUNTER_SYNC
@ EPWM_SHADOW_LOAD_MODE_COUNTER_SYNC
Definition: etpwm.h:365
EPWM_AQ_OUTPUT_ON_T2_COUNT_UP
@ EPWM_AQ_OUTPUT_ON_T2_COUNT_UP
T2 event on count up.
Definition: etpwm.h:570
EPWM_getOneShotTripZoneFlagStatus
static uint16_t EPWM_getOneShotTripZoneFlagStatus(uint32_t base)
Definition: etpwm.h:4798
EPWM_AQ_OUTPUT_TOGGLE_DOWN_CMPB
@ EPWM_AQ_OUTPUT_TOGGLE_DOWN_CMPB
Time base counter down equals COMPB and toggle the output pins.
Definition: etpwm.h:657
HRPWM_OUTPUT_ON_B_NORMAL
@ HRPWM_OUTPUT_ON_B_NORMAL
ePWMxB output is normal.
Definition: etpwm.h:1899
EPWM_setTripZoneAction
static void EPWM_setTripZoneAction(uint32_t base, EPWM_TripZoneEvent tzEvent, EPWM_TripZoneAction tzAction)
Definition: etpwm.h:4472
EPWM_FED_LOAD_ON_CNTR_ZERO
@ EPWM_FED_LOAD_ON_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:830
EPWM_DigitalCompareEdgeFilterMode
EPWM_DigitalCompareEdgeFilterMode
Definition: etpwm.h:1657
EPWM_LINK_WITH_EPWM_7
@ EPWM_LINK_WITH_EPWM_7
link current ePWM with ePWM7
Definition: etpwm.h:395
EPWM_AQ_OUTPUT_NO_CHANGE_UP_CMPB
@ EPWM_AQ_OUTPUT_NO_CHANGE_UP_CMPB
Time base counter up equals COMPB and no change in the output pins.
Definition: etpwm.h:643
EPWM_setDigitalCompareFilterInput
static void EPWM_setDigitalCompareFilterInput(uint32_t base, EPWM_DigitalCompareFilterInput filterInput)
Definition: etpwm.h:6140
EPWM_AQ_OUTPUT_LOW_DOWN_T1
@ EPWM_AQ_OUTPUT_LOW_DOWN_T1
T1 event on count down and set output pins to low.
Definition: etpwm.h:680
EPWM_INT_TBCTR_U_CMPB
#define EPWM_INT_TBCTR_U_CMPB
time-base counter equal to CMPB when the timer is incrementing
Definition: etpwm.h:1205
EPWM_DC_EDGEFILT_EDGECNT_5
@ EPWM_DC_EDGEFILT_EDGECNT_5
Digital Compare Edge filter edge count = 6.
Definition: etpwm.h:1685
EPWM_FED_LOAD_ON_CNTR_ZERO_PERIOD
@ EPWM_FED_LOAD_ON_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:834
EPWM_TZ_EVENT_DCXL_HIGH
@ EPWM_TZ_EVENT_DCXL_HIGH
Event when DCxL high.
Definition: etpwm.h:925
EPWM_TZ_ACTION_EVENT_DCAEVT1
@ EPWM_TZ_ACTION_EVENT_DCAEVT1
DCAEVT1 (Digital Compare A event 1)
Definition: etpwm.h:939
EPWM_TZ_EVENT_DCXH_LOW
@ EPWM_TZ_EVENT_DCXH_LOW
Event when DCxH low.
Definition: etpwm.h:922
EPWM_AQ_OUTPUT_HIGH_UP_CMPA
@ EPWM_AQ_OUTPUT_HIGH_UP_CMPA
Time base counter up equals COMPA and set output pins to high.
Definition: etpwm.h:631
EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG3
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX0_RX_TRIG3
Sync-in source is FSI-RX0 RX Trigger 3 signal.
Definition: etpwm.h:286
EPWM_forceInterruptEventCountInit
static void EPWM_forceInterruptEventCountInit(uint32_t base)
Definition: etpwm.h:5318
EPWM_getDigitalCompareEdgeFilterEdgeCount
static uint16_t EPWM_getDigitalCompareEdgeFilterEdgeCount(uint32_t base)
Definition: etpwm.h:6275
EPWM_COMP_LOAD_ON_SYNC_CNTR_ZERO
@ EPWM_COMP_LOAD_ON_SYNC_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:476
EPWM_AQ_OUTPUT_HIGH
@ EPWM_AQ_OUTPUT_HIGH
Set output pins to High.
Definition: etpwm.h:585
EPWM_GL_LOAD_PULSE_CNTR_ZERO_PERIOD
@ EPWM_GL_LOAD_PULSE_CNTR_ZERO_PERIOD
load when counter is equal to zero or period
Definition: etpwm.h:1535
HRPWM_DB_MEP_CTRL_DISABLE
@ HRPWM_DB_MEP_CTRL_DISABLE
HRPWM is disabled.
Definition: etpwm.h:1947
EPWM_DC_TRIP_TRIPIN9
@ EPWM_DC_TRIP_TRIPIN9
Trip 9.
Definition: etpwm.h:1329
EPWM_enableGlobalLoadOneShotMode
static void EPWM_enableGlobalLoadOneShotMode(uint32_t base)
Definition: etpwm.h:7499
EPWM_RisingEdgeDelayLoadMode
EPWM_RisingEdgeDelayLoadMode
Definition: etpwm.h:810
EPWM_SOC_TBCTR_D_CMPB
@ EPWM_SOC_TBCTR_D_CMPB
time-base counter equal to CMPB when the timer is decrementing
Definition: etpwm.h:1289
EPWM_CycleByCycleTripZoneClearMode
EPWM_CycleByCycleTripZoneClearMode
Definition: etpwm.h:1121
EPWM_AQ_SW_SH_LOAD_ON_CNTR_PERIOD
@ EPWM_AQ_SW_SH_LOAD_ON_CNTR_PERIOD
shadow mode load when counter equals period
Definition: etpwm.h:729
EPWM_VALLEY_COUNT_START_EDGE
@ EPWM_VALLEY_COUNT_START_EDGE
Valley count start edge.
Definition: etpwm.h:1619
EPWM_LINK_WITH_EPWM_27
@ EPWM_LINK_WITH_EPWM_27
link current ePWM with ePWM27
Definition: etpwm.h:415
EPWM_DC_EDGEFILT_MODE_FALLING
@ EPWM_DC_EDGEFILT_MODE_FALLING
Digital Compare Edge filter both edges mode.
Definition: etpwm.h:1661
EPWM_AQ_SW_SH_LOAD_ON_CNTR_ZERO_PERIOD
@ EPWM_AQ_SW_SH_LOAD_ON_CNTR_ZERO_PERIOD
shadow mode load when counter equals zero or period
Definition: etpwm.h:731
HRPWM_setHiResPhaseShift
static void HRPWM_setHiResPhaseShift(uint32_t base, uint16_t hrPhaseCount)
Definition: etpwm.h:8088
EPWM_DC_EVENT_2
@ EPWM_DC_EVENT_2
Digital Compare Event number 2.
Definition: etpwm.h:1461
EPWM_COUNTER_COMPARE_C
@ EPWM_COUNTER_COMPARE_C
counter compare C
Definition: etpwm.h:455
EPWM_disableDigitalCompareCounterCapture
static void EPWM_disableDigitalCompareCounterCapture(uint32_t base)
Definition: etpwm.h:6828
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP6
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP6
Sync-in source is ECAP6 sync-out signal.
Definition: etpwm.h:264
EPWM_enableTripZoneInterrupt
static void EPWM_enableTripZoneInterrupt(uint32_t base, uint16_t tzInterrupt)
Definition: etpwm.h:4664
EPWM_setLutDecX
static void EPWM_setLutDecX(uint32_t base, uint32_t block, uint32_t decx, uint32_t force)
Definition: etpwm.h:8028
EPWM_LINK_WITH_EPWM_19
@ EPWM_LINK_WITH_EPWM_19
link current ePWM with ePWM19
Definition: etpwm.h:407
EPWM_AQ_OUTPUT_LOW_PERIOD
@ EPWM_AQ_OUTPUT_LOW_PERIOD
Time base counter equals period and set output pins to low.
Definition: etpwm.h:621
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP7
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP7
Sync-in source is ECAP7 sync-out signal.
Definition: etpwm.h:266
EPWM_setDigitalCompareWindowLength
static void EPWM_setDigitalCompareWindowLength(uint32_t base, uint16_t windowLengthCount)
Definition: etpwm.h:6345
EPWM_disableRisingEdgeDelayCountShadowLoadMode
static void EPWM_disableRisingEdgeDelayCountShadowLoadMode(uint32_t base)
Definition: etpwm.h:3970
EPWM_DB_COUNTER_CLOCK_HALF_CYCLE
@ EPWM_DB_COUNTER_CLOCK_HALF_CYCLE
Dead band counter runs at 2*TBCLK rate.
Definition: etpwm.h:850
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM5
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM5
Sync-in source is EPWM5 sync-out signal.
Definition: etpwm.h:198
EPWM_DC_TRIP_TRIPIN2
@ EPWM_DC_TRIP_TRIPIN2
Trip 2.
Definition: etpwm.h:1322
EPWM_getCounterCompareShadowStatus
static bool EPWM_getCounterCompareShadowStatus(uint32_t base, EPWM_CounterCompareModule compModule)
Definition: etpwm.h:3031
EPWM_setPeriodLoadMode
static void EPWM_setPeriodLoadMode(uint32_t base, EPWM_PeriodLoadMode loadMode)
Definition: etpwm.h:2295
EPWM_AQ_OUTPUT_HIGH_DOWN_T2
@ EPWM_AQ_OUTPUT_HIGH_DOWN_T2
T2 event on count down and set output pins to high.
Definition: etpwm.h:698
EPWM_setActionQualifierShadowLoadMode
static void EPWM_setActionQualifierShadowLoadMode(uint32_t base, EPWM_ActionQualifierModule aqModule, EPWM_ActionQualifierLoadMode loadMode)
Definition: etpwm.h:3083
EPWM_setActionQualifierContSWForceAction
static void EPWM_setActionQualifierContSWForceAction(uint32_t base, EPWM_ActionQualifierOutputModule epwmOutput, EPWM_ActionQualifierSWOutput output)
Definition: etpwm.h:3532
EPWM_SOC_TBCTR_U_CMPB
@ EPWM_SOC_TBCTR_U_CMPB
time-base counter equal to CMPB when the timer is incrementing
Definition: etpwm.h:1285
EPWM_FallingEdgeDelayLoadMode
EPWM_FallingEdgeDelayLoadMode
Definition: etpwm.h:828
EPWM_disablePhaseShiftLoad
static void EPWM_disablePhaseShiftLoad(uint32_t base)
Definition: etpwm.h:2349
EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPB
@ EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPB
Time base counter down equals COMPB.
Definition: etpwm.h:564
EPWM_clearOneShotTripZoneFlag
static void EPWM_clearOneShotTripZoneFlag(uint32_t base, uint16_t tzOSTFlags)
Definition: etpwm.h:4938
EPWM_DB_OUTPUT_B
@ EPWM_DB_OUTPUT_B
DB output is ePWMB.
Definition: etpwm.h:745
EPWM_TZ_CBC_PULSE_CLR_CNTR_ZERO
@ EPWM_TZ_CBC_PULSE_CLR_CNTR_ZERO
Clear CBC pulse when counter equals zero.
Definition: etpwm.h:1123
EPWM_GL_LOAD_PULSE_CNTR_CMPD_U
@ EPWM_GL_LOAD_PULSE_CNTR_CMPD_U
load when counter is equal to cmpd and cmpd is incrementing
Definition: etpwm.h:1549
HRPWM_COUNTER_COMPARE_A
@ HRPWM_COUNTER_COMPARE_A
counter compare A
Definition: etpwm.h:1934
EPWM_AQ_SW_SH_LOAD_ON_CNTR_ZERO
@ EPWM_AQ_SW_SH_LOAD_ON_CNTR_ZERO
shadow mode load when counter equals zero
Definition: etpwm.h:727
EPWM_AQ_OUTPUT_TOGGLE_DOWN_T1
@ EPWM_AQ_OUTPUT_TOGGLE_DOWN_T1
T1 event on count down and toggle the output pins.
Definition: etpwm.h:684
EPWM_AQ_LOAD_ON_SYNC_ONLY
@ EPWM_AQ_LOAD_ON_SYNC_ONLY
load on sync only
Definition: etpwm.h:523
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM13
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM13
Sync-in source is EPWM13 sync-out signal.
Definition: etpwm.h:214
EPWM_LINK_COMP_D
@ EPWM_LINK_COMP_D
link COMPD registers
Definition: etpwm.h:434
EPWM_COUNT_MODE_UP_AFTER_SYNC
@ EPWM_COUNT_MODE_UP_AFTER_SYNC
Count up after sync event.
Definition: etpwm.h:138
EPWM_DC_EDGEFILT_EDGECNT_4
@ EPWM_DC_EDGEFILT_EDGECNT_4
Digital Compare Edge filter edge count = 5.
Definition: etpwm.h:1683
EPWM_enableValleyCapture
static void EPWM_enableValleyCapture(uint32_t base)
Definition: etpwm.h:7028
EPWM_setDeadBandDelayMode
static void EPWM_setDeadBandDelayMode(uint32_t base, EPWM_DeadBandDelayMode delayMode, bool enableDelayMode)
Definition: etpwm.h:3714
EPWM_AQ_OUTPUT_HIGH_UP_T2
@ EPWM_AQ_OUTPUT_HIGH_UP_T2
T2 event on count up and set output pins to high.
Definition: etpwm.h:690
EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_CMPB
@ EPWM_AQ_OUTPUT_NO_CHANGE_DOWN_CMPB
Time base counter down equals COMPB and no change in the output pins.
Definition: etpwm.h:651
EPWM_setActionQualifierT2TriggerSource
static void EPWM_setActionQualifierT2TriggerSource(uint32_t base, EPWM_ActionQualifierTriggerSource trigger)
Definition: etpwm.h:3198
EPWM_disableTripZoneSignals
static void EPWM_disableTripZoneSignals(uint32_t base, uint32_t tzSignal)
Definition: etpwm.h:4340
EPWM_AQ_OUTPUT_TOGGLE_UP_CMPA
@ EPWM_AQ_OUTPUT_TOGGLE_UP_CMPA
Time base counter up equals COMPA and toggle the output pins.
Definition: etpwm.h:633
EPWM_DC_TRIP_TRIPIN8
@ EPWM_DC_TRIP_TRIPIN8
Trip 8.
Definition: etpwm.h:1328
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM30
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM30
Sync-in source is EPWM30 sync-out signal.
Definition: etpwm.h:248
EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG2
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG2
Sync-in source is FSI-RX3 RX Trigger 2 signal.
Definition: etpwm.h:308
EPWM_DB_INPUT_EPWMB
#define EPWM_DB_INPUT_EPWMB
Input signal is ePWMB.
Definition: etpwm.h:781
EPWM_SOC_TBCTR_U_CMPA
@ EPWM_SOC_TBCTR_U_CMPA
time-base counter equal to CMPA when the timer is incrementing
Definition: etpwm.h:1277
EPWM_LINK_WITH_EPWM_26
@ EPWM_LINK_WITH_EPWM_26
link current ePWM with ePWM26
Definition: etpwm.h:414
EPWM_clearCycleByCycleTripZoneFlag
static void EPWM_clearCycleByCycleTripZoneFlag(uint32_t base, uint16_t tzCBCFlags)
Definition: etpwm.h:4901
EPWM_ACTION_QUALIFIER_B
@ EPWM_ACTION_QUALIFIER_B
Action Qualifier B.
Definition: etpwm.h:497
EPWM_DC_MODULE_B
@ EPWM_DC_MODULE_B
Digital Compare Module B.
Definition: etpwm.h:1446
EPWM_DB_LOAD_ON_CNTR_PERIOD
@ EPWM_DB_LOAD_ON_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:796
EPWM_VALLEY_TRIGGER_EVENT_DCAEVT1
@ EPWM_VALLEY_TRIGGER_EVENT_DCAEVT1
Valley capture trigged by DCAEVT1 (Digital Compare A event 1)
Definition: etpwm.h:1602
EPWM_PERIOD_DIRECT_LOAD
@ EPWM_PERIOD_DIRECT_LOAD
PWM Period register access is directly.
Definition: etpwm.h:336
EPWM_DCxCTL_STEP
#define EPWM_DCxCTL_STEP
Defines to be used by the driver.
Definition: etpwm.h:1961
EPWM_LINK_DBFED
@ EPWM_LINK_DBFED
link DBFED registers
Definition: etpwm.h:437
EPWM_AQ_OUTPUT_ON_T1_COUNT_DOWN
@ EPWM_AQ_OUTPUT_ON_T1_COUNT_DOWN
T1 event on count down.
Definition: etpwm.h:568
HRPWM_MEP_CTRL_RISING_AND_FALLING_EDGE
@ HRPWM_MEP_CTRL_RISING_AND_FALLING_EDGE
MEP controls both rising and falling edge.
Definition: etpwm.h:1854
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP1
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP1
Sync-in source is ECAP1 sync-out signal.
Definition: etpwm.h:254
DebugP_assert
#define DebugP_assert(expression)
Function to call for assert check.
Definition: DebugP.h:159
EPWM_ActionQualifierModule
EPWM_ActionQualifierModule
Definition: etpwm.h:495
EPWM_ActionQualifierOutputModule
EPWM_ActionQualifierOutputModule
Definition: etpwm.h:713
EPWM_LINK_WITH_EPWM_25
@ EPWM_LINK_WITH_EPWM_25
link current ePWM with ePWM25
Definition: etpwm.h:413
EPWM_forceADCTrigger
static void EPWM_forceADCTrigger(uint32_t base, EPWM_ADCStartOfConversionType adcSOCType)
Definition: etpwm.h:5937
EPWM_DC_EVENT_INPUT_NOT_SYNCED
@ EPWM_DC_EVENT_INPUT_NOT_SYNCED
DC input signal is not synced with TBCLK.
Definition: etpwm.h:1489
EPWM_AQ_TRIGGER_EVENT_TRIG_DCB_2
@ EPWM_AQ_TRIGGER_EVENT_TRIG_DCB_2
Digital compare event B 2.
Definition: etpwm.h:537
EPWM_DigitalCompareFilterInput
EPWM_DigitalCompareFilterInput
Definition: etpwm.h:1426
EPWM_TZ_DC_OUTPUT_B1
@ EPWM_TZ_DC_OUTPUT_B1
Digital Compare output 1 B.
Definition: etpwm.h:909
EPWM_AQ_OUTPUT_LOW_UP_CMPA
@ EPWM_AQ_OUTPUT_LOW_UP_CMPA
Time base counter up equals COMPA and set output pins to low.
Definition: etpwm.h:629
EPWM_AQ_LOAD_ON_SYNC_CNTR_ZERO_PERIOD
@ EPWM_AQ_LOAD_ON_SYNC_CNTR_ZERO_PERIOD
load on sync or when counter equals zero or period
Definition: etpwm.h:521
EPWM_LINK_WITH_EPWM_1
@ EPWM_LINK_WITH_EPWM_1
link current ePWM with ePWM1
Definition: etpwm.h:389
EPWM_VALLEY_TRIGGER_EVENT_DCBEVT2
@ EPWM_VALLEY_TRIGGER_EVENT_DCBEVT2
Valley capture trigged by DCBEVT2 (Digital Compare B event 2)
Definition: etpwm.h:1608
EPWM_LINK_WITH_EPWM_4
@ EPWM_LINK_WITH_EPWM_4
link current ePWM with ePWM4
Definition: etpwm.h:392
EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG0
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG0
Sync-in source is FSI-RX2 RX Trigger 0 signal.
Definition: etpwm.h:296
EPWM_DB_LOAD_ON_CNTR_ZERO_PERIOD
@ EPWM_DB_LOAD_ON_CNTR_ZERO_PERIOD
load when counter equals zero or period
Definition: etpwm.h:798
EPWM_AQ_OUTPUT_LOW_UP_T2
@ EPWM_AQ_OUTPUT_LOW_UP_T2
T2 event on count up and set output pins to low.
Definition: etpwm.h:688
EPWM_getValleyCount
static uint16_t EPWM_getValleyCount(uint32_t base)
Definition: etpwm.h:7292
EPWM_AQ_TRIGGER_EVENT_TRIG_TZ_3
@ EPWM_AQ_TRIGGER_EVENT_TRIG_TZ_3
Trip zone 3.
Definition: etpwm.h:540
EPWM_disableDigitalCompareEdgeFilter
static void EPWM_disableDigitalCompareEdgeFilter(uint32_t base)
Definition: etpwm.h:6189
EPWM_COUNTER_MODE_DOWN
@ EPWM_COUNTER_MODE_DOWN
Down - count mode.
Definition: etpwm.h:348
HRPWM_enablePhaseShiftLoad
static void HRPWM_enablePhaseShiftLoad(uint32_t base)
Definition: etpwm.h:8427
EPWM_SOC_TBCTR_D_CMPD
@ EPWM_SOC_TBCTR_D_CMPD
time-base counter equal to CMPD when the timer is decrementing
Definition: etpwm.h:1291
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM20
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM20
Sync-in source is EPWM20 sync-out signal.
Definition: etpwm.h:228
HRPWM_CHANNEL_B
@ HRPWM_CHANNEL_B
HRPWM B.
Definition: etpwm.h:1836
EPWM_disableCounterCompareShadowLoadMode
static void EPWM_disableCounterCompareShadowLoadMode(uint32_t base, EPWM_CounterCompareModule compModule)
Definition: etpwm.h:2875
HRPWM_enablePeriodControl
static void HRPWM_enablePeriodControl(uint32_t base)
Definition: etpwm.h:8384
EPWM_TZ_ACTION_EVENT_DCBEVT1
@ EPWM_TZ_ACTION_EVENT_DCBEVT1
DCBEVT1 (Digital Compare B event 1)
Definition: etpwm.h:941
EPWM_DC_CBC_LATCH_CLR_ON_CNTR_PERIOD
@ EPWM_DC_CBC_LATCH_CLR_ON_CNTR_PERIOD
Clear CBC latch when counter equals period.
Definition: etpwm.h:1517
EPWM_GL_LOAD_PULSE_CNTR_ZERO
@ EPWM_GL_LOAD_PULSE_CNTR_ZERO
load when counter is equal to zero
Definition: etpwm.h:1531
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM9
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM9
Sync-in source is EPWM9 sync-out signal.
Definition: etpwm.h:206
EPWM_disableInterrupt
static void EPWM_disableInterrupt(uint32_t base)
Definition: etpwm.h:5076
EPWM_disableGlobalLoad
static void EPWM_disableGlobalLoad(uint32_t base)
Definition: etpwm.h:7356
EPWM_setRisingEdgeDeadBandDelayInput
static void EPWM_setRisingEdgeDeadBandDelayInput(uint32_t base, uint16_t input)
Definition: etpwm.h:3795
EPWM_selectDigitalCompareCBCLatchClearEvent
static void EPWM_selectDigitalCompareCBCLatchClearEvent(uint32_t base, EPWM_DigitalCompareModule dcModule, EPWM_DigitalCompareEvent dcEvent, EPWM_DigitalCompareCBCLatchClearEvent clearEvent)
Definition: etpwm.h:6714
HRPWM_COUNTER_COMPARE_B
@ HRPWM_COUNTER_COMPARE_B
counter compare B
Definition: etpwm.h:1935
HRPWM_setCounterCompareValue
static void HRPWM_setCounterCompareValue(uint32_t base, HRPWM_CounterCompareModule compModule, uint32_t compCount)
Definition: etpwm.h:8554
EPWM_setValleyTriggerEdgeCounts
static void EPWM_setValleyTriggerEdgeCounts(uint32_t base, uint16_t startCount, uint16_t stopCount)
Definition: etpwm.h:7132
EPWM_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT4
@ EPWM_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT4
Sync-in source is Input XBAR out4 signal.
Definition: etpwm.h:272
EPWM_disableChopper
static void EPWM_disableChopper(uint32_t base)
Definition: etpwm.h:4156
EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG3
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX2_RX_TRIG3
Sync-in source is FSI-RX2 RX Trigger 3 signal.
Definition: etpwm.h:302
EPWM_disableDigitalCompareSyncEvent
static void EPWM_disableDigitalCompareSyncEvent(uint32_t base, EPWM_DigitalCompareModule dcModule)
Definition: etpwm.h:6616
EPWM_LINK_COMP_C
@ EPWM_LINK_COMP_C
link COMPC registers
Definition: etpwm.h:433
EPWM_disableDigitalCompareADCTrigger
static void EPWM_disableDigitalCompareADCTrigger(uint32_t base, EPWM_DigitalCompareModule dcModule)
Definition: etpwm.h:6554
EPWM_COMP_LOAD_ON_CNTR_PERIOD
@ EPWM_COMP_LOAD_ON_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:470
EPWM_HSCLOCK_DIVIDER_4
@ EPWM_HSCLOCK_DIVIDER_4
Divide clock by 4.
Definition: etpwm.h:169
HRPWM_DB_MEP_CTRL_FED
@ HRPWM_DB_MEP_CTRL_FED
MEP controls Falling Edge Delay.
Definition: etpwm.h:1951
EPWM_getCounterCompareValue
static uint16_t EPWM_getCounterCompareValue(uint32_t base, EPWM_CounterCompareModule compModule)
Definition: etpwm.h:2981
EPWM_startOneShotSync
static void EPWM_startOneShotSync(uint32_t base)
Definition: etpwm.h:2474
EPWM_AQ_OUTPUT_LOW_ZERO
@ EPWM_AQ_OUTPUT_LOW_ZERO
Time base counter equals zero and set output pins to low.
Definition: etpwm.h:613
HRPWM_setTranslatorRemainder
static void HRPWM_setTranslatorRemainder(uint32_t base, uint16_t trremVal)
Definition: etpwm.h:8519
EPWM_PeriodShadowLoadMode
EPWM_PeriodShadowLoadMode
Definition: etpwm.h:360
EPWM_enableGlobalLoadRegisters
static void EPWM_enableGlobalLoadRegisters(uint32_t base, uint16_t loadRegister)
Definition: etpwm.h:7579
EPWM_AQ_OUTPUT_HIGH_PERIOD
@ EPWM_AQ_OUTPUT_HIGH_PERIOD
Time base counter equals period and set output pins to high.
Definition: etpwm.h:623
EPWM_CLOCK_DIVIDER_128
@ EPWM_CLOCK_DIVIDER_128
Divide clock by 128.
Definition: etpwm.h:156
EPWM_CounterCompareLoadMode
EPWM_CounterCompareLoadMode
Definition: etpwm.h:466
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM6
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM6
Sync-in source is EPWM6 sync-out signal.
Definition: etpwm.h:200
EPWM_TZ_ACTION_EVENT_TZA
@ EPWM_TZ_ACTION_EVENT_TZA
TZ1 - TZ6, DCAEVT2, DCAEVT1.
Definition: etpwm.h:937
HRPWM_setRisingEdgeDelayLoadMode
static void HRPWM_setRisingEdgeDelayLoadMode(uint32_t base, HRPWM_LoadMode loadEvent)
Definition: etpwm.h:8865
EPWM_setDigitalCompareEventSource
static void EPWM_setDigitalCompareEventSource(uint32_t base, EPWM_DigitalCompareModule dcModule, EPWM_DigitalCompareEvent dcEvent, EPWM_DigitalCompareEventSource dcEventSource)
Definition: etpwm.h:6423
EPWM_AQ_LOAD_ON_CNTR_PERIOD
@ EPWM_AQ_LOAD_ON_CNTR_PERIOD
load when counter equals period
Definition: etpwm.h:511
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM7
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM7
Sync-in source is EPWM7 sync-out signal.
Definition: etpwm.h:202
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP3
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP3
Sync-in source is ECAP3 sync-out signal.
Definition: etpwm.h:258
EPWM_disableTripZoneInterrupt
static void EPWM_disableTripZoneInterrupt(uint32_t base, uint16_t tzInterrupt)
Definition: etpwm.h:4701
EPWM_DC_WINDOW_START_TBCTR_BLANK_PULSE_MIX
@ EPWM_DC_WINDOW_START_TBCTR_BLANK_PULSE_MIX
Time base counter blank pulse mix.
Definition: etpwm.h:1389
EPWM_DeadBandClockMode
EPWM_DeadBandClockMode
Definition: etpwm.h:846
EPWM_VALLEY_TRIGGER_EVENT_DCAEVT2
@ EPWM_VALLEY_TRIGGER_EVENT_DCAEVT2
Valley capture trigged by DCAEVT2 (Digital Compare A event 2)
Definition: etpwm.h:1604
EPWM_forceTripZoneEvent
static void EPWM_forceTripZoneEvent(uint32_t base, uint16_t tzForceEvent)
Definition: etpwm.h:4972
EPWM_setInterruptEventCountInitValue
static void EPWM_setInterruptEventCountInitValue(uint32_t base, uint16_t eventCount)
Definition: etpwm.h:5343
HRPWM_PWMSYNC_SOURCE_PERIOD
@ HRPWM_PWMSYNC_SOURCE_PERIOD
Counter equals Period.
Definition: etpwm.h:1913
EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG3
@ EPWM_SYNC_IN_PULSE_SRC_FSIRX3_RX_TRIG3
Sync-in source is FSI-RX3 RX Trigger 3 signal.
Definition: etpwm.h:310
HRPWM_getHiResTimeBasePeriod
static uint16_t HRPWM_getHiResTimeBasePeriod(uint32_t base)
Definition: etpwm.h:8148
EPWM_GL_LOAD_PULSE_CNTR_CMPC_D
@ EPWM_GL_LOAD_PULSE_CNTR_CMPC_D
load when counter is equal to cmpc and cmpc is decrementing
Definition: etpwm.h:1547
EPWM_TZ_ACTION_EVENT_DCAEVT2
@ EPWM_TZ_ACTION_EVENT_DCAEVT2
DCAEVT2 (Digital Compare A event 2)
Definition: etpwm.h:940
EPWM_setInterruptSource
static void EPWM_setInterruptSource(uint32_t base, uint16_t interruptSource, uint16_t mixedSource)
Definition: etpwm.h:5112
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM2
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM2
Sync-in source is EPWM2 sync-out signal.
Definition: etpwm.h:192
EPWM_DC_TYPE_DCBH
@ EPWM_DC_TYPE_DCBH
Digital Compare B High.
Definition: etpwm.h:1309
EPWM_enableDigitalCompareSyncEvent
static void EPWM_enableDigitalCompareSyncEvent(uint32_t base, EPWM_DigitalCompareModule dcModule)
Definition: etpwm.h:6585
EPWM_clearSyncEvent
static void EPWM_clearSyncEvent(uint32_t base)
Definition: etpwm.h:2582
EPWM_EMULATION_FREE_RUN
@ EPWM_EMULATION_FREE_RUN
Free run.
Definition: etpwm.h:126
EPWM_getDigitalCompareCBCLatchStatus
static bool EPWM_getDigitalCompareCBCLatchStatus(uint32_t base, EPWM_DigitalCompareModule dcModule, EPWM_DigitalCompareEvent dcEvent)
Definition: etpwm.h:6766
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM22
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM22
Sync-in source is EPWM22 sync-out signal.
Definition: etpwm.h:232
EPWM_setDigitalCompareEdgeFilterEdgeCount
static void EPWM_setDigitalCompareEdgeFilterEdgeCount(uint32_t base, EPWM_DigitalCompareEdgeFilterEdgeCount edgeCount)
Definition: etpwm.h:6250
EPWM_AQ_LOAD_FREEZE
@ EPWM_AQ_LOAD_FREEZE
Freeze shadow to active load.
Definition: etpwm.h:515
EPWM_DC_TRIP_TRIPIN5
@ EPWM_DC_TRIP_TRIPIN5
Trip 5.
Definition: etpwm.h:1325
HRPWM_PWMSYNC_SOURCE_COMPC_UP
@ HRPWM_PWMSYNC_SOURCE_COMPC_UP
Counter equals COMPC when counting up.
Definition: etpwm.h:1917
EPWM_VALLEY_DELAY_MODE_SW_DELAY
@ EPWM_VALLEY_DELAY_MODE_SW_DELAY
Delay value equals the offset value defines by software.
Definition: etpwm.h:1632
EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA
@ EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA
Time base counter up equals COMPA.
Definition: etpwm.h:558
EPWM_setTimeBasePeriod
static void EPWM_setTimeBasePeriod(uint32_t base, uint16_t periodCount)
Definition: etpwm.h:2658
HRPWM_CHANNEL_A
@ HRPWM_CHANNEL_A
HRPWM A.
Definition: etpwm.h:1835
EPWM_DB_COUNTER_CLOCK_FULL_CYCLE
@ EPWM_DB_COUNTER_CLOCK_FULL_CYCLE
Dead band counter runs at TBCLK rate.
Definition: etpwm.h:848
EPWM_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT20
@ EPWM_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT20
Sync-in source is Input XBAR out20 signal.
Definition: etpwm.h:274
EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM29
@ EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM29
Sync-in source is EPWM29 sync-out signal.
Definition: etpwm.h:246
EPWM_DC_WINDOW_SOURCE_DCAEVT2
@ EPWM_DC_WINDOW_SOURCE_DCAEVT2
DC filter signal source is DCAEVT2.
Definition: etpwm.h:1428
EPWM_LINK_WITH_EPWM_31
@ EPWM_LINK_WITH_EPWM_31
link current ePWM with ePWM31
Definition: etpwm.h:419
HRPWM_getCounterCompareValue
static uint32_t HRPWM_getCounterCompareValue(uint32_t base, HRPWM_CounterCompareModule compModule)
Definition: etpwm.h:8600
EPWM_DC_TRIP_TRIPIN1
@ EPWM_DC_TRIP_TRIPIN1
Trip 1.
Definition: etpwm.h:1321
EPWM_DB_LOAD_ON_CNTR_ZERO
@ EPWM_DB_LOAD_ON_CNTR_ZERO
load when counter equals zero
Definition: etpwm.h:794
EPWM_TZ_DC_OUTPUT_A1
@ EPWM_TZ_DC_OUTPUT_A1
Digital Compare output 1 A.
Definition: etpwm.h:907
EPWM_AQ_OUTPUT_HIGH_DOWN_CMPB
@ EPWM_AQ_OUTPUT_HIGH_DOWN_CMPB
Time base counter down equals COMPB and set output pins to high.
Definition: etpwm.h:655