mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
184:08ed48f1de7f
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 149:156823d33999 1 /**
<> 149:156823d33999 2 ******************************************************************************
<> 149:156823d33999 3 * @file stm32l1xx_hal_rtc_ex.h
<> 149:156823d33999 4 * @author MCD Application Team
<> 149:156823d33999 5 * @brief Header file of RTC HAL Extension module.
<> 149:156823d33999 6 ******************************************************************************
<> 149:156823d33999 7 * @attention
<> 149:156823d33999 8 *
AnnaBridge 184:08ed48f1de7f 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
<> 149:156823d33999 10 *
<> 149:156823d33999 11 * Redistribution and use in source and binary forms, with or without modification,
<> 149:156823d33999 12 * are permitted provided that the following conditions are met:
<> 149:156823d33999 13 * 1. Redistributions of source code must retain the above copyright notice,
<> 149:156823d33999 14 * this list of conditions and the following disclaimer.
<> 149:156823d33999 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
<> 149:156823d33999 16 * this list of conditions and the following disclaimer in the documentation
<> 149:156823d33999 17 * and/or other materials provided with the distribution.
<> 149:156823d33999 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
<> 149:156823d33999 19 * may be used to endorse or promote products derived from this software
<> 149:156823d33999 20 * without specific prior written permission.
<> 149:156823d33999 21 *
<> 149:156823d33999 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
<> 149:156823d33999 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
<> 149:156823d33999 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<> 149:156823d33999 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
<> 149:156823d33999 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
<> 149:156823d33999 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
<> 149:156823d33999 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
<> 149:156823d33999 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
<> 149:156823d33999 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
<> 149:156823d33999 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<> 149:156823d33999 32 *
<> 149:156823d33999 33 ******************************************************************************
<> 149:156823d33999 34 */
<> 149:156823d33999 35
<> 149:156823d33999 36 /* Define to prevent recursive inclusion -------------------------------------*/
<> 149:156823d33999 37 #ifndef __STM32L1xx_HAL_RTC_EX_H
<> 149:156823d33999 38 #define __STM32L1xx_HAL_RTC_EX_H
<> 149:156823d33999 39
<> 149:156823d33999 40 #ifdef __cplusplus
<> 149:156823d33999 41 extern "C" {
<> 149:156823d33999 42 #endif
<> 149:156823d33999 43
<> 149:156823d33999 44 /* Includes ------------------------------------------------------------------*/
<> 149:156823d33999 45 #include "stm32l1xx_hal_def.h"
<> 149:156823d33999 46
<> 149:156823d33999 47 /** @addtogroup STM32L1xx_HAL_Driver
<> 149:156823d33999 48 * @{
<> 149:156823d33999 49 */
<> 149:156823d33999 50
<> 149:156823d33999 51 /** @addtogroup RTCEx
<> 149:156823d33999 52 * @{
<> 149:156823d33999 53 */
<> 149:156823d33999 54
<> 149:156823d33999 55 /* Exported types ------------------------------------------------------------*/
<> 149:156823d33999 56 /** @defgroup RTCEx_Exported_Types RTCEx Exported Types
<> 149:156823d33999 57 * @{
<> 149:156823d33999 58 */
<> 149:156823d33999 59
<> 149:156823d33999 60 /**
<> 149:156823d33999 61 * @brief RTC Tamper structure definition
<> 149:156823d33999 62 */
<> 149:156823d33999 63 typedef struct
<> 149:156823d33999 64 {
<> 149:156823d33999 65 uint32_t Tamper; /*!< Specifies the Tamper Pin.
<> 149:156823d33999 66 This parameter can be a value of @ref RTCEx_Tamper_Pins_Definitions */
<> 149:156823d33999 67
<> 149:156823d33999 68 uint32_t Trigger; /*!< Specifies the Tamper Trigger.
<> 149:156823d33999 69 This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */
<> 149:156823d33999 70
<> 149:156823d33999 71 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 72 uint32_t Filter; /*!< Specifies the RTC Filter Tamper.
<> 149:156823d33999 73 This parameter can be a value of @ref RTCEx_Tamper_Filter_Definitions */
<> 149:156823d33999 74
<> 149:156823d33999 75 uint32_t SamplingFrequency; /*!< Specifies the sampling frequency.
<> 149:156823d33999 76 This parameter can be a value of @ref RTCEx_Tamper_Sampling_Frequencies_Definitions */
<> 149:156823d33999 77
<> 149:156823d33999 78 uint32_t PrechargeDuration; /*!< Specifies the Precharge Duration .
<> 149:156823d33999 79 This parameter can be a value of @ref RTCEx_Tamper_Pin_Precharge_Duration_Definitions */
<> 149:156823d33999 80
<> 149:156823d33999 81 uint32_t TamperPullUp; /*!< Specifies the Tamper PullUp .
<> 149:156823d33999 82 This parameter can be a value of @ref RTCEx_Tamper_Pull_Up_Definitions */
<> 149:156823d33999 83
<> 149:156823d33999 84 uint32_t TimeStampOnTamperDetection; /*!< Specifies the TimeStampOnTamperDetection.
<> 149:156823d33999 85 This parameter can be a value of @ref RTCEx_Tamper_TimeStampOnTamperDetection_Definitions */
<> 149:156823d33999 86 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 87 }RTC_TamperTypeDef;
<> 149:156823d33999 88
<> 149:156823d33999 89 /**
<> 149:156823d33999 90 * @brief RTC Time structure definition
<> 149:156823d33999 91 */
<> 149:156823d33999 92 typedef struct
<> 149:156823d33999 93 {
<> 149:156823d33999 94 uint8_t Hours; /*!< Specifies the RTC Time Hour.
<> 149:156823d33999 95 This parameter must be a number between Min_Data = 0 and Max_Data = 12 if the RTC_HourFormat_12 is selected
<> 149:156823d33999 96 This parameter must be a number between Min_Data = 0 and Max_Data = 23 if the RTC_HourFormat_24 is selected */
<> 149:156823d33999 97
<> 149:156823d33999 98 uint8_t Minutes; /*!< Specifies the RTC Time Minutes.
<> 149:156823d33999 99 This parameter must be a number between Min_Data = 0 and Max_Data = 59 */
<> 149:156823d33999 100
<> 149:156823d33999 101 uint8_t Seconds; /*!< Specifies the RTC Time Seconds.
<> 149:156823d33999 102 This parameter must be a number between Min_Data = 0 and Max_Data = 59 */
<> 149:156823d33999 103
<> 149:156823d33999 104 uint8_t TimeFormat; /*!< Specifies the RTC AM/PM Time.
<> 149:156823d33999 105 This parameter can be a value of @ref RTC_AM_PM_Definitions */
<> 149:156823d33999 106
<> 149:156823d33999 107 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 108 uint32_t SubSeconds; /*!< Specifies the RTC_SSR RTC Sub Second register content.
<> 149:156823d33999 109 This parameter corresponds to a time unit range between [0-1] Second
<> 149:156823d33999 110 with [1 Sec / SecondFraction +1] granularity */
<> 149:156823d33999 111
<> 149:156823d33999 112 uint32_t SecondFraction; /*!< Specifies the range or granularity of Sub Second register content
<> 149:156823d33999 113 corresponding to Synchronous pre-scaler factor value (PREDIV_S)
<> 149:156823d33999 114 This parameter corresponds to a time unit range between [0-1] Second
<> 149:156823d33999 115 with [1 Sec / SecondFraction +1] granularity.
<> 149:156823d33999 116 This field will be used only by HAL_RTC_GetTime function */
<> 149:156823d33999 117 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 118
<> 149:156823d33999 119 uint32_t DayLightSaving; /*!< Specifies RTC_DayLightSaveOperation: the value of hour adjustment.
<> 149:156823d33999 120 This parameter can be a value of @ref RTC_DayLightSaving_Definitions */
<> 149:156823d33999 121
AnnaBridge 184:08ed48f1de7f 122 uint32_t StoreOperation; /*!< Specifies RTC_StoreOperation value to be written in the BKP bit
<> 149:156823d33999 123 in CR register to store the operation.
<> 149:156823d33999 124 This parameter can be a value of @ref RTC_StoreOperation_Definitions */
<> 149:156823d33999 125 }RTC_TimeTypeDef;
<> 149:156823d33999 126
<> 149:156823d33999 127 /**
<> 149:156823d33999 128 * @brief RTC Alarm structure definition
<> 149:156823d33999 129 */
<> 149:156823d33999 130 typedef struct
<> 149:156823d33999 131 {
<> 149:156823d33999 132 RTC_TimeTypeDef AlarmTime; /*!< Specifies the RTC Alarm Time members */
<> 149:156823d33999 133
<> 149:156823d33999 134 uint32_t AlarmMask; /*!< Specifies the RTC Alarm Masks.
<> 149:156823d33999 135 This parameter can be a value of @ref RTC_AlarmMask_Definitions */
<> 149:156823d33999 136
<> 149:156823d33999 137 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 138 uint32_t AlarmSubSecondMask; /*!< Specifies the RTC Alarm SubSeconds Masks.
<> 149:156823d33999 139 This parameter can be a value of @ref RTC_Alarm_Sub_Seconds_Masks_Definitions */
<> 149:156823d33999 140 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 141
<> 149:156823d33999 142 uint32_t AlarmDateWeekDaySel; /*!< Specifies the RTC Alarm is on Date or WeekDay.
<> 149:156823d33999 143 This parameter can be a value of @ref RTC_AlarmDateWeekDay_Definitions */
<> 149:156823d33999 144
<> 149:156823d33999 145 uint8_t AlarmDateWeekDay; /*!< Specifies the RTC Alarm Date/WeekDay.
<> 149:156823d33999 146 If the Alarm Date is selected, this parameter must be set to a value in the 1-31 range.
<> 149:156823d33999 147 If the Alarm WeekDay is selected, this parameter can be a value of @ref RTC_WeekDay_Definitions */
<> 149:156823d33999 148
<> 149:156823d33999 149 uint32_t Alarm; /*!< Specifies the alarm .
<> 149:156823d33999 150 This parameter can be a value of @ref RTC_Alarms_Definitions */
<> 149:156823d33999 151 }RTC_AlarmTypeDef;
<> 149:156823d33999 152 /**
<> 149:156823d33999 153 * @}
<> 149:156823d33999 154 */
<> 149:156823d33999 155
<> 149:156823d33999 156 /* Exported constants --------------------------------------------------------*/
<> 149:156823d33999 157 /** @defgroup RTCEx_Exported_Constants RTCEx Exported Constants
<> 149:156823d33999 158 * @{
<> 149:156823d33999 159 */
<> 149:156823d33999 160
<> 149:156823d33999 161 /** @defgroup RTC_Masks_Definitions Masks Definitions
<> 149:156823d33999 162 * @{
<> 149:156823d33999 163 */
<> 149:156823d33999 164 #define RTC_TR_RESERVED_MASK (0x007F7F7FU)
<> 149:156823d33999 165 #define RTC_DR_RESERVED_MASK (0x00FFFF3FU)
AnnaBridge 184:08ed48f1de7f 166 #define RTC_INIT_MASK (0xFFFFFFFFU)
AnnaBridge 184:08ed48f1de7f 167 #define RTC_RSF_MASK (0xFFFFFF5FU)
<> 149:156823d33999 168
<> 149:156823d33999 169 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 170 #define RTC_FLAGS_MASK ((uint32_t)(RTC_FLAG_ALRAWF | RTC_FLAG_ALRBWF | RTC_FLAG_WUTWF | \
<> 149:156823d33999 171 RTC_FLAG_SHPF | RTC_FLAG_INITS | RTC_FLAG_RSF | \
<> 149:156823d33999 172 RTC_FLAG_INITF | RTC_FLAG_ALRAF | RTC_FLAG_ALRBF | \
<> 149:156823d33999 173 RTC_FLAG_WUTF | RTC_FLAG_TSF | RTC_FLAG_TSOVF | \
<> 149:156823d33999 174 RTC_FLAG_TAMP1F | RTC_FLAG_TAMP2F | RTC_FLAG_TAMP3F | \
<> 149:156823d33999 175 RTC_FLAG_RECALPF))
<> 149:156823d33999 176 #else
<> 149:156823d33999 177 #define RTC_FLAGS_MASK ((uint32_t)(RTC_FLAG_ALRAWF | RTC_FLAG_ALRBWF | RTC_FLAG_WUTWF | \
<> 149:156823d33999 178 RTC_FLAG_SHPF | RTC_FLAG_INITS | RTC_FLAG_RSF | \
<> 149:156823d33999 179 RTC_FLAG_INITF | RTC_FLAG_ALRAF | RTC_FLAG_ALRBF | \
<> 149:156823d33999 180 RTC_FLAG_WUTF | RTC_FLAG_TSF | RTC_FLAG_TSOVF | \
<> 149:156823d33999 181 RTC_FLAG_TAMP1F | \
<> 149:156823d33999 182 RTC_FLAG_RECALPF))
<> 149:156823d33999 183
<> 149:156823d33999 184 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 185 /**
<> 149:156823d33999 186 * @}
<> 149:156823d33999 187 */
<> 149:156823d33999 188
<> 149:156823d33999 189 /** @defgroup RTC_Synchronous_Predivider Synchronous Predivider
<> 149:156823d33999 190 * @{
<> 149:156823d33999 191 */
<> 149:156823d33999 192 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
AnnaBridge 184:08ed48f1de7f 193 #define IS_RTC_SYNCH_PREDIV(PREDIV) ((PREDIV) <= 0x7FFFU)
<> 149:156823d33999 194 #elif defined(STM32L100xB) || defined (STM32L151xB) || defined (STM32L152xB)
AnnaBridge 184:08ed48f1de7f 195 #define IS_RTC_SYNCH_PREDIV(PREDIV) ((PREDIV) <= 0x1FFFU)
<> 149:156823d33999 196 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 197 /**
<> 149:156823d33999 198 * @}
<> 149:156823d33999 199 */
<> 149:156823d33999 200
<> 149:156823d33999 201 /** @defgroup RTC_Interrupts_Definitions Interrupts Definitions
<> 149:156823d33999 202 * @{
<> 149:156823d33999 203 */
<> 149:156823d33999 204 #define RTC_IT_TS ((uint32_t)RTC_CR_TSIE)
<> 149:156823d33999 205 #define RTC_IT_WUT ((uint32_t)RTC_CR_WUTIE)
<> 149:156823d33999 206 #define RTC_IT_ALRB ((uint32_t)RTC_CR_ALRBIE)
<> 149:156823d33999 207 #define RTC_IT_ALRA ((uint32_t)RTC_CR_ALRAIE)
<> 149:156823d33999 208 #define RTC_IT_TAMP1 ((uint32_t)(RTC_TAFCR_TAMPIE | RTC_TAFCR_TAMP1E))
<> 149:156823d33999 209 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 210 #define RTC_IT_TAMP2 ((uint32_t)(RTC_TAFCR_TAMPIE | RTC_TAFCR_TAMP2E))
<> 149:156823d33999 211 #define RTC_IT_TAMP3 ((uint32_t)(RTC_TAFCR_TAMPIE | RTC_TAFCR_TAMP3E))
<> 149:156823d33999 212 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 213 /**
<> 149:156823d33999 214 * @}
<> 149:156823d33999 215 */
<> 149:156823d33999 216
<> 149:156823d33999 217 /** @defgroup RTC_Flags_Definitions Flags Definitions
<> 149:156823d33999 218 * @{
<> 149:156823d33999 219 */
<> 149:156823d33999 220 #define RTC_FLAG_RECALPF ((uint32_t)RTC_ISR_RECALPF)
<> 149:156823d33999 221 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 222 #define RTC_FLAG_TAMP3F ((uint32_t)RTC_ISR_TAMP3F)
<> 149:156823d33999 223 #define RTC_FLAG_TAMP2F ((uint32_t)RTC_ISR_TAMP2F)
<> 149:156823d33999 224 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 225 #define RTC_FLAG_TAMP1F ((uint32_t)RTC_ISR_TAMP1F)
<> 149:156823d33999 226 #define RTC_FLAG_TSOVF ((uint32_t)RTC_ISR_TSOVF)
<> 149:156823d33999 227 #define RTC_FLAG_TSF ((uint32_t)RTC_ISR_TSF)
<> 149:156823d33999 228 #define RTC_FLAG_WUTF ((uint32_t)RTC_ISR_WUTF)
<> 149:156823d33999 229 #define RTC_FLAG_ALRBF ((uint32_t)RTC_ISR_ALRBF)
<> 149:156823d33999 230 #define RTC_FLAG_ALRAF ((uint32_t)RTC_ISR_ALRAF)
<> 149:156823d33999 231 #define RTC_FLAG_INITF ((uint32_t)RTC_ISR_INITF)
<> 149:156823d33999 232 #define RTC_FLAG_RSF ((uint32_t)RTC_ISR_RSF)
<> 149:156823d33999 233 #define RTC_FLAG_INITS ((uint32_t)RTC_ISR_INITS)
<> 149:156823d33999 234 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 235 #define RTC_FLAG_SHPF ((uint32_t)RTC_ISR_SHPF)
<> 149:156823d33999 236 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 237 #define RTC_FLAG_WUTWF ((uint32_t)RTC_ISR_WUTWF)
<> 149:156823d33999 238 #define RTC_FLAG_ALRBWF ((uint32_t)RTC_ISR_ALRBWF)
<> 149:156823d33999 239 #define RTC_FLAG_ALRAWF ((uint32_t)RTC_ISR_ALRAWF)
<> 149:156823d33999 240 /**
<> 149:156823d33999 241 * @}
<> 149:156823d33999 242 */
<> 149:156823d33999 243
<> 149:156823d33999 244 /** @defgroup RTCEx_Output_selection_Definitions Output selection Definitions
<> 149:156823d33999 245 * @{
<> 149:156823d33999 246 */
<> 149:156823d33999 247 #define RTC_OUTPUT_DISABLE (0x00000000U)
<> 149:156823d33999 248 #define RTC_OUTPUT_ALARMA (0x00200000U)
<> 149:156823d33999 249 #define RTC_OUTPUT_ALARMB (0x00400000U)
<> 149:156823d33999 250 #define RTC_OUTPUT_WAKEUP (0x00600000U)
<> 149:156823d33999 251
<> 149:156823d33999 252 #define IS_RTC_OUTPUT(OUTPUT) (((OUTPUT) == RTC_OUTPUT_DISABLE) || \
<> 149:156823d33999 253 ((OUTPUT) == RTC_OUTPUT_ALARMA) || \
<> 149:156823d33999 254 ((OUTPUT) == RTC_OUTPUT_ALARMB) || \
<> 149:156823d33999 255 ((OUTPUT) == RTC_OUTPUT_WAKEUP))
<> 149:156823d33999 256 /**
<> 149:156823d33999 257 * @}
<> 149:156823d33999 258 */
<> 149:156823d33999 259
<> 149:156823d33999 260 /** @defgroup RTCEx_Backup_Registers_Definitions Backup Registers Definitions
<> 149:156823d33999 261 * @{
<> 149:156823d33999 262 */
<> 149:156823d33999 263 #if RTC_BKP_NUMBER > 0
<> 149:156823d33999 264 #define RTC_BKP_DR0 (0x00000000U)
<> 149:156823d33999 265 #define RTC_BKP_DR1 (0x00000001U)
<> 149:156823d33999 266 #define RTC_BKP_DR2 (0x00000002U)
<> 149:156823d33999 267 #define RTC_BKP_DR3 (0x00000003U)
<> 149:156823d33999 268 #define RTC_BKP_DR4 (0x00000004U)
<> 149:156823d33999 269 #endif /* RTC_BKP_NUMBER > 0 */
<> 149:156823d33999 270
<> 149:156823d33999 271 #if RTC_BKP_NUMBER > 5
<> 149:156823d33999 272 #define RTC_BKP_DR5 (0x00000005U)
<> 149:156823d33999 273 #define RTC_BKP_DR6 (0x00000006U)
<> 149:156823d33999 274 #define RTC_BKP_DR7 (0x00000007U)
<> 149:156823d33999 275 #define RTC_BKP_DR8 (0x00000008U)
<> 149:156823d33999 276 #define RTC_BKP_DR9 (0x00000009U)
<> 149:156823d33999 277 #define RTC_BKP_DR10 (0x0000000AU)
<> 149:156823d33999 278 #define RTC_BKP_DR11 (0x0000000BU)
<> 149:156823d33999 279 #define RTC_BKP_DR12 (0x0000000CU)
<> 149:156823d33999 280 #define RTC_BKP_DR13 (0x0000000DU)
<> 149:156823d33999 281 #define RTC_BKP_DR14 (0x0000000EU)
<> 149:156823d33999 282 #define RTC_BKP_DR15 (0x0000000FU)
<> 149:156823d33999 283 #define RTC_BKP_DR16 (0x00000010U)
<> 149:156823d33999 284 #define RTC_BKP_DR17 (0x00000011U)
<> 149:156823d33999 285 #define RTC_BKP_DR18 (0x00000012U)
<> 149:156823d33999 286 #define RTC_BKP_DR19 (0x00000013U)
<> 149:156823d33999 287 #endif /* RTC_BKP_NUMBER > 5 */
<> 149:156823d33999 288
<> 149:156823d33999 289 #if RTC_BKP_NUMBER > 20
<> 149:156823d33999 290 #define RTC_BKP_DR20 (0x00000014U)
<> 149:156823d33999 291 #define RTC_BKP_DR21 (0x00000015U)
<> 149:156823d33999 292 #define RTC_BKP_DR22 (0x00000016U)
<> 149:156823d33999 293 #define RTC_BKP_DR23 (0x00000017U)
<> 149:156823d33999 294 #define RTC_BKP_DR24 (0x00000018U)
<> 149:156823d33999 295 #define RTC_BKP_DR25 (0x00000019U)
<> 149:156823d33999 296 #define RTC_BKP_DR26 (0x0000001AU)
<> 149:156823d33999 297 #define RTC_BKP_DR27 (0x0000001BU)
<> 149:156823d33999 298 #define RTC_BKP_DR28 (0x0000001CU)
<> 149:156823d33999 299 #define RTC_BKP_DR29 (0x0000001DU)
<> 149:156823d33999 300 #define RTC_BKP_DR30 (0x0000001EU)
<> 149:156823d33999 301 #define RTC_BKP_DR31 (0x0000001FU)
<> 149:156823d33999 302 #endif /* RTC_BKP_NUMBER > 20 */
<> 149:156823d33999 303
<> 149:156823d33999 304 #define IS_RTC_BKP(BKP) ((BKP) < (uint32_t) RTC_BKP_NUMBER)
<> 149:156823d33999 305 /**
<> 149:156823d33999 306 * @}
<> 149:156823d33999 307 */
<> 149:156823d33999 308
<> 149:156823d33999 309 /** @defgroup RTCEx_Time_Stamp_Edges_Definitions Time Stamp Edges Definitions
<> 149:156823d33999 310 * @{
<> 149:156823d33999 311 */
<> 149:156823d33999 312 #define RTC_TIMESTAMPEDGE_RISING (0x00000000U)
<> 149:156823d33999 313 #define RTC_TIMESTAMPEDGE_FALLING (0x00000008U)
<> 149:156823d33999 314
<> 149:156823d33999 315 #define IS_TIMESTAMP_EDGE(EDGE) (((EDGE) == RTC_TIMESTAMPEDGE_RISING) || \
<> 149:156823d33999 316 ((EDGE) == RTC_TIMESTAMPEDGE_FALLING))
<> 149:156823d33999 317 /**
<> 149:156823d33999 318 * @}
<> 149:156823d33999 319 */
<> 149:156823d33999 320
<> 149:156823d33999 321 /** @defgroup RTCEx_Tamper_Pins_Definitions Tamper Pins Definitions
<> 149:156823d33999 322 * @{
<> 149:156823d33999 323 */
<> 149:156823d33999 324 #define RTC_TAMPER_1 RTC_TAFCR_TAMP1E
<> 149:156823d33999 325 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 326 #define RTC_TAMPER_2 RTC_TAFCR_TAMP2E
<> 149:156823d33999 327 #define RTC_TAMPER_3 RTC_TAFCR_TAMP3E
<> 149:156823d33999 328 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 329
<> 149:156823d33999 330 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 331 #define IS_RTC_TAMPER(TAMPER) (((~(RTC_TAMPER_1|RTC_TAMPER_2|RTC_TAMPER_3) & (TAMPER)) == (uint32_t)RESET) && ((TAMPER) != (uint32_t)RESET))
<> 149:156823d33999 332 #else
<> 149:156823d33999 333 #define IS_RTC_TAMPER(TAMPER) ((TAMPER) == RTC_TAMPER_1)
<> 149:156823d33999 334 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 335 /**
<> 149:156823d33999 336 * @}
<> 149:156823d33999 337 */
<> 149:156823d33999 338
<> 149:156823d33999 339 /** @defgroup RTCEx_Tamper_Trigger_Definitions Tamper Trigger Definitions
<> 149:156823d33999 340 * @{
<> 149:156823d33999 341 */
<> 149:156823d33999 342 #define RTC_TAMPERTRIGGER_RISINGEDGE (0x00000000U)
<> 149:156823d33999 343 #define RTC_TAMPERTRIGGER_FALLINGEDGE (0x00000002U)
<> 149:156823d33999 344 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 345 #define RTC_TAMPERTRIGGER_LOWLEVEL RTC_TAMPERTRIGGER_RISINGEDGE
<> 149:156823d33999 346 #define RTC_TAMPERTRIGGER_HIGHLEVEL RTC_TAMPERTRIGGER_FALLINGEDGE
<> 149:156823d33999 347 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 348
<> 149:156823d33999 349 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 350 #define IS_RTC_TAMPER_TRIGGER(TRIGGER) (((TRIGGER) == RTC_TAMPERTRIGGER_RISINGEDGE) || \
<> 149:156823d33999 351 ((TRIGGER) == RTC_TAMPERTRIGGER_FALLINGEDGE) || \
<> 149:156823d33999 352 ((TRIGGER) == RTC_TAMPERTRIGGER_LOWLEVEL) || \
<> 149:156823d33999 353 ((TRIGGER) == RTC_TAMPERTRIGGER_HIGHLEVEL))
<> 149:156823d33999 354 #elif defined(STM32L100xB) || defined (STM32L151xB) || defined (STM32L152xB)
<> 149:156823d33999 355 #define IS_RTC_TAMPER_TRIGGER(TRIGGER) (((TRIGGER) == RTC_TAMPERTRIGGER_RISINGEDGE) || \
<> 149:156823d33999 356 ((TRIGGER) == RTC_TAMPERTRIGGER_FALLINGEDGE))
<> 149:156823d33999 357 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 358 /**
<> 149:156823d33999 359 * @}
<> 149:156823d33999 360 */
<> 149:156823d33999 361
<> 149:156823d33999 362 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 363 /** @defgroup RTCEx_Tamper_Filter_Definitions Tamper Filter Definitions
<> 149:156823d33999 364 * @{
<> 149:156823d33999 365 */
<> 149:156823d33999 366 #define RTC_TAMPERFILTER_DISABLE (0x00000000U) /*!< Tamper filter is disabled */
<> 149:156823d33999 367
<> 149:156823d33999 368 #define RTC_TAMPERFILTER_2SAMPLE (0x00000800U) /*!< Tamper is activated after 2
<> 149:156823d33999 369 consecutive samples at the active level */
<> 149:156823d33999 370 #define RTC_TAMPERFILTER_4SAMPLE (0x00001000U) /*!< Tamper is activated after 4
<> 149:156823d33999 371 consecutive samples at the active level */
<> 149:156823d33999 372 #define RTC_TAMPERFILTER_8SAMPLE (0x00001800U) /*!< Tamper is activated after 8
<> 149:156823d33999 373 consecutive samples at the active level. */
<> 149:156823d33999 374
<> 149:156823d33999 375 #define IS_RTC_TAMPER_FILTER(FILTER) (((FILTER) == RTC_TAMPERFILTER_DISABLE) || \
<> 149:156823d33999 376 ((FILTER) == RTC_TAMPERFILTER_2SAMPLE) || \
<> 149:156823d33999 377 ((FILTER) == RTC_TAMPERFILTER_4SAMPLE) || \
<> 149:156823d33999 378 ((FILTER) == RTC_TAMPERFILTER_8SAMPLE))
<> 149:156823d33999 379 /**
<> 149:156823d33999 380 * @}
<> 149:156823d33999 381 */
<> 149:156823d33999 382
<> 149:156823d33999 383 /** @defgroup RTCEx_Tamper_Sampling_Frequencies_Definitions Tamper Sampling Frequencies
<> 149:156823d33999 384 * @{
<> 149:156823d33999 385 */
<> 149:156823d33999 386 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768 (0x00000000U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 387 with a frequency = RTCCLK / 32768 */
<> 149:156823d33999 388 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384 (0x00000100U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 389 with a frequency = RTCCLK / 16384 */
<> 149:156823d33999 390 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192 (0x00000200U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 391 with a frequency = RTCCLK / 8192 */
<> 149:156823d33999 392 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096 (0x00000300U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 393 with a frequency = RTCCLK / 4096 */
<> 149:156823d33999 394 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048 (0x00000400U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 395 with a frequency = RTCCLK / 2048 */
<> 149:156823d33999 396 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024 (0x00000500U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 397 with a frequency = RTCCLK / 1024 */
<> 149:156823d33999 398 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512 (0x00000600U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 399 with a frequency = RTCCLK / 512 */
<> 149:156823d33999 400 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256 (0x00000700U) /*!< Each of the tamper inputs are sampled
<> 149:156823d33999 401 with a frequency = RTCCLK / 256 */
<> 149:156823d33999 402
<> 149:156823d33999 403 #define IS_RTC_TAMPER_SAMPLING_FREQ(FREQ) (((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768)|| \
<> 149:156823d33999 404 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384)|| \
<> 149:156823d33999 405 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192) || \
<> 149:156823d33999 406 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096) || \
<> 149:156823d33999 407 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048) || \
<> 149:156823d33999 408 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024) || \
<> 149:156823d33999 409 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512) || \
<> 149:156823d33999 410 ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256))
<> 149:156823d33999 411 /**
<> 149:156823d33999 412 * @}
<> 149:156823d33999 413 */
<> 149:156823d33999 414
<> 149:156823d33999 415 /** @defgroup RTCEx_Tamper_Pin_Precharge_Duration_Definitions Tamper Pin Precharge Duration
<> 149:156823d33999 416 * @{
<> 149:156823d33999 417 */
<> 149:156823d33999 418 #define RTC_TAMPERPRECHARGEDURATION_1RTCCLK (0x00000000U) /*!< Tamper pins are pre-charged before
<> 149:156823d33999 419 sampling during 1 RTCCLK cycle */
<> 149:156823d33999 420 #define RTC_TAMPERPRECHARGEDURATION_2RTCCLK (0x00002000U) /*!< Tamper pins are pre-charged before
<> 149:156823d33999 421 sampling during 2 RTCCLK cycles */
<> 149:156823d33999 422 #define RTC_TAMPERPRECHARGEDURATION_4RTCCLK (0x00004000U) /*!< Tamper pins are pre-charged before
<> 149:156823d33999 423 sampling during 4 RTCCLK cycles */
<> 149:156823d33999 424 #define RTC_TAMPERPRECHARGEDURATION_8RTCCLK (0x00006000U) /*!< Tamper pins are pre-charged before
<> 149:156823d33999 425 sampling during 8 RTCCLK cycles */
<> 149:156823d33999 426
<> 149:156823d33999 427 #define IS_RTC_TAMPER_PRECHARGE_DURATION(DURATION) (((DURATION) == RTC_TAMPERPRECHARGEDURATION_1RTCCLK) || \
<> 149:156823d33999 428 ((DURATION) == RTC_TAMPERPRECHARGEDURATION_2RTCCLK) || \
<> 149:156823d33999 429 ((DURATION) == RTC_TAMPERPRECHARGEDURATION_4RTCCLK) || \
<> 149:156823d33999 430 ((DURATION) == RTC_TAMPERPRECHARGEDURATION_8RTCCLK))
<> 149:156823d33999 431 /**
<> 149:156823d33999 432 * @}
<> 149:156823d33999 433 */
<> 149:156823d33999 434
<> 149:156823d33999 435 /** @defgroup RTCEx_Tamper_TimeStampOnTamperDetection_Definitions TimeStampOnTamperDetection Definitions
<> 149:156823d33999 436 * @{
<> 149:156823d33999 437 */
<> 149:156823d33999 438 #define RTC_TIMESTAMPONTAMPERDETECTION_ENABLE ((uint32_t)RTC_TAFCR_TAMPTS) /*!< TimeStamp on Tamper Detection event saved */
<> 149:156823d33999 439 #define RTC_TIMESTAMPONTAMPERDETECTION_DISABLE (0x00000000U) /*!< TimeStamp on Tamper Detection event is not saved */
<> 149:156823d33999 440
<> 149:156823d33999 441 #define IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(DETECTION) (((DETECTION) == RTC_TIMESTAMPONTAMPERDETECTION_ENABLE) || \
<> 149:156823d33999 442 ((DETECTION) == RTC_TIMESTAMPONTAMPERDETECTION_DISABLE))
<> 149:156823d33999 443 /**
<> 149:156823d33999 444 * @}
<> 149:156823d33999 445 */
<> 149:156823d33999 446
<> 149:156823d33999 447 /** @defgroup RTCEx_Tamper_Pull_Up_Definitions Tamper Pull-Up Definitions
<> 149:156823d33999 448 * @{
<> 149:156823d33999 449 */
<> 149:156823d33999 450 #define RTC_TAMPER_PULLUP_ENABLE (0x00000000U) /*!< TimeStamp on Tamper Detection event saved */
<> 149:156823d33999 451 #define RTC_TAMPER_PULLUP_DISABLE (RTC_TAFCR_TAMPPUDIS) /*!< TimeStamp on Tamper Detection event is not saved */
<> 149:156823d33999 452
<> 149:156823d33999 453 #define IS_RTC_TAMPER_PULLUP_STATE(STATE) (((STATE) == RTC_TAMPER_PULLUP_ENABLE) || \
<> 149:156823d33999 454 ((STATE) == RTC_TAMPER_PULLUP_DISABLE))
<> 149:156823d33999 455 /**
<> 149:156823d33999 456 * @}
<> 149:156823d33999 457 */
<> 149:156823d33999 458 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 459
<> 149:156823d33999 460 /** @defgroup RTCEx_Wakeup_Timer_Definitions Wakeup Timer Definitions
<> 149:156823d33999 461 * @{
<> 149:156823d33999 462 */
<> 149:156823d33999 463 #define RTC_WAKEUPCLOCK_RTCCLK_DIV16 (0x00000000U)
<> 149:156823d33999 464 #define RTC_WAKEUPCLOCK_RTCCLK_DIV8 (0x00000001U)
<> 149:156823d33999 465 #define RTC_WAKEUPCLOCK_RTCCLK_DIV4 (0x00000002U)
<> 149:156823d33999 466 #define RTC_WAKEUPCLOCK_RTCCLK_DIV2 (0x00000003U)
<> 149:156823d33999 467 #define RTC_WAKEUPCLOCK_CK_SPRE_16BITS (0x00000004U)
<> 149:156823d33999 468 #define RTC_WAKEUPCLOCK_CK_SPRE_17BITS (0x00000006U)
<> 149:156823d33999 469
<> 149:156823d33999 470 #define IS_RTC_WAKEUP_CLOCK(CLOCK) (((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV16) || \
<> 149:156823d33999 471 ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV8) || \
<> 149:156823d33999 472 ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV4) || \
<> 149:156823d33999 473 ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV2) || \
<> 149:156823d33999 474 ((CLOCK) == RTC_WAKEUPCLOCK_CK_SPRE_16BITS) || \
<> 149:156823d33999 475 ((CLOCK) == RTC_WAKEUPCLOCK_CK_SPRE_17BITS))
<> 149:156823d33999 476
<> 149:156823d33999 477 #define IS_RTC_WAKEUP_COUNTER(COUNTER) ((COUNTER) <= 0xFFFF)
<> 149:156823d33999 478 /**
<> 149:156823d33999 479 * @}
<> 149:156823d33999 480 */
<> 149:156823d33999 481
<> 149:156823d33999 482 /** @defgroup RTCEx_Digital_Calibration_Definitions Digital Calibration Definitions
<> 149:156823d33999 483 * @{
<> 149:156823d33999 484 */
<> 149:156823d33999 485 #define RTC_CALIBSIGN_POSITIVE (0x00000000U)
<> 149:156823d33999 486 #define RTC_CALIBSIGN_NEGATIVE (0x00000080U)
<> 149:156823d33999 487
<> 149:156823d33999 488 #define IS_RTC_CALIB_SIGN(SIGN) (((SIGN) == RTC_CALIBSIGN_POSITIVE) || \
<> 149:156823d33999 489 ((SIGN) == RTC_CALIBSIGN_NEGATIVE))
<> 149:156823d33999 490
<> 149:156823d33999 491 #define IS_RTC_CALIB_VALUE(VALUE) ((VALUE) < 0x20)
<> 149:156823d33999 492 /**
<> 149:156823d33999 493 * @}
<> 149:156823d33999 494 */
<> 149:156823d33999 495
<> 149:156823d33999 496 /** @defgroup RTCEx_Smooth_Calib_Period_Definitions Smooth Calib Period Definitions
<> 149:156823d33999 497 * @{
<> 149:156823d33999 498 */
<> 149:156823d33999 499 #define RTC_SMOOTHCALIB_PERIOD_32SEC (0x00000000U) /*!< If RTCCLK = 32768 Hz, Smooth calibation
<> 149:156823d33999 500 period is 32s, else 2exp20 RTCCLK seconds */
<> 149:156823d33999 501 #define RTC_SMOOTHCALIB_PERIOD_16SEC (0x00002000U) /*!< If RTCCLK = 32768 Hz, Smooth calibation
<> 149:156823d33999 502 period is 16s, else 2exp19 RTCCLK seconds */
<> 149:156823d33999 503 #define RTC_SMOOTHCALIB_PERIOD_8SEC (0x00004000U) /*!< If RTCCLK = 32768 Hz, Smooth calibation
<> 149:156823d33999 504 period is 8s, else 2exp18 RTCCLK seconds */
<> 149:156823d33999 505
<> 149:156823d33999 506 #define IS_RTC_SMOOTH_CALIB_PERIOD(PERIOD) (((PERIOD) == RTC_SMOOTHCALIB_PERIOD_32SEC) || \
<> 149:156823d33999 507 ((PERIOD) == RTC_SMOOTHCALIB_PERIOD_16SEC) || \
<> 149:156823d33999 508 ((PERIOD) == RTC_SMOOTHCALIB_PERIOD_8SEC))
<> 149:156823d33999 509 /**
<> 149:156823d33999 510 * @}
<> 149:156823d33999 511 */
<> 149:156823d33999 512
<> 149:156823d33999 513 /** @defgroup RTCEx_Smooth_Calib_Plus_Pulses_Definitions Smooth Calib Plus Pulses Definitions
<> 149:156823d33999 514 * @{
<> 149:156823d33999 515 */
<> 149:156823d33999 516 #define RTC_SMOOTHCALIB_PLUSPULSES_SET (0x00008000U) /*!< The number of RTCCLK pulses added
<> 149:156823d33999 517 during a X -second window = Y - CALM[8:0]
<> 149:156823d33999 518 with Y = 512, 256, 128 when X = 32, 16, 8 */
<> 149:156823d33999 519 #define RTC_SMOOTHCALIB_PLUSPULSES_RESET (0x00000000U) /*!< The number of RTCCLK pulses subbstited
<> 149:156823d33999 520 during a 32-second window = CALM[8:0] */
<> 149:156823d33999 521
<> 149:156823d33999 522 #define IS_RTC_SMOOTH_CALIB_PLUS(PLUS) (((PLUS) == RTC_SMOOTHCALIB_PLUSPULSES_SET) || \
<> 149:156823d33999 523 ((PLUS) == RTC_SMOOTHCALIB_PLUSPULSES_RESET))
<> 149:156823d33999 524 /**
<> 149:156823d33999 525 * @}
<> 149:156823d33999 526 */
<> 149:156823d33999 527
<> 149:156823d33999 528 /** @defgroup RTCEx_Smooth_Calib_Minus_Pulses_Definitions Smooth Calib Minus Pulses Definitions
<> 149:156823d33999 529 * @{
<> 149:156823d33999 530 */
<> 149:156823d33999 531 #define IS_RTC_SMOOTH_CALIB_MINUS(VALUE) ((VALUE) <= 0x000001FFU)
<> 149:156823d33999 532 /**
<> 149:156823d33999 533 * @}
<> 149:156823d33999 534 */
<> 149:156823d33999 535
<> 149:156823d33999 536 /** @defgroup RTCEx_Add_1_Second_Parameter_Definitions Add 1 Second Parameter Definitions
<> 149:156823d33999 537 * @{
<> 149:156823d33999 538 */
<> 149:156823d33999 539 #define RTC_SHIFTADD1S_RESET (0x00000000U)
<> 149:156823d33999 540 #define RTC_SHIFTADD1S_SET (0x80000000U)
<> 149:156823d33999 541
<> 149:156823d33999 542 #define IS_RTC_SHIFT_ADD1S(SEL) (((SEL) == RTC_SHIFTADD1S_RESET) || \
<> 149:156823d33999 543 ((SEL) == RTC_SHIFTADD1S_SET))
<> 149:156823d33999 544 /**
<> 149:156823d33999 545 * @}
<> 149:156823d33999 546 */
<> 149:156823d33999 547
<> 149:156823d33999 548 /** @defgroup RTCEx_Substract_Fraction_Of_Second_Value Substract Fraction Of Second Value
<> 149:156823d33999 549 * @{
<> 149:156823d33999 550 */
<> 149:156823d33999 551 #define IS_RTC_SHIFT_SUBFS(FS) ((FS) <= 0x00007FFFU)
<> 149:156823d33999 552 /**
<> 149:156823d33999 553 * @}
<> 149:156823d33999 554 */
<> 149:156823d33999 555
<> 149:156823d33999 556 /** @defgroup RTCEx_Calib_Output_Selection_Definitions Calib Output Selection Definitions
<> 149:156823d33999 557 * @{
<> 149:156823d33999 558 */
<> 149:156823d33999 559 #define RTC_CALIBOUTPUT_512HZ (0x00000000U)
<> 149:156823d33999 560 #define RTC_CALIBOUTPUT_1HZ (0x00080000U)
<> 149:156823d33999 561
<> 149:156823d33999 562 #define IS_RTC_CALIB_OUTPUT(OUTPUT) (((OUTPUT) == RTC_CALIBOUTPUT_512HZ) || \
<> 149:156823d33999 563 ((OUTPUT) == RTC_CALIBOUTPUT_1HZ))
<> 149:156823d33999 564 /**
<> 149:156823d33999 565 * @}
<> 149:156823d33999 566 */
<> 149:156823d33999 567
<> 149:156823d33999 568 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 569 /** @defgroup RTC_Alarm_Sub_Seconds_Value Alarm Sub Seconds Value
<> 149:156823d33999 570 * @{
<> 149:156823d33999 571 */
<> 149:156823d33999 572 #define IS_RTC_ALARM_SUB_SECOND_VALUE(VALUE) ((VALUE) <= 0x00007FFFU)
<> 149:156823d33999 573 /**
<> 149:156823d33999 574 * @}
<> 149:156823d33999 575 */
<> 149:156823d33999 576
<> 149:156823d33999 577 /** @defgroup RTC_Alarm_Sub_Seconds_Masks_Definitions Alarm Sub Seconds Masks Definitions
<> 149:156823d33999 578 * @{
<> 149:156823d33999 579 */
<> 149:156823d33999 580 #define RTC_ALARMSUBSECONDMASK_ALL (0x00000000U) /*!< All Alarm SS fields are masked.
<> 149:156823d33999 581 There is no comparison on sub seconds
<> 149:156823d33999 582 for Alarm */
<> 149:156823d33999 583 #define RTC_ALARMSUBSECONDMASK_SS14_1 (0x01000000U) /*!< SS[14:1] are don't care in Alarm
<> 149:156823d33999 584 comparison. Only SS[0] is compared. */
<> 149:156823d33999 585 #define RTC_ALARMSUBSECONDMASK_SS14_2 (0x02000000U) /*!< SS[14:2] are don't care in Alarm
<> 149:156823d33999 586 comparison. Only SS[1:0] are compared */
<> 149:156823d33999 587 #define RTC_ALARMSUBSECONDMASK_SS14_3 (0x03000000U) /*!< SS[14:3] are don't care in Alarm
<> 149:156823d33999 588 comparison. Only SS[2:0] are compared */
<> 149:156823d33999 589 #define RTC_ALARMSUBSECONDMASK_SS14_4 (0x04000000U) /*!< SS[14:4] are don't care in Alarm
<> 149:156823d33999 590 comparison. Only SS[3:0] are compared */
<> 149:156823d33999 591 #define RTC_ALARMSUBSECONDMASK_SS14_5 (0x05000000U) /*!< SS[14:5] are don't care in Alarm
<> 149:156823d33999 592 comparison. Only SS[4:0] are compared */
<> 149:156823d33999 593 #define RTC_ALARMSUBSECONDMASK_SS14_6 (0x06000000U) /*!< SS[14:6] are don't care in Alarm
<> 149:156823d33999 594 comparison. Only SS[5:0] are compared */
<> 149:156823d33999 595 #define RTC_ALARMSUBSECONDMASK_SS14_7 (0x07000000U) /*!< SS[14:7] are don't care in Alarm
<> 149:156823d33999 596 comparison. Only SS[6:0] are compared */
<> 149:156823d33999 597 #define RTC_ALARMSUBSECONDMASK_SS14_8 (0x08000000U) /*!< SS[14:8] are don't care in Alarm
<> 149:156823d33999 598 comparison. Only SS[7:0] are compared */
<> 149:156823d33999 599 #define RTC_ALARMSUBSECONDMASK_SS14_9 (0x09000000U) /*!< SS[14:9] are don't care in Alarm
<> 149:156823d33999 600 comparison. Only SS[8:0] are compared */
<> 149:156823d33999 601 #define RTC_ALARMSUBSECONDMASK_SS14_10 (0x0A000000U) /*!< SS[14:10] are don't care in Alarm
<> 149:156823d33999 602 comparison. Only SS[9:0] are compared */
<> 149:156823d33999 603 #define RTC_ALARMSUBSECONDMASK_SS14_11 (0x0B000000U) /*!< SS[14:11] are don't care in Alarm
<> 149:156823d33999 604 comparison. Only SS[10:0] are compared */
<> 149:156823d33999 605 #define RTC_ALARMSUBSECONDMASK_SS14_12 (0x0C000000U) /*!< SS[14:12] are don't care in Alarm
<> 149:156823d33999 606 comparison.Only SS[11:0] are compared */
<> 149:156823d33999 607 #define RTC_ALARMSUBSECONDMASK_SS14_13 (0x0D000000U) /*!< SS[14:13] are don't care in Alarm
<> 149:156823d33999 608 comparison. Only SS[12:0] are compared */
<> 149:156823d33999 609 #define RTC_ALARMSUBSECONDMASK_SS14 (0x0E000000U) /*!< SS[14] is don't care in Alarm
<> 149:156823d33999 610 comparison.Only SS[13:0] are compared */
<> 149:156823d33999 611 #define RTC_ALARMSUBSECONDMASK_NONE (0x0F000000U) /*!< SS[14:0] are compared and must match
<> 149:156823d33999 612 to activate alarm. */
<> 149:156823d33999 613
<> 149:156823d33999 614 #define IS_RTC_ALARM_SUB_SECOND_MASK(MASK) (((MASK) == RTC_ALARMSUBSECONDMASK_ALL) || \
<> 149:156823d33999 615 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_1) || \
<> 149:156823d33999 616 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_2) || \
<> 149:156823d33999 617 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_3) || \
<> 149:156823d33999 618 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_4) || \
<> 149:156823d33999 619 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_5) || \
<> 149:156823d33999 620 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_6) || \
<> 149:156823d33999 621 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_7) || \
<> 149:156823d33999 622 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_8) || \
<> 149:156823d33999 623 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_9) || \
<> 149:156823d33999 624 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_10) || \
<> 149:156823d33999 625 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_11) || \
<> 149:156823d33999 626 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_12) || \
<> 149:156823d33999 627 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14_13) || \
<> 149:156823d33999 628 ((MASK) == RTC_ALARMSUBSECONDMASK_SS14) || \
<> 149:156823d33999 629 ((MASK) == RTC_ALARMSUBSECONDMASK_NONE))
<> 149:156823d33999 630 /**
<> 149:156823d33999 631 * @}
<> 149:156823d33999 632 */
<> 149:156823d33999 633 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 634
<> 149:156823d33999 635 /**
<> 149:156823d33999 636 * @}
<> 149:156823d33999 637 */
<> 149:156823d33999 638
<> 149:156823d33999 639 /* Exported macro ------------------------------------------------------------*/
<> 149:156823d33999 640 /** @defgroup RTCEx_Exported_Macros RTCEx Exported Macros
<> 149:156823d33999 641 * @{
<> 149:156823d33999 642 */
<> 149:156823d33999 643
<> 149:156823d33999 644 /**
<> 149:156823d33999 645 * @brief Enable the RTC WakeUp Timer peripheral.
<> 149:156823d33999 646 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 647 * @retval None
<> 149:156823d33999 648 */
<> 149:156823d33999 649 #define __HAL_RTC_WAKEUPTIMER_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_WUTE))
<> 149:156823d33999 650
<> 149:156823d33999 651 /**
<> 149:156823d33999 652 * @brief Enable the RTC TimeStamp peripheral.
<> 149:156823d33999 653 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 654 * @retval None
<> 149:156823d33999 655 */
<> 149:156823d33999 656 #define __HAL_RTC_TIMESTAMP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_TSE))
<> 149:156823d33999 657
<> 149:156823d33999 658 /**
<> 149:156823d33999 659 * @brief Disable the RTC WakeUp Timer peripheral.
<> 149:156823d33999 660 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 661 * @retval None
<> 149:156823d33999 662 */
<> 149:156823d33999 663 #define __HAL_RTC_WAKEUPTIMER_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_WUTE))
<> 149:156823d33999 664
<> 149:156823d33999 665 /**
<> 149:156823d33999 666 * @brief Disable the RTC TimeStamp peripheral.
<> 149:156823d33999 667 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 668 * @retval None
<> 149:156823d33999 669 */
<> 149:156823d33999 670 #define __HAL_RTC_TIMESTAMP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_TSE))
<> 149:156823d33999 671
<> 149:156823d33999 672 /**
<> 149:156823d33999 673 * @brief Enable the Coarse calibration process.
<> 149:156823d33999 674 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 675 * @retval None
<> 149:156823d33999 676 */
<> 149:156823d33999 677 #define __HAL_RTC_COARSE_CALIB_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_DCE))
<> 149:156823d33999 678
<> 149:156823d33999 679 /**
<> 149:156823d33999 680 * @brief Disable the Coarse calibration process.
<> 149:156823d33999 681 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 682 * @retval None
<> 149:156823d33999 683 */
<> 149:156823d33999 684 #define __HAL_RTC_COARSE_CALIB_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_DCE))
<> 149:156823d33999 685
<> 149:156823d33999 686 /**
<> 149:156823d33999 687 * @brief Enable the RTC calibration output.
<> 149:156823d33999 688 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 689 * @retval None
<> 149:156823d33999 690 */
<> 149:156823d33999 691 #define __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_COE))
<> 149:156823d33999 692
<> 149:156823d33999 693 /**
<> 149:156823d33999 694 * @brief Disable the calibration output.
<> 149:156823d33999 695 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 696 * @retval None
<> 149:156823d33999 697 */
<> 149:156823d33999 698 #define __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_COE))
<> 149:156823d33999 699
<> 149:156823d33999 700 /**
<> 149:156823d33999 701 * @brief Enable the clock reference detection.
<> 149:156823d33999 702 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 703 * @retval None
<> 149:156823d33999 704 */
<> 149:156823d33999 705 #define __HAL_RTC_CLOCKREF_DETECTION_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_REFCKON))
<> 149:156823d33999 706
<> 149:156823d33999 707 /**
<> 149:156823d33999 708 * @brief Disable the clock reference detection.
<> 149:156823d33999 709 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 710 * @retval None
<> 149:156823d33999 711 */
<> 149:156823d33999 712 #define __HAL_RTC_CLOCKREF_DETECTION_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_REFCKON))
<> 149:156823d33999 713
<> 149:156823d33999 714 /**
<> 149:156823d33999 715 * @brief Enable the RTC TimeStamp interrupt.
<> 149:156823d33999 716 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 717 * @param __INTERRUPT__: specifies the RTC TimeStamp interrupt sources to be enabled or disabled.
<> 149:156823d33999 718 * This parameter can be:
<> 149:156823d33999 719 * @arg RTC_IT_TS: TimeStamp interrupt
<> 149:156823d33999 720 * @retval None
<> 149:156823d33999 721 */
<> 149:156823d33999 722 #define __HAL_RTC_TIMESTAMP_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
<> 149:156823d33999 723
<> 149:156823d33999 724 /**
<> 149:156823d33999 725 * @brief Enable the RTC WakeUpTimer interrupt.
<> 149:156823d33999 726 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 727 * @param __INTERRUPT__: specifies the RTC WakeUpTimer interrupt sources to be enabled or disabled.
<> 149:156823d33999 728 * This parameter can be:
<> 149:156823d33999 729 * @arg RTC_IT_WUT: WakeUpTimer A interrupt
<> 149:156823d33999 730 * @retval None
<> 149:156823d33999 731 */
<> 149:156823d33999 732 #define __HAL_RTC_WAKEUPTIMER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
<> 149:156823d33999 733
<> 149:156823d33999 734 /**
<> 149:156823d33999 735 * @brief Disable the RTC TimeStamp interrupt.
<> 149:156823d33999 736 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 737 * @param __INTERRUPT__: specifies the RTC TimeStamp interrupt sources to be enabled or disabled.
<> 149:156823d33999 738 * This parameter can be:
<> 149:156823d33999 739 * @arg RTC_IT_TS: TimeStamp interrupt
<> 149:156823d33999 740 * @retval None
<> 149:156823d33999 741 */
<> 149:156823d33999 742 #define __HAL_RTC_TIMESTAMP_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
<> 149:156823d33999 743
<> 149:156823d33999 744 /**
<> 149:156823d33999 745 * @brief Disable the RTC WakeUpTimer interrupt.
<> 149:156823d33999 746 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 747 * @param __INTERRUPT__: specifies the RTC WakeUpTimer interrupt sources to be enabled or disabled.
<> 149:156823d33999 748 * This parameter can be:
<> 149:156823d33999 749 * @arg RTC_IT_WUT: WakeUpTimer A interrupt
<> 149:156823d33999 750 * @retval None
<> 149:156823d33999 751 */
<> 149:156823d33999 752 #define __HAL_RTC_WAKEUPTIMER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
<> 149:156823d33999 753
<> 149:156823d33999 754 /**
<> 149:156823d33999 755 * @brief Enable the RTC Tamper1 input detection.
<> 149:156823d33999 756 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 757 * @retval None
<> 149:156823d33999 758 */
<> 149:156823d33999 759 #define __HAL_RTC_TAMPER1_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->TAFCR, RTC_TAFCR_TAMP1E)
<> 149:156823d33999 760
<> 149:156823d33999 761 /**
<> 149:156823d33999 762 * @brief Disable the RTC Tamper1 input detection.
<> 149:156823d33999 763 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 764 * @retval None
<> 149:156823d33999 765 */
<> 149:156823d33999 766 #define __HAL_RTC_TAMPER1_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->TAFCR, RTC_TAFCR_TAMP1E)
<> 149:156823d33999 767
<> 149:156823d33999 768 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC)\
<> 149:156823d33999 769 || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA)\
<> 149:156823d33999 770 || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA)\
<> 149:156823d33999 771 || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 772 /**
<> 149:156823d33999 773 * @brief Enable the RTC Tamper2 input detection.
<> 149:156823d33999 774 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 775 * @retval None
<> 149:156823d33999 776 */
<> 149:156823d33999 777 #define __HAL_RTC_TAMPER2_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->TAFCR, RTC_TAFCR_TAMP2E)
<> 149:156823d33999 778
<> 149:156823d33999 779 /**
<> 149:156823d33999 780 * @brief Disable the RTC Tamper2 input detection.
<> 149:156823d33999 781 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 782 * @retval None
<> 149:156823d33999 783 */
<> 149:156823d33999 784 #define __HAL_RTC_TAMPER2_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->TAFCR, RTC_TAFCR_TAMP2E)
<> 149:156823d33999 785
<> 149:156823d33999 786 /**
<> 149:156823d33999 787 * @brief Enable the RTC Tamper3 input detection.
<> 149:156823d33999 788 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 789 * @retval None
<> 149:156823d33999 790 */
<> 149:156823d33999 791 #define __HAL_RTC_TAMPER3_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->TAFCR, RTC_TAFCR_TAMP3E)
<> 149:156823d33999 792
<> 149:156823d33999 793 /**
<> 149:156823d33999 794 * @brief Disable the RTC Tamper3 input detection.
<> 149:156823d33999 795 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 796 * @retval None
<> 149:156823d33999 797 */
<> 149:156823d33999 798 #define __HAL_RTC_TAMPER3_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->TAFCR, RTC_TAFCR_TAMP3E)
<> 149:156823d33999 799
<> 149:156823d33999 800
<> 149:156823d33999 801 /**
<> 149:156823d33999 802 * @brief Check whether the specified RTC Tamper interrupt has occurred or not.
<> 149:156823d33999 803 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 804 * @param __INTERRUPT__: specifies the RTC Tamper interrupt to check.
<> 149:156823d33999 805 * This parameter can be:
<> 149:156823d33999 806 * @arg RTC_IT_TAMP1: Tamper1 interrupt
<> 149:156823d33999 807 * @arg RTC_IT_TAMP2: Tamper2 interrupt
<> 149:156823d33999 808 * @arg RTC_IT_TAMP3: Tamper3 interrupt
<> 149:156823d33999 809 * @retval None
<> 149:156823d33999 810 */
<> 149:156823d33999 811 #define __HAL_RTC_TAMPER_GET_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) == RTC_IT_TAMP1) ? (((((__HANDLE__)->Instance->ISR) & RTC_ISR_TAMP1F) != RESET) ? SET : RESET) : \
<> 149:156823d33999 812 ((__INTERRUPT__) == RTC_IT_TAMP2) ? (((((__HANDLE__)->Instance->ISR) & RTC_ISR_TAMP2F) != RESET) ? SET : RESET) : \
<> 149:156823d33999 813 (((((__HANDLE__)->Instance->ISR) & RTC_ISR_TAMP3F) != RESET) ? SET : RESET))
<> 149:156823d33999 814 #else
<> 149:156823d33999 815 /**
<> 149:156823d33999 816 * @brief Check whether the specified RTC Tamper interrupt has occurred or not.
<> 149:156823d33999 817 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 818 * @param __INTERRUPT__: specifies the RTC Tamper interrupt to check.
<> 149:156823d33999 819 * This parameter can be:
<> 149:156823d33999 820 * @arg RTC_IT_TAMP1: Tamper1 interrupt
<> 149:156823d33999 821 * @retval None
<> 149:156823d33999 822 */
<> 149:156823d33999 823 #define __HAL_RTC_TAMPER_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & RTC_ISR_TAMP1F) != RESET) ? SET : RESET)
<> 149:156823d33999 824
<> 149:156823d33999 825 #endif
<> 149:156823d33999 826
<> 149:156823d33999 827 /**
<> 149:156823d33999 828 * @brief Enable the RTC Tamper interrupt.
<> 149:156823d33999 829 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 830 * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be enabled
<> 149:156823d33999 831 * This parameter can be any combination of the following values:
<> 149:156823d33999 832 * @arg RTC_IT_TAMP1: Tamper1 interrupt
<> 149:156823d33999 833 * @arg RTC_IT_TAMP2: Tamper2 interrupt (*)
<> 149:156823d33999 834 * @arg RTC_IT_TAMP3: Tamper3 interrupt (*)
<> 149:156823d33999 835 * @note (*) Available only on devices STM32L100xBA, STM32L151xBA, STM32L152xBA, STM32L100xC,
<> 149:156823d33999 836 * STM32L151xC, STM32L152xC, STM32L162xC, STM32L151xCA, STM32L151xD, STM32L152xCA,
<> 149:156823d33999 837 * STM32L152xD, STM32L162xCA, STM32L162xD, STM32L151xE, STM32L152xE, STM32L162xE
<> 149:156823d33999 838 * STM32L151xDX, STM32L152xDX, STM32L162xDX
<> 149:156823d33999 839 * @retval None
<> 149:156823d33999 840 */
<> 149:156823d33999 841 #define __HAL_RTC_TAMPER_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT(((__HANDLE__)->Instance->TAFCR), RTC_TAFCR_TAMPIE)
<> 149:156823d33999 842
<> 149:156823d33999 843 /**
<> 149:156823d33999 844 * @brief Disable the RTC Tamper interrupt.
<> 149:156823d33999 845 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 846 * @param __INTERRUPT__: specifies the RTC Tamper interrupt sources to be disabled.
<> 149:156823d33999 847 * This parameter can be any combination of the following values:
<> 149:156823d33999 848 * @arg RTC_IT_TAMP1: Tamper1 interrupt
<> 149:156823d33999 849 * @arg RTC_IT_TAMP2: Tamper2 interrupt (*)
<> 149:156823d33999 850 * @arg RTC_IT_TAMP3: Tamper3 interrupt (*)
<> 149:156823d33999 851 * @note (*) Available only on devices STM32L100xBA, STM32L151xBA, STM32L152xBA, STM32L100xC,
<> 149:156823d33999 852 * STM32L151xC, STM32L152xC, STM32L162xC, STM32L151xCA, STM32L151xD, STM32L152xCA,
<> 149:156823d33999 853 * STM32L152xD, STM32L162xCA, STM32L162xD, STM32L151xE, STM32L152xE, STM32L162xE
<> 149:156823d33999 854 * STM32L151xDX, STM32L152xDX, STM32L162xDX
<> 149:156823d33999 855 * @retval None
<> 149:156823d33999 856 */
<> 149:156823d33999 857 #define __HAL_RTC_TAMPER_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT(((__HANDLE__)->Instance->TAFCR), RTC_TAFCR_TAMPIE)
<> 149:156823d33999 858
<> 149:156823d33999 859 /**
<> 149:156823d33999 860 * @brief Check whether the specified RTC Tamper interrupt has been enabled or not.
<> 149:156823d33999 861 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 862 * @param __INTERRUPT__: specifies the RTC Tamper interrupt source to check.
<> 149:156823d33999 863 * This parameter can be:
<> 149:156823d33999 864 * @arg RTC_IT_TAMP1: Tamper1 interrupt
<> 149:156823d33999 865 * @arg RTC_IT_TAMP2: Tamper2 interrupt (*)
<> 149:156823d33999 866 * @arg RTC_IT_TAMP3: Tamper3 interrupt (*)
<> 149:156823d33999 867 * @note (*) Available only on devices STM32L100xBA, STM32L151xBA, STM32L152xBA, STM32L100xC,
<> 149:156823d33999 868 * STM32L151xC, STM32L152xC, STM32L162xC, STM32L151xCA, STM32L151xD, STM32L152xCA,
<> 149:156823d33999 869 * STM32L152xD, STM32L162xCA, STM32L162xD, STM32L151xE, STM32L152xE, STM32L162xE
<> 149:156823d33999 870 * STM32L151xDX, STM32L152xDX, STM32L162xDX
<> 149:156823d33999 871 * @retval None
<> 149:156823d33999 872 */
<> 149:156823d33999 873 #define __HAL_RTC_TAMPER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->TAFCR) & RTC_TAFCR_TAMPIE) != RESET) ? SET : RESET)
<> 149:156823d33999 874
<> 149:156823d33999 875 /**
<> 149:156823d33999 876 * @brief Check whether the specified RTC WakeUpTimer interrupt has occurred or not.
<> 149:156823d33999 877 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 878 * @param __FLAG__: specifies the RTC WakeUpTimer interrupt sources to be enabled or disabled.
<> 149:156823d33999 879 * This parameter can be:
<> 149:156823d33999 880 * @arg RTC_IT_WUT: WakeUpTimer A interrupt
<> 149:156823d33999 881 * @retval None
<> 149:156823d33999 882 */
<> 149:156823d33999 883 #define __HAL_RTC_WAKEUPTIMER_GET_IT(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & ((__FLAG__)>> 4)) != RESET)? SET : RESET)
<> 149:156823d33999 884
<> 149:156823d33999 885 /**
<> 149:156823d33999 886 * @brief Check whether the specified RTC Wake Up timer interrupt has been enabled or not.
<> 149:156823d33999 887 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 888 * @param __INTERRUPT__: specifies the RTC Wake Up timer interrupt sources to check.
<> 149:156823d33999 889 * This parameter can be:
<> 149:156823d33999 890 * @arg RTC_IT_WUT: WakeUpTimer interrupt
<> 149:156823d33999 891 * @retval None
<> 149:156823d33999 892 */
<> 149:156823d33999 893 #define __HAL_RTC_WAKEUPTIMER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
<> 149:156823d33999 894
<> 149:156823d33999 895 /**
<> 149:156823d33999 896 * @brief Check whether the specified RTC TimeStamp interrupt has occurred or not.
<> 149:156823d33999 897 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 898 * @param __INTERRUPT__: specifies the RTC TimeStamp interrupt sources to be enabled or disabled.
<> 149:156823d33999 899 * This parameter can be:
<> 149:156823d33999 900 * @arg RTC_IT_TS: TimeStamp interrupt
<> 149:156823d33999 901 * @retval None
<> 149:156823d33999 902 */
<> 149:156823d33999 903 #define __HAL_RTC_TIMESTAMP_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4)) != RESET)? SET : RESET)
<> 149:156823d33999 904
<> 149:156823d33999 905 /**
<> 149:156823d33999 906 * @brief Check whether the specified RTC Time Stamp interrupt has been enabled or not.
<> 149:156823d33999 907 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 908 * @param __INTERRUPT__: specifies the RTC Time Stamp interrupt source to check.
<> 149:156823d33999 909 * This parameter can be:
<> 149:156823d33999 910 * @arg RTC_IT_TS: TimeStamp interrupt
<> 149:156823d33999 911 * @retval None
<> 149:156823d33999 912 */
<> 149:156823d33999 913 #define __HAL_RTC_TIMESTAMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
<> 149:156823d33999 914
<> 149:156823d33999 915 /**
<> 149:156823d33999 916 * @brief Get the selected RTC TimeStamp's flag status.
<> 149:156823d33999 917 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 918 * @param __FLAG__: specifies the RTC TimeStamp Flag sources to be enabled or disabled.
<> 149:156823d33999 919 * This parameter can be:
<> 149:156823d33999 920 * @arg RTC_FLAG_TSF
<> 149:156823d33999 921 * @arg RTC_FLAG_TSOVF
<> 149:156823d33999 922 * @retval None
<> 149:156823d33999 923 */
<> 149:156823d33999 924 #define __HAL_RTC_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET)
<> 149:156823d33999 925
<> 149:156823d33999 926 /**
<> 149:156823d33999 927 * @brief Get the selected RTC WakeUpTimer's flag status.
<> 149:156823d33999 928 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 929 * @param __FLAG__: specifies the RTC WakeUpTimer Flag sources to be enabled or disabled.
<> 149:156823d33999 930 * This parameter can be:
<> 149:156823d33999 931 * @arg RTC_FLAG_WUTF
<> 149:156823d33999 932 * @arg RTC_FLAG_WUTWF
<> 149:156823d33999 933 * @retval None
<> 149:156823d33999 934 */
<> 149:156823d33999 935 #define __HAL_RTC_WAKEUPTIMER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET)
<> 149:156823d33999 936
<> 149:156823d33999 937 /**
<> 149:156823d33999 938 * @brief Get the selected RTC Tamper's flag status.
<> 149:156823d33999 939 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 940 * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled.
<> 149:156823d33999 941 * This parameter can be:
<> 149:156823d33999 942 * @arg RTC_FLAG_TAMP1F
<> 149:156823d33999 943 * @arg RTC_FLAG_TAMP2F (*)
<> 149:156823d33999 944 * @arg RTC_FLAG_TAMP3F (*)
<> 149:156823d33999 945 * @note (*) Available only on devices STM32L100xBA, STM32L151xBA, STM32L152xBA, STM32L100xC,
<> 149:156823d33999 946 * STM32L151xC, STM32L152xC, STM32L162xC, STM32L151xCA, STM32L151xD, STM32L152xCA,
<> 149:156823d33999 947 * STM32L152xD, STM32L162xCA, STM32L162xD, STM32L151xE, STM32L152xE, STM32L162xE
<> 149:156823d33999 948 * STM32L151xDX, STM32L152xDX, STM32L162xDX
<> 149:156823d33999 949 * @retval None
<> 149:156823d33999 950 */
<> 149:156823d33999 951 #define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET)
<> 149:156823d33999 952
<> 149:156823d33999 953 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC)\
<> 149:156823d33999 954 || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA)\
<> 149:156823d33999 955 || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA)\
<> 149:156823d33999 956 || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 957 /**
<> 149:156823d33999 958 * @brief Get the selected RTC shift operation's flag status.
<> 149:156823d33999 959 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 960 * @param __FLAG__: specifies the RTC shift operation Flag is pending or not.
<> 149:156823d33999 961 * This parameter can be:
<> 149:156823d33999 962 * @arg RTC_FLAG_SHPF
<> 149:156823d33999 963 * @retval None
<> 149:156823d33999 964 */
<> 149:156823d33999 965 #define __HAL_RTC_SHIFT_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET)
<> 149:156823d33999 966 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 967
<> 149:156823d33999 968 /**
<> 149:156823d33999 969 * @brief Clear the RTC Time Stamp's pending flags.
<> 149:156823d33999 970 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 971 * @param __FLAG__: specifies the RTC Alarm Flag sources to be enabled or disabled.
<> 149:156823d33999 972 * This parameter can be:
<> 149:156823d33999 973 * @arg RTC_FLAG_TSF
<> 149:156823d33999 974 * @retval None
<> 149:156823d33999 975 */
<> 149:156823d33999 976 #define __HAL_RTC_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
<> 149:156823d33999 977
<> 149:156823d33999 978 /**
<> 149:156823d33999 979 * @brief Clear the RTC Tamper's pending flags.
<> 149:156823d33999 980 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 981 * @param __FLAG__: specifies the RTC Tamper Flag sources to be enabled or disabled.
<> 149:156823d33999 982 * This parameter can be:
<> 149:156823d33999 983 * @arg RTC_FLAG_TAMP1F
<> 149:156823d33999 984 * @arg RTC_FLAG_TAMP2F (*)
<> 149:156823d33999 985 * @arg RTC_FLAG_TAMP3F (*)
<> 149:156823d33999 986 * @note (*) Available only on devices STM32L100xBA, STM32L151xBA, STM32L152xBA, STM32L100xC,
<> 149:156823d33999 987 * STM32L151xC, STM32L152xC, STM32L162xC, STM32L151xCA, STM32L151xD, STM32L152xCA,
<> 149:156823d33999 988 * STM32L152xD, STM32L162xCA, STM32L162xD, STM32L151xE, STM32L152xE, STM32L162xE
<> 149:156823d33999 989 * STM32L151xDX, STM32L152xDX, STM32L162xDX
<> 149:156823d33999 990 * @retval None
<> 149:156823d33999 991 */
<> 149:156823d33999 992 #define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
<> 149:156823d33999 993
<> 149:156823d33999 994 /**
<> 149:156823d33999 995 * @brief Clear the RTC Wake Up timer's pending flags.
<> 149:156823d33999 996 * @param __HANDLE__: specifies the RTC handle.
<> 149:156823d33999 997 * @param __FLAG__: specifies the RTC WakeUpTimer Flag to clear.
<> 149:156823d33999 998 * This parameter can be:
<> 149:156823d33999 999 * @arg RTC_FLAG_WUTF
<> 149:156823d33999 1000 * @retval None
<> 149:156823d33999 1001 */
<> 149:156823d33999 1002 #define __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
<> 149:156823d33999 1003
<> 149:156823d33999 1004 /**
<> 149:156823d33999 1005 * @brief Enable interrupt on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1006 * @retval None
<> 149:156823d33999 1007 */
<> 149:156823d33999 1008 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1009
<> 149:156823d33999 1010 /**
<> 149:156823d33999 1011 * @brief Disable interrupt on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1012 * @retval None
<> 149:156823d33999 1013 */
<> 149:156823d33999 1014 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
<> 149:156823d33999 1015
<> 149:156823d33999 1016 /**
<> 149:156823d33999 1017 * @brief Enable event on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1018 * @retval None.
<> 149:156823d33999 1019 */
<> 149:156823d33999 1020 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1021
<> 149:156823d33999 1022 /**
<> 149:156823d33999 1023 * @brief Disable event on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1024 * @retval None.
<> 149:156823d33999 1025 */
<> 149:156823d33999 1026 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
<> 149:156823d33999 1027
<> 149:156823d33999 1028 /**
<> 149:156823d33999 1029 * @brief Enable falling edge trigger on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1030 * @retval None.
<> 149:156823d33999 1031 */
<> 149:156823d33999 1032 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1033
<> 149:156823d33999 1034 /**
<> 149:156823d33999 1035 * @brief Disable falling edge trigger on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1036 * @retval None.
<> 149:156823d33999 1037 */
<> 149:156823d33999 1038 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
<> 149:156823d33999 1039
<> 149:156823d33999 1040 /**
<> 149:156823d33999 1041 * @brief Enable rising edge trigger on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1042 * @retval None.
<> 149:156823d33999 1043 */
<> 149:156823d33999 1044 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1045
<> 149:156823d33999 1046 /**
<> 149:156823d33999 1047 * @brief Disable rising edge trigger on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1048 * @retval None.
<> 149:156823d33999 1049 */
<> 149:156823d33999 1050 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
<> 149:156823d33999 1051
<> 149:156823d33999 1052 /**
<> 149:156823d33999 1053 * @brief Enable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1054 * @retval None.
<> 149:156823d33999 1055 */
<> 149:156823d33999 1056 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_EDGE() do { __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE(); } while(0);
<> 149:156823d33999 1057
<> 149:156823d33999 1058 /**
<> 149:156823d33999 1059 * @brief Disable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1060 * This parameter can be:
<> 149:156823d33999 1061 * @retval None.
<> 149:156823d33999 1062 */
<> 149:156823d33999 1063 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_EDGE() do { __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE(); } while(0);
<> 149:156823d33999 1064
<> 149:156823d33999 1065 /**
<> 149:156823d33999 1066 * @brief Check whether the RTC WakeUp Timer associated Exti line interrupt flag is set or not.
<> 149:156823d33999 1067 * @retval Line Status.
<> 149:156823d33999 1068 */
<> 149:156823d33999 1069 #define __HAL_RTC_WAKEUPTIMER_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1070
<> 149:156823d33999 1071 /**
<> 149:156823d33999 1072 * @brief Clear the RTC WakeUp Timer associated Exti line flag.
<> 149:156823d33999 1073 * @retval None.
<> 149:156823d33999 1074 */
<> 149:156823d33999 1075 #define __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1076
<> 149:156823d33999 1077 /**
<> 149:156823d33999 1078 * @brief Generate a Software interrupt on the RTC WakeUp Timer associated Exti line.
<> 149:156823d33999 1079 * @retval None.
<> 149:156823d33999 1080 */
<> 149:156823d33999 1081 #define __HAL_RTC_WAKEUPTIMER_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
<> 149:156823d33999 1082
<> 149:156823d33999 1083 /**
<> 149:156823d33999 1084 * @brief Enable interrupt on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1085 * @retval None
<> 149:156823d33999 1086 */
<> 149:156823d33999 1087 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1088
<> 149:156823d33999 1089 /**
<> 149:156823d33999 1090 * @brief Disable interrupt on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1091 * @retval None
<> 149:156823d33999 1092 */
<> 149:156823d33999 1093 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
<> 149:156823d33999 1094
<> 149:156823d33999 1095 /**
<> 149:156823d33999 1096 * @brief Enable event on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1097 * @retval None.
<> 149:156823d33999 1098 */
<> 149:156823d33999 1099 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1100
<> 149:156823d33999 1101 /**
<> 149:156823d33999 1102 * @brief Disable event on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1103 * @retval None.
<> 149:156823d33999 1104 */
<> 149:156823d33999 1105 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
<> 149:156823d33999 1106
<> 149:156823d33999 1107 /**
<> 149:156823d33999 1108 * @brief Enable falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1109 * @retval None.
<> 149:156823d33999 1110 */
<> 149:156823d33999 1111 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1112
<> 149:156823d33999 1113 /**
<> 149:156823d33999 1114 * @brief Disable falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1115 * @retval None.
<> 149:156823d33999 1116 */
<> 149:156823d33999 1117 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
<> 149:156823d33999 1118
<> 149:156823d33999 1119 /**
<> 149:156823d33999 1120 * @brief Enable rising edge trigger on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1121 * @retval None.
<> 149:156823d33999 1122 */
<> 149:156823d33999 1123 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1124
<> 149:156823d33999 1125 /**
<> 149:156823d33999 1126 * @brief Disable rising edge trigger on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1127 * @retval None.
<> 149:156823d33999 1128 */
<> 149:156823d33999 1129 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
<> 149:156823d33999 1130
<> 149:156823d33999 1131 /**
<> 149:156823d33999 1132 * @brief Enable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1133 * @retval None.
<> 149:156823d33999 1134 */
<> 149:156823d33999 1135 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_FALLING_EDGE() do { __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE(); } while(0);
<> 149:156823d33999 1136
<> 149:156823d33999 1137 /**
<> 149:156823d33999 1138 * @brief Disable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
<> 149:156823d33999 1139 * This parameter can be:
<> 149:156823d33999 1140 * @retval None.
<> 149:156823d33999 1141 */
<> 149:156823d33999 1142 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_FALLING_EDGE() do { __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE(); } while(0);
<> 149:156823d33999 1143
<> 149:156823d33999 1144 /**
<> 149:156823d33999 1145 * @brief Check whether the RTC Tamper and Timestamp associated Exti line interrupt flag is set or not.
<> 149:156823d33999 1146 * @retval Line Status.
<> 149:156823d33999 1147 */
<> 149:156823d33999 1148 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1149
<> 149:156823d33999 1150 /**
<> 149:156823d33999 1151 * @brief Clear the RTC Tamper and Timestamp associated Exti line flag.
<> 149:156823d33999 1152 * @retval None.
<> 149:156823d33999 1153 */
<> 149:156823d33999 1154 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1155
<> 149:156823d33999 1156 /**
<> 149:156823d33999 1157 * @brief Generate a Software interrupt on the RTC Tamper and Timestamp associated Exti line
<> 149:156823d33999 1158 * @retval None.
<> 149:156823d33999 1159 */
<> 149:156823d33999 1160 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
<> 149:156823d33999 1161
<> 149:156823d33999 1162 /**
<> 149:156823d33999 1163 * @}
<> 149:156823d33999 1164 */
<> 149:156823d33999 1165
<> 149:156823d33999 1166 /* Exported functions --------------------------------------------------------*/
<> 149:156823d33999 1167 /** @addtogroup RTCEx_Exported_Functions
<> 149:156823d33999 1168 * @{
<> 149:156823d33999 1169 */
<> 149:156823d33999 1170
<> 149:156823d33999 1171 /* RTC TimeStamp and Tamper functions *****************************************/
<> 149:156823d33999 1172 /** @addtogroup RTCEx_Exported_Functions_Group4
<> 149:156823d33999 1173 * @{
<> 149:156823d33999 1174 */
<> 149:156823d33999 1175 HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge);
<> 149:156823d33999 1176 HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge);
<> 149:156823d33999 1177 HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1178 HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTimeStamp, RTC_DateTypeDef *sTimeStampDate, uint32_t Format);
<> 149:156823d33999 1179
<> 149:156823d33999 1180 HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper);
<> 149:156823d33999 1181 HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper);
<> 149:156823d33999 1182 HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper);
<> 149:156823d33999 1183 void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1184
<> 149:156823d33999 1185 void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1186 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 1187 void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1188 void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1189 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 1190 void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1191 HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
<> 149:156823d33999 1192 HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
<> 149:156823d33999 1193 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 1194 HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
<> 149:156823d33999 1195 HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
<> 149:156823d33999 1196 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 1197 /**
<> 149:156823d33999 1198 * @}
<> 149:156823d33999 1199 */
<> 149:156823d33999 1200
<> 149:156823d33999 1201 /* RTC Wake-up functions ******************************************************/
<> 149:156823d33999 1202 /** @addtogroup RTCEx_Exported_Functions_Group5
<> 149:156823d33999 1203 * @{
<> 149:156823d33999 1204 */
<> 149:156823d33999 1205 HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock);
<> 149:156823d33999 1206 HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock);
<> 149:156823d33999 1207 uint32_t HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1208 uint32_t HAL_RTCEx_GetWakeUpTimer(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1209 void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1210 void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1211 HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
<> 149:156823d33999 1212 /**
<> 149:156823d33999 1213 * @}
<> 149:156823d33999 1214 */
<> 149:156823d33999 1215
<> 149:156823d33999 1216 /* Extension Control functions ************************************************/
<> 149:156823d33999 1217 /** @addtogroup RTCEx_Exported_Functions_Group7
<> 149:156823d33999 1218 * @{
<> 149:156823d33999 1219 */
<> 149:156823d33999 1220 void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data);
<> 149:156823d33999 1221 uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister);
<> 149:156823d33999 1222
<> 149:156823d33999 1223 HAL_StatusTypeDef HAL_RTCEx_SetCoarseCalib(RTC_HandleTypeDef *hrtc, uint32_t CalibSign, uint32_t Value);
<> 149:156823d33999 1224 HAL_StatusTypeDef HAL_RTCEx_DeactivateCoarseCalib(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1225 #if defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA) || defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC) || defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined(STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX)
<> 149:156823d33999 1226 HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmoothCalibMinusPulsesValue);
<> 149:156823d33999 1227 HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef *hrtc, uint32_t ShiftAdd1S, uint32_t ShiftSubFS);
<> 149:156823d33999 1228 HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc, uint32_t CalibOutput);
<> 149:156823d33999 1229 #else
<> 149:156823d33999 1230 HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1231 #endif /* STM32L100xBA || STM32L151xBA || STM32L152xBA || STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC || STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX */
<> 149:156823d33999 1232 HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1233 HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1234 HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1235 HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1236 HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1237 /**
<> 149:156823d33999 1238 * @}
<> 149:156823d33999 1239 */
<> 149:156823d33999 1240
<> 149:156823d33999 1241 /* Extension RTC features functions *******************************************/
<> 149:156823d33999 1242 /** @addtogroup RTCEx_Exported_Functions_Group8
<> 149:156823d33999 1243 * @{
<> 149:156823d33999 1244 */
<> 149:156823d33999 1245 void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc);
<> 149:156823d33999 1246 HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
<> 149:156823d33999 1247 /**
<> 149:156823d33999 1248 * @}
<> 149:156823d33999 1249 */
<> 149:156823d33999 1250
<> 149:156823d33999 1251 /**
<> 149:156823d33999 1252 * @}
<> 149:156823d33999 1253 */
<> 149:156823d33999 1254
<> 149:156823d33999 1255 /* Private types -------------------------------------------------------------*/
<> 149:156823d33999 1256 /* Private variables ---------------------------------------------------------*/
<> 149:156823d33999 1257 /* Private constants ---------------------------------------------------------*/
<> 149:156823d33999 1258 /** @defgroup RTCEx_Private_Constants RTCEx Private Constants
<> 149:156823d33999 1259 * @{
<> 149:156823d33999 1260 */
<> 149:156823d33999 1261 #define RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT (0x00080000U) /*!< External interrupt line 19 Connected to the RTC Tamper and Time Stamp events */
<> 149:156823d33999 1262 #define RTC_EXTI_LINE_WAKEUPTIMER_EVENT (0x00100000U) /*!< External interrupt line 20 Connected to the RTC Wakeup event */
<> 149:156823d33999 1263
<> 149:156823d33999 1264 /**
<> 149:156823d33999 1265 * @}
<> 149:156823d33999 1266 */
<> 149:156823d33999 1267
<> 149:156823d33999 1268 /* Private macros ------------------------------------------------------------*/
<> 149:156823d33999 1269 /** @defgroup RTCEx_Private_Macros RTCEx Private Macros
<> 149:156823d33999 1270 * @{
<> 149:156823d33999 1271 */
<> 149:156823d33999 1272
<> 149:156823d33999 1273 /**
<> 149:156823d33999 1274 * @}
<> 149:156823d33999 1275 */
<> 149:156823d33999 1276
<> 149:156823d33999 1277 /**
<> 149:156823d33999 1278 * @}
<> 149:156823d33999 1279 */
<> 149:156823d33999 1280
<> 149:156823d33999 1281 /**
<> 149:156823d33999 1282 * @}
<> 149:156823d33999 1283 */
<> 149:156823d33999 1284
<> 149:156823d33999 1285 #ifdef __cplusplus
<> 149:156823d33999 1286 }
<> 149:156823d33999 1287 #endif
<> 149:156823d33999 1288
<> 149:156823d33999 1289 #endif /* __STM32L1xx_HAL_RTC_EX_H */
<> 149:156823d33999 1290
<> 149:156823d33999 1291 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/