MCUSW
PWM Driver API

Introduction

This component provides services for initialization and control of the PWM unit (pulse width modulation). The PWM module generates pulses with variable pulse width. It allows the selection of the duty cycle and the signal period time.

See also
PWM Configuration
Pwm Driver Interrupt Handlers

Sub Modules

 PWM Configuration
 
 Pwm Driver Interrupt Handlers
 

Functions

void Pwm_Init (const Pwm_ConfigType *ConfigPtr)
 Service for PWM initialization. More...
 
void Pwm_DeInit (void)
 Service for PWM de-initialization. More...
 
void Pwm_SetDutyCycle (Pwm_ChannelType ChannelNumber, uint16 DutyCycle)
 Service for setting Duty Cycle. More...
 
void Pwm_SetPeriodAndDuty (Pwm_ChannelType ChannelNumber, Pwm_PeriodType Period, uint16 DutyCycle)
 Service for setting Period and Duty Cycle. More...
 
void Pwm_SetOutputToIdle (Pwm_ChannelType ChannelNumber)
 Service to set the output of a channel immediately to idle. More...
 
void Pwm_DisableNotification (Pwm_ChannelType ChannelNumber)
 Service to disable the Edge Notification. More...
 
void Pwm_EnableNotification (Pwm_ChannelType ChannelNumber, Pwm_EdgeNotificationType Notification)
 Service to enable the Edge Notification. More...
 
void Pwm_GetVersionInfo (Std_VersionInfoType *versioninfo)
 This service returns the version information of this module. More...
 
Std_ReturnType Pwm_RegisterReadback (Pwm_ChannelType ChannelNumber, Pwm_RegisterReadbackType *RegRbPtr)
 This function reads the important registers of the hardware unit and returns the value in the structure. More...
 

Macros

#define PWM_DUTY_0_PERCENT   (0x0U)
 16bit value representing 0% of a period value More...
 
#define PWM_DUTY_100_PERCENT   (0x8000U)
 16 bit value representing 100% of a period value More...
 
#define PWM_DUTY_50_PERCENT   (0x4000U)
 16 bit value representing 50% of a period value More...
 
#define PWM_MAX_NUM_CHANNELS   (30U)
 
#define PWM_CHANNEL1   (0U)
 GP timer 1 instance, in MCU DOMAIN. More...
 
#define PWM_CHANNEL2   (1U)
 GP timer 2 instance, in MCU DOMAIN. More...
 
#define PWM_CHANNEL3   (2U)
 GP timer 3 instance, in MCU DOMAIN. More...
 
#define PWM_CHANNEL4   (3U)
 GP timer 4 instance, in MCU DOMAIN. More...
 
#define PWM_CHANNEL5   (4U)
 GP timer 5 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x) More...
 
#define PWM_CHANNEL6   (5U)
 GP timer 6 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x) More...
 
#define PWM_CHANNEL7   (6U)
 GP timer 7 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x) More...
 
#define PWM_CHANNEL8   (7U)
 GP timer 8 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x) More...
 
#define PWM_CHANNEL9   (8U)
 GP timer 9 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x) More...
 
#define PWM_CHANNEL10   (9U)
 GP timer 10 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x) More...
 
#define PWM_CHANNEL11   (10U)
 GP timer 11 instance, MAIN DOMAIN (J721E & DRA80x) More...
 
#define PWM_CHANNEL12   (11U)
 GP timer 12 instance, MAIN DOMAIN (J721E & DRA80x) More...
 
#define PWM_CHANNEL13   (12U)
 GP timer 13 instance, MAIN DOMAIN (J721E & DRA80x) More...
 
#define PWM_CHANNEL14   (13U)
 GP timer 14 instance, MAIN DOMAIN (J721E & DRA80x) More...
 
#define PWM_CHANNEL15   (14U)
 GP timer 15 instance, MAIN DOMAIN (J721E & DRA80x) More...
 
#define PWM_CHANNEL16   (15U)
 GP timer 16 instance, MAIN DOMAIN (J721E & DRA80x) More...
 
#define PWM_CHANNEL17   (16U)
 GP timer 17 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL18   (17U)
 GP timer 18 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL19   (18U)
 GP timer 19 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL20   (19U)
 GP timer 20 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL21   (20U)
 GP timer 21 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL22   (21U)
 GP timer 22 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL23   (22U)
 GP timer 23 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL24   (23U)
 GP timer 24 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL25   (24U)
 GP timer 25 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL26   (25U)
 GP timer 26 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL27   (26U)
 GP timer 27 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL28   (27U)
 GP timer 28 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL29   (28U)
 GP timer 29 instance, MAIN DOMAIN (J721E) More...
 
#define PWM_CHANNEL30   (29U)
 GP timer 30 instance, MAIN DOMAIN (J721E) More...
 

PWM Driver Module SW Version Info

Defines for PWM Driver version used for compatibility checks

#define PWM_SW_MAJOR_VERSION   (1U)
 Driver Implementation Major Version. More...
 
#define PWM_SW_MINOR_VERSION   (2U)
 Driver Implementation Minor Version. More...
 
#define PWM_SW_PATCH_VERSION   (1U)
 Driver Implementation Patch Version. More...
 

PWM Driver Module AUTOSAR Version Info

Defines for PWM Driver AUTOSAR version used for compatibility checks

#define PWM_AR_RELEASE_MAJOR_VERSION   (4U)
 AUTOSAR Major version specification implemented by PWM Driver. More...
 
#define PWM_AR_RELEASE_MINOR_VERSION   (3U)
 AUTOSAR Minor version specification implemented by PWM Driver. More...
 
#define PWM_AR_RELEASE_REVISION_VERSION   (1U)
 AUTOSAR Patch version specification implemented by PWM Driver. More...
 

PWM Driver ID Info

#define PWM_VENDOR_ID   ((uint16) 44U)
 Texas Instruments Vendor ID. More...
 
#define PWM_MODULE_ID   ((uint16) 121U)
 PWM Driver Module ID. More...
 
#define PWM_INSTANCE_ID   ((uint8) 0U)
 PWM Driver Instance ID. More...
 

PWM Error Codes

Error codes returned by PWM functions

#define PWM_E_INIT_FAILED   ((uint8)(0x10U))
 PWM driver configuration parameter error. More...
 
#define PWM_E_UNINIT   ((uint8)(0x11U))
 PWM driver Not initialized error. More...
 
#define PWM_E_PARAM_CHANNEL   ((uint8)(0x12U))
 PWM driver Invalid param. More...
 
#define PWM_E_PERIOD_UNCHANGEABLE   ((uint8)(0x13U))
 PWM driver Fixed period channel. More...
 
#define PWM_E_ALREADY_INITIALIZED   ((uint8)(0x14U))
 PWM driver Already initialized. More...
 
#define PWM_E_PARAM_POINTER   ((uint8)(0x15U))
 PWM driver pointer paramter error. More...
 
#define PWM_E_NOT_DISENGAGED   ((uint8)(0x16U))
 RunTime Error: API Pwm_SetPowerState is called while the PWM module is still in use. More...
 

PWM Service Ids

The Service Id is one of the argument to Det_ReportError function and is used to identify the source of the error

#define PWM_SID_INIT   ((uint8)(0x0U))
 PWM driver service ID for Initialization API. More...
 
#define PWM_SID_DEINIT   ((uint8)(0x1U))
 PWM driver service ID for De-Initialization API. More...
 
#define PWM_SID_SET_DUTY_CYCLE   ((uint8)(0x2U))
 PWM driver service ID for set duty cycle API. More...
 
#define PWM_SID_SET_PERIOD_AND_DUTY   ((uint8)(0x3U))
 PWM driver service ID for set duty cycle and period API. More...
 
#define PWM_SID_SET_OUTPUT_TO_IDLE   ((uint8)(0x4U))
 PWM driver service ID for set output state to idle API. More...
 
#define PWM_SID_GET_OUTPUT_STATE   ((uint8)(0x5U))
 PWM driver service ID for get output state API. More...
 
#define PWM_SID_DISABLE_NOTIFICATION   ((uint8)(0x6U))
 PWM driver service ID for disable notification API. More...
 
#define PWM_SID_ENABLE_NOTIFICATION   ((uint8)(0x7U))
 PWM driver service ID for Enable notification API. More...
 
#define PWM_SID_GET_VERSION_INFO   ((uint8)(0x8U))
 PWM driver service ID for Get version info API. More...
 
#define PWM_SID_REGISTER_READBACK   ((uint8)(0xDU))
 PWM driver service ID for Critical register read back API. More...
 

PWM Driver State Values

The PWM Driver State Values

#define PWM_STATUS_UNINIT   ((uint8)(0U))
 PWM driver Status uninitialized. More...
 
#define PWM_STATUS_INIT   ((uint8)(1U))
 PWM driver Status Initialized. More...
 

Macro Definition Documentation

◆ PWM_SW_MAJOR_VERSION

#define PWM_SW_MAJOR_VERSION   (1U)

Driver Implementation Major Version.

◆ PWM_SW_MINOR_VERSION

#define PWM_SW_MINOR_VERSION   (2U)

Driver Implementation Minor Version.

◆ PWM_SW_PATCH_VERSION

#define PWM_SW_PATCH_VERSION   (1U)

Driver Implementation Patch Version.

◆ PWM_AR_RELEASE_MAJOR_VERSION

#define PWM_AR_RELEASE_MAJOR_VERSION   (4U)

AUTOSAR Major version specification implemented by PWM Driver.

◆ PWM_AR_RELEASE_MINOR_VERSION

#define PWM_AR_RELEASE_MINOR_VERSION   (3U)

AUTOSAR Minor version specification implemented by PWM Driver.

◆ PWM_AR_RELEASE_REVISION_VERSION

#define PWM_AR_RELEASE_REVISION_VERSION   (1U)

AUTOSAR Patch version specification implemented by PWM Driver.

◆ PWM_VENDOR_ID

#define PWM_VENDOR_ID   ((uint16) 44U)

Texas Instruments Vendor ID.

◆ PWM_MODULE_ID

#define PWM_MODULE_ID   ((uint16) 121U)

PWM Driver Module ID.

◆ PWM_INSTANCE_ID

#define PWM_INSTANCE_ID   ((uint8) 0U)

PWM Driver Instance ID.

◆ PWM_E_INIT_FAILED

#define PWM_E_INIT_FAILED   ((uint8)(0x10U))

PWM driver configuration parameter error.

◆ PWM_E_UNINIT

#define PWM_E_UNINIT   ((uint8)(0x11U))

PWM driver Not initialized error.

◆ PWM_E_PARAM_CHANNEL

#define PWM_E_PARAM_CHANNEL   ((uint8)(0x12U))

PWM driver Invalid param.

◆ PWM_E_PERIOD_UNCHANGEABLE

#define PWM_E_PERIOD_UNCHANGEABLE   ((uint8)(0x13U))

PWM driver Fixed period channel.

◆ PWM_E_ALREADY_INITIALIZED

#define PWM_E_ALREADY_INITIALIZED   ((uint8)(0x14U))

PWM driver Already initialized.

◆ PWM_E_PARAM_POINTER

#define PWM_E_PARAM_POINTER   ((uint8)(0x15U))

PWM driver pointer paramter error.

◆ PWM_E_NOT_DISENGAGED

#define PWM_E_NOT_DISENGAGED   ((uint8)(0x16U))

RunTime Error: API Pwm_SetPowerState is called while the PWM module is still in use.

◆ PWM_SID_INIT

#define PWM_SID_INIT   ((uint8)(0x0U))

PWM driver service ID for Initialization API.

◆ PWM_SID_DEINIT

#define PWM_SID_DEINIT   ((uint8)(0x1U))

PWM driver service ID for De-Initialization API.

◆ PWM_SID_SET_DUTY_CYCLE

#define PWM_SID_SET_DUTY_CYCLE   ((uint8)(0x2U))

PWM driver service ID for set duty cycle API.

◆ PWM_SID_SET_PERIOD_AND_DUTY

#define PWM_SID_SET_PERIOD_AND_DUTY   ((uint8)(0x3U))

PWM driver service ID for set duty cycle and period API.

◆ PWM_SID_SET_OUTPUT_TO_IDLE

#define PWM_SID_SET_OUTPUT_TO_IDLE   ((uint8)(0x4U))

PWM driver service ID for set output state to idle API.

◆ PWM_SID_GET_OUTPUT_STATE

#define PWM_SID_GET_OUTPUT_STATE   ((uint8)(0x5U))

PWM driver service ID for get output state API.

◆ PWM_SID_DISABLE_NOTIFICATION

#define PWM_SID_DISABLE_NOTIFICATION   ((uint8)(0x6U))

PWM driver service ID for disable notification API.

◆ PWM_SID_ENABLE_NOTIFICATION

#define PWM_SID_ENABLE_NOTIFICATION   ((uint8)(0x7U))

PWM driver service ID for Enable notification API.

◆ PWM_SID_GET_VERSION_INFO

#define PWM_SID_GET_VERSION_INFO   ((uint8)(0x8U))

PWM driver service ID for Get version info API.

◆ PWM_SID_REGISTER_READBACK

#define PWM_SID_REGISTER_READBACK   ((uint8)(0xDU))

PWM driver service ID for Critical register read back API.

◆ PWM_STATUS_UNINIT

#define PWM_STATUS_UNINIT   ((uint8)(0U))

PWM driver Status uninitialized.

◆ PWM_STATUS_INIT

#define PWM_STATUS_INIT   ((uint8)(1U))

PWM driver Status Initialized.

◆ PWM_DUTY_0_PERCENT

#define PWM_DUTY_0_PERCENT   (0x0U)

16bit value representing 0% of a period value

◆ PWM_DUTY_100_PERCENT

#define PWM_DUTY_100_PERCENT   (0x8000U)

16 bit value representing 100% of a period value

◆ PWM_DUTY_50_PERCENT

#define PWM_DUTY_50_PERCENT   (0x4000U)

16 bit value representing 50% of a period value

◆ PWM_MAX_NUM_CHANNELS

#define PWM_MAX_NUM_CHANNELS   (30U)

◆ PWM_CHANNEL1

#define PWM_CHANNEL1   (0U)

GP timer 1 instance, in MCU DOMAIN.

◆ PWM_CHANNEL2

#define PWM_CHANNEL2   (1U)

GP timer 2 instance, in MCU DOMAIN.

◆ PWM_CHANNEL3

#define PWM_CHANNEL3   (2U)

GP timer 3 instance, in MCU DOMAIN.

◆ PWM_CHANNEL4

#define PWM_CHANNEL4   (3U)

GP timer 4 instance, in MCU DOMAIN.

◆ PWM_CHANNEL5

#define PWM_CHANNEL5   (4U)

GP timer 5 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x)

◆ PWM_CHANNEL6

#define PWM_CHANNEL6   (5U)

GP timer 6 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x)

◆ PWM_CHANNEL7

#define PWM_CHANNEL7   (6U)

GP timer 7 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x)

◆ PWM_CHANNEL8

#define PWM_CHANNEL8   (7U)

GP timer 8 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x)

◆ PWM_CHANNEL9

#define PWM_CHANNEL9   (8U)

GP timer 9 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x)

◆ PWM_CHANNEL10

#define PWM_CHANNEL10   (9U)

GP timer 10 instance, in MCU DOMAIN(J721E) / MAIN DOMAIN (DRA80x)

◆ PWM_CHANNEL11

#define PWM_CHANNEL11   (10U)

GP timer 11 instance, MAIN DOMAIN (J721E & DRA80x)

◆ PWM_CHANNEL12

#define PWM_CHANNEL12   (11U)

GP timer 12 instance, MAIN DOMAIN (J721E & DRA80x)

◆ PWM_CHANNEL13

#define PWM_CHANNEL13   (12U)

GP timer 13 instance, MAIN DOMAIN (J721E & DRA80x)

◆ PWM_CHANNEL14

#define PWM_CHANNEL14   (13U)

GP timer 14 instance, MAIN DOMAIN (J721E & DRA80x)

◆ PWM_CHANNEL15

#define PWM_CHANNEL15   (14U)

GP timer 15 instance, MAIN DOMAIN (J721E & DRA80x)

◆ PWM_CHANNEL16

#define PWM_CHANNEL16   (15U)

GP timer 16 instance, MAIN DOMAIN (J721E & DRA80x)

◆ PWM_CHANNEL17

#define PWM_CHANNEL17   (16U)

GP timer 17 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL18

#define PWM_CHANNEL18   (17U)

GP timer 18 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL19

#define PWM_CHANNEL19   (18U)

GP timer 19 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL20

#define PWM_CHANNEL20   (19U)

GP timer 20 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL21

#define PWM_CHANNEL21   (20U)

GP timer 21 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL22

#define PWM_CHANNEL22   (21U)

GP timer 22 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL23

#define PWM_CHANNEL23   (22U)

GP timer 23 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL24

#define PWM_CHANNEL24   (23U)

GP timer 24 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL25

#define PWM_CHANNEL25   (24U)

GP timer 25 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL26

#define PWM_CHANNEL26   (25U)

GP timer 26 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL27

#define PWM_CHANNEL27   (26U)

GP timer 27 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL28

#define PWM_CHANNEL28   (27U)

GP timer 28 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL29

#define PWM_CHANNEL29   (28U)

GP timer 29 instance, MAIN DOMAIN (J721E)

◆ PWM_CHANNEL30

#define PWM_CHANNEL30   (29U)

GP timer 30 instance, MAIN DOMAIN (J721E)

Function Documentation

◆ Pwm_Init()

void Pwm_Init ( const Pwm_ConfigType ConfigPtr)

Service for PWM initialization.

*  Service name        : Pwm_Init
*  Syntax              : Pwm_Init(P2CONST(Pwm_ConfigType,
*                                  AUTOMATIC, PWM_PBCFG) ConfigPtr)
*  Service ID[hex]     : 0x00
*  Sync/Async          : Synchronous
*  Reentrancy          : Non Reentrant
*  Parameters (in)     : Pointer to the configuration
*  Parameters (out)    : None
*  Return value        : void
*  Description         : Initializes internal variables
*                        and the PWM unit of the micro controller.
*                        The function can be called on task level.
*  

◆ Pwm_DeInit()

void Pwm_DeInit ( void  )

Service for PWM de-initialization.

*  Service name        : Pwm_DeInit
*  Syntax              : Pwm_DeInit(void)
*  Service ID[hex]     : 0x01
*  Sync/Async          : Synchronous
*  Reentrancy          : Non Reentrant
*  Parameters (in)     : None
*  Parameters (out)    : None
*  Return value        : void
*  Description         : After DeInit output states should be in idle level
*                       (it is configurable whether reset state is restored or
*                        if channel output states are really set to idle).
*                        The function can be called on task level.
*  

◆ Pwm_SetDutyCycle()

void Pwm_SetDutyCycle ( Pwm_ChannelType  ChannelNumber,
uint16  DutyCycle 
)

Service for setting Duty Cycle.

*  Service name        : Pwm_SetDutyCycle
*  Syntax              : Pwm_SetDutyCycle(Pwm_ChannelType Channel,
*                                         uint16 DutyCycle)
*  Service ID[hex]     : 0x02
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Pwm_ChannelType Channel
*  Parameters (in)     : uint16 DutyCycle
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service sets the duty cycle for a channel
*                        if DutyCycle is 0%, set output to inverse of polarity
*                        if DutyCycle is >= 100%, set output to polarity
*                        if 0% < DutyCycle < 100%, set output accordingly
*                        The function can be called on task level.
*  

◆ Pwm_SetPeriodAndDuty()

void Pwm_SetPeriodAndDuty ( Pwm_ChannelType  ChannelNumber,
Pwm_PeriodType  Period,
uint16  DutyCycle 
)

Service for setting Period and Duty Cycle.

*  Service name        : Pwm_SetPeriodAndDuty
*  Syntax              : Pwm_SetPeriodAndDuty(Pwm_ChannelType Channel,
*                                  Pwm_PeriodType Period, uint16 DutyCycle)
*  Service ID[hex]     : 0x03
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Pwm_ChannelType Channel
*  Parameters (in)     : Pwm_PeriodType Period
*  Parameters (in)     : uint16 DutyCycle
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service sets period and duty cycle for a channel
*                        if DutyCycle is 0%, set output to inverse of polarity
*                        if DutyCycle is >= 100%, set output to polarity
*                        if 0% < DutyCycle < 100%, set output accordingly
*                        The function can be called on task level.
*  

◆ Pwm_SetOutputToIdle()

void Pwm_SetOutputToIdle ( Pwm_ChannelType  ChannelNumber)

Service to set the output of a channel immediately to idle.

*  Service name        : Pwm_SetOutputToIdle
*  Syntax              : Pwm_SetOutputToIdle(Pwm_ChannelType Channel)
*  Service ID[hex]     : 0x04
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Pwm_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service sets the output of a channel
*                        immediately to idle. The idle output level
*                        is configured in driver configuration.
*                        The function can be called on task level.
*  

◆ Pwm_DisableNotification()

void Pwm_DisableNotification ( Pwm_ChannelType  ChannelNumber)

Service to disable the Edge Notification.

*  Service name        : Pwm_DisableNotification
*  Syntax              : Pwm_DisableNotification(Pwm_ChannelType ChannelNumber)
*  Service ID[hex]     : 0x06
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Pwm_ChannelType ChannelNumber
*  Parameters (out)    : None
*  Return value        : None
*  Description         : Disables the Edge Notification
*                        This service deactivates the Edge Notification for the
*                        pwm channel specified by the ChannelNumber Parameter.
*                        The function can be called on task level.
*  

◆ Pwm_EnableNotification()

void Pwm_EnableNotification ( Pwm_ChannelType  ChannelNumber,
Pwm_EdgeNotificationType  Notification 
)

Service to enable the Edge Notification.

*  Service name        : Pwm_EnableNotification
*  Syntax              : Pwm_EnableNotification (Pwm_ChannelType Channel,
*                        Pwm_EdgeNotificationType Notification)
*  Service ID[hex]     : 0x07
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Pwm_ChannelType ChannelNumber
*  Parameters (in)     : Pwm_EdgeNotificationType  Notification
*  Parameters (out)    : None
*  Return value        : None
*  Description         : Enables the Edge Notification
*                        This service enables the notification of the chosen
*                        edges for the Pwm channel specified by the
*                        ChannelNumber.The function can be called on task level
*  

◆ Pwm_GetVersionInfo()

void Pwm_GetVersionInfo ( Std_VersionInfoType *  versioninfo)

This service returns the version information of this module.

*  Service name        : Pwm_GetVersionInfo
*  Syntax              : Pwm_GetVersionInfo(P2VAR(Std_VersionInfoType,
*                           AUTOMATIC, PWM_APPL_DATA) versioninfo)
*  Service ID[hex]     : 0x08
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Std_VersionInfoType - Version info.
*  Parameters (out)    : None
*  Return value        : void
*  Description         : Returns the version information of this module.
*                        The function can be called on task level.
*  

◆ Pwm_RegisterReadback()

Std_ReturnType Pwm_RegisterReadback ( Pwm_ChannelType  ChannelNumber,
Pwm_RegisterReadbackType RegRbPtr 
)

This function reads the important registers of the hardware unit and returns the value in the structure.

*  Service name        : Pwm_RegisterReadback(Pwm_ChannelType ChannelNumber,
*                                          Pwm_RegisterReadbackType *RegRbPtr)
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Service ID[hex]     : 0x0D
*  Parameters (in)     : Pwm_ChannelType ChannelNumber
*  Parameters (inout)  : RegRbPtr - Pointer to where to store the readback
*                        values. If this pointer is NULL, then the API
*                        will return E_NOT_OK.
*  Description         : This API is used to check the status of critical 
                         registers which donot change during program execution.
*  Return value        : Std_ReturnType
*                        E_OK: Register read back has been done successfully
*                        E_NOT_OK: Register read back failed
*