gr55xx_hal_pwr.h File Reference

Header file containing functions prototypes of PWR HAL library. More...

#include "gr55xx_ll_pwr.h"
#include "gr55xx_hal_def.h"

Go to the source code of this file.

Classes

struct  _hal_pwr_handler
 PWR callback handle Structure definition. More...
 

Macros

#define PWR_EXTWKUP_PIN0   LL_PWR_EXTWKUP_PIN0
 
#define PWR_EXTWKUP_PIN1   LL_PWR_EXTWKUP_PIN1
 
#define PWR_EXTWKUP_PIN2   LL_PWR_EXTWKUP_PIN2
 
#define PWR_EXTWKUP_PIN3   LL_PWR_EXTWKUP_PIN3
 
#define PWR_EXTWKUP_PIN4   LL_PWR_EXTWKUP_PIN4
 
#define PWR_EXTWKUP_PIN5   LL_PWR_EXTWKUP_PIN5
 
#define PWR_EXTWKUP_PIN6   LL_PWR_EXTWKUP_PIN6
 
#define PWR_EXTWKUP_PIN7   LL_PWR_EXTWKUP_PIN7
 
#define PWR_EXTWKUP_PIN_ALL   LL_PWR_EXTWKUP_PIN_ALL
 
#define PWR_WKUP_COND_EXT   LL_PWR_WKUP_COND_EXT
 
#define PWR_WKUP_COND_TIMER   LL_PWR_WKUP_COND_TIMER
 
#define PWR_WKUP_COND_BLE   LL_PWR_WKUP_COND_BLE
 
#define PWR_WKUP_COND_CALENDAR   LL_PWR_WKUP_COND_CALENDAR
 
#define PWR_WKUP_COND_BOD_FEDGE   LL_PWR_WKUP_COND_BOD_FEDGE
 
#define PWR_WKUP_COND_MSIO_COMP   LL_PWR_WKUP_COND_MSIO_COMP
 
#define PWR_WKUP_COND_ALL   LL_PWR_WKUP_COND_ALL
 
#define PWR_EXTWKUP_TYPE_LOW   LL_PWR_EXTWKUP_TYPE_LOW
 
#define PWR_EXTWKUP_TYPE_HIGH   LL_PWR_EXTWKUP_TYPE_HIGH
 
#define PWR_EXTWKUP_TYPE_RISING   LL_PWR_EXTWKUP_TYPE_RISING
 
#define PWR_EXTWKUP_TYPE_FALLING   LL_PWR_EXTWKUP_TYPE_FALLING
 
#define PWR_SLP_TIMER_MODE_NORMAL   0x0U
 
#define PWR_SLP_TIMER_MODE_SINGLE   0x1U
 
#define PWR_SLP_TIMER_MODE_RELOAD   0x2U
 
#define PWR_SLP_TIMER_MODE_DISABLE   0x3U
 
#define PWR_TIMER_TYPE_CAL_TIMER   LL_PWR_TIMER_READ_SEL_CAL_TIMER
 
#define PWR_TIMER_TYPE_AON_WDT   LL_PWR_TIMER_READ_SEL_AON_WDT
 
#define PWR_TIMER_TYPE_SLP_TIMER   LL_PWR_TIMER_READ_SEL_SLP_TIMER
 
#define PWR_TIMER_TYPE_CAL_ALARM   LL_PWR_TIMER_READ_SEL_CAL_ALARM
 
#define PWR_MEM_POWER_OFF   LL_PWR_MEM_POWER_OFF
 
#define PWR_MEM_POWER_FULL   LL_PWR_MEM_POWER_FULL
 
#define PWR_MEM_POWER_RETENTION   LL_PWR_MEM_POWER_RETENTION
 
#define PWR_COMM_TIMER_POWER_DOWN   0x0U
 
#define PWR_COMM_TIMER_POWER_UP   0x1U
 
#define PWR_COMM_CORE_POWER_DOWN   0x0U
 
#define PWR_COMM_CORE_POWER_UP   0x1U
 
#define PWR_COMM_TIMER_MODE_RESET   0x0U
 
#define PWR_COMM_TIMER_MODE_RUNNING   0x1U
 
#define PWR_COMM_CORE_MODE_RESET   0x0U
 
#define PWR_COMM_CORE_MODE_RUNNING   0x1U
 
#define HAL_PWR_TIMEOUT_DEFAULT_VALUE   ((uint32_t)0x000FFFFF)
 
#define IS_PWR_WAKEUP_CONDITION(__COND__)
 Check if PWR wakeup condition is valid. More...
 
#define IS_PWR_EXT_WAKEUP_PIN(__PIN__)
 Check if PWR external wakeup pin is valid. More...
 
#define IS_PWR_SLP_TIMER_MODE(__MODE__)
 Check if PWR sleep timer mode is valid. More...
 
#define IS_PWR_EXTWKUP_TYPE(__TYPE__)
 Check if PWR external wakeup type is valid. More...
 
#define IS_PWR_MEM_BLOCK(__BLOCK__)
 Check if PWR memory block is valid. More...
 
#define IS_PWR_MEM_POWER_STAT(__STATE__)
 Check if PWR memory power state is valid. More...
 
#define IS_PWR_COMM_TIMER_POWER_STAT(__STATE__)
 Check if PWR BLE communication timer power state is valid. More...
 
#define IS_PWR_COMM_CORE_POWER_STAT(__STATE__)
 Check if PWR BLE communication core power state is valid. More...
 
#define IS_PWR_COMM_TIMER_MODE(__MODE__)
 Check if PWR BLE communication timer mode is valid. More...
 
#define IS_PWR_COMM_CORE_MODE(__MODE__)
 Check if PWR BLE communication core mode is valid. More...
 
#define IS_PWR_PWR_TIMER_TYPE(__TYPE__)
 Check if PWR sleep timer type is valid. More...
 

Typedefs

typedef void(* pwr_slp_elapsed_handler_t) (void)
 PWR Sleep Timer Elapsed callback. More...
 
typedef struct _hal_pwr_handler hal_pwr_handler_t
 PWR callback handle Structure definition. More...
 

Functions

void hal_pwr_set_wakeup_condition (uint32_t condition)
 Set the DeepSleep WakeUp Condition. More...
 
void hal_pwr_config_timer_wakeup (uint8_t timer_mode, uint32_t load_count)
 Configure the AON Sleep Timer mode and count used to wakeup MCU. More...
 
void hal_pwr_config_ext_wakeup (uint32_t ext_wakeup_pinx, uint32_t ext_wakeup_type)
 Configure the External AON GPIO pins and pin trigger type that is used to wakeup MCU. More...
 
void hal_pwr_disable_ext_wakeup (uint32_t disable_wakeup_pinx)
 Disable the interrupt wake-up function of the specified AON GPIO pin. More...
 
void hal_pwr_enter_chip_deepsleep (void)
 Enters DeepSleep mode. More...
 
void hal_pwr_set_comm_power (uint32_t timer_power_state, uint32_t core_power_state)
 Set the power state of communication timer and communication core in running mode. More...
 
void hal_pwr_set_comm_mode (uint32_t timer_mode, uint32_t core_mode)
 Set the work mode of communication timer and communication core. More...
 
hal_status_t hal_pwr_get_timer_current_value (uint32_t timer_type, uint32_t *p_value)
 Get the current value of specified timer. More...
 
void hal_pwr_sleep_timer_irq_handler (void)
 Handle PWR Sleep Timer interrupt request. More...
 
void hal_pwr_sleep_timer_elapsed_callback (void)
 PWR Sleep Timer Elapsed callback. More...
 

Detailed Description

Header file containing functions prototypes of PWR HAL 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_hal_pwr.h.