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"
+ Include dependency graph for gr55xx_hal_pwr.h:
+ This graph shows which files directly or indirectly include this file:

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
 External wakeup pin 0. More...
 
#define PWR_EXTWKUP_PIN1   LL_PWR_EXTWKUP_PIN1
 External wakeup pin 1. More...
 
#define PWR_EXTWKUP_PIN2   LL_PWR_EXTWKUP_PIN2
 External wakeup pin 2. More...
 
#define PWR_EXTWKUP_PIN3   LL_PWR_EXTWKUP_PIN3
 External wakeup pin 3. More...
 
#define PWR_EXTWKUP_PIN4   LL_PWR_EXTWKUP_PIN4
 External wakeup pin 4. More...
 
#define PWR_EXTWKUP_PIN5   LL_PWR_EXTWKUP_PIN5
 External wakeup pin 5. More...
 
#define PWR_EXTWKUP_PIN6   LL_PWR_EXTWKUP_PIN6
 External wakeup pin 6. More...
 
#define PWR_EXTWKUP_PIN7   LL_PWR_EXTWKUP_PIN7
 External wakeup pin 7. More...
 
#define PWR_EXTWKUP_PIN_ALL   LL_PWR_EXTWKUP_PIN_ALL
 External wakeup pin 0 ~ 7. More...
 
#define PWR_WKUP_COND_EXT   LL_PWR_WKUP_COND_EXT
 External wakeup: AON_GPIO
More...
 
#define PWR_WKUP_COND_TIMER   LL_PWR_WKUP_COND_TIMER
 AON Timer wakeup
More...
 
#define PWR_WKUP_COND_BLE   LL_PWR_WKUP_COND_BLE
 BLE wakeup
More...
 
#define PWR_WKUP_COND_CALENDAR   LL_PWR_WKUP_COND_CALENDAR
 Calendar wakeup
More...
 
#define PWR_WKUP_COND_BOD_FEDGE   LL_PWR_WKUP_COND_BOD_FEDGE
 PMU Bod falling edge wakeup. More...
 
#define PWR_WKUP_COND_MSIO_COMP   LL_PWR_WKUP_COND_MSIO_COMP
 Msio comparator wakeup
More...
 
#define PWR_WKUP_COND_ALL   LL_PWR_WKUP_COND_ALL
 All wakeup sources mask
More...
 
#define PWR_EXTWKUP_TYPE_LOW   LL_PWR_EXTWKUP_TYPE_LOW
 Low level wakeup. More...
 
#define PWR_EXTWKUP_TYPE_HIGH   LL_PWR_EXTWKUP_TYPE_HIGH
 High level wakeup. More...
 
#define PWR_EXTWKUP_TYPE_RISING   LL_PWR_EXTWKUP_TYPE_RISING
 Rising edge wakeup. More...
 
#define PWR_EXTWKUP_TYPE_FALLING   LL_PWR_EXTWKUP_TYPE_FALLING
 Falling edge wakeup. More...
 
#define PWR_SLP_TIMER_MODE_NORMAL   0x0U
 Start counting after sleeping and disabled when waked up. More...
 
#define PWR_SLP_TIMER_MODE_SINGLE   0x1U
 Single mode(keep counting until finished) More...
 
#define PWR_SLP_TIMER_MODE_RELOAD   0x2U
 Auto reload
More...
 
#define PWR_SLP_TIMER_MODE_DISABLE   0x3U
 Disabled (used for reset mode) More...
 
#define PWR_TIMER_TYPE_CAL_TIMER   LL_PWR_TIMER_READ_SEL_CAL_TIMER
 Calendar timer
More...
 
#define PWR_TIMER_TYPE_AON_WDT   LL_PWR_TIMER_READ_SEL_AON_WDT
 AON watchdog timer. More...
 
#define PWR_TIMER_TYPE_SLP_TIMER   LL_PWR_TIMER_READ_SEL_SLP_TIMER
 Sleep timer
More...
 
#define PWR_TIMER_TYPE_CAL_ALARM   LL_PWR_TIMER_READ_SEL_CAL_ALARM
 Calendar timer
More...
 
#define PWR_MEM_POWER_OFF   LL_PWR_MEM_POWER_OFF
 Power off. More...
 
#define PWR_MEM_POWER_FULL   LL_PWR_MEM_POWER_FULL
 Full power. More...
 
#define PWR_MEM_POWER_RETENTION   LL_PWR_MEM_POWER_RETENTION
 Power retention, low valtage mode. More...
 
#define PWR_COMM_TIMER_POWER_DOWN   0x0U
 Power down communication timer. More...
 
#define PWR_COMM_TIMER_POWER_UP   0x1U
 Power on communication timer. More...
 
#define PWR_COMM_CORE_POWER_DOWN   0x0U
 Power down communication core. More...
 
#define PWR_COMM_CORE_POWER_UP   0x1U
 Power on communication core. More...
 
#define PWR_COMM_TIMER_MODE_RESET   0x0U
 Communication timer in reset mode. More...
 
#define PWR_COMM_TIMER_MODE_RUNNING   0x1U
 Communication timer in running mode. More...
 
#define PWR_COMM_CORE_MODE_RESET   0x0U
 Communication core in reset mode. More...
 
#define PWR_COMM_CORE_MODE_RUNNING   0x1U
 Communication core in running mode. More...
 
#define HAL_PWR_TIMEOUT_DEFAULT_VALUE   ((uint32_t)0x000FFFFF)
 0xFFFFF counts More...
 
#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.