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.

Classes

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. More...
 
typedef struct _ll_pwm_init_t ll_pwm_init_t
 LL PWM init Structure definition. More...
 

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.

Definition in file gr55xx_ll_pwm.h.