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 stm32f7xx_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 __STM32F7xx_HAL_RTC_EX_H
AnnaBridge 171:3a7713b1edbc 38 #define __STM32F7xx_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 "stm32f7xx_hal_def.h"
AnnaBridge 171:3a7713b1edbc 46
AnnaBridge 171:3a7713b1edbc 47 /** @addtogroup STM32F7xx_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 Interrupt; /*!< Specifies the Tamper Interrupt.
AnnaBridge 171:3a7713b1edbc 69 This parameter can be a value of @ref RTCEx_Tamper_Interrupt_Definitions */
AnnaBridge 171:3a7713b1edbc 70
AnnaBridge 171:3a7713b1edbc 71 uint32_t Trigger; /*!< Specifies the Tamper Trigger.
AnnaBridge 171:3a7713b1edbc 72 This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */
AnnaBridge 171:3a7713b1edbc 73
AnnaBridge 171:3a7713b1edbc 74 uint32_t NoErase; /*!< Specifies the Tamper no erase mode.
AnnaBridge 171:3a7713b1edbc 75 This parameter can be a value of @ref RTCEx_Tamper_EraseBackUp_Definitions */
AnnaBridge 171:3a7713b1edbc 76
AnnaBridge 171:3a7713b1edbc 77 uint32_t MaskFlag; /*!< Specifies the Tamper Flag masking.
AnnaBridge 171:3a7713b1edbc 78 This parameter can be a value of @ref RTCEx_Tamper_MaskFlag_Definitions */
AnnaBridge 171:3a7713b1edbc 79
AnnaBridge 171:3a7713b1edbc 80 uint32_t Filter; /*!< Specifies the RTC Filter Tamper.
AnnaBridge 171:3a7713b1edbc 81 This parameter can be a value of @ref RTCEx_Tamper_Filter_Definitions */
AnnaBridge 171:3a7713b1edbc 82
AnnaBridge 171:3a7713b1edbc 83 uint32_t SamplingFrequency; /*!< Specifies the sampling frequency.
AnnaBridge 171:3a7713b1edbc 84 This parameter can be a value of @ref RTCEx_Tamper_Sampling_Frequencies_Definitions */
AnnaBridge 171:3a7713b1edbc 85
AnnaBridge 171:3a7713b1edbc 86 uint32_t PrechargeDuration; /*!< Specifies the Precharge Duration .
AnnaBridge 171:3a7713b1edbc 87 This parameter can be a value of @ref RTCEx_Tamper_Pin_Precharge_Duration_Definitions */
AnnaBridge 171:3a7713b1edbc 88
AnnaBridge 171:3a7713b1edbc 89 uint32_t TamperPullUp; /*!< Specifies the Tamper PullUp .
AnnaBridge 171:3a7713b1edbc 90 This parameter can be a value of @ref RTCEx_Tamper_Pull_UP_Definitions */
AnnaBridge 171:3a7713b1edbc 91
AnnaBridge 171:3a7713b1edbc 92 uint32_t TimeStampOnTamperDetection; /*!< Specifies the TimeStampOnTamperDetection.
AnnaBridge 171:3a7713b1edbc 93 This parameter can be a value of @ref RTCEx_Tamper_TimeStampOnTamperDetection_Definitions */
AnnaBridge 171:3a7713b1edbc 94 }RTC_TamperTypeDef;
AnnaBridge 171:3a7713b1edbc 95 /**
AnnaBridge 171:3a7713b1edbc 96 * @}
AnnaBridge 171:3a7713b1edbc 97 */
AnnaBridge 171:3a7713b1edbc 98
AnnaBridge 171:3a7713b1edbc 99 /* Exported constants --------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 100 /** @defgroup RTCEx_Exported_Constants RTCEx Exported Constants
AnnaBridge 171:3a7713b1edbc 101 * @{
AnnaBridge 171:3a7713b1edbc 102 */
AnnaBridge 171:3a7713b1edbc 103
AnnaBridge 171:3a7713b1edbc 104 /** @defgroup RTCEx_Output_selection_Definitions RTCEx Output selection Definitions
AnnaBridge 171:3a7713b1edbc 105 * @{
AnnaBridge 171:3a7713b1edbc 106 */
AnnaBridge 171:3a7713b1edbc 107 #define RTC_OUTPUT_DISABLE ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 108 #define RTC_OUTPUT_ALARMA ((uint32_t)0x00200000U)
AnnaBridge 171:3a7713b1edbc 109 #define RTC_OUTPUT_ALARMB ((uint32_t)0x00400000U)
AnnaBridge 171:3a7713b1edbc 110 #define RTC_OUTPUT_WAKEUP ((uint32_t)0x00600000U)
AnnaBridge 171:3a7713b1edbc 111 /**
AnnaBridge 171:3a7713b1edbc 112 * @}
AnnaBridge 171:3a7713b1edbc 113 */
AnnaBridge 171:3a7713b1edbc 114
AnnaBridge 171:3a7713b1edbc 115 /** @defgroup RTCEx_Backup_Registers_Definitions RTC Backup Registers Definitions
AnnaBridge 171:3a7713b1edbc 116 * @{
AnnaBridge 171:3a7713b1edbc 117 */
AnnaBridge 171:3a7713b1edbc 118 #define RTC_BKP_DR0 ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 119 #define RTC_BKP_DR1 ((uint32_t)0x00000001U)
AnnaBridge 171:3a7713b1edbc 120 #define RTC_BKP_DR2 ((uint32_t)0x00000002U)
AnnaBridge 171:3a7713b1edbc 121 #define RTC_BKP_DR3 ((uint32_t)0x00000003U)
AnnaBridge 171:3a7713b1edbc 122 #define RTC_BKP_DR4 ((uint32_t)0x00000004U)
AnnaBridge 171:3a7713b1edbc 123 #define RTC_BKP_DR5 ((uint32_t)0x00000005U)
AnnaBridge 171:3a7713b1edbc 124 #define RTC_BKP_DR6 ((uint32_t)0x00000006U)
AnnaBridge 171:3a7713b1edbc 125 #define RTC_BKP_DR7 ((uint32_t)0x00000007U)
AnnaBridge 171:3a7713b1edbc 126 #define RTC_BKP_DR8 ((uint32_t)0x00000008U)
AnnaBridge 171:3a7713b1edbc 127 #define RTC_BKP_DR9 ((uint32_t)0x00000009U)
AnnaBridge 171:3a7713b1edbc 128 #define RTC_BKP_DR10 ((uint32_t)0x0000000AU)
AnnaBridge 171:3a7713b1edbc 129 #define RTC_BKP_DR11 ((uint32_t)0x0000000BU)
AnnaBridge 171:3a7713b1edbc 130 #define RTC_BKP_DR12 ((uint32_t)0x0000000CU)
AnnaBridge 171:3a7713b1edbc 131 #define RTC_BKP_DR13 ((uint32_t)0x0000000DU)
AnnaBridge 171:3a7713b1edbc 132 #define RTC_BKP_DR14 ((uint32_t)0x0000000EU)
AnnaBridge 171:3a7713b1edbc 133 #define RTC_BKP_DR15 ((uint32_t)0x0000000FU)
AnnaBridge 171:3a7713b1edbc 134 #define RTC_BKP_DR16 ((uint32_t)0x00000010U)
AnnaBridge 171:3a7713b1edbc 135 #define RTC_BKP_DR17 ((uint32_t)0x00000011U)
AnnaBridge 171:3a7713b1edbc 136 #define RTC_BKP_DR18 ((uint32_t)0x00000012U)
AnnaBridge 171:3a7713b1edbc 137 #define RTC_BKP_DR19 ((uint32_t)0x00000013U)
AnnaBridge 171:3a7713b1edbc 138 #define RTC_BKP_DR20 ((uint32_t)0x00000014U)
AnnaBridge 171:3a7713b1edbc 139 #define RTC_BKP_DR21 ((uint32_t)0x00000015U)
AnnaBridge 171:3a7713b1edbc 140 #define RTC_BKP_DR22 ((uint32_t)0x00000016U)
AnnaBridge 171:3a7713b1edbc 141 #define RTC_BKP_DR23 ((uint32_t)0x00000017U)
AnnaBridge 171:3a7713b1edbc 142 #define RTC_BKP_DR24 ((uint32_t)0x00000018U)
AnnaBridge 171:3a7713b1edbc 143 #define RTC_BKP_DR25 ((uint32_t)0x00000019U)
AnnaBridge 171:3a7713b1edbc 144 #define RTC_BKP_DR26 ((uint32_t)0x0000001AU)
AnnaBridge 171:3a7713b1edbc 145 #define RTC_BKP_DR27 ((uint32_t)0x0000001BU)
AnnaBridge 171:3a7713b1edbc 146 #define RTC_BKP_DR28 ((uint32_t)0x0000001CU)
AnnaBridge 171:3a7713b1edbc 147 #define RTC_BKP_DR29 ((uint32_t)0x0000001DU)
AnnaBridge 171:3a7713b1edbc 148 #define RTC_BKP_DR30 ((uint32_t)0x0000001EU)
AnnaBridge 171:3a7713b1edbc 149 #define RTC_BKP_DR31 ((uint32_t)0x0000001FU)
AnnaBridge 171:3a7713b1edbc 150 /**
AnnaBridge 171:3a7713b1edbc 151 * @}
AnnaBridge 171:3a7713b1edbc 152 */
AnnaBridge 171:3a7713b1edbc 153
AnnaBridge 171:3a7713b1edbc 154 /** @defgroup RTCEx_Time_Stamp_Edges_definitions RTCEx Time Stamp Edges definitions
AnnaBridge 171:3a7713b1edbc 155 * @{
AnnaBridge 171:3a7713b1edbc 156 */
AnnaBridge 171:3a7713b1edbc 157 #define RTC_TIMESTAMPEDGE_RISING ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 158 #define RTC_TIMESTAMPEDGE_FALLING ((uint32_t)0x00000008U)
AnnaBridge 171:3a7713b1edbc 159 /**
AnnaBridge 171:3a7713b1edbc 160 * @}
AnnaBridge 171:3a7713b1edbc 161 */
AnnaBridge 171:3a7713b1edbc 162
AnnaBridge 171:3a7713b1edbc 163 /** @defgroup RTCEx_Tamper_Pins_Definitions RTCEx Tamper Pins Definitions
AnnaBridge 171:3a7713b1edbc 164 * @{
AnnaBridge 171:3a7713b1edbc 165 */
AnnaBridge 171:3a7713b1edbc 166 #define RTC_TAMPER_1 RTC_TAMPCR_TAMP1E
AnnaBridge 171:3a7713b1edbc 167 #define RTC_TAMPER_2 RTC_TAMPCR_TAMP2E
AnnaBridge 171:3a7713b1edbc 168 #define RTC_TAMPER_3 RTC_TAMPCR_TAMP3E
AnnaBridge 171:3a7713b1edbc 169 /**
AnnaBridge 171:3a7713b1edbc 170 * @}
AnnaBridge 171:3a7713b1edbc 171 */
AnnaBridge 171:3a7713b1edbc 172
AnnaBridge 171:3a7713b1edbc 173 /** @defgroup RTCEx_Tamper_Interrupt_Definitions RTCEx Tamper Interrupt Definitions
AnnaBridge 171:3a7713b1edbc 174 * @{
AnnaBridge 171:3a7713b1edbc 175 */
AnnaBridge 171:3a7713b1edbc 176 #define RTC_TAMPER1_INTERRUPT RTC_TAMPCR_TAMP1IE
AnnaBridge 171:3a7713b1edbc 177 #define RTC_TAMPER2_INTERRUPT RTC_TAMPCR_TAMP2IE
AnnaBridge 171:3a7713b1edbc 178 #define RTC_TAMPER3_INTERRUPT RTC_TAMPCR_TAMP3IE
AnnaBridge 171:3a7713b1edbc 179 #define RTC_ALL_TAMPER_INTERRUPT RTC_TAMPCR_TAMPIE
AnnaBridge 171:3a7713b1edbc 180 /**
AnnaBridge 171:3a7713b1edbc 181 * @}
AnnaBridge 171:3a7713b1edbc 182 */
AnnaBridge 171:3a7713b1edbc 183
AnnaBridge 171:3a7713b1edbc 184 /** @defgroup RTCEx_TimeStamp_Pin_Selection RTCEx TimeStamp Pin Selection
AnnaBridge 171:3a7713b1edbc 185 * @{
AnnaBridge 171:3a7713b1edbc 186 */
AnnaBridge 171:3a7713b1edbc 187 #define RTC_TIMESTAMPPIN_DEFAULT ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 188 #define RTC_TIMESTAMPPIN_POS1 ((uint32_t)0x00000002U)
AnnaBridge 171:3a7713b1edbc 189 #define RTC_TIMESTAMPPIN_POS2 ((uint32_t)0x00000004U)
AnnaBridge 171:3a7713b1edbc 190 /**
AnnaBridge 171:3a7713b1edbc 191 * @}
AnnaBridge 171:3a7713b1edbc 192 */
AnnaBridge 171:3a7713b1edbc 193
AnnaBridge 171:3a7713b1edbc 194 /** @defgroup RTCEx_Tamper_Trigger_Definitions RTCEx Tamper Trigger Definitions
AnnaBridge 171:3a7713b1edbc 195 * @{
AnnaBridge 171:3a7713b1edbc 196 */
AnnaBridge 171:3a7713b1edbc 197 #define RTC_TAMPERTRIGGER_RISINGEDGE ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 198 #define RTC_TAMPERTRIGGER_FALLINGEDGE ((uint32_t)0x00000002U)
AnnaBridge 171:3a7713b1edbc 199 #define RTC_TAMPERTRIGGER_LOWLEVEL RTC_TAMPERTRIGGER_RISINGEDGE
AnnaBridge 171:3a7713b1edbc 200 #define RTC_TAMPERTRIGGER_HIGHLEVEL RTC_TAMPERTRIGGER_FALLINGEDGE
AnnaBridge 171:3a7713b1edbc 201 /**
AnnaBridge 171:3a7713b1edbc 202 * @}
AnnaBridge 171:3a7713b1edbc 203 */
AnnaBridge 171:3a7713b1edbc 204
AnnaBridge 171:3a7713b1edbc 205 /** @defgroup RTCEx_Tamper_EraseBackUp_Definitions RTCEx Tamper EraseBackUp Definitions
AnnaBridge 171:3a7713b1edbc 206 * @{
AnnaBridge 171:3a7713b1edbc 207 */
AnnaBridge 171:3a7713b1edbc 208 #define RTC_TAMPER_ERASE_BACKUP_ENABLE ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 209 #define RTC_TAMPER_ERASE_BACKUP_DISABLE ((uint32_t)0x00020000U)
AnnaBridge 171:3a7713b1edbc 210 /**
AnnaBridge 171:3a7713b1edbc 211 * @}
AnnaBridge 171:3a7713b1edbc 212 */
AnnaBridge 171:3a7713b1edbc 213
AnnaBridge 171:3a7713b1edbc 214 /** @defgroup RTCEx_Tamper_MaskFlag_Definitions RTCEx Tamper MaskFlag Definitions
AnnaBridge 171:3a7713b1edbc 215 * @{
AnnaBridge 171:3a7713b1edbc 216 */
AnnaBridge 171:3a7713b1edbc 217 #define RTC_TAMPERMASK_FLAG_DISABLE ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 218 #define RTC_TAMPERMASK_FLAG_ENABLE ((uint32_t)0x00040000U)
AnnaBridge 171:3a7713b1edbc 219 /**
AnnaBridge 171:3a7713b1edbc 220 * @}
AnnaBridge 171:3a7713b1edbc 221 */
AnnaBridge 171:3a7713b1edbc 222
AnnaBridge 171:3a7713b1edbc 223 /** @defgroup RTCEx_Tamper_Filter_Definitions RTCEx Tamper Filter Definitions
AnnaBridge 171:3a7713b1edbc 224 * @{
AnnaBridge 171:3a7713b1edbc 225 */
AnnaBridge 171:3a7713b1edbc 226 #define RTC_TAMPERFILTER_DISABLE ((uint32_t)0x00000000U) /*!< Tamper filter is disabled */
AnnaBridge 171:3a7713b1edbc 227
AnnaBridge 171:3a7713b1edbc 228 #define RTC_TAMPERFILTER_2SAMPLE ((uint32_t)0x00000800U) /*!< Tamper is activated after 2
AnnaBridge 171:3a7713b1edbc 229 consecutive samples at the active level */
AnnaBridge 171:3a7713b1edbc 230 #define RTC_TAMPERFILTER_4SAMPLE ((uint32_t)0x00001000U) /*!< Tamper is activated after 4
AnnaBridge 171:3a7713b1edbc 231 consecutive samples at the active level */
AnnaBridge 171:3a7713b1edbc 232 #define RTC_TAMPERFILTER_8SAMPLE ((uint32_t)0x00001800U) /*!< Tamper is activated after 8
AnnaBridge 171:3a7713b1edbc 233 consecutive samples at the active leve. */
AnnaBridge 171:3a7713b1edbc 234 /**
AnnaBridge 171:3a7713b1edbc 235 * @}
AnnaBridge 171:3a7713b1edbc 236 */
AnnaBridge 171:3a7713b1edbc 237
AnnaBridge 171:3a7713b1edbc 238 /** @defgroup RTCEx_Tamper_Sampling_Frequencies_Definitions RTCEx Tamper Sampling Frequencies Definitions
AnnaBridge 171:3a7713b1edbc 239 * @{
AnnaBridge 171:3a7713b1edbc 240 */
AnnaBridge 171:3a7713b1edbc 241 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768 ((uint32_t)0x00000000U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 242 with a frequency = RTCCLK / 32768 */
AnnaBridge 171:3a7713b1edbc 243 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384 ((uint32_t)0x00000100U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 244 with a frequency = RTCCLK / 16384 */
AnnaBridge 171:3a7713b1edbc 245 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192 ((uint32_t)0x00000200U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 246 with a frequency = RTCCLK / 8192 */
AnnaBridge 171:3a7713b1edbc 247 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096 ((uint32_t)0x00000300U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 248 with a frequency = RTCCLK / 4096 */
AnnaBridge 171:3a7713b1edbc 249 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048 ((uint32_t)0x00000400U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 250 with a frequency = RTCCLK / 2048 */
AnnaBridge 171:3a7713b1edbc 251 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024 ((uint32_t)0x00000500U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 252 with a frequency = RTCCLK / 1024 */
AnnaBridge 171:3a7713b1edbc 253 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512 ((uint32_t)0x00000600U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 254 with a frequency = RTCCLK / 512 */
AnnaBridge 171:3a7713b1edbc 255 #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256 ((uint32_t)0x00000700U) /*!< Each of the tamper inputs are sampled
AnnaBridge 171:3a7713b1edbc 256 with a frequency = RTCCLK / 256 */
AnnaBridge 171:3a7713b1edbc 257 /**
AnnaBridge 171:3a7713b1edbc 258 * @}
AnnaBridge 171:3a7713b1edbc 259 */
AnnaBridge 171:3a7713b1edbc 260
AnnaBridge 171:3a7713b1edbc 261 /** @defgroup RTCEx_Tamper_Pin_Precharge_Duration_Definitions RTCEx Tamper Pin Precharge Duration Definitions
AnnaBridge 171:3a7713b1edbc 262 * @{
AnnaBridge 171:3a7713b1edbc 263 */
AnnaBridge 171:3a7713b1edbc 264 #define RTC_TAMPERPRECHARGEDURATION_1RTCCLK ((uint32_t)0x00000000U) /*!< Tamper pins are pre-charged before
AnnaBridge 171:3a7713b1edbc 265 sampling during 1 RTCCLK cycle */
AnnaBridge 171:3a7713b1edbc 266 #define RTC_TAMPERPRECHARGEDURATION_2RTCCLK ((uint32_t)0x00002000U) /*!< Tamper pins are pre-charged before
AnnaBridge 171:3a7713b1edbc 267 sampling during 2 RTCCLK cycles */
AnnaBridge 171:3a7713b1edbc 268 #define RTC_TAMPERPRECHARGEDURATION_4RTCCLK ((uint32_t)0x00004000U) /*!< Tamper pins are pre-charged before
AnnaBridge 171:3a7713b1edbc 269 sampling during 4 RTCCLK cycles */
AnnaBridge 171:3a7713b1edbc 270 #define RTC_TAMPERPRECHARGEDURATION_8RTCCLK ((uint32_t)0x00006000U) /*!< Tamper pins are pre-charged before
AnnaBridge 171:3a7713b1edbc 271 sampling during 8 RTCCLK cycles */
AnnaBridge 171:3a7713b1edbc 272 /**
AnnaBridge 171:3a7713b1edbc 273 * @}
AnnaBridge 171:3a7713b1edbc 274 */
AnnaBridge 171:3a7713b1edbc 275
AnnaBridge 171:3a7713b1edbc 276 /** @defgroup RTCEx_Tamper_TimeStampOnTamperDetection_Definitions RTCEx Tamper TimeStampOnTamperDetection Definitions
AnnaBridge 171:3a7713b1edbc 277 * @{
AnnaBridge 171:3a7713b1edbc 278 */
AnnaBridge 171:3a7713b1edbc 279 #define RTC_TIMESTAMPONTAMPERDETECTION_ENABLE ((uint32_t)RTC_TAMPCR_TAMPTS) /*!< TimeStamp on Tamper Detection event saved */
AnnaBridge 171:3a7713b1edbc 280 #define RTC_TIMESTAMPONTAMPERDETECTION_DISABLE ((uint32_t)0x00000000U) /*!< TimeStamp on Tamper Detection event is not saved */
AnnaBridge 171:3a7713b1edbc 281 /**
AnnaBridge 171:3a7713b1edbc 282 * @}
AnnaBridge 171:3a7713b1edbc 283 */
AnnaBridge 171:3a7713b1edbc 284
AnnaBridge 171:3a7713b1edbc 285 /** @defgroup RTCEx_Tamper_Pull_UP_Definitions RTCEx Tamper Pull UP Definitions
AnnaBridge 171:3a7713b1edbc 286 * @{
AnnaBridge 171:3a7713b1edbc 287 */
AnnaBridge 171:3a7713b1edbc 288 #define RTC_TAMPER_PULLUP_ENABLE ((uint32_t)0x00000000U) /*!< TimeStamp on Tamper Detection event saved */
AnnaBridge 171:3a7713b1edbc 289 #define RTC_TAMPER_PULLUP_DISABLE ((uint32_t)RTC_TAMPCR_TAMPPUDIS) /*!< TimeStamp on Tamper Detection event is not saved */
AnnaBridge 171:3a7713b1edbc 290 /**
AnnaBridge 171:3a7713b1edbc 291 * @}
AnnaBridge 171:3a7713b1edbc 292 */
AnnaBridge 171:3a7713b1edbc 293
AnnaBridge 171:3a7713b1edbc 294 /** @defgroup RTCEx_Wakeup_Timer_Definitions RTCEx Wakeup Timer Definitions
AnnaBridge 171:3a7713b1edbc 295 * @{
AnnaBridge 171:3a7713b1edbc 296 */
AnnaBridge 171:3a7713b1edbc 297 #define RTC_WAKEUPCLOCK_RTCCLK_DIV16 ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 298 #define RTC_WAKEUPCLOCK_RTCCLK_DIV8 ((uint32_t)0x00000001U)
AnnaBridge 171:3a7713b1edbc 299 #define RTC_WAKEUPCLOCK_RTCCLK_DIV4 ((uint32_t)0x00000002U)
AnnaBridge 171:3a7713b1edbc 300 #define RTC_WAKEUPCLOCK_RTCCLK_DIV2 ((uint32_t)0x00000003U)
AnnaBridge 171:3a7713b1edbc 301 #define RTC_WAKEUPCLOCK_CK_SPRE_16BITS ((uint32_t)0x00000004U)
AnnaBridge 171:3a7713b1edbc 302 #define RTC_WAKEUPCLOCK_CK_SPRE_17BITS ((uint32_t)0x00000006U)
AnnaBridge 171:3a7713b1edbc 303 /**
AnnaBridge 171:3a7713b1edbc 304 * @}
AnnaBridge 171:3a7713b1edbc 305 */
AnnaBridge 171:3a7713b1edbc 306
AnnaBridge 171:3a7713b1edbc 307 /** @defgroup RTCEx_Smooth_calib_period_Definitions RTCEx Smooth calib period Definitions
AnnaBridge 171:3a7713b1edbc 308 * @{
AnnaBridge 171:3a7713b1edbc 309 */
AnnaBridge 171:3a7713b1edbc 310 #define RTC_SMOOTHCALIB_PERIOD_32SEC ((uint32_t)0x00000000U) /*!< If RTCCLK = 32768 Hz, Smooth calibration
AnnaBridge 171:3a7713b1edbc 311 period is 32s, else 2exp20 RTCCLK seconds */
AnnaBridge 171:3a7713b1edbc 312 #define RTC_SMOOTHCALIB_PERIOD_16SEC ((uint32_t)0x00002000U) /*!< If RTCCLK = 32768 Hz, Smooth calibration
AnnaBridge 171:3a7713b1edbc 313 period is 16s, else 2exp19 RTCCLK seconds */
AnnaBridge 171:3a7713b1edbc 314 #define RTC_SMOOTHCALIB_PERIOD_8SEC ((uint32_t)0x00004000U) /*!< If RTCCLK = 32768 Hz, Smooth calibration
AnnaBridge 171:3a7713b1edbc 315 period is 8s, else 2exp18 RTCCLK seconds */
AnnaBridge 171:3a7713b1edbc 316 /**
AnnaBridge 171:3a7713b1edbc 317 * @}
AnnaBridge 171:3a7713b1edbc 318 */
AnnaBridge 171:3a7713b1edbc 319
AnnaBridge 171:3a7713b1edbc 320 /** @defgroup RTCEx_Smooth_calib_Plus_pulses_Definitions RTCEx Smooth calib Plus pulses Definitions
AnnaBridge 171:3a7713b1edbc 321 * @{
AnnaBridge 171:3a7713b1edbc 322 */
AnnaBridge 171:3a7713b1edbc 323 #define RTC_SMOOTHCALIB_PLUSPULSES_SET ((uint32_t)0x00008000U) /*!< The number of RTCCLK pulses added
AnnaBridge 171:3a7713b1edbc 324 during a X -second window = Y - CALM[8:0]
AnnaBridge 171:3a7713b1edbc 325 with Y = 512, 256, 128 when X = 32, 16, 8 */
AnnaBridge 171:3a7713b1edbc 326 #define RTC_SMOOTHCALIB_PLUSPULSES_RESET ((uint32_t)0x00000000U) /*!< The number of RTCCLK pulses subbstited
AnnaBridge 171:3a7713b1edbc 327 during a 32-second window = CALM[8:0] */
AnnaBridge 171:3a7713b1edbc 328 /**
AnnaBridge 171:3a7713b1edbc 329 * @}
AnnaBridge 171:3a7713b1edbc 330 */
AnnaBridge 171:3a7713b1edbc 331
AnnaBridge 171:3a7713b1edbc 332 /** @defgroup RTCEx_Add_1_Second_Parameter_Definitions RTCEx Add 1 Second Parameter Definitions
AnnaBridge 171:3a7713b1edbc 333 * @{
AnnaBridge 171:3a7713b1edbc 334 */
AnnaBridge 171:3a7713b1edbc 335 #define RTC_SHIFTADD1S_RESET ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 336 #define RTC_SHIFTADD1S_SET ((uint32_t)0x80000000U)
AnnaBridge 171:3a7713b1edbc 337 /**
AnnaBridge 171:3a7713b1edbc 338 * @}
AnnaBridge 171:3a7713b1edbc 339 */
AnnaBridge 171:3a7713b1edbc 340
AnnaBridge 171:3a7713b1edbc 341 /** @defgroup RTCEx_Calib_Output_selection_Definitions RTCEx Calib Output selection Definitions
AnnaBridge 171:3a7713b1edbc 342 * @{
AnnaBridge 171:3a7713b1edbc 343 */
AnnaBridge 171:3a7713b1edbc 344 #define RTC_CALIBOUTPUT_512HZ ((uint32_t)0x00000000U)
AnnaBridge 171:3a7713b1edbc 345 #define RTC_CALIBOUTPUT_1HZ ((uint32_t)0x00080000U)
AnnaBridge 171:3a7713b1edbc 346 /**
AnnaBridge 171:3a7713b1edbc 347 * @}
AnnaBridge 171:3a7713b1edbc 348 */
AnnaBridge 171:3a7713b1edbc 349
AnnaBridge 171:3a7713b1edbc 350 /**
AnnaBridge 171:3a7713b1edbc 351 * @}
AnnaBridge 171:3a7713b1edbc 352 */
AnnaBridge 171:3a7713b1edbc 353
AnnaBridge 171:3a7713b1edbc 354 /* Exported macros -----------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 355 /** @defgroup RTCEx_Exported_Macros RTCEx Exported Macros
AnnaBridge 171:3a7713b1edbc 356 * @{
AnnaBridge 171:3a7713b1edbc 357 */
AnnaBridge 171:3a7713b1edbc 358
AnnaBridge 171:3a7713b1edbc 359 /**
AnnaBridge 171:3a7713b1edbc 360 * @brief Enable the RTC WakeUp Timer peripheral.
AnnaBridge 171:3a7713b1edbc 361 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 362 * @retval None
AnnaBridge 171:3a7713b1edbc 363 */
AnnaBridge 171:3a7713b1edbc 364 #define __HAL_RTC_WAKEUPTIMER_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_WUTE))
AnnaBridge 171:3a7713b1edbc 365
AnnaBridge 171:3a7713b1edbc 366 /**
AnnaBridge 171:3a7713b1edbc 367 * @brief Disable the RTC WakeUp Timer peripheral.
AnnaBridge 171:3a7713b1edbc 368 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 369 * @retval None
AnnaBridge 171:3a7713b1edbc 370 */
AnnaBridge 171:3a7713b1edbc 371 #define __HAL_RTC_WAKEUPTIMER_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_WUTE))
AnnaBridge 171:3a7713b1edbc 372
AnnaBridge 171:3a7713b1edbc 373 /**
AnnaBridge 171:3a7713b1edbc 374 * @brief Enable the RTC WakeUpTimer interrupt.
AnnaBridge 171:3a7713b1edbc 375 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 376 * @param __INTERRUPT__ specifies the RTC WakeUpTimer interrupt sources to be enabled or disabled.
AnnaBridge 171:3a7713b1edbc 377 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 378 * @arg RTC_IT_WUT: WakeUpTimer interrupt
AnnaBridge 171:3a7713b1edbc 379 * @retval None
AnnaBridge 171:3a7713b1edbc 380 */
AnnaBridge 171:3a7713b1edbc 381 #define __HAL_RTC_WAKEUPTIMER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
AnnaBridge 171:3a7713b1edbc 382
AnnaBridge 171:3a7713b1edbc 383 /**
AnnaBridge 171:3a7713b1edbc 384 * @brief Disable the RTC WakeUpTimer interrupt.
AnnaBridge 171:3a7713b1edbc 385 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 386 * @param __INTERRUPT__ specifies the RTC WakeUpTimer interrupt sources to be enabled or disabled.
AnnaBridge 171:3a7713b1edbc 387 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 388 * @arg RTC_IT_WUT: WakeUpTimer interrupt
AnnaBridge 171:3a7713b1edbc 389 * @retval None
AnnaBridge 171:3a7713b1edbc 390 */
AnnaBridge 171:3a7713b1edbc 391 #define __HAL_RTC_WAKEUPTIMER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
AnnaBridge 171:3a7713b1edbc 392
AnnaBridge 171:3a7713b1edbc 393 /**
AnnaBridge 171:3a7713b1edbc 394 * @brief Check whether the specified RTC WakeUpTimer interrupt has occurred or not.
AnnaBridge 171:3a7713b1edbc 395 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 396 * @param __INTERRUPT__ specifies the RTC WakeUpTimer interrupt sources to check.
AnnaBridge 171:3a7713b1edbc 397 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 398 * @arg RTC_IT_WUT: WakeUpTimer interrupt
AnnaBridge 171:3a7713b1edbc 399 * @retval None
AnnaBridge 171:3a7713b1edbc 400 */
AnnaBridge 171:3a7713b1edbc 401 #define __HAL_RTC_WAKEUPTIMER_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 402
AnnaBridge 171:3a7713b1edbc 403 /**
AnnaBridge 171:3a7713b1edbc 404 * @brief Check whether the specified RTC Wake Up timer interrupt has been enabled or not.
AnnaBridge 171:3a7713b1edbc 405 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 406 * @param __INTERRUPT__ specifies the RTC Wake Up timer interrupt sources to check.
AnnaBridge 171:3a7713b1edbc 407 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 408 * @arg RTC_IT_WUT: WakeUpTimer interrupt
AnnaBridge 171:3a7713b1edbc 409 * @retval None
AnnaBridge 171:3a7713b1edbc 410 */
AnnaBridge 171:3a7713b1edbc 411 #define __HAL_RTC_WAKEUPTIMER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 412
AnnaBridge 171:3a7713b1edbc 413 /**
AnnaBridge 171:3a7713b1edbc 414 * @brief Get the selected RTC WakeUpTimer's flag status.
AnnaBridge 171:3a7713b1edbc 415 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 416 * @param __FLAG__ specifies the RTC WakeUpTimer Flag is pending or not.
AnnaBridge 171:3a7713b1edbc 417 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 418 * @arg RTC_FLAG_WUTF
AnnaBridge 171:3a7713b1edbc 419 * @arg RTC_FLAG_WUTWF
AnnaBridge 171:3a7713b1edbc 420 * @retval None
AnnaBridge 171:3a7713b1edbc 421 */
AnnaBridge 171:3a7713b1edbc 422 #define __HAL_RTC_WAKEUPTIMER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 423
AnnaBridge 171:3a7713b1edbc 424 /**
AnnaBridge 171:3a7713b1edbc 425 * @brief Clear the RTC Wake Up timer's pending flags.
AnnaBridge 171:3a7713b1edbc 426 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 427 * @param __FLAG__ specifies the RTC WakeUpTimer Flag to clear.
AnnaBridge 171:3a7713b1edbc 428 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 429 * @arg RTC_FLAG_WUTF
AnnaBridge 171:3a7713b1edbc 430 * @retval None
AnnaBridge 171:3a7713b1edbc 431 */
AnnaBridge 171:3a7713b1edbc 432 #define __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
AnnaBridge 171:3a7713b1edbc 433
AnnaBridge 171:3a7713b1edbc 434 /**
AnnaBridge 171:3a7713b1edbc 435 * @brief Enable the RTC Tamper1 input detection.
AnnaBridge 171:3a7713b1edbc 436 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 437 * @retval None
AnnaBridge 171:3a7713b1edbc 438 */
AnnaBridge 171:3a7713b1edbc 439 #define __HAL_RTC_TAMPER1_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR |= (RTC_TAMPCR_TAMP1E))
AnnaBridge 171:3a7713b1edbc 440
AnnaBridge 171:3a7713b1edbc 441 /**
AnnaBridge 171:3a7713b1edbc 442 * @brief Disable the RTC Tamper1 input detection.
AnnaBridge 171:3a7713b1edbc 443 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 444 * @retval None
AnnaBridge 171:3a7713b1edbc 445 */
AnnaBridge 171:3a7713b1edbc 446 #define __HAL_RTC_TAMPER1_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR &= ~(RTC_TAMPCR_TAMP1E))
AnnaBridge 171:3a7713b1edbc 447
AnnaBridge 171:3a7713b1edbc 448 /**
AnnaBridge 171:3a7713b1edbc 449 * @brief Enable the RTC Tamper2 input detection.
AnnaBridge 171:3a7713b1edbc 450 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 451 * @retval None
AnnaBridge 171:3a7713b1edbc 452 */
AnnaBridge 171:3a7713b1edbc 453 #define __HAL_RTC_TAMPER2_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR |= (RTC_TAMPCR_TAMP2E))
AnnaBridge 171:3a7713b1edbc 454
AnnaBridge 171:3a7713b1edbc 455 /**
AnnaBridge 171:3a7713b1edbc 456 * @brief Disable the RTC Tamper2 input detection.
AnnaBridge 171:3a7713b1edbc 457 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 458 * @retval None
AnnaBridge 171:3a7713b1edbc 459 */
AnnaBridge 171:3a7713b1edbc 460 #define __HAL_RTC_TAMPER2_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR &= ~(RTC_TAMPCR_TAMP2E))
AnnaBridge 171:3a7713b1edbc 461
AnnaBridge 171:3a7713b1edbc 462 /**
AnnaBridge 171:3a7713b1edbc 463 * @brief Enable the RTC Tamper3 input detection.
AnnaBridge 171:3a7713b1edbc 464 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 465 * @retval None
AnnaBridge 171:3a7713b1edbc 466 */
AnnaBridge 171:3a7713b1edbc 467 #define __HAL_RTC_TAMPER3_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR |= (RTC_TAMPCR_TAMP3E))
AnnaBridge 171:3a7713b1edbc 468
AnnaBridge 171:3a7713b1edbc 469 /**
AnnaBridge 171:3a7713b1edbc 470 * @brief Disable the RTC Tamper3 input detection.
AnnaBridge 171:3a7713b1edbc 471 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 472 * @retval None
AnnaBridge 171:3a7713b1edbc 473 */
AnnaBridge 171:3a7713b1edbc 474 #define __HAL_RTC_TAMPER3_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAMPCR &= ~(RTC_TAMPCR_TAMP3E))
AnnaBridge 171:3a7713b1edbc 475
AnnaBridge 171:3a7713b1edbc 476 /**
AnnaBridge 171:3a7713b1edbc 477 * @brief Check whether the specified RTC Tamper interrupt has occurred or not.
AnnaBridge 171:3a7713b1edbc 478 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 479 * @param __INTERRUPT__ specifies the RTC Tamper interrupt to check.
AnnaBridge 171:3a7713b1edbc 480 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 481 * @arg RTC_IT_TAMP: All tampers interrupts
AnnaBridge 171:3a7713b1edbc 482 * @arg RTC_IT_TAMP1: Tamper1 interrupt
AnnaBridge 171:3a7713b1edbc 483 * @arg RTC_IT_TAMP2: Tamper2 interrupt
AnnaBridge 171:3a7713b1edbc 484 * @arg RTC_IT_TAMP3: Tamper3 interrupt
AnnaBridge 171:3a7713b1edbc 485 * @retval None
AnnaBridge 171:3a7713b1edbc 486 */
AnnaBridge 171:3a7713b1edbc 487 #define __HAL_RTC_TAMPER_GET_IT(__HANDLE__, __INTERRUPT__) (((__INTERRUPT__) == RTC_IT_TAMP1) ? (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 3)) != RESET) ? SET : RESET) : \
AnnaBridge 171:3a7713b1edbc 488 ((__INTERRUPT__) == RTC_IT_TAMP2) ? (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 5)) != RESET) ? SET : RESET) : \
AnnaBridge 171:3a7713b1edbc 489 (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 7)) != RESET) ? SET : RESET))
AnnaBridge 171:3a7713b1edbc 490
AnnaBridge 171:3a7713b1edbc 491 /**
AnnaBridge 171:3a7713b1edbc 492 * @brief Check whether the specified RTC Tamper interrupt has been enabled or not.
AnnaBridge 171:3a7713b1edbc 493 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 494 * @param __INTERRUPT__ specifies the RTC Tamper interrupt source to check.
AnnaBridge 171:3a7713b1edbc 495 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 496 * @arg RTC_IT_TAMP: All tampers interrupts
AnnaBridge 171:3a7713b1edbc 497 * @arg RTC_IT_TAMP1: Tamper1 interrupt
AnnaBridge 171:3a7713b1edbc 498 * @arg RTC_IT_TAMP2: Tamper2 interrupt
AnnaBridge 171:3a7713b1edbc 499 * @arg RTC_IT_TAMP3: Tamper3 interrupt
AnnaBridge 171:3a7713b1edbc 500 * @retval None
AnnaBridge 171:3a7713b1edbc 501 */
AnnaBridge 171:3a7713b1edbc 502 #define __HAL_RTC_TAMPER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->TAMPCR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 503
AnnaBridge 171:3a7713b1edbc 504 /**
AnnaBridge 171:3a7713b1edbc 505 * @brief Get the selected RTC Tamper's flag status.
AnnaBridge 171:3a7713b1edbc 506 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 507 * @param __FLAG__ specifies the RTC Tamper Flag is pending or not.
AnnaBridge 171:3a7713b1edbc 508 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 509 * @arg RTC_FLAG_TAMP1F: Tamper1 flag
AnnaBridge 171:3a7713b1edbc 510 * @arg RTC_FLAG_TAMP2F: Tamper2 flag
AnnaBridge 171:3a7713b1edbc 511 * @arg RTC_FLAG_TAMP3F: Tamper3 flag
AnnaBridge 171:3a7713b1edbc 512 * @retval None
AnnaBridge 171:3a7713b1edbc 513 */
AnnaBridge 171:3a7713b1edbc 514 #define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 515
AnnaBridge 171:3a7713b1edbc 516 /**
AnnaBridge 171:3a7713b1edbc 517 * @brief Clear the RTC Tamper's pending flags.
AnnaBridge 171:3a7713b1edbc 518 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 519 * @param __FLAG__ specifies the RTC Tamper Flag sources to clear.
AnnaBridge 171:3a7713b1edbc 520 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 521 * @arg RTC_FLAG_TAMP1F: Tamper1 flag
AnnaBridge 171:3a7713b1edbc 522 * @arg RTC_FLAG_TAMP2F: Tamper2 flag
AnnaBridge 171:3a7713b1edbc 523 * @arg RTC_FLAG_TAMP3F: Tamper3 flag
AnnaBridge 171:3a7713b1edbc 524 * @retval None
AnnaBridge 171:3a7713b1edbc 525 */
AnnaBridge 171:3a7713b1edbc 526 #define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
AnnaBridge 171:3a7713b1edbc 527
AnnaBridge 171:3a7713b1edbc 528 /**
AnnaBridge 171:3a7713b1edbc 529 * @brief Enable the RTC TimeStamp peripheral.
AnnaBridge 171:3a7713b1edbc 530 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 531 * @retval None
AnnaBridge 171:3a7713b1edbc 532 */
AnnaBridge 171:3a7713b1edbc 533 #define __HAL_RTC_TIMESTAMP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_TSE))
AnnaBridge 171:3a7713b1edbc 534
AnnaBridge 171:3a7713b1edbc 535 /**
AnnaBridge 171:3a7713b1edbc 536 * @brief Disable the RTC TimeStamp peripheral.
AnnaBridge 171:3a7713b1edbc 537 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 538 * @retval None
AnnaBridge 171:3a7713b1edbc 539 */
AnnaBridge 171:3a7713b1edbc 540 #define __HAL_RTC_TIMESTAMP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_TSE))
AnnaBridge 171:3a7713b1edbc 541
AnnaBridge 171:3a7713b1edbc 542 /**
AnnaBridge 171:3a7713b1edbc 543 * @brief Enable the RTC TimeStamp interrupt.
AnnaBridge 171:3a7713b1edbc 544 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 545 * @param __INTERRUPT__ specifies the RTC TimeStamp interrupt sources to be enabled or disabled.
AnnaBridge 171:3a7713b1edbc 546 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 547 * @arg RTC_IT_TS: TimeStamp interrupt
AnnaBridge 171:3a7713b1edbc 548 * @retval None
AnnaBridge 171:3a7713b1edbc 549 */
AnnaBridge 171:3a7713b1edbc 550 #define __HAL_RTC_TIMESTAMP_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
AnnaBridge 171:3a7713b1edbc 551
AnnaBridge 171:3a7713b1edbc 552 /**
AnnaBridge 171:3a7713b1edbc 553 * @brief Disable the RTC TimeStamp interrupt.
AnnaBridge 171:3a7713b1edbc 554 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 555 * @param __INTERRUPT__ specifies the RTC TimeStamp interrupt sources to be enabled or disabled.
AnnaBridge 171:3a7713b1edbc 556 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 557 * @arg RTC_IT_TS: TimeStamp interrupt
AnnaBridge 171:3a7713b1edbc 558 * @retval None
AnnaBridge 171:3a7713b1edbc 559 */
AnnaBridge 171:3a7713b1edbc 560 #define __HAL_RTC_TIMESTAMP_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
AnnaBridge 171:3a7713b1edbc 561
AnnaBridge 171:3a7713b1edbc 562 /**
AnnaBridge 171:3a7713b1edbc 563 * @brief Check whether the specified RTC TimeStamp interrupt has occurred or not.
AnnaBridge 171:3a7713b1edbc 564 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 565 * @param __INTERRUPT__ specifies the RTC TimeStamp interrupt sources to check.
AnnaBridge 171:3a7713b1edbc 566 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 567 * @arg RTC_IT_TS: TimeStamp interrupt
AnnaBridge 171:3a7713b1edbc 568 * @retval None
AnnaBridge 171:3a7713b1edbc 569 */
AnnaBridge 171:3a7713b1edbc 570 #define __HAL_RTC_TIMESTAMP_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 571
AnnaBridge 171:3a7713b1edbc 572 /**
AnnaBridge 171:3a7713b1edbc 573 * @brief Check whether the specified RTC Time Stamp interrupt has been enabled or not.
AnnaBridge 171:3a7713b1edbc 574 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 575 * @param __INTERRUPT__ specifies the RTC Time Stamp interrupt source to check.
AnnaBridge 171:3a7713b1edbc 576 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 577 * @arg RTC_IT_TS: TimeStamp interrupt
AnnaBridge 171:3a7713b1edbc 578 * @retval None
AnnaBridge 171:3a7713b1edbc 579 */
AnnaBridge 171:3a7713b1edbc 580 #define __HAL_RTC_TIMESTAMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 581
AnnaBridge 171:3a7713b1edbc 582 /**
AnnaBridge 171:3a7713b1edbc 583 * @brief Get the selected RTC TimeStamp's flag status.
AnnaBridge 171:3a7713b1edbc 584 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 585 * @param __FLAG__ specifies the RTC TimeStamp Flag is pending or not.
AnnaBridge 171:3a7713b1edbc 586 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 587 * @arg RTC_FLAG_TSF
AnnaBridge 171:3a7713b1edbc 588 * @arg RTC_FLAG_TSOVF
AnnaBridge 171:3a7713b1edbc 589 * @retval None
AnnaBridge 171:3a7713b1edbc 590 */
AnnaBridge 171:3a7713b1edbc 591 #define __HAL_RTC_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 592
AnnaBridge 171:3a7713b1edbc 593 /**
AnnaBridge 171:3a7713b1edbc 594 * @brief Clear the RTC Time Stamp's pending flags.
AnnaBridge 171:3a7713b1edbc 595 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 596 * @param __FLAG__ specifies the RTC Alarm Flag sources to clear.
AnnaBridge 171:3a7713b1edbc 597 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 598 * @arg RTC_FLAG_TSF
AnnaBridge 171:3a7713b1edbc 599 * @arg RTC_FLAG_TSOVF
AnnaBridge 171:3a7713b1edbc 600 * @retval None
AnnaBridge 171:3a7713b1edbc 601 */
AnnaBridge 171:3a7713b1edbc 602 #define __HAL_RTC_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
AnnaBridge 171:3a7713b1edbc 603
AnnaBridge 171:3a7713b1edbc 604 /**
AnnaBridge 171:3a7713b1edbc 605 * @brief Enable the RTC internal TimeStamp peripheral.
AnnaBridge 171:3a7713b1edbc 606 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 607 * @retval None
AnnaBridge 171:3a7713b1edbc 608 */
AnnaBridge 171:3a7713b1edbc 609 #define __HAL_RTC_INTERNAL_TIMESTAMP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ITSE))
AnnaBridge 171:3a7713b1edbc 610
AnnaBridge 171:3a7713b1edbc 611 /**
AnnaBridge 171:3a7713b1edbc 612 * @brief Disable the RTC internal TimeStamp peripheral.
AnnaBridge 171:3a7713b1edbc 613 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 614 * @retval None
AnnaBridge 171:3a7713b1edbc 615 */
AnnaBridge 171:3a7713b1edbc 616 #define __HAL_RTC_INTERNAL_TIMESTAMP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ITSE))
AnnaBridge 171:3a7713b1edbc 617
AnnaBridge 171:3a7713b1edbc 618 /**
AnnaBridge 171:3a7713b1edbc 619 * @brief Get the selected RTC Internal Time Stamp's flag status.
AnnaBridge 171:3a7713b1edbc 620 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 621 * @param __FLAG__ specifies the RTC Internal Time Stamp Flag is pending or not.
AnnaBridge 171:3a7713b1edbc 622 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 623 * @arg RTC_FLAG_ITSF
AnnaBridge 171:3a7713b1edbc 624 * @retval None
AnnaBridge 171:3a7713b1edbc 625 */
AnnaBridge 171:3a7713b1edbc 626 #define __HAL_RTC_INTERNAL_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 627
AnnaBridge 171:3a7713b1edbc 628 /**
AnnaBridge 171:3a7713b1edbc 629 * @brief Clear the RTC Internal Time Stamp's pending flags.
AnnaBridge 171:3a7713b1edbc 630 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 631 * @param __FLAG__ specifies the RTC Internal Time Stamp Flag source to clear.
AnnaBridge 171:3a7713b1edbc 632 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 633 * @arg RTC_FLAG_ITSF
AnnaBridge 171:3a7713b1edbc 634 * @retval None
AnnaBridge 171:3a7713b1edbc 635 */
AnnaBridge 171:3a7713b1edbc 636 #define __HAL_RTC_INTERNAL_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~(((__FLAG__) | RTC_ISR_INIT)& 0x0003FFFF)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
AnnaBridge 171:3a7713b1edbc 637
AnnaBridge 171:3a7713b1edbc 638 /**
AnnaBridge 171:3a7713b1edbc 639 * @brief Enable the RTC calibration output.
AnnaBridge 171:3a7713b1edbc 640 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 641 * @retval None
AnnaBridge 171:3a7713b1edbc 642 */
AnnaBridge 171:3a7713b1edbc 643 #define __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_COE))
AnnaBridge 171:3a7713b1edbc 644
AnnaBridge 171:3a7713b1edbc 645 /**
AnnaBridge 171:3a7713b1edbc 646 * @brief Disable the calibration output.
AnnaBridge 171:3a7713b1edbc 647 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 648 * @retval None
AnnaBridge 171:3a7713b1edbc 649 */
AnnaBridge 171:3a7713b1edbc 650 #define __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_COE))
AnnaBridge 171:3a7713b1edbc 651
AnnaBridge 171:3a7713b1edbc 652 /**
AnnaBridge 171:3a7713b1edbc 653 * @brief Enable the clock reference detection.
AnnaBridge 171:3a7713b1edbc 654 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 655 * @retval None
AnnaBridge 171:3a7713b1edbc 656 */
AnnaBridge 171:3a7713b1edbc 657 #define __HAL_RTC_CLOCKREF_DETECTION_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_REFCKON))
AnnaBridge 171:3a7713b1edbc 658
AnnaBridge 171:3a7713b1edbc 659 /**
AnnaBridge 171:3a7713b1edbc 660 * @brief Disable the clock reference detection.
AnnaBridge 171:3a7713b1edbc 661 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 662 * @retval None
AnnaBridge 171:3a7713b1edbc 663 */
AnnaBridge 171:3a7713b1edbc 664 #define __HAL_RTC_CLOCKREF_DETECTION_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_REFCKON))
AnnaBridge 171:3a7713b1edbc 665
AnnaBridge 171:3a7713b1edbc 666 /**
AnnaBridge 171:3a7713b1edbc 667 * @brief Get the selected RTC shift operation's flag status.
AnnaBridge 171:3a7713b1edbc 668 * @param __HANDLE__ specifies the RTC handle.
AnnaBridge 171:3a7713b1edbc 669 * @param __FLAG__ specifies the RTC shift operation Flag is pending or not.
AnnaBridge 171:3a7713b1edbc 670 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 671 * @arg RTC_FLAG_SHPF
AnnaBridge 171:3a7713b1edbc 672 * @retval None
AnnaBridge 171:3a7713b1edbc 673 */
AnnaBridge 171:3a7713b1edbc 674 #define __HAL_RTC_SHIFT_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET)
AnnaBridge 171:3a7713b1edbc 675
AnnaBridge 171:3a7713b1edbc 676 /**
AnnaBridge 171:3a7713b1edbc 677 * @brief Enable interrupt on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 678 * @retval None
AnnaBridge 171:3a7713b1edbc 679 */
AnnaBridge 171:3a7713b1edbc 680 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 681
AnnaBridge 171:3a7713b1edbc 682 /**
AnnaBridge 171:3a7713b1edbc 683 * @brief Disable interrupt on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 684 * @retval None
AnnaBridge 171:3a7713b1edbc 685 */
AnnaBridge 171:3a7713b1edbc 686 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
AnnaBridge 171:3a7713b1edbc 687
AnnaBridge 171:3a7713b1edbc 688 /**
AnnaBridge 171:3a7713b1edbc 689 * @brief Enable event on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 690 * @retval None.
AnnaBridge 171:3a7713b1edbc 691 */
AnnaBridge 171:3a7713b1edbc 692 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 693
AnnaBridge 171:3a7713b1edbc 694 /**
AnnaBridge 171:3a7713b1edbc 695 * @brief Disable event on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 696 * @retval None.
AnnaBridge 171:3a7713b1edbc 697 */
AnnaBridge 171:3a7713b1edbc 698 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
AnnaBridge 171:3a7713b1edbc 699
AnnaBridge 171:3a7713b1edbc 700 /**
AnnaBridge 171:3a7713b1edbc 701 * @brief Enable falling edge trigger on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 702 * @retval None.
AnnaBridge 171:3a7713b1edbc 703 */
AnnaBridge 171:3a7713b1edbc 704 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 705
AnnaBridge 171:3a7713b1edbc 706 /**
AnnaBridge 171:3a7713b1edbc 707 * @brief Disable falling edge trigger on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 708 * @retval None.
AnnaBridge 171:3a7713b1edbc 709 */
AnnaBridge 171:3a7713b1edbc 710 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
AnnaBridge 171:3a7713b1edbc 711
AnnaBridge 171:3a7713b1edbc 712 /**
AnnaBridge 171:3a7713b1edbc 713 * @brief Enable rising edge trigger on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 714 * @retval None.
AnnaBridge 171:3a7713b1edbc 715 */
AnnaBridge 171:3a7713b1edbc 716 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 717
AnnaBridge 171:3a7713b1edbc 718 /**
AnnaBridge 171:3a7713b1edbc 719 * @brief Disable rising edge trigger on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 720 * @retval None.
AnnaBridge 171:3a7713b1edbc 721 */
AnnaBridge 171:3a7713b1edbc 722 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT))
AnnaBridge 171:3a7713b1edbc 723
AnnaBridge 171:3a7713b1edbc 724 /**
AnnaBridge 171:3a7713b1edbc 725 * @brief Enable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 726 * @retval None.
AnnaBridge 171:3a7713b1edbc 727 */
AnnaBridge 171:3a7713b1edbc 728 #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_EDGE() __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE();
AnnaBridge 171:3a7713b1edbc 729
AnnaBridge 171:3a7713b1edbc 730 /**
AnnaBridge 171:3a7713b1edbc 731 * @brief Disable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 732 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 733 * @retval None.
AnnaBridge 171:3a7713b1edbc 734 */
AnnaBridge 171:3a7713b1edbc 735 #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_EDGE() __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE();
AnnaBridge 171:3a7713b1edbc 736
AnnaBridge 171:3a7713b1edbc 737 /**
AnnaBridge 171:3a7713b1edbc 738 * @brief Check whether the RTC WakeUp Timer associated Exti line interrupt flag is set or not.
AnnaBridge 171:3a7713b1edbc 739 * @retval Line Status.
AnnaBridge 171:3a7713b1edbc 740 */
AnnaBridge 171:3a7713b1edbc 741 #define __HAL_RTC_WAKEUPTIMER_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 742
AnnaBridge 171:3a7713b1edbc 743 /**
AnnaBridge 171:3a7713b1edbc 744 * @brief Clear the RTC WakeUp Timer associated Exti line flag.
AnnaBridge 171:3a7713b1edbc 745 * @retval None.
AnnaBridge 171:3a7713b1edbc 746 */
AnnaBridge 171:3a7713b1edbc 747 #define __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 748
AnnaBridge 171:3a7713b1edbc 749 /**
AnnaBridge 171:3a7713b1edbc 750 * @brief Generate a Software interrupt on the RTC WakeUp Timer associated Exti line.
AnnaBridge 171:3a7713b1edbc 751 * @retval None.
AnnaBridge 171:3a7713b1edbc 752 */
AnnaBridge 171:3a7713b1edbc 753 #define __HAL_RTC_WAKEUPTIMER_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT)
AnnaBridge 171:3a7713b1edbc 754
AnnaBridge 171:3a7713b1edbc 755 /**
AnnaBridge 171:3a7713b1edbc 756 * @brief Enable interrupt on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 757 * @retval None
AnnaBridge 171:3a7713b1edbc 758 */
AnnaBridge 171:3a7713b1edbc 759 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 760
AnnaBridge 171:3a7713b1edbc 761 /**
AnnaBridge 171:3a7713b1edbc 762 * @brief Disable interrupt on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 763 * @retval None
AnnaBridge 171:3a7713b1edbc 764 */
AnnaBridge 171:3a7713b1edbc 765 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
AnnaBridge 171:3a7713b1edbc 766
AnnaBridge 171:3a7713b1edbc 767 /**
AnnaBridge 171:3a7713b1edbc 768 * @brief Enable event on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 769 * @retval None.
AnnaBridge 171:3a7713b1edbc 770 */
AnnaBridge 171:3a7713b1edbc 771 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 772
AnnaBridge 171:3a7713b1edbc 773 /**
AnnaBridge 171:3a7713b1edbc 774 * @brief Disable event on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 775 * @retval None.
AnnaBridge 171:3a7713b1edbc 776 */
AnnaBridge 171:3a7713b1edbc 777 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
AnnaBridge 171:3a7713b1edbc 778
AnnaBridge 171:3a7713b1edbc 779 /**
AnnaBridge 171:3a7713b1edbc 780 * @brief Enable falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 781 * @retval None.
AnnaBridge 171:3a7713b1edbc 782 */
AnnaBridge 171:3a7713b1edbc 783 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 784
AnnaBridge 171:3a7713b1edbc 785 /**
AnnaBridge 171:3a7713b1edbc 786 * @brief Disable falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 787 * @retval None.
AnnaBridge 171:3a7713b1edbc 788 */
AnnaBridge 171:3a7713b1edbc 789 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
AnnaBridge 171:3a7713b1edbc 790
AnnaBridge 171:3a7713b1edbc 791 /**
AnnaBridge 171:3a7713b1edbc 792 * @brief Enable rising edge trigger on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 793 * @retval None.
AnnaBridge 171:3a7713b1edbc 794 */
AnnaBridge 171:3a7713b1edbc 795 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 796
AnnaBridge 171:3a7713b1edbc 797 /**
AnnaBridge 171:3a7713b1edbc 798 * @brief Disable rising edge trigger on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 799 * @retval None.
AnnaBridge 171:3a7713b1edbc 800 */
AnnaBridge 171:3a7713b1edbc 801 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT))
AnnaBridge 171:3a7713b1edbc 802
AnnaBridge 171:3a7713b1edbc 803 /**
AnnaBridge 171:3a7713b1edbc 804 * @brief Enable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 805 * @retval None.
AnnaBridge 171:3a7713b1edbc 806 */
AnnaBridge 171:3a7713b1edbc 807 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_FALLING_EDGE() __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE();
AnnaBridge 171:3a7713b1edbc 808
AnnaBridge 171:3a7713b1edbc 809 /**
AnnaBridge 171:3a7713b1edbc 810 * @brief Disable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line.
AnnaBridge 171:3a7713b1edbc 811 * This parameter can be:
AnnaBridge 171:3a7713b1edbc 812 * @retval None.
AnnaBridge 171:3a7713b1edbc 813 */
AnnaBridge 171:3a7713b1edbc 814 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_FALLING_EDGE() __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE();
AnnaBridge 171:3a7713b1edbc 815
AnnaBridge 171:3a7713b1edbc 816 /**
AnnaBridge 171:3a7713b1edbc 817 * @brief Check whether the RTC Tamper and Timestamp associated Exti line interrupt flag is set or not.
AnnaBridge 171:3a7713b1edbc 818 * @retval Line Status.
AnnaBridge 171:3a7713b1edbc 819 */
AnnaBridge 171:3a7713b1edbc 820 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 821
AnnaBridge 171:3a7713b1edbc 822 /**
AnnaBridge 171:3a7713b1edbc 823 * @brief Clear the RTC Tamper and Timestamp associated Exti line flag.
AnnaBridge 171:3a7713b1edbc 824 * @retval None.
AnnaBridge 171:3a7713b1edbc 825 */
AnnaBridge 171:3a7713b1edbc 826 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 827
AnnaBridge 171:3a7713b1edbc 828 /**
AnnaBridge 171:3a7713b1edbc 829 * @brief Generate a Software interrupt on the RTC Tamper and Timestamp associated Exti line
AnnaBridge 171:3a7713b1edbc 830 * @retval None.
AnnaBridge 171:3a7713b1edbc 831 */
AnnaBridge 171:3a7713b1edbc 832 #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)
AnnaBridge 171:3a7713b1edbc 833
AnnaBridge 171:3a7713b1edbc 834 /**
AnnaBridge 171:3a7713b1edbc 835 * @}
AnnaBridge 171:3a7713b1edbc 836 */
AnnaBridge 171:3a7713b1edbc 837
AnnaBridge 171:3a7713b1edbc 838 /* Exported functions --------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 839 /** @defgroup RTCEx_Exported_Functions RTCEx Exported Functions
AnnaBridge 171:3a7713b1edbc 840 * @{
AnnaBridge 171:3a7713b1edbc 841 */
AnnaBridge 171:3a7713b1edbc 842
AnnaBridge 171:3a7713b1edbc 843 /** @addtogroup RTCEx_Exported_Functions_Group1
AnnaBridge 171:3a7713b1edbc 844 * @{
AnnaBridge 171:3a7713b1edbc 845 */
AnnaBridge 171:3a7713b1edbc 846
AnnaBridge 171:3a7713b1edbc 847 /* RTC TimeStamp and Tamper functions *****************************************/
AnnaBridge 171:3a7713b1edbc 848 HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin);
AnnaBridge 171:3a7713b1edbc 849 HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin);
AnnaBridge 171:3a7713b1edbc 850 HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 851 HAL_StatusTypeDef HAL_RTCEx_SetInternalTimeStamp(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 852 HAL_StatusTypeDef HAL_RTCEx_DeactivateInternalTimeStamp(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 853 HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTimeStamp, RTC_DateTypeDef *sTimeStampDate, uint32_t Format);
AnnaBridge 171:3a7713b1edbc 854
AnnaBridge 171:3a7713b1edbc 855 HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper);
AnnaBridge 171:3a7713b1edbc 856 HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper);
AnnaBridge 171:3a7713b1edbc 857 HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper);
AnnaBridge 171:3a7713b1edbc 858 void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 859
AnnaBridge 171:3a7713b1edbc 860 void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 861 void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 862 void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 863 void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 864 HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
AnnaBridge 171:3a7713b1edbc 865 HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
AnnaBridge 171:3a7713b1edbc 866 HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
AnnaBridge 171:3a7713b1edbc 867 HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
AnnaBridge 171:3a7713b1edbc 868 /**
AnnaBridge 171:3a7713b1edbc 869 * @}
AnnaBridge 171:3a7713b1edbc 870 */
AnnaBridge 171:3a7713b1edbc 871
AnnaBridge 171:3a7713b1edbc 872 /** @addtogroup RTCEx_Exported_Functions_Group2
AnnaBridge 171:3a7713b1edbc 873 * @{
AnnaBridge 171:3a7713b1edbc 874 */
AnnaBridge 171:3a7713b1edbc 875 /* RTC Wake-up functions ******************************************************/
AnnaBridge 171:3a7713b1edbc 876 HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock);
AnnaBridge 171:3a7713b1edbc 877 HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock);
AnnaBridge 171:3a7713b1edbc 878 uint32_t HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 879 uint32_t HAL_RTCEx_GetWakeUpTimer(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 880 void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 881 void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 882 HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
AnnaBridge 171:3a7713b1edbc 883 /**
AnnaBridge 171:3a7713b1edbc 884 * @}
AnnaBridge 171:3a7713b1edbc 885 */
AnnaBridge 171:3a7713b1edbc 886
AnnaBridge 171:3a7713b1edbc 887 /** @addtogroup RTCEx_Exported_Functions_Group3
AnnaBridge 171:3a7713b1edbc 888 * @{
AnnaBridge 171:3a7713b1edbc 889 */
AnnaBridge 171:3a7713b1edbc 890 /* Extension Control functions ************************************************/
AnnaBridge 171:3a7713b1edbc 891 void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data);
AnnaBridge 171:3a7713b1edbc 892 uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister);
AnnaBridge 171:3a7713b1edbc 893
AnnaBridge 171:3a7713b1edbc 894 HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmouthCalibMinusPulsesValue);
AnnaBridge 171:3a7713b1edbc 895 HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef *hrtc, uint32_t ShiftAdd1S, uint32_t ShiftSubFS);
AnnaBridge 171:3a7713b1edbc 896 HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc, uint32_t CalibOutput);
AnnaBridge 171:3a7713b1edbc 897 HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 898 HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 899 HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 900 HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 901 HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 902 /**
AnnaBridge 171:3a7713b1edbc 903 * @}
AnnaBridge 171:3a7713b1edbc 904 */
AnnaBridge 171:3a7713b1edbc 905
AnnaBridge 171:3a7713b1edbc 906 /** @addtogroup RTCEx_Exported_Functions_Group4
AnnaBridge 171:3a7713b1edbc 907 * @{
AnnaBridge 171:3a7713b1edbc 908 */
AnnaBridge 171:3a7713b1edbc 909 /* Extension RTC features functions *******************************************/
AnnaBridge 171:3a7713b1edbc 910 void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc);
AnnaBridge 171:3a7713b1edbc 911 HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
AnnaBridge 171:3a7713b1edbc 912 /**
AnnaBridge 171:3a7713b1edbc 913 * @}
AnnaBridge 171:3a7713b1edbc 914 */
AnnaBridge 171:3a7713b1edbc 915
AnnaBridge 171:3a7713b1edbc 916 /**
AnnaBridge 171:3a7713b1edbc 917 * @}
AnnaBridge 171:3a7713b1edbc 918 */
AnnaBridge 171:3a7713b1edbc 919 /* Private types -------------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 920 /* Private variables ---------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 921 /* Private constants ---------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 922 /** @defgroup RTCEx_Private_Constants RTCEx Private Constants
AnnaBridge 171:3a7713b1edbc 923 * @{
AnnaBridge 171:3a7713b1edbc 924 */
AnnaBridge 171:3a7713b1edbc 925 #define RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT ((uint32_t)EXTI_IMR_IM21) /*!< External interrupt line 21 Connected to the RTC Tamper and Time Stamp events */
AnnaBridge 171:3a7713b1edbc 926 #define RTC_EXTI_LINE_WAKEUPTIMER_EVENT ((uint32_t)EXTI_IMR_IM22) /*!< External interrupt line 22 Connected to the RTC Wake-up event */
AnnaBridge 171:3a7713b1edbc 927 /**
AnnaBridge 171:3a7713b1edbc 928 * @}
AnnaBridge 171:3a7713b1edbc 929 */
AnnaBridge 171:3a7713b1edbc 930
AnnaBridge 171:3a7713b1edbc 931 /* Private constants ---------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 932 /** @defgroup RTCEx_Private_Constants RTCEx Private Constants
AnnaBridge 171:3a7713b1edbc 933 * @{
AnnaBridge 171:3a7713b1edbc 934 */
AnnaBridge 171:3a7713b1edbc 935 /* Masks Definition */
AnnaBridge 171:3a7713b1edbc 936 #define RTC_TAMPCR_TAMPXE ((uint32_t) (RTC_TAMPCR_TAMP3E | RTC_TAMPCR_TAMP2E | RTC_TAMPCR_TAMP1E))
AnnaBridge 171:3a7713b1edbc 937 #define RTC_TAMPCR_TAMPXIE ((uint32_t) (RTC_TAMPER1_INTERRUPT | RTC_TAMPER2_INTERRUPT | RTC_TAMPER3_INTERRUPT | RTC_ALL_TAMPER_INTERRUPT))
AnnaBridge 171:3a7713b1edbc 938 /**
AnnaBridge 171:3a7713b1edbc 939 * @}
AnnaBridge 171:3a7713b1edbc 940 */
AnnaBridge 171:3a7713b1edbc 941
AnnaBridge 171:3a7713b1edbc 942 /* Private macros ------------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 943 /** @defgroup RTCEx_Private_Macros RTCEx Private Macros
AnnaBridge 171:3a7713b1edbc 944 * @{
AnnaBridge 171:3a7713b1edbc 945 */
AnnaBridge 171:3a7713b1edbc 946
AnnaBridge 171:3a7713b1edbc 947 /** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters
AnnaBridge 171:3a7713b1edbc 948 * @{
AnnaBridge 171:3a7713b1edbc 949 */
AnnaBridge 171:3a7713b1edbc 950 #define IS_RTC_OUTPUT(__OUTPUT__) (((__OUTPUT__) == RTC_OUTPUT_DISABLE) || \
AnnaBridge 171:3a7713b1edbc 951 ((__OUTPUT__) == RTC_OUTPUT_ALARMA) || \
AnnaBridge 171:3a7713b1edbc 952 ((__OUTPUT__) == RTC_OUTPUT_ALARMB) || \
AnnaBridge 171:3a7713b1edbc 953 ((__OUTPUT__) == RTC_OUTPUT_WAKEUP))
AnnaBridge 171:3a7713b1edbc 954 #define IS_RTC_BKP(__BKP__) ((__BKP__) < (uint32_t) RTC_BKP_NUMBER)
AnnaBridge 171:3a7713b1edbc 955 #define IS_TIMESTAMP_EDGE(__EDGE__) (((__EDGE__) == RTC_TIMESTAMPEDGE_RISING) || \
AnnaBridge 171:3a7713b1edbc 956 ((__EDGE__) == RTC_TIMESTAMPEDGE_FALLING))
AnnaBridge 171:3a7713b1edbc 957 #define IS_RTC_TAMPER(__TAMPER__) ((((__TAMPER__) & ((uint32_t)(0xFFFFFFFFU ^ RTC_TAMPCR_TAMPXE))) == 0x00U) && ((__TAMPER__) != (uint32_t)RESET))
AnnaBridge 171:3a7713b1edbc 958
AnnaBridge 171:3a7713b1edbc 959 #define IS_RTC_TAMPER_INTERRUPT(__INTERRUPT__) ((((__INTERRUPT__) & (uint32_t)(0xFFFFFFFFU ^ RTC_TAMPCR_TAMPXIE)) == 0x00U) && ((__INTERRUPT__) != (uint32_t)RESET))
AnnaBridge 171:3a7713b1edbc 960
AnnaBridge 171:3a7713b1edbc 961 #define IS_RTC_TIMESTAMP_PIN(__PIN__) (((__PIN__) == RTC_TIMESTAMPPIN_DEFAULT) || \
AnnaBridge 171:3a7713b1edbc 962 ((__PIN__) == RTC_TIMESTAMPPIN_POS1) || \
AnnaBridge 171:3a7713b1edbc 963 ((__PIN__) == RTC_TIMESTAMPPIN_POS2))
AnnaBridge 171:3a7713b1edbc 964 #define IS_RTC_TAMPER_TRIGGER(__TRIGGER__) (((__TRIGGER__) == RTC_TAMPERTRIGGER_RISINGEDGE) || \
AnnaBridge 171:3a7713b1edbc 965 ((__TRIGGER__) == RTC_TAMPERTRIGGER_FALLINGEDGE) || \
AnnaBridge 171:3a7713b1edbc 966 ((__TRIGGER__) == RTC_TAMPERTRIGGER_LOWLEVEL) || \
AnnaBridge 171:3a7713b1edbc 967 ((__TRIGGER__) == RTC_TAMPERTRIGGER_HIGHLEVEL))
AnnaBridge 171:3a7713b1edbc 968 #define IS_RTC_TAMPER_ERASE_MODE(__MODE__) (((__MODE__) == RTC_TAMPER_ERASE_BACKUP_ENABLE) || \
AnnaBridge 171:3a7713b1edbc 969 ((__MODE__) == RTC_TAMPER_ERASE_BACKUP_DISABLE))
AnnaBridge 171:3a7713b1edbc 970 #define IS_RTC_TAMPER_MASKFLAG_STATE(__STATE__) (((__STATE__) == RTC_TAMPERMASK_FLAG_ENABLE) || \
AnnaBridge 171:3a7713b1edbc 971 ((__STATE__) == RTC_TAMPERMASK_FLAG_DISABLE))
AnnaBridge 171:3a7713b1edbc 972 #define IS_RTC_TAMPER_FILTER(__FILTER__) (((__FILTER__) == RTC_TAMPERFILTER_DISABLE) || \
AnnaBridge 171:3a7713b1edbc 973 ((__FILTER__) == RTC_TAMPERFILTER_2SAMPLE) || \
AnnaBridge 171:3a7713b1edbc 974 ((__FILTER__) == RTC_TAMPERFILTER_4SAMPLE) || \
AnnaBridge 171:3a7713b1edbc 975 ((__FILTER__) == RTC_TAMPERFILTER_8SAMPLE))
AnnaBridge 171:3a7713b1edbc 976 #define IS_RTC_TAMPER_SAMPLING_FREQ(__FREQ__) (((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768)|| \
AnnaBridge 171:3a7713b1edbc 977 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384)|| \
AnnaBridge 171:3a7713b1edbc 978 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192) || \
AnnaBridge 171:3a7713b1edbc 979 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096) || \
AnnaBridge 171:3a7713b1edbc 980 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048) || \
AnnaBridge 171:3a7713b1edbc 981 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024) || \
AnnaBridge 171:3a7713b1edbc 982 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512) || \
AnnaBridge 171:3a7713b1edbc 983 ((__FREQ__) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256))
AnnaBridge 171:3a7713b1edbc 984 #define IS_RTC_TAMPER_PRECHARGE_DURATION(__DURATION__) (((__DURATION__) == RTC_TAMPERPRECHARGEDURATION_1RTCCLK) || \
AnnaBridge 171:3a7713b1edbc 985 ((__DURATION__) == RTC_TAMPERPRECHARGEDURATION_2RTCCLK) || \
AnnaBridge 171:3a7713b1edbc 986 ((__DURATION__) == RTC_TAMPERPRECHARGEDURATION_4RTCCLK) || \
AnnaBridge 171:3a7713b1edbc 987 ((__DURATION__) == RTC_TAMPERPRECHARGEDURATION_8RTCCLK))
AnnaBridge 171:3a7713b1edbc 988 #define IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(__DETECTION__) (((__DETECTION__) == RTC_TIMESTAMPONTAMPERDETECTION_ENABLE) || \
AnnaBridge 171:3a7713b1edbc 989 ((__DETECTION__) == RTC_TIMESTAMPONTAMPERDETECTION_DISABLE))
AnnaBridge 171:3a7713b1edbc 990 #define IS_RTC_TAMPER_PULLUP_STATE(__STATE__) (((__STATE__) == RTC_TAMPER_PULLUP_ENABLE) || \
AnnaBridge 171:3a7713b1edbc 991 ((__STATE__) == RTC_TAMPER_PULLUP_DISABLE))
AnnaBridge 171:3a7713b1edbc 992 #define IS_RTC_WAKEUP_CLOCK(__CLOCK__) (((__CLOCK__) == RTC_WAKEUPCLOCK_RTCCLK_DIV16) || \
AnnaBridge 171:3a7713b1edbc 993 ((__CLOCK__) == RTC_WAKEUPCLOCK_RTCCLK_DIV8) || \
AnnaBridge 171:3a7713b1edbc 994 ((__CLOCK__) == RTC_WAKEUPCLOCK_RTCCLK_DIV4) || \
AnnaBridge 171:3a7713b1edbc 995 ((__CLOCK__) == RTC_WAKEUPCLOCK_RTCCLK_DIV2) || \
AnnaBridge 171:3a7713b1edbc 996 ((__CLOCK__) == RTC_WAKEUPCLOCK_CK_SPRE_16BITS) || \
AnnaBridge 171:3a7713b1edbc 997 ((__CLOCK__) == RTC_WAKEUPCLOCK_CK_SPRE_17BITS))
AnnaBridge 171:3a7713b1edbc 998
AnnaBridge 171:3a7713b1edbc 999 #define IS_RTC_WAKEUP_COUNTER(__COUNTER__) ((__COUNTER__) <= 0xFFFF)
AnnaBridge 171:3a7713b1edbc 1000 #define IS_RTC_SMOOTH_CALIB_PERIOD(__PERIOD__) (((__PERIOD__) == RTC_SMOOTHCALIB_PERIOD_32SEC) || \
AnnaBridge 171:3a7713b1edbc 1001 ((__PERIOD__) == RTC_SMOOTHCALIB_PERIOD_16SEC) || \
AnnaBridge 171:3a7713b1edbc 1002 ((__PERIOD__) == RTC_SMOOTHCALIB_PERIOD_8SEC))
AnnaBridge 171:3a7713b1edbc 1003 #define IS_RTC_SMOOTH_CALIB_PLUS(__PLUS__) (((__PLUS__) == RTC_SMOOTHCALIB_PLUSPULSES_SET) || \
AnnaBridge 171:3a7713b1edbc 1004 ((__PLUS__) == RTC_SMOOTHCALIB_PLUSPULSES_RESET))
AnnaBridge 171:3a7713b1edbc 1005 #define IS_RTC_SMOOTH_CALIB_MINUS(__VALUE__) ((__VALUE__) <= 0x000001FF)
AnnaBridge 171:3a7713b1edbc 1006 #define IS_RTC_SHIFT_ADD1S(__SEL__) (((__SEL__) == RTC_SHIFTADD1S_RESET) || \
AnnaBridge 171:3a7713b1edbc 1007 ((__SEL__) == RTC_SHIFTADD1S_SET))
AnnaBridge 171:3a7713b1edbc 1008 #define IS_RTC_SHIFT_SUBFS(__FS__) ((__FS__) <= 0x00007FFF)
AnnaBridge 171:3a7713b1edbc 1009 #define IS_RTC_CALIB_OUTPUT(__OUTPUT__) (((__OUTPUT__) == RTC_CALIBOUTPUT_512HZ) || \
AnnaBridge 171:3a7713b1edbc 1010 ((__OUTPUT__) == RTC_CALIBOUTPUT_1HZ))
AnnaBridge 171:3a7713b1edbc 1011 /**
AnnaBridge 171:3a7713b1edbc 1012 * @}
AnnaBridge 171:3a7713b1edbc 1013 */
AnnaBridge 171:3a7713b1edbc 1014
AnnaBridge 171:3a7713b1edbc 1015 /**
AnnaBridge 171:3a7713b1edbc 1016 * @}
AnnaBridge 171:3a7713b1edbc 1017 */
AnnaBridge 171:3a7713b1edbc 1018
AnnaBridge 171:3a7713b1edbc 1019 /**
AnnaBridge 171:3a7713b1edbc 1020 * @}
AnnaBridge 171:3a7713b1edbc 1021 */
AnnaBridge 171:3a7713b1edbc 1022
AnnaBridge 171:3a7713b1edbc 1023 /**
AnnaBridge 171:3a7713b1edbc 1024 * @}
AnnaBridge 171:3a7713b1edbc 1025 */
AnnaBridge 171:3a7713b1edbc 1026
AnnaBridge 171:3a7713b1edbc 1027 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 1028 }
AnnaBridge 171:3a7713b1edbc 1029 #endif
AnnaBridge 171:3a7713b1edbc 1030
AnnaBridge 171:3a7713b1edbc 1031 #endif /* __STM32F7xx_HAL_RTC_EX_H */
AnnaBridge 171:3a7713b1edbc 1032
AnnaBridge 171:3a7713b1edbc 1033 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/