1 /**
2   ******************************************************************************
3   * @file    stm32l0xx_hal_pwr_ex.h
4   * @author  MCD Application Team
5   * @brief   Header file of PWR HAL Extension module.
6   ******************************************************************************
7   * @attention
8   *
9   * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
10   *
11   * Redistribution and use in source and binary forms, with or without modification,
12   * are permitted provided that the following conditions are met:
13   *   1. Redistributions of source code must retain the above copyright notice,
14   *      this list of conditions and the following disclaimer.
15   *   2. Redistributions in binary form must reproduce the above copyright notice,
16   *      this list of conditions and the following disclaimer in the documentation
17   *      and/or other materials provided with the distribution.
18   *   3. Neither the name of STMicroelectronics nor the names of its contributors
19   *      may be used to endorse or promote products derived from this software
20   *      without specific prior written permission.
21   *
22   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32   *
33   ******************************************************************************
34   */
35 
36 /* Define to prevent recursive inclusion -------------------------------------*/
37 #ifndef __STM32L0xx_HAL_PWR_EX_H
38 #define __STM32L0xx_HAL_PWR_EX_H
39 
40 #ifdef __cplusplus
41  extern "C" {
42 #endif
43 
44 /* Includes ------------------------------------------------------------------*/
45 #include "stm32l0xx_hal_def.h"
46 
47 /** @addtogroup STM32L0xx_HAL_Driver
48   * @{
49   */
50 
51 /** @defgroup PWREx PWREx
52   * @{
53   */
54 
55 /** @defgroup PWREx_Exported_Macros PWREx Exported Macros
56  * @{
57  */
58 
59 /** @brief  Macros to enable the Deep-sleep mode with Flash memory kept off.
60   * @note   When entering low power mode (stop or standby only), if DS_EE_KOFF and RUN_PD of
61   *         FLASH_ACR register are both set , the Flash memory will not be woken up
62   *         when exiting from deep-sleep mode.
63   */
64 #define __HAL_PWR_FLASHWAKEUP_ENABLE()      CLEAR_BIT(PWR->CR, PWR_CR_DSEEKOFF)
65 
66 /** @brief  Macros to disable the Deep-sleep mode with Flash memory kept off.
67   * @note   When entering low power mode (stop or standby only), if DS_EE_KOFF and RUN_PD of
68   *         FLASH_ACR register are both set , the Flash memory will not be woken up
69   *         when exiting from deep-sleep mode.
70   */
71 #define __HAL_PWR_FLASHWAKEUP_DISABLE()     SET_BIT(PWR->CR, PWR_CR_DSEEKOFF)
72 /**
73   * @}
74   */
75 
76 /** @defgroup PWREx_Exported_Functions PWREx Exported Functions
77  * @{
78  */
79 uint32_t HAL_PWREx_GetVoltageRange(void);
80 void HAL_PWREx_EnableFastWakeUp(void);
81 void HAL_PWREx_DisableFastWakeUp(void);
82 void HAL_PWREx_EnableUltraLowPower(void);
83 void HAL_PWREx_DisableUltraLowPower(void);
84 void HAL_PWREx_EnableLowPowerRunMode(void);
85 HAL_StatusTypeDef HAL_PWREx_DisableLowPowerRunMode(void);
86 /**
87   * @}
88   */
89 
90 /* Define the private group ***********************************/
91 /**************************************************************/
92 /** @defgroup PWREx_Private PWREx Private
93   * @{
94   */
95 /**
96   * @}
97   */
98 /**************************************************************/
99 
100 /**
101   * @}
102   */
103 
104 /**
105   * @}
106   */
107 
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif /* __STM32L0xx_HAL_PWR_EX_H */
113 
114 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
115 
116