Data Structures | Macros | Typedefs | Functions
gr55xx_ll_pwm.h File Reference

Header file containing functions prototypes of PWM LL library. More...

`#include "gr55xx.h"`

Go to the source code of this file.

## Data Structures
struct | _ll_pwm_channel_init_t
| LL PWM Output Channel init Structure definition. More...
struct | _ll_pwm_init_t
| LL PWM init Structure definition. More...

## Macros
#define | LL_PWM_FLICKER_MODE (0x00000000U)
#define | LL_PWM_BREATH_MODE PWM_MODE_BREATHEN
#define | LL_PWM_EDGE_ALIGNED (0x00000000U)
#define | LL_PWM_CENTER_ALIGNED (0x00000001U)
#define | LL_PWM_DRIVEPOLARITY_NEGATIVE (0x00000000U)
#define | LL_PWM_DRIVEPOLARITY_POSITIVE (0x00000001U)
#define | LL_PWM_ACTIONEVENT_NONE (0x00000000U)
#define | LL_PWM_ACTIONEVENT_CLEAR (0x00000001U)
#define | LL_PWM_ACTIONEVENT_SET (0x00000002U)
#define | LL_PWM_ACTIONEVENT_TOGGLE (0x00000003U)
#define | LL_PWM_PRESCALER_UNIT (128)
#define | LL_PWM_BREATH_PRESCALER_UNIT (128)
#define | LL_PWM_HOLD_PRESCALER_UNIT (10)
#define | LL_PWM_CHANNEL_DEFAULT_CONFIG
| LL PWM Channel InitStrcut default configuartion. More...
#define | LL_PWM_DEFAULT_CONFIG
| LL PWM InitStrcut default configuartion. More...
#define | LL_PWM_WriteReg(__instance__, __REG__, __VALUE__) WRITE_REG(__instance__->__REG__, (__VALUE__))
| Write a value in PWM register. More...
#define | LL_PWM_ReadReg(__instance__, __REG__) READ_REG(__instance__->__REG__)
| Read a value in PWM register. More...

## Typedefs
typedef struct _ll_pwm_channel_init_t | ll_pwm_channel_init_t
| LL PWM Output Channel init Structure definition.
typedef struct _ll_pwm_init_t | ll_pwm_init_t
| LL PWM init Structure definition.

## Functions
__STATIC_INLINE void | ll_pwm_enable (pwm_regs_t *PWMx)
| Enable PWM. More...
__STATIC_INLINE void | ll_pwm_disable (pwm_regs_t *PWMx)
| Disable PWM. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled (pwm_regs_t *PWMx)
| Indicate whether the PWM is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_pause (pwm_regs_t *PWMx)
| Enable PWM pause. More...
__STATIC_INLINE void | ll_pwm_disable_pause (pwm_regs_t *PWMx)
| Disable PWM pause. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_pause (pwm_regs_t *PWMx)
| Indicate whether the PWM pause is enabled. More...
__STATIC_INLINE void | ll_pwm_set_mode (pwm_regs_t *PWMx, uint32_t mode)
| Set PWM mode. More...
__STATIC_INLINE uint32_t | ll_pwm_get_mode (pwm_regs_t *PWMx)
| Get PWM mode. More...
__STATIC_INLINE void | ll_pwm_enable_positive_drive_channel_a (pwm_regs_t *PWMx)
| Enable positive drive mode in channelA. More...
__STATIC_INLINE void | ll_pwm_disable_positive_drive_channel_a (pwm_regs_t *PWMx)
| Disable positive drive mode in channelA. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_positive_drive_channel_a (pwm_regs_t *PWMx)
| Indicate whether the positive drive mode in channelA is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_positive_drive_channel_b (pwm_regs_t *PWMx)
| Enable positive drive mode in channelB. More...
__STATIC_INLINE void | ll_pwm_disable_positive_drive_channel_b (pwm_regs_t *PWMx)
| Disable positive drive mode in channelB. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_positive_drive_channel_b (pwm_regs_t *PWMx)
| Indicate whether the positive drive mode in channelB is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_positive_drive_channel_c (pwm_regs_t *PWMx)
| Enable positive drive mode in channelC. More...
__STATIC_INLINE void | ll_pwm_disable_positive_drive_channel_c (pwm_regs_t *PWMx)
| Disable positive drive mode in channelC. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_positive_drive_channel_c (pwm_regs_t *PWMx)
| Indicate whether the positive drive mode in channelC is enabled. More...
__STATIC_INLINE uint32_t | ll_pwm_is_active_flag_update_all (pwm_regs_t *PWMx)
| Check update active flag. More...
__STATIC_INLINE void | ll_pwm_enable_update_all (pwm_regs_t *PWMx)
| Enable update all parameters. More...
__STATIC_INLINE void | ll_pwm_disable_update_all (pwm_regs_t *PWMx)
| Disable update all parameters. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_all (pwm_regs_t *PWMx)
| Indicate whether the update all parameters is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_period (pwm_regs_t *PWMx)
| Enable update period. More...
__STATIC_INLINE void | ll_pwm_disable_update_period (pwm_regs_t *PWMx)
| Disable update period. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_period (pwm_regs_t *PWMx)
| Indicate whether the update period is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_compare_a0 (pwm_regs_t *PWMx)
| Enable update compareA0. More...
__STATIC_INLINE void | ll_pwm_disable_update_compare_a0 (pwm_regs_t *PWMx)
| Disable update compareA0. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_compare_a0 (pwm_regs_t *PWMx)
| Indicate whether the update compareA0 is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_compare_a1 (pwm_regs_t *PWMx)
| Enable update compareA1. More...
__STATIC_INLINE void | ll_pwm_disable_update_compare_a1 (pwm_regs_t *PWMx)
| Disable update compareA1. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_compare_a1 (pwm_regs_t *PWMx)
| Indicate whether the update compareA1 is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_compare_b0 (pwm_regs_t *PWMx)
| Enable update compareB0. More...
__STATIC_INLINE void | ll_pwm_disable_update_compare_b0 (pwm_regs_t *PWMx)
| Disable update compareB0. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_compare_b0 (pwm_regs_t *PWMx)
| Indicate whether the update compareB0 is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_compare_b1 (pwm_regs_t *PWMx)
| Enable update compareB1. More...
__STATIC_INLINE void | ll_pwm_disable_update_compare_b1 (pwm_regs_t *PWMx)
| Disable update compareB1. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_compare_b1 (pwm_regs_t *PWMx)
| Indicate whether the update compareB1 is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_compare_c0 (pwm_regs_t *PWMx)
| Enable update compareC0. More...
__STATIC_INLINE void | ll_pwm_disable_update_compare_c0 (pwm_regs_t *PWMx)
| Disable update compareC0. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_compare_c0 (pwm_regs_t *PWMx)
| Indicate whether the update compareC0 is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_compare_c1 (pwm_regs_t *PWMx)
| Enable update compareC1. More...
__STATIC_INLINE void | ll_pwm_disable_update_compare_c1 (pwm_regs_t *PWMx)
| Disable update compareC1. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_compare_c1 (pwm_regs_t *PWMx)
| Indicate whether the update compareC1 is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_pause (pwm_regs_t *PWMx)
| Enable update pause. More...
__STATIC_INLINE void | ll_pwm_disable_update_pause (pwm_regs_t *PWMx)
| Disable update pause. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_pause (pwm_regs_t *PWMx)
| Indicate whether the update pause is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_breath_period (pwm_regs_t *PWMx)
| Enable update breath period. More...
__STATIC_INLINE void | ll_pwm_disable_update_breath_period (pwm_regs_t *PWMx)
| Disable update breath period. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_breath_period (pwm_regs_t *PWMx)
| Indicate whether the update breath period is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_hold_period (pwm_regs_t *PWMx)
| Enable update hold period. More...
__STATIC_INLINE void | ll_pwm_disable_update_hold_period (pwm_regs_t *PWMx)
| Disable update hold period. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_hold_period (pwm_regs_t *PWMx)
| Indicate whether the update hold period is enabled. More...
__STATIC_INLINE void | ll_pwm_enable_update_active_event (pwm_regs_t *PWMx)
| Enable update active event. More...
__STATIC_INLINE void | ll_pwm_disable_update_active_event (pwm_regs_t *PWMx)
| Disable update active event. More...
__STATIC_INLINE uint32_t | ll_pwm_is_enabled_update_active_event (pwm_regs_t *PWMx)
| Indicate whether the update active event is enabled. More...
__STATIC_INLINE void | ll_pwm_set_prescaler (pwm_regs_t *PWMx, uint32_t prescaler)
| Set the PWM prescaler. More...
__STATIC_INLINE uint32_t | ll_pwm_get_prescaler (pwm_regs_t *PWMx)
| Get the PWM prescaler. More...
__STATIC_INLINE void | ll_pwm_set_compare_a0 (pwm_regs_t *PWMx, uint32_t compare)
| Set the PWM compare counter A0. More...
__STATIC_INLINE uint32_t | ll_pwm_get_compare_a0 (pwm_regs_t *PWMx)
| Get the PWM compare counter A0. More...
__STATIC_INLINE void | ll_pwm_set_compare_a1 (pwm_regs_t *PWMx, uint32_t compare)
| Set the PWM compare counter A1. More...
__STATIC_INLINE uint32_t | ll_pwm_get_compare_a1 (pwm_regs_t *PWMx)
| Get the PWM compare counter A1. More...
__STATIC_INLINE void | ll_pwm_set_compare_b0 (pwm_regs_t *PWMx, uint32_t compare)
| Set the PWM compare counter B0. More...
__STATIC_INLINE uint32_t | ll_pwm_get_compare_b0 (pwm_regs_t *PWMx)
| Get the PWM compare counter B0. More...
__STATIC_INLINE void | ll_pwm_set_compare_b1 (pwm_regs_t *PWMx, uint32_t compare)
| Set the PWM compare counter B1. More...
__STATIC_INLINE uint32_t | ll_pwm_get_compare_b1 (pwm_regs_t *PWMx)
| Get the PWM compare counter B1. More...
__STATIC_INLINE void | ll_pwm_set_compare_c0 (pwm_regs_t *PWMx, uint32_t compare)
| Set the PWM compare counter C0. More...
__STATIC_INLINE uint32_t | ll_pwm_get_compare_c0 (pwm_regs_t *PWMx)
| Get the PWM compare counter C0. More...
__STATIC_INLINE void | ll_pwm_set_compare_c1 (pwm_regs_t *PWMx, uint32_t compare)
| Set the PWM compare counter C1. More...
__STATIC_INLINE uint32_t | ll_pwm_get_compare_c1 (pwm_regs_t *PWMx)
| Get the PWM compare counter C1. More...
__STATIC_INLINE void | ll_pwm_set_action_event_cmp_a0 (pwm_regs_t *PWMx, uint32_t action_event)
| Set the channel A0 action event when PWM counter value reaches compare counter A0. More...
__STATIC_INLINE uint32_t | ll_pwm_get_action_event_cmp_a0 (pwm_regs_t *PWMx)
| Get the channel A0 action event when PWM counter value reaches compare counter A0. More...
__STATIC_INLINE void | ll_pwm_set_action_event_cmp_a1 (pwm_regs_t *PWMx, uint32_t action_event)
| Set the channel A1 action event when PWM counter value reaches compare counter A1. More...
__STATIC_INLINE uint32_t | ll_pwm_get_action_event_cmp_a1 (pwm_regs_t *PWMx)
| Get the channel A1 action event when PWM counter value reaches compare counter A1. More...
__STATIC_INLINE void | ll_pwm_set_action_event_cmp_b0 (pwm_regs_t *PWMx, uint32_t action_event)
| Set the channel B0 action event when PWM counter value reaches compare counter B0. More...
__STATIC_INLINE uint32_t | ll_pwm_get_action_event_cmp_b0 (pwm_regs_t *PWMx)
| Get the channel B0 action event when PWM counter value reaches compare counter B0. More...
__STATIC_INLINE void | ll_pwm_set_action_event_cmp_b1 (pwm_regs_t *PWMx, uint32_t action_event)
| Set the channel B1 action event when PWM counter value reaches compare counter B1. More...
__STATIC_INLINE uint32_t | ll_pwm_get_action_event_cmp_b1 (pwm_regs_t *PWMx)
| Get the channel B1 action event when PWM counter value reaches compare counter B1. More...
__STATIC_INLINE void | ll_pwm_set_action_event_cmp_c0 (pwm_regs_t *PWMx, uint32_t action_event)
| Set the channel C0 action event when PWM counter value reaches compare counter C0. More...
__STATIC_INLINE uint32_t | ll_pwm_get_action_event_cmp_c0 (pwm_regs_t *PWMx)
| Get the channel C0 action event when PWM counter value reaches compare counter C0. More...
__STATIC_INLINE void | ll_pwm_set_action_event_cmp_c1 (pwm_regs_t *PWMx, uint32_t action_event)
| Set the channel C1 action event when PWM counter value reaches compare counter C1. More...
__STATIC_INLINE uint32_t | ll_pwm_get_action_event_cmp_c1 (pwm_regs_t *PWMx)
| Get the channel C1 action event when PWM counter value reaches compare counter C1. More...
__STATIC_INLINE void | ll_pwm_set_breath_prescaler (pwm_regs_t *PWMx, uint32_t bprescaler)
| Set the breath prescaler in breath mode. More...
__STATIC_INLINE uint32_t | ll_pwm_get_breath_prescaler (pwm_regs_t *PWMx)
| Get the breath prescaler in breath mode. More...
__STATIC_INLINE void | ll_pwm_set_hold_prescaler (pwm_regs_t *PWMx, uint32_t hprescaler)
| Set the hold prescaler in breath mode. More...
__STATIC_INLINE uint32_t | ll_pwm_get_hold_prescaler (pwm_regs_t *PWMx)
| Get the hold prescaler in breath mode. More...
error_status_t | ll_pwm_deinit (pwm_regs_t *PWMx)
| De-initialize PWM registers (Registers restored to their default values). More...
error_status_t | ll_pwm_init (pwm_regs_t *PWMx, ll_pwm_init_t *p_pwm_init)
| Initialize PWM registers according to the specified parameters in PWM_InitStruct. More...
void | ll_pwm_struct_init (ll_pwm_init_t *p_pwm_init)
| Set each field of a ll_pwm_init_t type structure to default value. More...

## Detailed Description

Header file containing functions prototypes of PWM LL library.

Author
  BLE Driver Team

Attention

  ##### Copyright (c) 2019 GOODIX

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.