Classes | 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"`
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.