High-Resolution Pulse-Width Modulated (PWM) with Fine Edge Placement using dsPIC MCUs. More...
Files | |
file | pwm.h |
This is the generated driver header file for the PWM driver. | |
file | pwm_features.h |
This is the generated module feature header file for PWM driver. This file provides module feature list available on the selected device. The macros defined in this file provides the flexibility to easily migrate the user application to other device which might have varied feature list. | |
file | pwm_hs_types.h |
This is the generated driver types header file for the PWM driver. | |
file | pwm.c |
This is the generated driver source file for PWM driver. | |
Data Structures | |
struct | PWM_HS_INTERFACE |
Structure containing the function pointers of PWM driver. More... | |
Macros | |
#define | PWM_GENERATOR_MASTER_PHASE_FEATURE_AVAILABLE 1 |
This macro defines the PWM master phase feature availability in the PWM driver. | |
#define | PWM_GENERATOR_ENABLE_FEATURE_AVAILABLE 1 |
This macro defines the PWM generator enable feature availability in the PWM driver. | |
#define | PWM_SOFTWARE_UPDATE_FEATURE_AVAILABLE 1 |
This macro defines the PWM data update request feature availability in the PWM driver. | |
#define | PWM_FAULT_LATCH_SOFTWARE_CLEAR_FEATURE_AVAILABLE 1 |
This macro defines the PWM fault latch clear through software feature availability in the PWM driver. | |
#define | PWM_MULTIPLE_TRIGGER_FEATURE_AVAILABLE 1 |
This macro defines the PWM multiple trigger feature availability in the PWM driver. | |
#define | PWM_TRIGGER_ENABLE_FEATURE_AVAILABLE 1 |
This macro defines the PWM multiple trigger enable availability in the PWM driver. | |
#define | PWM_SPECIAL_EVENT_FEATURE_AVAILABLE 0 |
This macro defines the PWM special event trigger feature availability in the PWM driver. | |
#define | PWM_FAULT_MODE_ENABLE_FEATURE_AVAILABLE 0 |
This macro defines the PWM fault mode enable and disable feature availability in the PWM driver. | |
Enumerations | |
enum | PWM_GENERATOR { PWM_PRI_1 = 1 , PWM_SEC_1 = 2 , PWM_PRI_2 = 3 , PWM_SEC_2 = 4 , PWM_MAX_GENERATOR } |
Defines the PWM generators that are selected from the MCC Melody User Interface for the PWM output controls. Note: The enum list in the Help document might be just an illustration to show the selected PWM channel list Generated enum list is based on the configuration done by user in the MCC Melody user interface. More... | |
enum | PWM_GENERATOR_INTERRUPT { PWM_GENERATOR_INTERRUPT_FAULT = 1 , PWM_GENERATOR_INTERRUPT_CURRENT_LIMIT = 2 , PWM_GENERATOR_INTERRUPT_FEED_FORWARD = 3 , PWM_GENERATOR_INTERRUPT_SYNC = 4 } |
Defines the PWM generator interrupts that are available for the module to use. More... | |
enum | PWM_COMMON_EVENT { PWM_EVENT_A = 1 , PWM_EVENT_B = 2 , PWM_EVENT_C = 3 , PWM_EVENT_D = 4 , PWM_EVENT_E = 5 , PWM_EVENT_F = 6 } |
Defines the PWM generator Common Events that are available for the module to use. More... | |
enum | PWM_TRIGGER_COMPARE { PWM_TRIGGER_COMPARE_A = 1 , PWM_TRIGGER_COMPARE_B = 2 , PWM_TRIGGER_COMPARE_C = 3 } |
Defines the PWM generator Trigger Compare registers that are available for the module to use. More... | |
enum | PWM_MODES { PWM_MODE_INDEPENDENT_EDGE = 0x0 , PWM_MODE_VARIABLE_PHASE = 0x1 , PWM_MODE_INDEPENDENT_EDGE_DUAL_OUTPUT = 0x2 , PWM_MODE_CENTER_ALIGNED = 0x4 , PWM_MODE_DOUBLE_UPDATE_CENTER_ALIGNED = 0x5 , PWM_MODE_DUAL_EDGE_CENTER_ALIGNED_ONE_UPDATE_CYCLE = 0x6 , PWM_MODE_DUAL_EDGE_CENTER_ALIGNED_TWO_UPDATES_CYCLE = 0x7 } |
Defines the PWM generator operating modes that are available. More... | |
Functions | |
void | PWM_Initialize (void) |
Initializes PWM module, using the given initialization data. | |
void | PWM_Deinitialize (void) |
Deinitializes the PWM to POR values. | |
static void | PWM_GeneratorEnable (enum PWM_GENERATOR genNum) |
This inline function enables the specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_GeneratorDisable (enum PWM_GENERATOR genNum) |
This inline function disables the specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_ModeSet (enum PWM_GENERATOR genNum, enum PWM_MODES mode) |
This inline function sets the operating mode of specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_Enable (void) |
This inline function will enable all the generators of PWM module. | |
static void | PWM_Disable (void) |
This inline function will disable all the generators of PWM module. | |
static void | PWM_MasterPeriodSet (uint16_t masterPeriod) |
This inline function sets the period value in count for the Master Time Base generator. | |
static void | PWM_MasterDutyCycleSet (uint16_t masterDutyCycle) |
This inline function sets the PWM master duty cycle register. | |
static void | PWM_MasterPhaseSet (uint16_t masterPhase) |
This inline function sets the phase value in count for the Master Time Base generator. | |
static void | PWM_PeriodSet (enum PWM_GENERATOR genNum, uint16_t period) |
This inline function sets the period value in count for the PWM generator specific Time Base. | |
static void | PWM_DutyCycleSet (enum PWM_GENERATOR genNum, uint16_t dutyCycle) |
This inline function sets the PWM generator specific duty cycle register. | |
static void | PWM_PhaseSelect (enum PWM_GENERATOR genNum, enum PWM_SOURCE_SELECT source) |
This inline function selects the PWM generator source for Phase. | |
static void | PWM_PhaseSet (enum PWM_GENERATOR genNum, uint16_t phase) |
This inline function sets the phase value in count for the PWM generator specific Time Base. | |
static void | PWM_OverrideDataSet (enum PWM_GENERATOR genNum, uint16_t overrideData) |
This inline function updates PWM override data bits with the requested value for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_OverrideDataHighSet (enum PWM_GENERATOR genNum, bool overrideDataHigh) |
This inline function updates PWM override high data bit with the requested value for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_OverrideDataLowSet (enum PWM_GENERATOR genNum, bool overrideDataLow) |
This inline function updates PWM override low data bit with the requested value for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static uint16_t | PWM_OverrideDataGet (enum PWM_GENERATOR genNum) |
This inline function gets PWM override value for the PWM Generator selected by the argument PWM_GENERATOR. | |
static void | PWM_OverrideHighEnable (enum PWM_GENERATOR genNum) |
This inline function enables PWM override on PWMH output for specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_OverrideLowEnable (enum PWM_GENERATOR genNum) |
This inline function enables PWM override on PWML output for specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_OverrideHighDisable (enum PWM_GENERATOR genNum) |
This inline function disables PWM override on PWMH output for specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_OverrideLowDisable (enum PWM_GENERATOR genNum) |
This inline function disables PWM override on PWML output for specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_DeadTimeLowSet (enum PWM_GENERATOR genNum, uint16_t deadtimeLow) |
This inline function updates PWM Deadtime low register with the requested value for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_DeadTimeHighSet (enum PWM_GENERATOR genNum, uint16_t deadtimeHigh) |
This inline function updates PWM Deadtime high register with the requested value for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_DeadTimeSet (enum PWM_GENERATOR genNum, uint16_t deadtime) |
This inline function updates PWM Deadtime low and high register with the requested value for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_TriggerCompareValueSet (enum PWM_GENERATOR genNum, uint16_t trigCompValue) |
This inline function sets the PWM trigger compare value in count for the PWM Generator selected by the argument PWM_GENERATOR. | |
static void | PWM_GeneratorInterruptEnable (enum PWM_GENERATOR genNum, enum PWM_GENERATOR_INTERRUPT interrupt) |
This inline function enables interrupt requests for the PWM Generator selected by the argument PWM_GENERATOR. | |
static void | PWM_GeneratorInterruptDisable (enum PWM_GENERATOR genNum, enum PWM_GENERATOR_INTERRUPT interrupt) |
This inline function disables interrupt requests for the PWM Generator selected by the argument PWM_GENERATOR. | |
static void | PWM_GeneratorEventStatusClear (enum PWM_GENERATOR genNum, enum PWM_GENERATOR_INTERRUPT interrupt) |
This inline function clears the PWM interrupt status for the PWM Generator selected by the argument PWM_GENERATOR. | |
static bool | PWM_GeneratorEventStatusGet (enum PWM_GENERATOR genNum, enum PWM_GENERATOR_INTERRUPT interrupt) |
This inline function gets the PWM interrupt status for the PWM Generator selected by the argument PWM_GENERATOR. | |
static void | PWM_SoftwareUpdateRequest (enum PWM_GENERATOR genNum) |
This inline function requests to update the data registers for specific PWM generator selected by the argument PWM_GENERATOR. | |
static bool | PWM_SoftwareUpdatePending (enum PWM_GENERATOR genNum) |
This inline function gets the status of the update request for specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_TriggerACompareValueSet (enum PWM_GENERATOR genNum, uint16_t trigA) |
This inline function sets the Trigger A compare value in count for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_TriggerBCompareValueSet (enum PWM_GENERATOR genNum, uint16_t trigB) |
This inline function sets the Trigger B compare value in count for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_TriggerCCompareValueSet (enum PWM_GENERATOR genNum, uint16_t trigC) |
This inline function sets the Trigger C compare value in count for a specific PWM generator selected by the argument PWM_GENERATOR. | |
static void | PWM_Trigger1Enable (enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister) |
This inline function enables ADC trigger 1 for the specific compare register selected by the argument PWM_GENERATOR. | |
static void | PWM_Trigger1Disable (enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister) |
This inline function disables ADC trigger 1 for the specific compare register selected by the argument PWM_GENERATOR. | |
static void | PWM_Trigger2Enable (enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister) |
This inline function enables ADC trigger 2 for the specific compare register selected by the argument PWM_GENERATOR. | |
static void | PWM_Trigger2Disable (enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister) |
This inline function disables ADC trigger 2 for the specific compare register selected by the argument PWM_GENERATOR. | |
static void | PWM_FaultModeLatchClear (enum PWM_GENERATOR genNum) |
This inline function clears the status of PWM latched fault mode for the PWM Generator selected by the argument PWM_GENERATOR. | |
void | PWM_GeneratorEOCEventCallbackRegister (void(*callback)(enum PWM_GENERATOR genNum)) |
This function can be used to override default callback PWM_GeneratorEOCEventCallback and to define custom callback for PWM EOCEvent event. | |
void | PWM_GeneratorEOCEventCallback (enum PWM_GENERATOR genNum) |
This is the default callback with weak attribute. The user can override and implement the default callback without weak attribute or can register a custom callback function using PWM_EOCEventCallbackRegister. | |
void | PWM_GeneratorTasks (enum PWM_GENERATOR intGen) |
This is a tasks function for PWM1. | |
Variables | |
const struct PWM_HS_INTERFACE | PWM_HS |
Structure object of type PWM_HS_INTERFACE with the custom name given by the user in the Melody Driver User interface. The default name e.g. PWM_HS can be changed by the user in the PWM user interface. This allows defining a structure with application specific name using the 'Custom Name' field. Application specific name allows the API Portability. | |
#define PWM_FAULT_LATCH_SOFTWARE_CLEAR_FEATURE_AVAILABLE 1 |
APIs Supported:
PWM_FaultModeLatchClear(PWM_GENERATOR genNum);
Refer driver header file for detailed description of the APIs.
Definition at line 95 of file pwm_features.h.
#define PWM_FAULT_MODE_ENABLE_FEATURE_AVAILABLE 0 |
APIs Supported:
NA
Definition at line 146 of file pwm_features.h.
#define PWM_GENERATOR_ENABLE_FEATURE_AVAILABLE 1 |
APIs Supported:
PWM_GeneratorEnable(PWM_GENERATOR genNum);
PWM_GeneratorDisable(PWM_GENERATOR genNum);
Refer driver header file for detailed description of the APIs.
Definition at line 72 of file pwm_features.h.
#define PWM_GENERATOR_MASTER_PHASE_FEATURE_AVAILABLE 1 |
Macros defined for features supported in the device
APIs Supported:
PWM_MasterPhaseSet(uint16_t masterPhase);
Refer driver header file for detailed description of the APIs.
Definition at line 60 of file pwm_features.h.
#define PWM_MULTIPLE_TRIGGER_FEATURE_AVAILABLE 1 |
APIs Supported:
PWM_TriggerACompareValueSet(PWM_GENERATOR genNum, uint16_t trigCompValue);
PWM_TriggerBCompareValueSet(PWM_GENERATOR genNum, uint16_t trigCompValue);
PWM_TriggerCCompareValueSet(PWM_GENERATOR genNum, uint16_t trigCompValue);
Refer driver header file for detailed description of the APIs.
Definition at line 108 of file pwm_features.h.
#define PWM_SOFTWARE_UPDATE_FEATURE_AVAILABLE 1 |
APIs Supported:
PWM_SoftwareUpdateRequest(PWM_GENERATOR genNum);
PWM_SoftwareUpdatePending(PWM_GENERATOR genNum);
Refer driver header file for detailed description of the APIs.
Definition at line 84 of file pwm_features.h.
#define PWM_SPECIAL_EVENT_FEATURE_AVAILABLE 0 |
Macros defined for features not supported in the device
APIs Supported:
NA
Definition at line 136 of file pwm_features.h.
#define PWM_TRIGGER_ENABLE_FEATURE_AVAILABLE 1 |
APIs Supported:
PWM_Trigger1Enable(enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister);
PWM_Trigger1Disable(enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister);
PWM_Trigger2Enable(enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister);
PWM_Trigger2Disable(enum PWM_GENERATOR genNum, enum PWM_TRIGGER_COMPARE compareRegister);
Refer driver header file for detailed description of the APIs.
Definition at line 122 of file pwm_features.h.
enum PWM_COMMON_EVENT |
Enumerator | |
---|---|
PWM_EVENT_A | PWM EVENT_A Output |
PWM_EVENT_B | PWM EVENT_B Output |
PWM_EVENT_C | PWM EVENT_C Output |
PWM_EVENT_D | PWM EVENT_D Output |
PWM_EVENT_E | PWM EVENT_E Output |
PWM_EVENT_F | PWM EVENT_F Output |
Definition at line 81 of file pwm_hs_types.h.
enum PWM_GENERATOR |
Enumerator | |
---|---|
PWM_PRI_1 | Custom name of PWM generator 1 |
PWM_SEC_1 | Custom name of PWM generator 2 |
PWM_PRI_2 | Custom name of PWM generator 3 |
PWM_SEC_2 | Custom name of PWM generator 4 |
PWM_MAX_GENERATOR |
Definition at line 53 of file pwm_hs_types.h.
Definition at line 67 of file pwm_hs_types.h.
enum PWM_MODES |
Definition at line 109 of file pwm_hs_types.h.
enum PWM_TRIGGER_COMPARE |
Enumerator | |
---|---|
PWM_TRIGGER_COMPARE_A | PWM Trigger Compare A Register |
PWM_TRIGGER_COMPARE_B | PWM Trigger Compare B Register |
PWM_TRIGGER_COMPARE_C | PWM Trigger Compare C Register |
Definition at line 97 of file pwm_hs_types.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void PWM_Deinitialize | ( | void | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void PWM_GeneratorEOCEventCallback | ( | enum PWM_GENERATOR | genNum | ) |
[in] | genNum | - PWM generator number |
void PWM_GeneratorEOCEventCallbackRegister | ( | void(* | callback )(enum PWM_GENERATOR genNum) | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void PWM_GeneratorTasks | ( | enum PWM_GENERATOR | intGen | ) |
void PWM_Initialize | ( | void | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
[in] | genNum | - PWM generator number |
[in] | compareRegister | - PWM generator number |
|
inlinestatic |
|
inlinestatic |
[in] | genNum | - PWM generator number |
[in] | compareRegister | - PWM generator number |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
extern |