The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

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