Data Structures | Macros | Typedefs | Functions
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.

## Data Structures
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.
typedef struct _hal_pwr_handler | hal_pwr_handler_t
| PWR callback handle Structure definition.

## 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.