PWM#
Modules#
Enumerations#
Enum to control dead time.
Enum to control duty cycle.
Enum to control output fault.
Enumeration for PWM channels(1-4)
Enumeration for PWM timer.
Enumeration for PWM polarity low.
Enumeration for PWM polarity high.
Enumeration for PWM base timer modes.
Enumeration for PWM output complementary pairs.
Enumeration for PWM special event trigger time base.
Enumeration for PWM Time base output post scale bits.
Enumeration for PWM input clock pre scale select value.
Enumeration for fault input override value.
Enumeration for output override control.
Enumeration for override value.
PWM enable external triggering.
Typedefs#
PWM structure.
PWM Special Event trigger configuration parameters structure.
PWM DeadTime configuration parameters structure.
PWM Callback structure.
Functions#
This API is used to de-initialize the PWM peripheral.
This API is used to get the PWM version.
This API is used to set the PWM configuration parameters.
This API is used to set output polarity for MCPWM.
This API is used to start the MCPWM operation for the required channel.
This API is used to stop the MCPWM operation for the required channel.
This API is used to select the number of base timers as four base timers for four channels or one base timer for all channels of MCPWM.
This API is used to set time period and counter initial value for the required MCPWM channel.
This API is used to configure special event trigger generation for the required MCPWM channel, which allows the A/D converter to be synchronized to the PWM time base.
This API is used to configure Dead time insertion parameters for MCPWM.
This API is used to reset the required channel of MCPWM.
This API is used to reset the counter from the required channel of MCPWM.
This API is used to set base time period control for the required MCPWM channel.
This API is used to control fault A/B pin output value to be overridden when a fault condition occurs.
This API is used to set the mode of the base timer for the required channel.
This API is used to set output mode for the MCPWM.
Handles all interrupt flags of MCPWM.
Unregisters the PWM event.
This API is used to read the counter current value.
This API is used to get time period counter direction status of the required MCPWM channel.
Controls dead time insertion at the rising edge or falling edge of any four channels.
This API is used to clear the interrupts of MCPWM.
This API is used to get the interrupt status of interrupt flags of MCPWM.
This API is used to control duty cycle control parameters for the required MCPWM channel.
This API is used to control the output override operation of MCPWM.
This API is used to control the override control parameter, output is in sync with PWM time period depending on operating mode.
This API is used to control override value for the required output of MCPWM.
This API is used to control output fault override control parameters for the required PWM output.
This API is used to control the generation of a special event trigger for the required channel of MCPWM.
This API is used to control dead time control parameters for the required channel.
This API is used to select duty cycle for the required MCPWM channel.
This API is used to get duty cycle for the required MCPWM channel.
This API is used to enable the use of an external trigger for base time counter increment or decrement of MCPWM.
Get time period for the required channel.
This API is used to initialize PWM pins and clock.
This API is used to initialize PWM event pins.
Enumeration Documentation#
sl_pwm_fault_t#
sl_pwm_fault_t
Enum to control fault a and fault b.
Enumerator | |
---|---|
SL_FAULTA | PWM fault A. |
SL_FAULTB | PWM fault B. |
SL_FAULT_LAST | Last member of enum for validation. |
70
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_dead_time_t#
sl_pwm_dead_time_t
Enum to control dead time.
Enumerator | |
---|---|
SL_DEAD_TIME_DISABLE | PWM dead time disable. |
SL_DEAD_TIME_ENABLE | PWM dead time enable. |
SL_DEAD_TIME_LAST | Last member of enum for validation. |
77
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_duty_cycle_t#
sl_pwm_duty_cycle_t
Enum to control duty cycle.
Enumerator | |
---|---|
SL_DUTY_CYCLE_DISABLE | PWM duty cycle disable. |
SL_DUTY_CYCLE_ENABLE | PWM duty cycle enable. |
SL_DUTY_CYCLE_LAST | Last member of enum for validation. |
84
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_override_t#
sl_pwm_override_t
Enum to control override.
Enumerator | |
---|---|
SL_OVERRIDE_RESET | PWM override reset. |
SL_OVERRIDE_SET | PWM override set. |
SL_OVERRIDE_LAST | Last member of enum for validation. |
91
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_output_fault_t#
sl_pwm_output_fault_t
Enum to control output fault.
Enumerator | |
---|---|
SL_OUTPUT_FAULT_RESET | PWM output fault reset. |
SL_OUTPUT_FAULT_SET | PWM output fault set. |
SL_OUTPUT_FAULT_LAST | Last member of enum for validation. |
98
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_event_t#
sl_pwm_event_t
Enum to control events.
Enumerator | |
---|---|
SL_EVENT_DISABLE | PWM event disable. |
SL_EVENT_ENABLE | PWM event enable. |
SL_EVENT_LAST | Last member of enum for validation. |
105
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_channel_t#
sl_pwm_channel_t
Enumeration for PWM channels(1-4)
Enumerator | |
---|---|
SL_CHANNEL_1 | PWM channel 1. |
SL_CHANNEL_2 | PWM channel 2. |
SL_CHANNEL_3 | PWM channel 3. |
SL_CHANNEL_4 | PWM channel 4. |
SL_CHANNEL_LAST | Last member of enum for validation. |
112
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_timer_t#
sl_pwm_timer_t
Enumeration for PWM timer.
Enumerator | |
---|---|
SL_BASE_TIMER_EACH_CHANNEL | PWM timer for each channel. |
SL_BASE_TIMER_ALL_CHANNEL | PWM timer for all channels. |
SL_BASE_TIMER_LAST | Last member of enum for validation. |
121
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_polarity_low_t#
sl_pwm_polarity_low_t
Enumeration for PWM polarity low.
Enumerator | |
---|---|
SL_POLARITYL_LOW | PWM output polarity for low side(L0-L3)-low. |
SL_POLARITYL_HIGH | PWM output polarity for low side(H0-H3)-high. |
SL_POLARITYL_LAST | Last member of enum for validation. |
128
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_polarity_high_t#
sl_pwm_polarity_high_t
Enumeration for PWM polarity high.
Enumerator | |
---|---|
SL_POLARITYH_LOW | PWM output polarity for high side(L0-L3)-low. |
SL_POLARITYH_HIGH | PWM output polarity for high side(H0-H3)-high. |
SL_POLARITYH_LAST | Last member of enum for validation. |
135
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_mode_t#
sl_pwm_mode_t
Enumeration for PWM mode.
Enumerator | |
---|---|
SL_MODE_INDEPENDENT | PWM independent mode. |
SL_MODE_COMPLEMENTARY | PWM complementary mode. |
SL_MODE_LAST | Last member of enum for validation. |
142
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_base_timer_mode_t#
sl_pwm_base_timer_mode_t
Enumeration for PWM base timer modes.
Enumerator | |
---|---|
SL_FREE_RUN_MODE | PWM free run mode. |
SL_SINGLE_EVENT_MODE | PWM single event mode. |
SL_DOWN_COUNT_MODE | PWM down count mode. |
SL_UP_DOWN_MODE | PWM up/down mode. |
SL_UP_DOWN_DOUBLE_UPDATE | PWM up/down double update mode. |
SL_BASE_TIMER_MODE_LAST | Last member of enum for validation. |
149
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_output_t#
sl_pwm_output_t
Enumeration for PWM output complementary pairs.
Enumerator | |
---|---|
SL_OUTPUT_LOW0 | PWM output L0. |
SL_OUTPUT_LOW1 | PWM output L1. |
SL_OUTPUT_LOW2 | PWM output L2. |
SL_OUTPUT_LOW3 | PWM output L3. |
SL_OUTPUT_HIGH0 | PWM output H0. |
SL_OUTPUT_HIGH1 | PWM output H1. |
SL_OUTPUT_HIGH2 | PWM output H2. |
SL_OUTPUT_HIGH3 | PWM output H3. |
SL_OUTPUT_LAST | Last member of enum for validation. |
159
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_svt_t#
sl_pwm_svt_t
Enumeration for PWM special event trigger time base.
Enumerator | |
---|---|
SL_SVT_COUNT_UP | Special event trigger occurs when time base is counting up. |
SL_SVT_COUNT_DOWN | Special event trigger occurs when time base is counting down. |
SL_SVT_COUNT_LAST | Last member of enum for validation. |
172
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_post_t#
sl_pwm_post_t
Enumeration for PWM Time base output post scale bits.
Enumerator | |
---|---|
SL_TIME_PERIOD_POSTSCALE_1_1 | 1:1 post scale |
SL_TIME_PERIOD_POSTSCALE_1_2 | 1:2 post scale |
SL_TIME_PERIOD_POSTSCALE_1_3 | 1:3 post scale |
SL_TIME_PERIOD_POSTSCALE_1_4 | 1:4 post scale |
SL_TIME_PERIOD_POSTSCALE_1_5 | 1:5 post scale |
SL_TIME_PERIOD_POSTSCALE_1_6 | 1:6 post scale |
SL_TIME_PERIOD_POSTSCALE_1_7 | 1:7 post scale |
SL_TIME_PERIOD_POSTSCALE_1_8 | 1:8 post scale |
SL_TIME_PERIOD_POSTSCALE_1_9 | 1:9 post scale |
SL_TIME_PERIOD_POSTSCALE_1_10 | 1:10 post scale |
SL_TIME_PERIOD_POSTSCALE_1_11 | 1:11 post scale |
SL_TIME_PERIOD_POSTSCALE_1_12 | 1:12 post scale |
SL_TIME_PERIOD_POSTSCALE_1_13 | 1:13 post scale |
SL_TIME_PERIOD_POSTSCALE_1_14 | 1:14 post scale |
SL_TIME_PERIOD_POSTSCALE_1_15 | 1:15 post scale |
SL_TIME_PERIOD_POSTSCALE_1_16 | 1:16 post scale |
SL_TIME_PERIOD_POSTSCALE_1_LAST | Last member of enum for validation. |
179
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_pre_t#
sl_pwm_pre_t
Enumeration for PWM input clock pre scale select value.
Enumerator | |
---|---|
SL_TIME_PERIOD_PRESCALE_1 | 1x input clock period |
SL_TIME_PERIOD_PRESCALE_2 | 2x input clock period |
SL_TIME_PERIOD_PRESCALE_4 | 4x input clock period |
SL_TIME_PERIOD_PRESCALE_8 | 8x input clock period |
SL_TIME_PERIOD_PRESCALE_16 | 16x input clock period |
SL_TIME_PERIOD_PRESCALE_32 | 32x input clock period |
SL_TIME_PERIOD_PRESCALE_64 | 64x input clock period |
SL_TIME_PERIOD_PRESCALE_LAST | Last member of enum for validation. |
200
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_fault_input_t#
sl_pwm_fault_input_t
Enumeration for fault input override value.
Enumerator | |
---|---|
SL_VALUE_INACTIVE | PWM output pin is driven inactive on an external fault input A/B event. |
SL_VALUE_ACTIVE | PWM output pin is driven active on an external fault input A/B event. |
SL_VALUE_LAST | Last member of enum for validation. |
212
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_output_override_t#
sl_pwm_output_override_t
Enumeration for output override control.
Enumerator | |
---|---|
SL_OP_OVERRIDE_UNSYNC | no effect. |
SL_OP_OVERRIDE_SYNC | Output override is in sync with pwm time period depending on operating mode. |
SL_OP_OVERRIDE_LAST | Last member of enum for validation. |
219
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_override_value_t#
sl_pwm_override_value_t
Enumeration for override value.
Enumerator | |
---|---|
SL_OVERRIDE_VALUE0 | Override value 0. |
SL_OVERRIDE_VALUE1 | Override value 1. |
SL_OVERRIDE_VALUE_LAST | Last member of enum for validation. |
226
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_pwm_trigger_t#
sl_pwm_trigger_t
PWM enable external triggering.
Enumerator | |
---|---|
SL_TRIGGER_DISABLE | Disabling external triggering. |
SL_TRIGGER_ENABLE | Enabling external triggering. |
SL_TRIGGER_LAST | Last member of enum for validation. |
233
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
Typedef Documentation#
sl_si91x_mcpwm_t#
typedef RSI_MCPWM_T sl_si91x_mcpwm_t
PWM structure.
53
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_svt_config_t#
typedef RSI_MCPWM_SVT_CONFIG_T sl_si91x_pwm_svt_config_t
PWM Special Event trigger configuration parameters structure.
55
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_dt_config_t#
typedef RSI_MCPWM_DT_CONFIG_T sl_si91x_pwm_dt_config_t
PWM DeadTime configuration parameters structure.
56
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_callback_t#
typedef RSI_MCPWM_CALLBACK_T sl_si91x_pwm_callback_t
PWM Callback structure.
57
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
Function Documentation#
sl_si91x_pwm_deinit#
void sl_si91x_pwm_deinit (void )
This API is used to de-initialize the PWM peripheral.
[in] |
Pre-conditions:
Returns
none
294
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_get_version#
sl_pwm_version_t sl_si91x_pwm_get_version (void )
This API is used to get the PWM version.
[in] |
Returns
returns structure of type sl_pwm_version_t
302
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_set_configuration#
sl_status_t sl_si91x_pwm_set_configuration (sl_pwm_config_t * pwm_config)
This API is used to set the PWM configuration parameters.
[in] | pwm_config | pointer to configuration parameters of type sl_pwm_config_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
316
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_set_output_polarity#
sl_status_t sl_si91x_pwm_set_output_polarity (boolean_t polarity_low, boolean_t polarity_high)
This API is used to set output polarity for MCPWM.
[in] | polarity_low | Output polarity for low side (L3, L2, L1, L0) |
[in] | polarity_high | Output polarity for high side (H3, H2, H1, H0) |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
331
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_start#
sl_status_t sl_si91x_pwm_start (sl_pwm_channel_t channel)
This API is used to start the MCPWM operation for the required channel.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
349
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_stop#
sl_status_t sl_si91x_pwm_stop (sl_pwm_channel_t channel)
This API is used to stop the MCPWM operation for the required channel.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
368
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_base_timer#
sl_status_t sl_si91x_pwm_control_base_timer (sl_pwm_timer_t base_timer)
This API is used to select the number of base timers as four base timers for four channels or one base timer for all channels of MCPWM.
[in] | base_timer | PWM base timer of type sl_pwm_timer_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
384
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_set_time_period#
sl_status_t sl_si91x_pwm_set_time_period (sl_pwm_channel_t channel, uint32_t period, uint32_t init_val)
This API is used to set time period and counter initial value for the required MCPWM channel.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
[in] | period | Time period value |
[in] | init_val | Update the base time counter initial value |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
401
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_trigger_special_event#
sl_status_t sl_si91x_pwm_trigger_special_event (sl_pwm_svt_t direction, sl_si91x_pwm_svt_config_t * pwm_config)
This API is used to configure special event trigger generation for the required MCPWM channel, which allows the A/D converter to be synchronized to the PWM time base.
[in] | direction | Special event trigger for time base direction of type sl_pwm_svt_t |
[in] | pwm_config | Pointer to the structure of type sl_si91x_pwm_svt_config_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
421
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_configure_dead_time#
sl_status_t sl_si91x_pwm_configure_dead_time (sl_si91x_pwm_dt_config_t * dead_time, sl_pwm_channel_t channel)
This API is used to configure Dead time insertion parameters for MCPWM.
[in] | dead_time | Pointer to the structure of type sl_si91x_pwm_dt_config_t |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
440
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_reset_channel#
sl_status_t sl_si91x_pwm_reset_channel (sl_pwm_channel_t channel)
This API is used to reset the required channel of MCPWM.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
458
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_reset_counter#
sl_status_t sl_si91x_pwm_reset_counter (sl_pwm_channel_t channel)
This API is used to reset the counter from the required channel of MCPWM.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
476
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_period#
sl_status_t sl_si91x_pwm_control_period (sl_pwm_post_t post_scale, sl_pwm_pre_t pre_scale, sl_pwm_channel_t channel)
This API is used to set base time period control for the required MCPWM channel.
[in] | post_scale | Time base output post scale bits of type sl_pwm_post_t |
[in] | pre_scale | Base timer input clock pre scale select value of type sl_pwm_pre_t |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
494
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_fault#
sl_status_t sl_si91x_pwm_control_fault (sl_pwm_fault_t fault, sl_pwm_output_t pwm_output, sl_pwm_override_value_t value)
This API is used to control fault A/B pin output value to be overridden when a fault condition occurs.
[in] | fault | Enum of type sl_pwm_fault_t |
[in] | pwm_output | Enum of type sl_pwm_output_t |
[in] | value | Fault input A/B PWM output override value of type sl_pwm_override_value_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
514
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_set_base_timer_mode#
sl_status_t sl_si91x_pwm_set_base_timer_mode (sl_pwm_base_timer_mode_t mode, sl_pwm_channel_t channel)
This API is used to set the mode of the base timer for the required channel.
[in] | mode | Base timer operating mode of type sl_pwm_base_timer_mode_t |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
530
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_set_output_mode#
sl_status_t sl_si91x_pwm_set_output_mode (sl_pwm_mode_t mode, sl_pwm_channel_t channel)
This API is used to set output mode for the MCPWM.
[in] | mode | PWM Output mode of type sl_pwm_mode_t |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
546
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_register_callback#
sl_status_t sl_si91x_pwm_register_callback (sl_si91x_pwm_callback_t * callback_event, uint16_t flag)
Handles all interrupt flags of MCPWM.
[in] | callback_event | Structure of type sl_si91x_pwm_callback_t |
[in] | flag | It is the logical OR of different interrupts generated on multiple channels |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is a null pointer
564
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_unregister_callback#
sl_status_t sl_si91x_pwm_unregister_callback (uint16_t flag)
Unregisters the PWM event.
[in] | flag | It is the logical OR of different interrupts generated on multiple channels |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is a null pointer
582
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_read_counter#
sl_status_t sl_si91x_pwm_read_counter (uint16_t * counter_value, sl_pwm_channel_t channel)
This API is used to read the counter current value.
[in] | counter_value | Counter value |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
602
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_get_counter_direction#
sl_status_t sl_si91x_pwm_get_counter_direction (uint8_t * counter_direction, sl_pwm_channel_t channel)
This API is used to get time period counter direction status of the required MCPWM channel.
[out] | counter_direction | Pointer to the counter direction (up/down) of type uint8_t |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
622
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_dead_time#
sl_status_t sl_si91x_pwm_control_dead_time (sl_pwm_dead_time_t dead_time, uint32_t flag)
Controls dead time insertion at the rising edge or falling edge of any four channels.
[in] | dead_time | Enum of type sl_pwm_dead_time_t |
[in] | flag | ORing of the following values:
|
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
643
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_clear_interrupt#
sl_status_t sl_si91x_pwm_clear_interrupt (uint32_t flag)
This API is used to clear the interrupts of MCPWM.
[in] | flag | The logical OR of different interrupts generated on multiple channels |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is a null pointer
661
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_get_interrupt_status#
sl_status_t sl_si91x_pwm_get_interrupt_status (uint32_t flag, uint16_t * intr_status)
This API is used to get the interrupt status of interrupt flags of MCPWM.
[in] | flag | Flag value |
[out] | intr_status | Pointer to interrupt status |
Pre-conditions:
Returns
Interrupt status of the required interrupt flag
677
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_configure_duty_cycle#
sl_status_t sl_si91x_pwm_configure_duty_cycle (sl_pwm_duty_cycle_t duty_cycle, uint32_t value, sl_pwm_channel_t channel)
This API is used to control duty cycle control parameters for the required MCPWM channel.
[in] | duty_cycle | Enum of type sl_pwm_duty_cycle_t |
[in] | value | This can be a logical OR of the following parameters:
|
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
697
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_output_override#
sl_status_t sl_si91x_pwm_output_override (sl_pwm_override_t override, sl_pwm_output_t pwm_output)
This API is used to control the output override operation of MCPWM.
[in] | override | Enum of type sl_pwm_override_t |
[in] | pwm_output | PWM output override of type sl_pwm_output_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
714
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_override#
sl_status_t sl_si91x_pwm_control_override (sl_pwm_override_t override, sl_pwm_output_override_t value)
This API is used to control the override control parameter, output is in sync with PWM time period depending on operating mode.
[in] | override | Enum of type sl_pwm_override_t |
[in] | value | Output override to be in sync with PWM time period sl_pwm_output_override_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
732
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_override_value#
sl_status_t sl_si91x_pwm_control_override_value (sl_pwm_override_t override, sl_pwm_output_t pwm_output, sl_pwm_override_value_t value)
This API is used to control override value for the required output of MCPWM.
[in] | override | Enum of type sl_pwm_override_t |
[in] | pwm_output | PWM output override of type sl_pwm_output_t |
[in] | value | Override value of type sl_pwm_override_value_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
750
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_output_fault#
sl_status_t sl_si91x_pwm_control_output_fault (sl_pwm_output_fault_t output_fault, uint32_t value)
This API is used to control output fault override control parameters for the required PWM output.
[in] | output_fault | Enum of type sl_pwm_output_fault_t |
[in] | value | This can be a logical OR of the below parameters:
|
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
782
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_control_special_event_trigger#
sl_status_t sl_si91x_pwm_control_special_event_trigger (sl_pwm_event_t event)
This API is used to control the generation of a special event trigger for the required channel of MCPWM.
[in] | event | Enum of type sl_pwm_event_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
797
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_select_dead_time#
sl_status_t sl_si91x_pwm_select_dead_time (sl_pwm_dead_time_t dead_time, uint32_t value)
This API is used to control dead time control parameters for the required channel.
[in] | dead_time | Enum of type sl_pwm_dead_time_t |
[in] | value | This can be a logical OR of the below parameters:
|
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
817
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_set_duty_cycle#
sl_status_t sl_si91x_pwm_set_duty_cycle (uint32_t duty_cycle, sl_pwm_channel_t channel)
This API is used to select duty cycle for the required MCPWM channel.
[in] | duty_cycle | Duty cycle value |
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
833
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_get_duty_cycle#
sl_status_t sl_si91x_pwm_get_duty_cycle (sl_pwm_channel_t channel, uint32_t * duty_cycle)
This API is used to get duty cycle for the required MCPWM channel.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
[out] | duty_cycle | Pointer to the duty cycle value |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
849
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_enable_external_trigger#
sl_status_t sl_si91x_pwm_enable_external_trigger (sl_pwm_trigger_t enable)
This API is used to enable the use of an external trigger for base time counter increment or decrement of MCPWM.
[in] | enable | Controlling external trigger of type sl_pwm_trigger_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
866
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_get_time_period#
sl_status_t sl_si91x_pwm_get_time_period (sl_pwm_channel_t channel, uint16_t * time_period)
Get time period for the required channel.
[in] | channel | Channel number (1 to 4) of type sl_pwm_channel_t |
[out] | time_period | Pointer to read time period |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_INVALID_PARAMETER - The parameter is an invalid argument
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
882
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_init#
sl_status_t sl_si91x_pwm_init (sl_pwm_init_t * pwm_init)
This API is used to initialize PWM pins and clock.
[in] | pwm_init | Pointer to the structure of type sl_pwm_init_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
893
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h
sl_si91x_pwm_fault_init#
sl_status_t sl_si91x_pwm_fault_init (sl_pwm_fault_init_t * pwm_fault)
This API is used to initialize PWM event pins.
[in] | pwm_fault | Pointer to the structure of type sl_pwm_fault_init_t |
Returns
returns status 0 if successful, else error code as follows:
SL_STATUS_OK - Success
SL_STATUS_NULL_POINTER - The parameter is null pointer
904
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_pwm.h