Module for generating a low-power pulse-width modulated output signal. More...
Data Structures |
|
| struct | low_power_pwm_config_t |
|
Structure holding the initialization parameters.
More...
|
|
Macros |
|
| #define | LOW_POWER_PWM_DEFAULT_CONFIG (mask) |
|
Low-power PWM default configuration.
More...
|
|
Typedefs |
|
| typedef void(* | low_power_pwm_timeout_user )(void *p_context, low_power_pwm_evt_type_t evt_type) |
|
Application time-out handler type.
|
|
| typedef struct low_power_pwm_s | low_power_pwm_t |
|
Internal structure holding parameters of a low-power PWM instance.
|
|
Enumerations |
|
| enum |
low_power_pwm_evt_type_t
{
LOW_POWER_PWM_EVENT_PERIOD = 0, LOW_POWER_PWM_EVENT_DUTY_CYCLE } |
|
Event types.
|
|
Functions |
|
| ret_code_t | low_power_pwm_init ( low_power_pwm_t *p_pwm_instance, low_power_pwm_config_t const *p_pwm_config, app_timer_timeout_handler_t handler) |
|
Function for initializing a low-power PWM instance.
More...
|
|
| ret_code_t | low_power_pwm_start ( low_power_pwm_t *p_pwm_instance, uint32_t leds_pin_bit_mask) |
|
Function for starting a low-power PWM instance.
More...
|
|
| ret_code_t | low_power_pwm_stop ( low_power_pwm_t *p_pwm_instance) |
|
Function for stopping a low-power PWM instance.
More...
|
|
| ret_code_t | low_power_pwm_duty_set ( low_power_pwm_t *p_pwm_instance, uint8_t duty_cycle) |
|
Function for setting a new high pulse width for a given instance.
More...
|
|
Default settings |
|
|
Default parameters for the low_power_pwm_config_t structure. |
|
| #define | LOW_POWER_PWM_CONFIG_ACTIVE_HIGH false |
| #define | LOW_POWER_PWM_CONFIG_PERIOD UINT8_MAX |
| #define | LOW_POWER_PWM_CONFIG_BIT_MASK (mask) (mask) |
Detailed Description
Module for generating a low-power pulse-width modulated output signal.
This module provides a low-power PWM implementation using app_timers and GPIO.
Each low-power PWM instance utilizes one app_timer. This means it runs on RTC and does not require HFCLK to be running. There can be any number of output channels per instance.
Macro Definition Documentation
| #define LOW_POWER_PWM_DEFAULT_CONFIG | ( | mask | ) |
Low-power PWM default configuration.
Function Documentation
| ret_code_t low_power_pwm_duty_set | ( | low_power_pwm_t * | p_pwm_instance , |
| uint8_t | duty_cycle | ||
| ) |
Function for setting a new high pulse width for a given instance.
This function can be called from the timer handler.
- Parameters
-
[in] p_pwm_instance Pointer to the instance to be changed. [in] duty_cycle New high pulse width. 0 means that the LED is always off. 255 means that it is always on.
- Return values
-
NRF_SUCCESS If the function completed successfully. NRF_ERROR_INVALID_PARAM If the function returned an error because of invalid parameters.
| ret_code_t low_power_pwm_init | ( | low_power_pwm_t * | p_pwm_instance , |
| low_power_pwm_config_t const * | p_pwm_config , | ||
| app_timer_timeout_handler_t | handler | ||
| ) |
Function for initializing a low-power PWM instance.
- Parameters
-
[in] p_pwm_instance Pointer to the instance to be started. [in] p_pwm_config Pointer to the configuration structure. [in] handler User function to be called in case of time-out.
- Returns
- Values returned by app_timer_create .
| ret_code_t low_power_pwm_start | ( | low_power_pwm_t * | p_pwm_instance , |
| uint32_t | leds_pin_bit_mask | ||
| ) |
Function for starting a low-power PWM instance.
- Parameters
-
[in] p_pwm_instance Pointer to the instance to be started. [in] leds_pin_bit_mask Bit mask of pins to be started.
- Returns
- Values returned by app_timer_start .
| ret_code_t low_power_pwm_stop | ( | low_power_pwm_t * | p_pwm_instance | ) |
Function for stopping a low-power PWM instance.
- Parameters
-
[in] p_pwm_instance Pointer to the instance to be stopped.
- Returns
- Values returned by app_timer_stop .