AM243x Motor Control SDK  09.02.00
pruicss_pwm.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2023 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 
77 #ifdef __cplusplus
78 extern "C" {
79 #endif
80 
81 /* ========================================================================== */
82 /* Include Files */
83 /* ========================================================================== */
84 
85 #ifndef PRUICSS_PWM_H_
86 #define PRUICSS_PWM_H_
87 
88 #include <stddef.h>
89 #include <stdint.h>
90 #include <drivers/pruicss.h>
91 #include <kernel/dpl/SystemP.h>
92 #include <drivers/hw_include/cslr.h>
93 #include <drivers/hw_include/hw_types.h>
94 
95 /* ========================================================================== */
96 /* Macros & Typedefs */
97 /* ========================================================================== */
98 
103 typedef struct PRUICSS_PWM_Config_s *PRUICSS_PWM_Handle;
104 
112 #define PRUICSS_NUM_PWM_SETS (0x4U)
113 
114 #define PRUICSS_PWM_SET0 (0x0U)
115 
116 #define PRUICSS_PWM_SET1 (0x1U)
117 
118 #define PRUICSS_PWM_SET2 (0x2U)
119 
120 #define PRUICSS_PWM_SET3 (0x3U)
121 
130 #define PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET (0x6U)
131 
132 #define PRUICSS_PWM_SET_INSTANCE_A0 (0x0U)
133 
134 #define PRUICSS_PWM_SET_INSTANCE_B0 (0x1U)
135 
136 #define PRUICSS_PWM_SET_INSTANCE_A1 (0x2U)
137 
138 #define PRUICSS_PWM_SET_INSTANCE_B1 (0x3U)
139 
140 #define PRUICSS_PWM_SET_INSTANCE_A2 (0x4U)
141 
142 #define PRUICSS_PWM_SET_INSTANCE_B2 (0x5U)
143 
152 #define PRUICSS_NUM_PWM_STATES (0x3U)
153 
154 #define PRUICSS_PWM_INTIAL_STATE (0x0U)
155 
156 #define PRUICSS_PWM_ACTIVE_STATE (0x1U)
157 
158 #define PRUICSS_PWM_TRIP_STATE (0x2U)
159 
169 #define PRUICSS_NUM_PWM_OUTPUT_ACTIONS (0x3U)
170 
171 #define PRUICSS_PWM_OUTPUT_TOGGLE (0x0U)
172 
173 #define PRUICSS_PWM_OUTPUT_LOW (0x1U)
174 
175 #define PRUICSS_PWM_OUTPUT_HIGH (0x2U)
176 
186 #define PRUICSS_NUM_IEP_INSTANCES (0x2U)
187 
188 #define PRUICSS_IEP_INST0 (0x0U)
189 
190 #define PRUICSS_IEP_INST1 (0x1U)
191 
197 #define PRUICSS_IEP_COUNT_REG_MAX (0xFFFFFFFFU)
198 
206 #define PRUICSS_NUM_IEP_CMP_EVENTS (0x10U)
207 
208 #define CMP_EVENT0 (0x0U)
209 
210 #define CMP_EVENT1 (0x1U)
211 
212 #define CMP_EVENT2 (0x2U)
213 
214 #define CMP_EVENT3 (0x3U)
215 
216 #define CMP_EVENT4 (0x4U)
217 
218 #define CMP_EVENT5 (0x5U)
219 
220 #define CMP_EVENT6 (0x6U)
221 
222 #define CMP_EVENT7 (0x7U)
223 
224 #define CMP_EVENT8 (0x8U)
225 
226 #define CMP_EVENT9 (0x9U)
227 
228 #define CMP_EVENT10 (0xAU)
229 
230 #define CMP_EVENT11 (0xBU)
231 
232 #define CMP_EVENT12 (0xCU)
233 
234 #define CMP_EVENT13 (0xDU)
235 
236 #define CMP_EVENT14 (0xEU)
237 
238 #define CMP_EVENT15 (0xFU)
239 
249 typedef struct PRUICSS_PWM_IEP_Attrs_s
250 {
251  /*pruIcssIepClk frequency*/
253  /*pruIcssIepClk period in nanoseconds*/
255  /*iep0 increment value*/
257  /*enable or disable IEP0*/
258  uint8_t enableIep0;
259  /*enable or disable IEP0 reset on EPWM0_sync event*/
261  /*enable or disable IEP0 reset on EPWM3_sync event*/
263  /*enable or disable IEP0 reset on compare 0 event*/
265  /*enable or disable shadow mode of IEP*/
267  /*enable or disable slave mode, after enabling IEP1 counter follows IEP0*/
269  /*enable or disable auto clear compare status of IEP0 and IEP1*/
271  /*pruIcssPwm frequency*/
273  /*
274  * Note : It is recommended to enable shadow mode , reset on compare0, iep1 slave mode, enable auto clear compare status
275  */
276 
278 
287 typedef struct PRUICSS_PWM_Attrs_s
288 {
289 
290  /*
291  *
292  * Note : This structure is placed as instance in multidimensional array of (4 X 6)
293  *
294  * Each entry in (PRUICSS_NUM_PWM_SETS X PRUICSS_NUM_OF_PWMINSTANCES_PER_SET) array maps to config parameters of one PWM signal.
295  *
296  */
297 
298  /*duty cycle of current pwm signal*/
299  uint32_t dutyCycle;
300  /*fall edge of current pwm signal*/
301  uint32_t fallEdgeDelay;
302  /*rise edge of current pwm signal*/
303  uint32_t riseEdgeDelay;
304  /*current pwm signal output in intial state*/
306  /*current pwm signal output in active state*/
308  /*current pwm signal output in trip state*/
310  /*enable or disable current pwm signal*/
311  uint8_t enable;
312 
313  /*
314  * Below parameters(iepInstance, compareEvent) are configured on pwm init api call.
315  */
316 
317  /*iep instance mapped to current pwm signal*/
318  uint8_t iepInstance;
319  /*compare event mapped to current pwm signal*/
320  uint8_t compareEvent;
321 
323 
328 typedef struct PRUICSS_PWM_Config_s
329 {
330  PRUICSS_Handle pruIcssHandle;
331 
333 
335 
337 
338 
342 #define PRUICSS_IEP_CMP_EVENTS_ENABLE_MAX_VALUE (0x0000FFFFU)
343 
347 #define PRUICSS_PWM_DEBOUNCE_MAX_VALUE (0xFFU)
348 
352 #define PRUICSS_PWM_TRIP_MASK_MAX_VALUE (0x000001FFU)
353 
354 
355 
356 /* ========================================================================== */
357 /* Function Declarations */
358 /* ========================================================================== */
359 
369 PRUICSS_PWM_Handle PRUICSS_PWM_open(uint32_t index, PRUICSS_Handle pruIcssHandle);
370 
380 int32_t PRUICSS_PWM_setIepCounterLower_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint32_t value);
381 
391 int32_t PRUICSS_PWM_setIepCounterUpper_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint32_t value);
392 
402 int32_t PRUICSS_PWM_configureIepShadowModeEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable);
403 
413 int32_t PRUICSS_PWM_configureIepCmp0ResetEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable);
414 
424 int32_t PRUICSS_PWM_configureIepCompareEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint16_t value);
425 
436 int32_t PRUICSS_PWM_setIepCompareEventLower_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t cmpEvent, uint32_t value);
437 
448 int32_t PRUICSS_PWM_setIepCompareEventUpper_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t cmpEvent, uint32_t value);
449 
459 int32_t PRUICSS_PWM_setPwmDebounceValue(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t value);
460 
481 int32_t PRUICSS_PWM_setPwmTripMask(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t maskValue);
482 
503 int32_t PRUICSS_PWM_getPwmTripMask(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t *maskValuePtr);
504 
514 int32_t PRUICSS_PWM_configurePwmCmp0TripResetEnable(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t enable);
515 
524 int32_t PRUICSS_PWM_generatePwmTripReset(PRUICSS_PWM_Handle handle, uint8_t pwmSet);
525 
535 
545 
555 
565 
575 
585 
594 int32_t PRUICSS_PWM_getPwmTripStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet);
595 
605 int32_t PRUICSS_PWM_clearPwmTripStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet);
606 
617 int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA0(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action);
618 
629 int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA1(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action);
630 
641 int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA2(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action);
642 
653 int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB0(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action);
654 
665 int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB1(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action);
666 
677 int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB2(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action);
678 
691 
702 int32_t PRUICSS_PWM_enableIEP1Slave(PRUICSS_PWM_Handle handle, uint8_t enable);
703 
713 int32_t PRUICSS_PWM_enableIEPResetOnEPWM0SyncOut(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable);
714 
724 int32_t PRUICSS_PWM_enableIEPResetOnEPWM3SyncOut(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable);
725 
734 
755 int32_t PRUICSS_PWM_stateInit(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance, uint8_t outputCfgInitialState, uint8_t outputCfgActiveState, uint8_t outputCfgTripState);
756 
768 int32_t PRUICSS_PWM_signalEnable(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance);
769 
787 int32_t PRUICSS_PWM_config(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance, uint32_t dutyCycle, uint32_t riseEdgeDelay, uint32_t fallEdgeDelay);
788 
797 
808 int32_t PRUICSS_PWM_changePwmSetToIntialState(PRUICSS_PWM_Handle handle, uint8_t pwmSetMask);
809 
819 int32_t PRUICSS_PWM_pruIcssPwmFrequencyInit(PRUICSS_PWM_Handle handle, uint32_t pruIcssPwmFrequency);
820 
828 /* */
832 #ifdef __cplusplus
833 }
834 #endif
835 
836 #endif/* #ifndef PRUICSS_PWM_H_ */
PRUICSS_PWM_IEP_Attrs::enableAutoClearCompareStatus
uint8_t enableAutoClearCompareStatus
Definition: pruicss_pwm.h:270
PRUICSS_PWM_actionOnOutputCfgPwmSignalA1
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA1(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of A1 signal for specified PWM set.
PRUICSS_PWM_IEP_Attrs::enableIep0ResetOnEpwm0_Sync
uint8_t enableIep0ResetOnEpwm0_Sync
Definition: pruicss_pwm.h:260
PRUICSS_PWM_setPwmTripMask
int32_t PRUICSS_PWM_setPwmTripMask(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t maskValue)
This API updates TripMask Value for specified pwm set.
PRUICSS_PWM_Attrs
PRUICSS PWM Attributes.
Definition: pruicss_pwm.h:288
PRUICSS_PWM_configureIepCmp0ResetEnable
int32_t PRUICSS_PWM_configureIepCmp0ResetEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP counter reset on compare 0 event in IEP module.
PRUICSS_PWM_config
int32_t PRUICSS_PWM_config(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance, uint32_t dutyCycle, uint32_t riseEdgeDelay, uint32_t fallEdgeDelay)
If pwm signal is enabled, This function Configures or Updates pwm period & duty cycle in PRUICSS_PWM_...
PRUICSS_PWM_Attrs::dutyCycle
uint32_t dutyCycle
Definition: pruicss_pwm.h:299
PRUICSS_PWM_setIepCounterUpper_32bitValue
int32_t PRUICSS_PWM_setIepCounterUpper_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint32_t value)
This API writes Upper_32bit Value of IEP counter in IEP module.
PRUICSS_PWM_enableIEPResetOnEPWM0SyncOut
int32_t PRUICSS_PWM_enableIEPResetOnEPWM0SyncOut(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP counter reset on EPWM0 SYNC OUT event in IEP module.
PRUICSS_PWM_Attrs::compareEvent
uint8_t compareEvent
Definition: pruicss_pwm.h:320
PRUICSS_PWM_stateConfig
int32_t PRUICSS_PWM_stateConfig(PRUICSS_PWM_Handle handle)
If pwm signal is enabled, This function Configures output state defined in PRUICSS_PWM_Handle.
PRUICSS_PWM_Attrs::iepInstance
uint8_t iepInstance
Definition: pruicss_pwm.h:318
PRUICSS_PWM_getPwmTripStatus
int32_t PRUICSS_PWM_getPwmTripStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API returns Trip status for specified pwm set.
PRUICSS_PWM_iepConfig
int32_t PRUICSS_PWM_iepConfig(PRUICSS_PWM_Handle handle)
If pwm signal is enabled, This function Configures the Iep parameters defined in PRUICSS_PWM_Handle.
PRUICSS_PWM_signalEnable
int32_t PRUICSS_PWM_signalEnable(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance)
This function Enables the specified pwm signal.
PRUICSS_PWM_getPwmTripMask
int32_t PRUICSS_PWM_getPwmTripMask(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t *maskValuePtr)
Get trip mask Value for specified pwm set.
PRUICSS_PWM_clearPwmTripStatus
int32_t PRUICSS_PWM_clearPwmTripStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Trip status and makes state transition to Intial state as follows (Active->Intial) or...
PRUICSS_PWM_setPwmDebounceValue
int32_t PRUICSS_PWM_setPwmDebounceValue(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t value)
This API updates Debounce Value for specified pwm set.
PRUICSS_PWM_IEP_Attrs::pruIcssIepClkPeriod
float pruIcssIepClkPeriod
Definition: pruicss_pwm.h:254
PRUICSS_PWM_configurePwmCmp0TripResetEnable
int32_t PRUICSS_PWM_configurePwmCmp0TripResetEnable(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t enable)
This API enables/disables TripReset on Compare_0 Event for specified pwm set.
PRUICSS_PWM_setIepCompareEventLower_32bitValue
int32_t PRUICSS_PWM_setIepCompareEventLower_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t cmpEvent, uint32_t value)
This API writes Lower_32bit Value of compare event in IEP module.
PRUICSS_PWM_configureIepShadowModeEnable
int32_t PRUICSS_PWM_configureIepShadowModeEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP shadow mode.
PRUICSS_PWM_Config
PRUICSS PWM Global configuration structure.
Definition: pruicss_pwm.h:329
PRUICSS_PWM_actionOnOutputCfgPwmSignalB2
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB2(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of B2 signal for specified PWM set.
PRUICSS_PWM_IEP_Attrs
PRUICSS PWM IEP Attributes.
Definition: pruicss_pwm.h:250
PRUICSS_PWM_changePwmSetToIntialState
int32_t PRUICSS_PWM_changePwmSetToIntialState(PRUICSS_PWM_Handle handle, uint8_t pwmSetMask)
This function Changes pwmSet signals to intial state if pwmSet is enabled in pwmSetMask.
PRUICSS_PWM_IEP_Attrs::iep0IncrementValue
uint8_t iep0IncrementValue
Definition: pruicss_pwm.h:256
PRUICSS_PWM_IEP_Attrs::pruIcssIepClkFrequency
uint32_t pruIcssIepClkFrequency
Definition: pruicss_pwm.h:252
PRUICSS_PWM_enableIEPResetOnEPWM3SyncOut
int32_t PRUICSS_PWM_enableIEPResetOnEPWM3SyncOut(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP counter reset on EPWM3 SYNCOUT in IEP module.
PRUICSS_PWM_Attrs::fallEdgeDelay
uint32_t fallEdgeDelay
Definition: pruicss_pwm.h:301
PRUICSS_PWM_Attrs::outputCfgActiveState
uint8_t outputCfgActiveState
Definition: pruicss_pwm.h:307
PRUICSS_PWM_clearPwmPositionFeedbackErrorTrip
int32_t PRUICSS_PWM_clearPwmPositionFeedbackErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Software Position Feedback Error Trip by writing 0 to bit field for specified pwm set...
PRUICSS_PWM_generatePwmOverCurrentErrorTrip
int32_t PRUICSS_PWM_generatePwmOverCurrentErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API generates Software Over current error trip by writing 1 to bit field for specified pwm set.
PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET
#define PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET
Definition: pruicss_pwm.h:130
PRUICSS_PWM_Attrs::enable
uint8_t enable
Definition: pruicss_pwm.h:311
PRUICSS_PWM_clearPwmOverCurrentErrorTrip
int32_t PRUICSS_PWM_clearPwmOverCurrentErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Software Over current error trip by writing 0 to bit field for specified pwm set.
PRUICSS_PWM_Attrs::outputCfgInitialState
uint8_t outputCfgInitialState
Definition: pruicss_pwm.h:305
PRUICSS_PWM_stateInit
int32_t PRUICSS_PWM_stateInit(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance, uint8_t outputCfgInitialState, uint8_t outputCfgActiveState, uint8_t outputCfgTripState)
This function Intializes the pwm output configuration of pwm states from the parameters specified.
PRUICSS_PWM_Attrs::outputCfgTripState
uint8_t outputCfgTripState
Definition: pruicss_pwm.h:309
PRUICSS_PWM_IEP_Attrs::enableIep1SlaveMode
uint8_t enableIep1SlaveMode
Definition: pruicss_pwm.h:268
PRUICSS_PWM_Config::iepAttrs
PRUICSS_PWM_IEP_Attrs * iepAttrs
Definition: pruicss_pwm.h:334
PRUICSS_PWM_enableIEP1Slave
int32_t PRUICSS_PWM_enableIEP1Slave(PRUICSS_PWM_Handle handle, uint8_t enable)
This function enables IEP1 counter follow IEP0 counter when Enabled IEP1 counter acts as slave IEP1 c...
PRUICSS_PWM_configurePwmEfficiencyModeEnable
int32_t PRUICSS_PWM_configurePwmEfficiencyModeEnable(PRUICSS_PWM_Handle handle, uint8_t enable)
This API enables Efficiency mode In Efficiency mode Pwm state machine will go from Idle to Active and...
PRUICSS_PWM_actionOnOutputCfgPwmSignalB0
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB0(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of B0 signal for specified PWM set.
PRUICSS_PWM_IEP_Attrs::enableIEP0ShadowMode
uint8_t enableIEP0ShadowMode
Definition: pruicss_pwm.h:266
PRUICSS_PWM_open
PRUICSS_PWM_Handle PRUICSS_PWM_open(uint32_t index, PRUICSS_Handle pruIcssHandle)
This function returns the handle for a PRUICSS PWM instance.
PRUICSS_PWM_IEP_Attrs::enableIep0ResetOnEpwm3_Sync
uint8_t enableIep0ResetOnEpwm3_Sync
Definition: pruicss_pwm.h:262
PRUICSS_PWM_IEP_Attrs::enableIep0
uint8_t enableIep0
Definition: pruicss_pwm.h:258
PRUICSS_PWM_configureIepCompareEnable
int32_t PRUICSS_PWM_configureIepCompareEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint16_t value)
This API sets enables/disables compare events in IEP module.
PRUICSS_PWM_pruIcssPwmFrequencyInit
int32_t PRUICSS_PWM_pruIcssPwmFrequencyInit(PRUICSS_PWM_Handle handle, uint32_t pruIcssPwmFrequency)
This function Intializes or updates pwm frequency to specified value in PRUICSS_PWM_Handle.
PRUICSS_PWM_setIepCounterLower_32bitValue
int32_t PRUICSS_PWM_setIepCounterLower_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint32_t value)
This API writes Lower_32bit Value of IEP counter in IEP module.
PRUICSS_PWM_IEP_Attrs::enableIep0ResetOnCompare0
uint8_t enableIep0ResetOnCompare0
Definition: pruicss_pwm.h:264
PRUICSS_PWM_generatePwmPositionFeedbackErrorTrip
int32_t PRUICSS_PWM_generatePwmPositionFeedbackErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API generates Software Position Feedback Error Trip by writing 1 to bit field for specified pwm ...
PRUICSS_PWM_getPwmTripTriggerCauseVector
int32_t PRUICSS_PWM_getPwmTripTriggerCauseVector(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API returns Trip trigger cause vector for specified pwm set.
PRUICSS_NUM_PWM_SETS
#define PRUICSS_NUM_PWM_SETS
Definition: pruicss_pwm.h:112
PRUICSS_PWM_actionOnOutputCfgPwmSignalB1
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB1(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of B1 signal for specified PWM set.
PRUICSS_PWM_setIepCompareEventUpper_32bitValue
int32_t PRUICSS_PWM_setIepCompareEventUpper_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t cmpEvent, uint32_t value)
This API writes Upper_32bit Value of compare event in IEP module.
PRUICSS_PWM_actionOnOutputCfgPwmSignalA0
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA0(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of A0 signal for specified PWM set.
PRUICSS_PWM_IEP_Attrs::pruIcssPwmFrequency
uint32_t pruIcssPwmFrequency
Definition: pruicss_pwm.h:272
PRUICSS_PWM_generatePwmTripReset
int32_t PRUICSS_PWM_generatePwmTripReset(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API generates Software Trip Reset by writing 1 to bit field for specified pwm set.
PRUICSS_PWM_Handle
struct PRUICSS_PWM_Config_s * PRUICSS_PWM_Handle
A handle that is returned from a PRUICSS_PWM_open() call. This handle is required for calling other P...
Definition: pruicss_pwm.h:103
PRUICSS_PWM_Config::pruIcssHandle
PRUICSS_Handle pruIcssHandle
Definition: pruicss_pwm.h:330
PRUICSS_PWM_clearPwmTripResetStatus
int32_t PRUICSS_PWM_clearPwmTripResetStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Software Trip Reset by writing 0 to bit field for specified pwm set.
PRUICSS_PWM_attrsInit
int32_t PRUICSS_PWM_attrsInit(PRUICSS_PWM_Handle handle)
This function Intializes pwm attributes to default values & disables all pwm signals.
PRUICSS_PWM_Attrs::riseEdgeDelay
uint32_t riseEdgeDelay
Definition: pruicss_pwm.h:303
PRUICSS_PWM_actionOnOutputCfgPwmSignalA2
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA2(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of A2 signal for specified PWM set.