AM243x Motor Control SDK  09.02.00
APIs for PRUICSS PWM

Introduction

This module contains APIs for device driver pruicss_pwm supported in this SDK.

PRUICSS has one pwm module, which has four pwm sets (PWM0, PWM1, PWM2, PWM3) Each Set has six signals (A0,A1,A2,B0,B1,B2) With Reference to Technical Reference Manual, Pwm six signals(A0,A1,A2,B0,B1,B2) Naming convention is slightly different

     PWMn==============>PWMn_0=========>PWMn_0_POS (alias signal A0)
             |                   |=====>PWMn_0_NEG (alias signal B0)
             |
             | 
             |   
             |=========>PWMn_1=========>PWMn_1_POS (alias signal A1)
             |                   |=====>PWMn_1_NEG (alias signal B1)
             |
             | 
             |           
             |=========>PWMn_2=========>PWMn_2_POS (alias signal A2)  
                                 |=====>PWMn_2_NEG (alias signal B2) 

Each Set has one trip zone output OR logic block Each trip zone block has nine trip_error signals (trip_e1_[0:2], trip_e2, trip_e3[0:2], trip_e4, trip_e5) as input And one PWMn_TZ_OUT output signal which makes transition to safe or trip state from current state

                                                              ________________
        tripn_e1_[2:0](Debounce Trip)----------------------->|                |
                                                             |                |
        tripn_e2(Debounce Error Trip_in)-------------------->|                |              _____________
                                                             |                |              |           |
        trip_e3[2:0](SD Fast detect Error Trip)------------->|   Tripzone     |------------->|PWMn_TZ_OUT|
                                                             |    output      |              |___________| 
                                                             |     logic      |
        trip_e4(SD over current Error Trip)----------------->|                |
                                                             |                |
        trip_e5(Position Error trip)------------------------>|                |
                                                             |________________|               

Data Structures

struct  PRUICSS_PWM_IEP_Attrs
 PRUICSS PWM IEP Attributes. More...
 
struct  PRUICSS_PWM_Attrs
 PRUICSS PWM Attributes. More...
 
struct  PRUICSS_PWM_Config
 PRUICSS PWM Global configuration structure. More...
 

Functions

PRUICSS_PWM_Handle PRUICSS_PWM_open (uint32_t index, PRUICSS_Handle pruIcssHandle)
 This function returns the handle for a PRUICSS PWM instance. More...
 
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. More...
 
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. More...
 
int32_t PRUICSS_PWM_configureIepShadowModeEnable (PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
 This API sets enables/disables of IEP shadow mode. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
int32_t PRUICSS_PWM_setPwmDebounceValue (PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t value)
 This API updates Debounce Value for specified pwm set. More...
 
int32_t PRUICSS_PWM_setPwmTripMask (PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t maskValue)
 This API updates TripMask Value for specified pwm set. More...
 
int32_t PRUICSS_PWM_getPwmTripMask (PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t *maskValuePtr)
 Get trip mask Value for specified pwm set. More...
 
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. More...
 
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. More...
 
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. More...
 
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 set. More...
 
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. More...
 
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. More...
 
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. More...
 
int32_t PRUICSS_PWM_getPwmTripTriggerCauseVector (PRUICSS_PWM_Handle handle, uint8_t pwmSet)
 This API returns Trip trigger cause vector for specified pwm set. More...
 
int32_t PRUICSS_PWM_getPwmTripStatus (PRUICSS_PWM_Handle handle, uint8_t pwmSet)
 This API returns Trip status for specified pwm set. More...
 
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 (Trip->Intial) for specified pwm set. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 the same time Pwm output will get updated during this state transition And IEP Cmp flags will get auto HW cleared. More...
 
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 counter[63:0] is from IEP0 during 64-bit mode IEP1 counter[31:0] is from IEP0 during 32-bit mode. More...
 
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. More...
 
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. More...
 
int32_t PRUICSS_PWM_attrsInit (PRUICSS_PWM_Handle handle)
 This function Intializes pwm attributes to default values & disables all pwm signals. More...
 
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. More...
 
int32_t PRUICSS_PWM_signalEnable (PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance)
 This function Enables the specified pwm signal. More...
 
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_Handle. More...
 
int32_t PRUICSS_PWM_stateConfig (PRUICSS_PWM_Handle handle)
 If pwm signal is enabled, This function Configures output state defined in PRUICSS_PWM_Handle. More...
 
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. More...
 
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. More...
 
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. More...
 

Typedefs

typedef 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 PRUICSS PWM APIs. More...
 

Macros

#define PRUICSS_PWM_H_
 
#define PRUICSS_IEP_COUNT_REG_MAX   (0xFFFFFFFFU)
 PRUICSS IEP count register maximum value. More...
 
#define PRUICSS_IEP_CMP_EVENTS_ENABLE_MAX_VALUE   (0x0000FFFFU)
 Number of PRUICSS IEP compare events enable field maximum value. More...
 
#define PRUICSS_PWM_DEBOUNCE_MAX_VALUE   (0xFFU)
 PRUICSS PWM Debounce maximum value. More...
 
#define PRUICSS_PWM_TRIP_MASK_MAX_VALUE   (0x000001FFU)
 PRUICSS PWM mask field maximum value. More...
 

PRUICSS PWM SET

#define PRUICSS_NUM_PWM_SETS   (0x4U)
 
#define PRUICSS_PWM_SET0   (0x0U)
 
#define PRUICSS_PWM_SET1   (0x1U)
 
#define PRUICSS_PWM_SET2   (0x2U)
 
#define PRUICSS_PWM_SET3   (0x3U)
 

PRUICSS PWM SET INSTANCE

#define PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET   (0x6U)
 
#define PRUICSS_PWM_SET_INSTANCE_A0   (0x0U)
 
#define PRUICSS_PWM_SET_INSTANCE_B0   (0x1U)
 
#define PRUICSS_PWM_SET_INSTANCE_A1   (0x2U)
 
#define PRUICSS_PWM_SET_INSTANCE_B1   (0x3U)
 
#define PRUICSS_PWM_SET_INSTANCE_A2   (0x4U)
 
#define PRUICSS_PWM_SET_INSTANCE_B2   (0x5U)
 

PRUICSS PWM STATE

#define PRUICSS_NUM_PWM_STATES   (0x3U)
 
#define PRUICSS_PWM_INTIAL_STATE   (0x0U)
 
#define PRUICSS_PWM_ACTIVE_STATE   (0x1U)
 
#define PRUICSS_PWM_TRIP_STATE   (0x2U)
 

PRUICSS PWM OUTPUT ACTION

#define PRUICSS_NUM_PWM_OUTPUT_ACTIONS   (0x3U)
 
#define PRUICSS_PWM_OUTPUT_TOGGLE   (0x0U)
 
#define PRUICSS_PWM_OUTPUT_LOW   (0x1U)
 
#define PRUICSS_PWM_OUTPUT_HIGH   (0x2U)
 

PRUICSS IEP INSTANCE

#define PRUICSS_NUM_IEP_INSTANCES   (0x2U)
 
#define PRUICSS_IEP_INST0   (0x0U)
 
#define PRUICSS_IEP_INST1   (0x1U)
 

PRUICSS IEP COMPARE EVENT

#define PRUICSS_NUM_IEP_CMP_EVENTS   (0x10U)
 
#define CMP_EVENT0   (0x0U)
 
#define CMP_EVENT1   (0x1U)
 
#define CMP_EVENT2   (0x2U)
 
#define CMP_EVENT3   (0x3U)
 
#define CMP_EVENT4   (0x4U)
 
#define CMP_EVENT5   (0x5U)
 
#define CMP_EVENT6   (0x6U)
 
#define CMP_EVENT7   (0x7U)
 
#define CMP_EVENT8   (0x8U)
 
#define CMP_EVENT9   (0x9U)
 
#define CMP_EVENT10   (0xAU)
 
#define CMP_EVENT11   (0xBU)
 
#define CMP_EVENT12   (0xCU)
 
#define CMP_EVENT13   (0xDU)
 
#define CMP_EVENT14   (0xEU)
 
#define CMP_EVENT15   (0xFU)
 

Macro Definition Documentation

◆ PRUICSS_PWM_H_

#define PRUICSS_PWM_H_

◆ PRUICSS_NUM_PWM_SETS

#define PRUICSS_NUM_PWM_SETS   (0x4U)

◆ PRUICSS_PWM_SET0

#define PRUICSS_PWM_SET0   (0x0U)

◆ PRUICSS_PWM_SET1

#define PRUICSS_PWM_SET1   (0x1U)

◆ PRUICSS_PWM_SET2

#define PRUICSS_PWM_SET2   (0x2U)

◆ PRUICSS_PWM_SET3

#define PRUICSS_PWM_SET3   (0x3U)

◆ PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET

#define PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET   (0x6U)

◆ PRUICSS_PWM_SET_INSTANCE_A0

#define PRUICSS_PWM_SET_INSTANCE_A0   (0x0U)

◆ PRUICSS_PWM_SET_INSTANCE_B0

#define PRUICSS_PWM_SET_INSTANCE_B0   (0x1U)

◆ PRUICSS_PWM_SET_INSTANCE_A1

#define PRUICSS_PWM_SET_INSTANCE_A1   (0x2U)

◆ PRUICSS_PWM_SET_INSTANCE_B1

#define PRUICSS_PWM_SET_INSTANCE_B1   (0x3U)

◆ PRUICSS_PWM_SET_INSTANCE_A2

#define PRUICSS_PWM_SET_INSTANCE_A2   (0x4U)

◆ PRUICSS_PWM_SET_INSTANCE_B2

#define PRUICSS_PWM_SET_INSTANCE_B2   (0x5U)

◆ PRUICSS_NUM_PWM_STATES

#define PRUICSS_NUM_PWM_STATES   (0x3U)

◆ PRUICSS_PWM_INTIAL_STATE

#define PRUICSS_PWM_INTIAL_STATE   (0x0U)

◆ PRUICSS_PWM_ACTIVE_STATE

#define PRUICSS_PWM_ACTIVE_STATE   (0x1U)

◆ PRUICSS_PWM_TRIP_STATE

#define PRUICSS_PWM_TRIP_STATE   (0x2U)

◆ PRUICSS_NUM_PWM_OUTPUT_ACTIONS

#define PRUICSS_NUM_PWM_OUTPUT_ACTIONS   (0x3U)

◆ PRUICSS_PWM_OUTPUT_TOGGLE

#define PRUICSS_PWM_OUTPUT_TOGGLE   (0x0U)

◆ PRUICSS_PWM_OUTPUT_LOW

#define PRUICSS_PWM_OUTPUT_LOW   (0x1U)

◆ PRUICSS_PWM_OUTPUT_HIGH

#define PRUICSS_PWM_OUTPUT_HIGH   (0x2U)

◆ PRUICSS_NUM_IEP_INSTANCES

#define PRUICSS_NUM_IEP_INSTANCES   (0x2U)

◆ PRUICSS_IEP_INST0

#define PRUICSS_IEP_INST0   (0x0U)

◆ PRUICSS_IEP_INST1

#define PRUICSS_IEP_INST1   (0x1U)

◆ PRUICSS_IEP_COUNT_REG_MAX

#define PRUICSS_IEP_COUNT_REG_MAX   (0xFFFFFFFFU)

PRUICSS IEP count register maximum value.

◆ PRUICSS_NUM_IEP_CMP_EVENTS

#define PRUICSS_NUM_IEP_CMP_EVENTS   (0x10U)

◆ CMP_EVENT0

#define CMP_EVENT0   (0x0U)

◆ CMP_EVENT1

#define CMP_EVENT1   (0x1U)

◆ CMP_EVENT2

#define CMP_EVENT2   (0x2U)

◆ CMP_EVENT3

#define CMP_EVENT3   (0x3U)

◆ CMP_EVENT4

#define CMP_EVENT4   (0x4U)

◆ CMP_EVENT5

#define CMP_EVENT5   (0x5U)

◆ CMP_EVENT6

#define CMP_EVENT6   (0x6U)

◆ CMP_EVENT7

#define CMP_EVENT7   (0x7U)

◆ CMP_EVENT8

#define CMP_EVENT8   (0x8U)

◆ CMP_EVENT9

#define CMP_EVENT9   (0x9U)

◆ CMP_EVENT10

#define CMP_EVENT10   (0xAU)

◆ CMP_EVENT11

#define CMP_EVENT11   (0xBU)

◆ CMP_EVENT12

#define CMP_EVENT12   (0xCU)

◆ CMP_EVENT13

#define CMP_EVENT13   (0xDU)

◆ CMP_EVENT14

#define CMP_EVENT14   (0xEU)

◆ CMP_EVENT15

#define CMP_EVENT15   (0xFU)

◆ PRUICSS_IEP_CMP_EVENTS_ENABLE_MAX_VALUE

#define PRUICSS_IEP_CMP_EVENTS_ENABLE_MAX_VALUE   (0x0000FFFFU)

Number of PRUICSS IEP compare events enable field maximum value.

◆ PRUICSS_PWM_DEBOUNCE_MAX_VALUE

#define PRUICSS_PWM_DEBOUNCE_MAX_VALUE   (0xFFU)

PRUICSS PWM Debounce maximum value.

◆ PRUICSS_PWM_TRIP_MASK_MAX_VALUE

#define PRUICSS_PWM_TRIP_MASK_MAX_VALUE   (0x000001FFU)

PRUICSS PWM mask field maximum value.

Typedef Documentation

◆ PRUICSS_PWM_Handle

typedef 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 PRUICSS PWM APIs.

Function Documentation

◆ 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.

Parameters
indexIndex of config to use in the gPruIcssPwmConfig array
pruIcssHandlePRUICSS_Handle returned from PRUICSS_open()
Returns
PRUICSS_PWM_Handle on success, NULL on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
valueIEP count register lower 32bit value
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
valueIEP count register upper 32bit value
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
valueValue to store in compare enable field of compare config register
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
valueCompare register lower 32bit value
cmpEventCompare event number. maximum value allowed is 15
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
valueCompare register upper 32bit Value
cmpEventCompare event number. maximum value allowed is 15
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
valuePwmset debounce value
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Software TripMask

0x0: PWM0_POS_ERR_TRIP (trip_e5)

0x1: PWM0_OVER_ERR_TRIP (trip_e4)

0x2: PWM0_0_SD_SHORT_ERR_TRIP (trip_e3_0)

0x3: PWM0_1_SD_SHORT_ERR_TRIP (trip_e3_1)

0x4: PWM0_2_SD_SHORT_ERR_TRIP (trip_e3_2)

0x5: PWM0_DEBOUNCE_TRIP_IN (trip_e2)

0x6: PWM0_0_DEBOUNCE_TRIP (trip_e1_0)

0x7: PWM0_1_DEBOUNCE_TRIP (trip_e1_1)

0x8: PWM0_2_DEBOUNCE_TRIP (trip_e1_2)

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
maskValuePwmset maskValue
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Software TripMask

0x0: PWM0_POS_ERR_TRIP (trip_e5)

0x1: PWM0_OVER_ERR_TRIP (trip_e4)

0x2: PWM0_0_SD_SHORT_ERR_TRIP (trip_e3_0)

0x3: PWM0_1_SD_SHORT_ERR_TRIP (trip_e3_1)

0x4: PWM0_2_SD_SHORT_ERR_TRIP (trip_e3_2)

0x5: PWM0_DEBOUNCE_TRIP_IN (trip_e2)

0x6: PWM0_0_DEBOUNCE_TRIP (trip_e1_0)

0x7: PWM0_1_DEBOUNCE_TRIP (trip_e1_1)

0x8: PWM0_2_DEBOUNCE_TRIP (trip_e1_2)

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
maskValuePtr[out] Pwmset maskValue
Returns
It returns SystemP_SUCCESS on success and stores mask value in maskValuePtr, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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 set.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
Trip trigger cause vector on success, SystemP_FAILURE on error

◆ PRUICSS_PWM_getPwmTripStatus()

int32_t PRUICSS_PWM_getPwmTripStatus ( PRUICSS_PWM_Handle  handle,
uint8_t  pwmSet 
)

This API returns Trip status for specified pwm set.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
Trip status on success, SystemP_FAILURE on error

◆ 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 (Trip->Intial) for specified pwm set.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
state0 for Intial, 1 for Active, 2 for Safe(alias Trip) state
action0 for Toggle, 1 for Low, 2 for High
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
state0 for Intial, 1 for Active, 2 for Safe(alias Trip) state
action0 for Toggle, 1 for Low, 2 for High
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
state0 for Intial, 1 for Active, 2 for Safe(alias Trip) state
action0 for Toggle, 1 for Low, 2 for High
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
state0 for Intial, 1 for Active, 2 for Safe(alias Trip) state
action0 for Toggle, 1 for Low, 2 for High
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
state0 for Intial, 1 for Active, 2 for Safe(alias Trip) state
action0 for Toggle, 1 for Low, 2 for High
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSet0 for PWM0, 1 for PWM1, 2 for PWM2, 3 for PWM3
state0 for Intial, 1 for Active, 2 for Safe(alias Trip) state
action0 for Toggle, 1 for Low, 2 for High
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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 the same time Pwm output will get updated during this state transition And IEP Cmp flags will get auto HW cleared.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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 counter[63:0] is from IEP0 during 64-bit mode IEP1 counter[31:0] is from IEP0 during 32-bit mode.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS in case of success, SystemP_FAILURE otherwise

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
iepInstance0 for IEP0, 1 for IEP1
enable0 for disable, 1 for enable
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ PRUICSS_PWM_attrsInit()

int32_t PRUICSS_PWM_attrsInit ( PRUICSS_PWM_Handle  handle)

This function Intializes pwm attributes to default values & disables all pwm signals.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSetpwm set number from PRUICSS_PWM_SET
instancepwm set instance number from PRUICSS_PWM_SET_INSTANCE
outputCfgInitialStatepwm set instance output config in intial state PRUICSS_PWM_OUTPUT_ACTION
outputCfgActiveStatepwm set instance output config in active state PRUICSS_PWM_OUTPUT_ACTION
outputCfgTripStatepwm set instance output config in trip state PRUICSS_PWM_OUTPUT_ACTION
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSetpwm set number from PRUICSS_PWM_SET
instancepwm set instance number from PRUICSS_PWM_SET_INSTANCE
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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_Handle.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSetpwm set number from PRUICSS_PWM_SET
instancepwm set instance number from PRUICSS_PWM_SET_INSTANCE
dutyCyclepwm set instance dutycycle to be configured
riseEdgeDelaypwm set instance riseEdgeDelay to be configured
fallEdgeDelaypwm set instance fallEdgeDelay to be configured
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pwmSetMaskpwmSet enabled mask PRUICSS_PWM_SET to find bit id mapped to pwm set number
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
pruIcssPwmFrequencypruIcssPwmFrequency to be configured
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error

◆ 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.

Parameters
handlePRUICSS_PWM_Handle returned from PRUICSS_PWM_open()
Returns
SystemP_SUCCESS on success, SystemP_FAILURE on error