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.
TARGET_DISCO_F303VC/TOOLCHAIN_GCC_ARM/stm32f3xx_hal_rtc_ex.h@171:3a7713b1edbc, 2018-11-08 (annotated)
- Committer:
- AnnaBridge
- Date:
- Thu Nov 08 11:45:42 2018 +0000
- Revision:
- 171:3a7713b1edbc
- Parent:
- TARGET_DISCO_F303VC/TARGET_STM/TARGET_STM32F3/device/stm32f3xx_hal_rtc_ex.h@168:b9e159c1930a
mbed library. Release version 164
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 163:e59c8e839560 | 1 | /** |
AnnaBridge | 163:e59c8e839560 | 2 | ****************************************************************************** |
AnnaBridge | 163:e59c8e839560 | 3 | * @file stm32f3xx_hal_rtc_ex.h |
AnnaBridge | 163:e59c8e839560 | 4 | * @author MCD Application Team |
AnnaBridge | 163:e59c8e839560 | 5 | * @brief Header file of RTC HAL Extended module. |
AnnaBridge | 163:e59c8e839560 | 6 | ****************************************************************************** |
AnnaBridge | 163:e59c8e839560 | 7 | * @attention |
AnnaBridge | 163:e59c8e839560 | 8 | * |
AnnaBridge | 163:e59c8e839560 | 9 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
AnnaBridge | 163:e59c8e839560 | 10 | * |
AnnaBridge | 163:e59c8e839560 | 11 | * Redistribution and use in source and binary forms, with or without modification, |
AnnaBridge | 163:e59c8e839560 | 12 | * are permitted provided that the following conditions are met: |
AnnaBridge | 163:e59c8e839560 | 13 | * 1. Redistributions of source code must retain the above copyright notice, |
AnnaBridge | 163:e59c8e839560 | 14 | * this list of conditions and the following disclaimer. |
AnnaBridge | 163:e59c8e839560 | 15 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
AnnaBridge | 163:e59c8e839560 | 16 | * this list of conditions and the following disclaimer in the documentation |
AnnaBridge | 163:e59c8e839560 | 17 | * and/or other materials provided with the distribution. |
AnnaBridge | 163:e59c8e839560 | 18 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
AnnaBridge | 163:e59c8e839560 | 19 | * may be used to endorse or promote products derived from this software |
AnnaBridge | 163:e59c8e839560 | 20 | * without specific prior written permission. |
AnnaBridge | 163:e59c8e839560 | 21 | * |
AnnaBridge | 163:e59c8e839560 | 22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
AnnaBridge | 163:e59c8e839560 | 23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
AnnaBridge | 163:e59c8e839560 | 24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
AnnaBridge | 163:e59c8e839560 | 25 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
AnnaBridge | 163:e59c8e839560 | 26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
AnnaBridge | 163:e59c8e839560 | 27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
AnnaBridge | 163:e59c8e839560 | 28 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
AnnaBridge | 163:e59c8e839560 | 29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
AnnaBridge | 163:e59c8e839560 | 30 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
AnnaBridge | 163:e59c8e839560 | 31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
AnnaBridge | 163:e59c8e839560 | 32 | * |
AnnaBridge | 163:e59c8e839560 | 33 | ****************************************************************************** |
AnnaBridge | 163:e59c8e839560 | 34 | */ |
AnnaBridge | 163:e59c8e839560 | 35 | |
AnnaBridge | 163:e59c8e839560 | 36 | /* Define to prevent recursive inclusion -------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 37 | #ifndef __STM32F3xx_HAL_RTC_EX_H |
AnnaBridge | 163:e59c8e839560 | 38 | #define __STM32F3xx_HAL_RTC_EX_H |
AnnaBridge | 163:e59c8e839560 | 39 | |
AnnaBridge | 163:e59c8e839560 | 40 | #ifdef __cplusplus |
AnnaBridge | 163:e59c8e839560 | 41 | extern "C" { |
AnnaBridge | 163:e59c8e839560 | 42 | #endif |
AnnaBridge | 163:e59c8e839560 | 43 | |
AnnaBridge | 163:e59c8e839560 | 44 | /* Includes ------------------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 45 | #include "stm32f3xx_hal_def.h" |
AnnaBridge | 163:e59c8e839560 | 46 | |
AnnaBridge | 163:e59c8e839560 | 47 | /** @addtogroup STM32F3xx_HAL_Driver |
AnnaBridge | 163:e59c8e839560 | 48 | * @{ |
AnnaBridge | 163:e59c8e839560 | 49 | */ |
AnnaBridge | 163:e59c8e839560 | 50 | |
AnnaBridge | 163:e59c8e839560 | 51 | /** @defgroup RTCEx RTCEx |
AnnaBridge | 163:e59c8e839560 | 52 | * @{ |
AnnaBridge | 163:e59c8e839560 | 53 | */ |
AnnaBridge | 163:e59c8e839560 | 54 | |
AnnaBridge | 163:e59c8e839560 | 55 | /* Exported types ------------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 56 | |
AnnaBridge | 163:e59c8e839560 | 57 | /** @defgroup RTCEx_Exported_Types RTC Extended Exported Types |
AnnaBridge | 163:e59c8e839560 | 58 | * @{ |
AnnaBridge | 163:e59c8e839560 | 59 | */ |
AnnaBridge | 163:e59c8e839560 | 60 | |
AnnaBridge | 163:e59c8e839560 | 61 | /** |
AnnaBridge | 163:e59c8e839560 | 62 | * @brief RTC Tamper structure definition |
AnnaBridge | 163:e59c8e839560 | 63 | */ |
AnnaBridge | 163:e59c8e839560 | 64 | typedef struct |
AnnaBridge | 163:e59c8e839560 | 65 | { |
AnnaBridge | 163:e59c8e839560 | 66 | uint32_t Tamper; /*!< Specifies the Tamper Pin. |
AnnaBridge | 163:e59c8e839560 | 67 | This parameter can be a value of @ref RTCEx_Tamper_Pins_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 68 | |
AnnaBridge | 163:e59c8e839560 | 69 | uint32_t Trigger; /*!< Specifies the Tamper Trigger. |
AnnaBridge | 163:e59c8e839560 | 70 | This parameter can be a value of @ref RTCEx_Tamper_Trigger_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 71 | |
AnnaBridge | 163:e59c8e839560 | 72 | uint32_t Filter; /*!< Specifies the RTC Filter Tamper. |
AnnaBridge | 163:e59c8e839560 | 73 | This parameter can be a value of @ref RTCEx_Tamper_Filter_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 74 | |
AnnaBridge | 163:e59c8e839560 | 75 | uint32_t SamplingFrequency; /*!< Specifies the sampling frequency. |
AnnaBridge | 163:e59c8e839560 | 76 | This parameter can be a value of @ref RTCEx_Tamper_Sampling_Frequencies_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 77 | |
AnnaBridge | 163:e59c8e839560 | 78 | uint32_t PrechargeDuration; /*!< Specifies the Precharge Duration . |
AnnaBridge | 163:e59c8e839560 | 79 | This parameter can be a value of @ref RTCEx_Tamper_Pin_Precharge_Duration_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 80 | |
AnnaBridge | 163:e59c8e839560 | 81 | uint32_t TamperPullUp; /*!< Specifies the Tamper PullUp . |
AnnaBridge | 163:e59c8e839560 | 82 | This parameter can be a value of @ref RTCEx_Tamper_Pull_UP_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 83 | |
AnnaBridge | 163:e59c8e839560 | 84 | uint32_t TimeStampOnTamperDetection; /*!< Specifies the TimeStampOnTamperDetection. |
AnnaBridge | 163:e59c8e839560 | 85 | This parameter can be a value of @ref RTCEx_Tamper_TimeStampOnTamperDetection_Definitions */ |
AnnaBridge | 163:e59c8e839560 | 86 | }RTC_TamperTypeDef; |
AnnaBridge | 163:e59c8e839560 | 87 | /** |
AnnaBridge | 163:e59c8e839560 | 88 | * @} |
AnnaBridge | 163:e59c8e839560 | 89 | */ |
AnnaBridge | 163:e59c8e839560 | 90 | |
AnnaBridge | 163:e59c8e839560 | 91 | /* Exported constants --------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 92 | /** @defgroup RTCEx_Exported_Constants RTC Extended Exported Constants |
AnnaBridge | 163:e59c8e839560 | 93 | * @{ |
AnnaBridge | 163:e59c8e839560 | 94 | */ |
AnnaBridge | 163:e59c8e839560 | 95 | |
AnnaBridge | 163:e59c8e839560 | 96 | /** @defgroup RTCEx_Output_selection_Definitions RTC Extended Output Selection Definition |
AnnaBridge | 163:e59c8e839560 | 97 | * @{ |
AnnaBridge | 163:e59c8e839560 | 98 | */ |
AnnaBridge | 168:b9e159c1930a | 99 | #define RTC_OUTPUT_DISABLE 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 100 | #define RTC_OUTPUT_ALARMA RTC_CR_OSEL_0 |
AnnaBridge | 163:e59c8e839560 | 101 | #define RTC_OUTPUT_ALARMB RTC_CR_OSEL_1 |
AnnaBridge | 163:e59c8e839560 | 102 | #define RTC_OUTPUT_WAKEUP RTC_CR_OSEL |
AnnaBridge | 163:e59c8e839560 | 103 | /** |
AnnaBridge | 163:e59c8e839560 | 104 | * @} |
AnnaBridge | 163:e59c8e839560 | 105 | */ |
AnnaBridge | 163:e59c8e839560 | 106 | |
AnnaBridge | 163:e59c8e839560 | 107 | /** @defgroup RTCEx_Backup_Registers_Definitions RTC Extended Backup Registers Definition |
AnnaBridge | 163:e59c8e839560 | 108 | * @{ |
AnnaBridge | 163:e59c8e839560 | 109 | */ |
AnnaBridge | 163:e59c8e839560 | 110 | #if RTC_BKP_NUMBER > 0U |
AnnaBridge | 168:b9e159c1930a | 111 | #define RTC_BKP_DR0 0x00000000U |
AnnaBridge | 168:b9e159c1930a | 112 | #define RTC_BKP_DR1 0x00000001U |
AnnaBridge | 168:b9e159c1930a | 113 | #define RTC_BKP_DR2 0x00000002U |
AnnaBridge | 168:b9e159c1930a | 114 | #define RTC_BKP_DR3 0x00000003U |
AnnaBridge | 168:b9e159c1930a | 115 | #define RTC_BKP_DR4 0x00000004U |
AnnaBridge | 163:e59c8e839560 | 116 | #endif /* RTC_BKP_NUMBER > 0U */ |
AnnaBridge | 163:e59c8e839560 | 117 | |
AnnaBridge | 163:e59c8e839560 | 118 | #if RTC_BKP_NUMBER > 5U |
AnnaBridge | 168:b9e159c1930a | 119 | #define RTC_BKP_DR5 0x00000005U |
AnnaBridge | 168:b9e159c1930a | 120 | #define RTC_BKP_DR6 0x00000006U |
AnnaBridge | 168:b9e159c1930a | 121 | #define RTC_BKP_DR7 0x00000007U |
AnnaBridge | 168:b9e159c1930a | 122 | #define RTC_BKP_DR8 0x00000008U |
AnnaBridge | 168:b9e159c1930a | 123 | #define RTC_BKP_DR9 0x00000009U |
AnnaBridge | 168:b9e159c1930a | 124 | #define RTC_BKP_DR10 0x0000000AU |
AnnaBridge | 168:b9e159c1930a | 125 | #define RTC_BKP_DR11 0x0000000BU |
AnnaBridge | 168:b9e159c1930a | 126 | #define RTC_BKP_DR12 0x0000000CU |
AnnaBridge | 168:b9e159c1930a | 127 | #define RTC_BKP_DR13 0x0000000DU |
AnnaBridge | 168:b9e159c1930a | 128 | #define RTC_BKP_DR14 0x0000000EU |
AnnaBridge | 168:b9e159c1930a | 129 | #define RTC_BKP_DR15 0x0000000FU |
AnnaBridge | 163:e59c8e839560 | 130 | #endif /* RTC_BKP_NUMBER > 5U */ |
AnnaBridge | 163:e59c8e839560 | 131 | |
AnnaBridge | 163:e59c8e839560 | 132 | #if RTC_BKP_NUMBER > 16U |
AnnaBridge | 168:b9e159c1930a | 133 | #define RTC_BKP_DR16 0x00000010U |
AnnaBridge | 168:b9e159c1930a | 134 | #define RTC_BKP_DR17 0x00000011U |
AnnaBridge | 168:b9e159c1930a | 135 | #define RTC_BKP_DR18 0x00000012U |
AnnaBridge | 168:b9e159c1930a | 136 | #define RTC_BKP_DR19 0x00000013U |
AnnaBridge | 163:e59c8e839560 | 137 | #endif /* RTC_BKP_NUMBER > 16U */ |
AnnaBridge | 163:e59c8e839560 | 138 | |
AnnaBridge | 163:e59c8e839560 | 139 | #if RTC_BKP_NUMBER > 20U |
AnnaBridge | 168:b9e159c1930a | 140 | #define RTC_BKP_DR20 0x00000014U |
AnnaBridge | 168:b9e159c1930a | 141 | #define RTC_BKP_DR21 0x00000015U |
AnnaBridge | 168:b9e159c1930a | 142 | #define RTC_BKP_DR22 0x00000016U |
AnnaBridge | 168:b9e159c1930a | 143 | #define RTC_BKP_DR23 0x00000017U |
AnnaBridge | 168:b9e159c1930a | 144 | #define RTC_BKP_DR24 0x00000018U |
AnnaBridge | 168:b9e159c1930a | 145 | #define RTC_BKP_DR25 0x00000019U |
AnnaBridge | 168:b9e159c1930a | 146 | #define RTC_BKP_DR26 0x0000001AU |
AnnaBridge | 168:b9e159c1930a | 147 | #define RTC_BKP_DR27 0x0000001BU |
AnnaBridge | 168:b9e159c1930a | 148 | #define RTC_BKP_DR28 0x0000001CU |
AnnaBridge | 168:b9e159c1930a | 149 | #define RTC_BKP_DR29 0x0000001DU |
AnnaBridge | 168:b9e159c1930a | 150 | #define RTC_BKP_DR30 0x0000001EU |
AnnaBridge | 168:b9e159c1930a | 151 | #define RTC_BKP_DR31 0x0000001FU |
AnnaBridge | 163:e59c8e839560 | 152 | #endif /* RTC_BKP_NUMBER > 20U */ |
AnnaBridge | 163:e59c8e839560 | 153 | /** |
AnnaBridge | 163:e59c8e839560 | 154 | * @} |
AnnaBridge | 163:e59c8e839560 | 155 | */ |
AnnaBridge | 163:e59c8e839560 | 156 | |
AnnaBridge | 163:e59c8e839560 | 157 | /** @defgroup RTCEx_Time_Stamp_Edges_definitions RTC Extended Time Stamp Edges definition |
AnnaBridge | 163:e59c8e839560 | 158 | * @{ |
AnnaBridge | 163:e59c8e839560 | 159 | */ |
AnnaBridge | 168:b9e159c1930a | 160 | #define RTC_TIMESTAMPEDGE_RISING 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 161 | #define RTC_TIMESTAMPEDGE_FALLING RTC_CR_TSEDGE |
AnnaBridge | 163:e59c8e839560 | 162 | /** |
AnnaBridge | 163:e59c8e839560 | 163 | * @} |
AnnaBridge | 163:e59c8e839560 | 164 | */ |
AnnaBridge | 163:e59c8e839560 | 165 | |
AnnaBridge | 163:e59c8e839560 | 166 | /** @defgroup RTCEx_TimeStamp_Pin_Selections RTC Extended TimeStamp Pin Selection |
AnnaBridge | 163:e59c8e839560 | 167 | * @{ |
AnnaBridge | 163:e59c8e839560 | 168 | */ |
AnnaBridge | 168:b9e159c1930a | 169 | #define RTC_TIMESTAMPPIN_DEFAULT 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 170 | /** |
AnnaBridge | 163:e59c8e839560 | 171 | * @} |
AnnaBridge | 163:e59c8e839560 | 172 | */ |
AnnaBridge | 163:e59c8e839560 | 173 | |
AnnaBridge | 163:e59c8e839560 | 174 | /** @defgroup RTCEx_Tamper_Pins_Definitions RTC Extended Tamper Pins Definition |
AnnaBridge | 163:e59c8e839560 | 175 | * @{ |
AnnaBridge | 163:e59c8e839560 | 176 | */ |
AnnaBridge | 163:e59c8e839560 | 177 | #define RTC_TAMPER_1 RTC_TAFCR_TAMP1E |
AnnaBridge | 163:e59c8e839560 | 178 | #define RTC_TAMPER_2 RTC_TAFCR_TAMP2E |
AnnaBridge | 163:e59c8e839560 | 179 | #if defined(RTC_TAMPER3_SUPPORT) |
AnnaBridge | 163:e59c8e839560 | 180 | #define RTC_TAMPER_3 RTC_TAFCR_TAMP3E |
AnnaBridge | 163:e59c8e839560 | 181 | #endif /* RTC_TAMPER3_SUPPORT */ |
AnnaBridge | 163:e59c8e839560 | 182 | /** |
AnnaBridge | 163:e59c8e839560 | 183 | * @} |
AnnaBridge | 163:e59c8e839560 | 184 | */ |
AnnaBridge | 163:e59c8e839560 | 185 | |
AnnaBridge | 163:e59c8e839560 | 186 | |
AnnaBridge | 163:e59c8e839560 | 187 | /** @defgroup RTCEx_Tamper_Trigger_Definitions RTC Extended Tamper Trigger Definition |
AnnaBridge | 163:e59c8e839560 | 188 | * @{ |
AnnaBridge | 163:e59c8e839560 | 189 | */ |
AnnaBridge | 168:b9e159c1930a | 190 | #define RTC_TAMPERTRIGGER_RISINGEDGE 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 191 | #define RTC_TAMPERTRIGGER_FALLINGEDGE RTC_TAFCR_TAMP1TRG |
AnnaBridge | 163:e59c8e839560 | 192 | #define RTC_TAMPERTRIGGER_LOWLEVEL RTC_TAMPERTRIGGER_RISINGEDGE |
AnnaBridge | 163:e59c8e839560 | 193 | #define RTC_TAMPERTRIGGER_HIGHLEVEL RTC_TAMPERTRIGGER_FALLINGEDGE |
AnnaBridge | 163:e59c8e839560 | 194 | /** |
AnnaBridge | 163:e59c8e839560 | 195 | * @} |
AnnaBridge | 163:e59c8e839560 | 196 | */ |
AnnaBridge | 163:e59c8e839560 | 197 | |
AnnaBridge | 163:e59c8e839560 | 198 | /** @defgroup RTCEx_Tamper_Filter_Definitions RTC Extended Tamper Filter Definition |
AnnaBridge | 163:e59c8e839560 | 199 | * @{ |
AnnaBridge | 163:e59c8e839560 | 200 | */ |
AnnaBridge | 168:b9e159c1930a | 201 | #define RTC_TAMPERFILTER_DISABLE 0x00000000U /*!< Tamper filter is disabled */ |
AnnaBridge | 163:e59c8e839560 | 202 | |
AnnaBridge | 163:e59c8e839560 | 203 | #define RTC_TAMPERFILTER_2SAMPLE RTC_TAFCR_TAMPFLT_0 /*!< Tamper is activated after 2 |
AnnaBridge | 163:e59c8e839560 | 204 | consecutive samples at the active level */ |
AnnaBridge | 168:b9e159c1930a | 205 | #define RTC_TAMPERFILTER_4SAMPLE RTC_TAFCR_TAMPFLT_1 /*!< Tamper is activated after 4 |
AnnaBridge | 163:e59c8e839560 | 206 | consecutive samples at the active level */ |
AnnaBridge | 168:b9e159c1930a | 207 | #define RTC_TAMPERFILTER_8SAMPLE RTC_TAFCR_TAMPFLT /*!< Tamper is activated after 8 |
AnnaBridge | 163:e59c8e839560 | 208 | consecutive samples at the active level. */ |
AnnaBridge | 163:e59c8e839560 | 209 | /** |
AnnaBridge | 163:e59c8e839560 | 210 | * @} |
AnnaBridge | 163:e59c8e839560 | 211 | */ |
AnnaBridge | 163:e59c8e839560 | 212 | |
AnnaBridge | 163:e59c8e839560 | 213 | /** @defgroup RTCEx_Tamper_Sampling_Frequencies_Definitions RTC Extended Tamper Sampling Frequencies Definition |
AnnaBridge | 163:e59c8e839560 | 214 | * @{ |
AnnaBridge | 163:e59c8e839560 | 215 | */ |
AnnaBridge | 168:b9e159c1930a | 216 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768 0x00000000U /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 217 | with a frequency = RTCCLK / 32768U */ |
AnnaBridge | 163:e59c8e839560 | 218 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384 RTC_TAFCR_TAMPFREQ_0 /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 219 | with a frequency = RTCCLK / 16384U */ |
AnnaBridge | 163:e59c8e839560 | 220 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192 RTC_TAFCR_TAMPFREQ_1 /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 221 | with a frequency = RTCCLK / 8192 */ |
AnnaBridge | 163:e59c8e839560 | 222 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096 (RTC_TAFCR_TAMPFREQ_0 | RTC_TAFCR_TAMPFREQ_1) /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 223 | with a frequency = RTCCLK / 4096 */ |
AnnaBridge | 163:e59c8e839560 | 224 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048 RTC_TAFCR_TAMPFREQ_2 /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 225 | with a frequency = RTCCLK / 2048 */ |
AnnaBridge | 163:e59c8e839560 | 226 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024 (RTC_TAFCR_TAMPFREQ_0 | RTC_TAFCR_TAMPFREQ_2) /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 227 | with a frequency = RTCCLK / 1024 */ |
AnnaBridge | 163:e59c8e839560 | 228 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512 (RTC_TAFCR_TAMPFREQ_1 | RTC_TAFCR_TAMPFREQ_2) /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 229 | with a frequency = RTCCLK / 512 */ |
AnnaBridge | 163:e59c8e839560 | 230 | #define RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256 (RTC_TAFCR_TAMPFREQ_0 | RTC_TAFCR_TAMPFREQ_1 | RTC_TAFCR_TAMPFREQ_2) /*!< Each of the tamper inputs are sampled |
AnnaBridge | 163:e59c8e839560 | 231 | with a frequency = RTCCLK / 256 */ |
AnnaBridge | 163:e59c8e839560 | 232 | /** |
AnnaBridge | 163:e59c8e839560 | 233 | * @} |
AnnaBridge | 163:e59c8e839560 | 234 | */ |
AnnaBridge | 163:e59c8e839560 | 235 | |
AnnaBridge | 163:e59c8e839560 | 236 | /** @defgroup RTCEx_Tamper_Pin_Precharge_Duration_Definitions RTC Extended Tamper Pin Precharge Duration Definition |
AnnaBridge | 163:e59c8e839560 | 237 | * @{ |
AnnaBridge | 163:e59c8e839560 | 238 | */ |
AnnaBridge | 168:b9e159c1930a | 239 | #define RTC_TAMPERPRECHARGEDURATION_1RTCCLK 0x00000000U /*!< Tamper pins are pre-charged before |
AnnaBridge | 163:e59c8e839560 | 240 | sampling during 1 RTCCLK cycle */ |
AnnaBridge | 163:e59c8e839560 | 241 | #define RTC_TAMPERPRECHARGEDURATION_2RTCCLK RTC_TAFCR_TAMPPRCH_0 /*!< Tamper pins are pre-charged before |
AnnaBridge | 163:e59c8e839560 | 242 | sampling during 2 RTCCLK cycles */ |
AnnaBridge | 163:e59c8e839560 | 243 | #define RTC_TAMPERPRECHARGEDURATION_4RTCCLK RTC_TAFCR_TAMPPRCH_1 /*!< Tamper pins are pre-charged before |
AnnaBridge | 163:e59c8e839560 | 244 | sampling during 4 RTCCLK cycles */ |
AnnaBridge | 163:e59c8e839560 | 245 | #define RTC_TAMPERPRECHARGEDURATION_8RTCCLK (RTC_TAFCR_TAMPPRCH_0 | RTC_TAFCR_TAMPPRCH_1) /*!< Tamper pins are pre-charged before |
AnnaBridge | 163:e59c8e839560 | 246 | sampling during 8 RTCCLK cycles */ |
AnnaBridge | 163:e59c8e839560 | 247 | /** |
AnnaBridge | 163:e59c8e839560 | 248 | * @} |
AnnaBridge | 163:e59c8e839560 | 249 | */ |
AnnaBridge | 163:e59c8e839560 | 250 | |
AnnaBridge | 163:e59c8e839560 | 251 | /** @defgroup RTCEx_Tamper_TimeStampOnTamperDetection_Definitions RTC Extended Tamper TimeStampOnTamperDetection Definition |
AnnaBridge | 163:e59c8e839560 | 252 | * @{ |
AnnaBridge | 163:e59c8e839560 | 253 | */ |
AnnaBridge | 163:e59c8e839560 | 254 | #define RTC_TIMESTAMPONTAMPERDETECTION_ENABLE ((uint32_t)RTC_TAFCR_TAMPTS) /*!< TimeStamp on Tamper Detection event saved */ |
AnnaBridge | 168:b9e159c1930a | 255 | #define RTC_TIMESTAMPONTAMPERDETECTION_DISABLE 0x00000000U /*!< TimeStamp on Tamper Detection event is not saved */ |
AnnaBridge | 163:e59c8e839560 | 256 | /** |
AnnaBridge | 163:e59c8e839560 | 257 | * @} |
AnnaBridge | 163:e59c8e839560 | 258 | */ |
AnnaBridge | 163:e59c8e839560 | 259 | |
AnnaBridge | 163:e59c8e839560 | 260 | /** @defgroup RTCEx_Tamper_Pull_UP_Definitions RTC Extended Tamper Pull UP Definition |
AnnaBridge | 163:e59c8e839560 | 261 | * @{ |
AnnaBridge | 163:e59c8e839560 | 262 | */ |
AnnaBridge | 168:b9e159c1930a | 263 | #define RTC_TAMPER_PULLUP_ENABLE 0x00000000U /*!< Tamper pins are pre-charged before sampling */ |
AnnaBridge | 163:e59c8e839560 | 264 | #define RTC_TAMPER_PULLUP_DISABLE ((uint32_t)RTC_TAFCR_TAMPPUDIS) /*!< Tamper pins are not pre-charged before sampling */ |
AnnaBridge | 163:e59c8e839560 | 265 | /** |
AnnaBridge | 163:e59c8e839560 | 266 | * @} |
AnnaBridge | 163:e59c8e839560 | 267 | */ |
AnnaBridge | 163:e59c8e839560 | 268 | |
AnnaBridge | 163:e59c8e839560 | 269 | /** @defgroup RTCEx_Wakeup_Timer_Definitions RTC Extended Wakeup Timer Definition |
AnnaBridge | 163:e59c8e839560 | 270 | * @{ |
AnnaBridge | 163:e59c8e839560 | 271 | */ |
AnnaBridge | 168:b9e159c1930a | 272 | #define RTC_WAKEUPCLOCK_RTCCLK_DIV16 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 273 | #define RTC_WAKEUPCLOCK_RTCCLK_DIV8 RTC_CR_WUCKSEL_0 |
AnnaBridge | 163:e59c8e839560 | 274 | #define RTC_WAKEUPCLOCK_RTCCLK_DIV4 RTC_CR_WUCKSEL_1 |
AnnaBridge | 163:e59c8e839560 | 275 | #define RTC_WAKEUPCLOCK_RTCCLK_DIV2 (RTC_CR_WUCKSEL_0 | RTC_CR_WUCKSEL_1) |
AnnaBridge | 163:e59c8e839560 | 276 | #define RTC_WAKEUPCLOCK_CK_SPRE_16BITS (RTC_CR_WUCKSEL_2) |
AnnaBridge | 163:e59c8e839560 | 277 | #define RTC_WAKEUPCLOCK_CK_SPRE_17BITS (RTC_CR_WUCKSEL_1 | RTC_CR_WUCKSEL_2) |
AnnaBridge | 163:e59c8e839560 | 278 | /** |
AnnaBridge | 163:e59c8e839560 | 279 | * @} |
AnnaBridge | 163:e59c8e839560 | 280 | */ |
AnnaBridge | 163:e59c8e839560 | 281 | |
AnnaBridge | 163:e59c8e839560 | 282 | /** @defgroup RTCEx_Smooth_calib_period_Definitions RTC Extended Smooth calib period Definition |
AnnaBridge | 163:e59c8e839560 | 283 | * @{ |
AnnaBridge | 163:e59c8e839560 | 284 | */ |
AnnaBridge | 168:b9e159c1930a | 285 | #define RTC_SMOOTHCALIB_PERIOD_32SEC 0x00000000U /*!< If RTCCLK = 32768 Hz, Smooth calibation |
AnnaBridge | 163:e59c8e839560 | 286 | period is 32s, else 2exp20 RTCCLK seconds */ |
AnnaBridge | 168:b9e159c1930a | 287 | #define RTC_SMOOTHCALIB_PERIOD_16SEC RTC_CALR_CALW16 /*!< If RTCCLK = 32768 Hz, Smooth calibation |
AnnaBridge | 163:e59c8e839560 | 288 | period is 16s, else 2exp19 RTCCLK seconds */ |
AnnaBridge | 168:b9e159c1930a | 289 | #define RTC_SMOOTHCALIB_PERIOD_8SEC RTC_CALR_CALW8 /*!< If RTCCLK = 32768 Hz, Smooth calibation |
AnnaBridge | 163:e59c8e839560 | 290 | period is 8s, else 2exp18 RTCCLK seconds */ |
AnnaBridge | 163:e59c8e839560 | 291 | /** |
AnnaBridge | 163:e59c8e839560 | 292 | * @} |
AnnaBridge | 163:e59c8e839560 | 293 | */ |
AnnaBridge | 163:e59c8e839560 | 294 | |
AnnaBridge | 163:e59c8e839560 | 295 | /** @defgroup RTCEx_Smooth_calib_Plus_pulses_Definitions RTC Extended Smooth calib Plus pulses Definition |
AnnaBridge | 163:e59c8e839560 | 296 | * @{ |
AnnaBridge | 163:e59c8e839560 | 297 | */ |
AnnaBridge | 168:b9e159c1930a | 298 | #define RTC_SMOOTHCALIB_PLUSPULSES_RESET 0x00000000U /*!< The number of RTCCLK pulses subbstited |
AnnaBridge | 168:b9e159c1930a | 299 | during a 32-second window = CALM[8:0] */ |
AnnaBridge | 168:b9e159c1930a | 300 | #define RTC_SMOOTHCALIB_PLUSPULSES_SET RTC_CALR_CALP /*!< The number of RTCCLK pulses added |
AnnaBridge | 168:b9e159c1930a | 301 | during a X -second window = Y - CALM[8:0] |
AnnaBridge | 168:b9e159c1930a | 302 | with Y = 512U, 256U, 128 when X = 32U, 16U, 8U */ |
AnnaBridge | 163:e59c8e839560 | 303 | /** |
AnnaBridge | 163:e59c8e839560 | 304 | * @} |
AnnaBridge | 163:e59c8e839560 | 305 | */ |
AnnaBridge | 163:e59c8e839560 | 306 | |
AnnaBridge | 163:e59c8e839560 | 307 | /** @defgroup RTCEx_Calib_Output_selection_Definitions RTC Extended Calib Output selection Definition |
AnnaBridge | 163:e59c8e839560 | 308 | * @{ |
AnnaBridge | 163:e59c8e839560 | 309 | */ |
AnnaBridge | 168:b9e159c1930a | 310 | #define RTC_CALIBOUTPUT_512HZ 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 311 | #define RTC_CALIBOUTPUT_1HZ RTC_CR_COSEL |
AnnaBridge | 163:e59c8e839560 | 312 | /** |
AnnaBridge | 163:e59c8e839560 | 313 | * @} |
AnnaBridge | 163:e59c8e839560 | 314 | */ |
AnnaBridge | 163:e59c8e839560 | 315 | |
AnnaBridge | 163:e59c8e839560 | 316 | /** @defgroup RTCEx_Add_1_Second_Parameter_Definition RTC Extended Add 1 Second Parameter Definition |
AnnaBridge | 163:e59c8e839560 | 317 | * @{ |
AnnaBridge | 163:e59c8e839560 | 318 | */ |
AnnaBridge | 168:b9e159c1930a | 319 | #define RTC_SHIFTADD1S_RESET 0x00000000U |
AnnaBridge | 163:e59c8e839560 | 320 | #define RTC_SHIFTADD1S_SET RTC_SHIFTR_ADD1S |
AnnaBridge | 163:e59c8e839560 | 321 | /** |
AnnaBridge | 163:e59c8e839560 | 322 | * @} |
AnnaBridge | 163:e59c8e839560 | 323 | */ |
AnnaBridge | 163:e59c8e839560 | 324 | |
AnnaBridge | 163:e59c8e839560 | 325 | /** |
AnnaBridge | 163:e59c8e839560 | 326 | * @} |
AnnaBridge | 163:e59c8e839560 | 327 | */ |
AnnaBridge | 163:e59c8e839560 | 328 | |
AnnaBridge | 163:e59c8e839560 | 329 | /* Exported macro ------------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 330 | /** @defgroup RTCEx_Exported_Macros RTC Extended Exported Macros |
AnnaBridge | 163:e59c8e839560 | 331 | * @{ |
AnnaBridge | 163:e59c8e839560 | 332 | */ |
AnnaBridge | 163:e59c8e839560 | 333 | |
AnnaBridge | 163:e59c8e839560 | 334 | /* ---------------------------------WAKEUPTIMER---------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 335 | /** @defgroup RTCEx_WakeUp_Timer RTC Extended WakeUp Timer |
AnnaBridge | 163:e59c8e839560 | 336 | * @{ |
AnnaBridge | 163:e59c8e839560 | 337 | */ |
AnnaBridge | 163:e59c8e839560 | 338 | /** |
AnnaBridge | 163:e59c8e839560 | 339 | * @brief Enable the RTC WakeUp Timer peripheral. |
AnnaBridge | 168:b9e159c1930a | 340 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 341 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 342 | */ |
AnnaBridge | 163:e59c8e839560 | 343 | #define __HAL_RTC_WAKEUPTIMER_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_WUTE)) |
AnnaBridge | 163:e59c8e839560 | 344 | |
AnnaBridge | 163:e59c8e839560 | 345 | /** |
AnnaBridge | 163:e59c8e839560 | 346 | * @brief Disable the RTC WakeUp Timer peripheral. |
AnnaBridge | 168:b9e159c1930a | 347 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 348 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 349 | */ |
AnnaBridge | 163:e59c8e839560 | 350 | #define __HAL_RTC_WAKEUPTIMER_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_WUTE)) |
AnnaBridge | 163:e59c8e839560 | 351 | |
AnnaBridge | 163:e59c8e839560 | 352 | /** |
AnnaBridge | 163:e59c8e839560 | 353 | * @brief Enable the RTC WakeUpTimer interrupt. |
AnnaBridge | 168:b9e159c1930a | 354 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 355 | * @param __INTERRUPT__ specifies the RTC WakeUpTimer interrupt sources to be enabled. |
AnnaBridge | 163:e59c8e839560 | 356 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 357 | * @arg RTC_IT_WUT: WakeUpTimer interrupt |
AnnaBridge | 163:e59c8e839560 | 358 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 359 | */ |
AnnaBridge | 163:e59c8e839560 | 360 | #define __HAL_RTC_WAKEUPTIMER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) |
AnnaBridge | 163:e59c8e839560 | 361 | |
AnnaBridge | 163:e59c8e839560 | 362 | /** |
AnnaBridge | 163:e59c8e839560 | 363 | * @brief Disable the RTC WakeUpTimer interrupt. |
AnnaBridge | 168:b9e159c1930a | 364 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 365 | * @param __INTERRUPT__ specifies the RTC WakeUpTimer interrupt sources to be disabled. |
AnnaBridge | 163:e59c8e839560 | 366 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 367 | * @arg RTC_IT_WUT: WakeUpTimer interrupt |
AnnaBridge | 163:e59c8e839560 | 368 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 369 | */ |
AnnaBridge | 163:e59c8e839560 | 370 | #define __HAL_RTC_WAKEUPTIMER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) |
AnnaBridge | 163:e59c8e839560 | 371 | |
AnnaBridge | 163:e59c8e839560 | 372 | /** |
AnnaBridge | 163:e59c8e839560 | 373 | * @brief Check whether the specified RTC WakeUpTimer interrupt has occurred or not. |
AnnaBridge | 168:b9e159c1930a | 374 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 375 | * @param __INTERRUPT__ specifies the RTC WakeUpTimer interrupt to check. |
AnnaBridge | 163:e59c8e839560 | 376 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 377 | * @arg RTC_IT_WUT: WakeUpTimer interrupt |
AnnaBridge | 163:e59c8e839560 | 378 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 379 | */ |
AnnaBridge | 163:e59c8e839560 | 380 | #define __HAL_RTC_WAKEUPTIMER_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4U)) != RESET) ? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 381 | |
AnnaBridge | 163:e59c8e839560 | 382 | /** |
AnnaBridge | 163:e59c8e839560 | 383 | * @brief Check whether the specified RTC Wake Up timer interrupt has been enabled or not. |
AnnaBridge | 168:b9e159c1930a | 384 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 385 | * @param __INTERRUPT__ specifies the RTC Wake Up timer interrupt sources to check. |
AnnaBridge | 163:e59c8e839560 | 386 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 387 | * @arg RTC_IT_WUT: WakeUpTimer interrupt |
AnnaBridge | 163:e59c8e839560 | 388 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 389 | */ |
AnnaBridge | 163:e59c8e839560 | 390 | #define __HAL_RTC_WAKEUPTIMER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 391 | |
AnnaBridge | 163:e59c8e839560 | 392 | /** |
AnnaBridge | 163:e59c8e839560 | 393 | * @brief Get the selected RTC WakeUpTimer's flag status. |
AnnaBridge | 168:b9e159c1930a | 394 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 395 | * @param __FLAG__ specifies the RTC WakeUpTimer Flag is pending or not. |
AnnaBridge | 163:e59c8e839560 | 396 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 397 | * @arg RTC_FLAG_WUTF |
AnnaBridge | 163:e59c8e839560 | 398 | * @arg RTC_FLAG_WUTWF |
AnnaBridge | 163:e59c8e839560 | 399 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 400 | */ |
AnnaBridge | 163:e59c8e839560 | 401 | #define __HAL_RTC_WAKEUPTIMER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET) ? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 402 | |
AnnaBridge | 163:e59c8e839560 | 403 | /** |
AnnaBridge | 163:e59c8e839560 | 404 | * @brief Clear the RTC Wake Up timer's pending flags. |
AnnaBridge | 168:b9e159c1930a | 405 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 406 | * @param __FLAG__ specifies the RTC WakeUpTimer Flag to clear. |
AnnaBridge | 163:e59c8e839560 | 407 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 408 | * @arg RTC_FLAG_WUTF |
AnnaBridge | 163:e59c8e839560 | 409 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 410 | */ |
AnnaBridge | 163:e59c8e839560 | 411 | #define __HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) |
AnnaBridge | 163:e59c8e839560 | 412 | |
AnnaBridge | 163:e59c8e839560 | 413 | /* WAKE-UP TIMER EXTI */ |
AnnaBridge | 163:e59c8e839560 | 414 | /* ------------------ */ |
AnnaBridge | 163:e59c8e839560 | 415 | /** |
AnnaBridge | 163:e59c8e839560 | 416 | * @brief Enable interrupt on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 417 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 418 | */ |
AnnaBridge | 163:e59c8e839560 | 419 | #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 420 | |
AnnaBridge | 163:e59c8e839560 | 421 | /** |
AnnaBridge | 163:e59c8e839560 | 422 | * @brief Disable interrupt on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 423 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 424 | */ |
AnnaBridge | 163:e59c8e839560 | 425 | #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 426 | |
AnnaBridge | 163:e59c8e839560 | 427 | /** |
AnnaBridge | 163:e59c8e839560 | 428 | * @brief Enable event on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 429 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 430 | */ |
AnnaBridge | 163:e59c8e839560 | 431 | #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 432 | |
AnnaBridge | 163:e59c8e839560 | 433 | /** |
AnnaBridge | 163:e59c8e839560 | 434 | * @brief Disable event on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 435 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 436 | */ |
AnnaBridge | 163:e59c8e839560 | 437 | #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 438 | |
AnnaBridge | 163:e59c8e839560 | 439 | /** |
AnnaBridge | 163:e59c8e839560 | 440 | * @brief Enable falling edge trigger on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 441 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 442 | */ |
AnnaBridge | 163:e59c8e839560 | 443 | #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 444 | |
AnnaBridge | 163:e59c8e839560 | 445 | /** |
AnnaBridge | 163:e59c8e839560 | 446 | * @brief Disable falling edge trigger on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 447 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 448 | */ |
AnnaBridge | 163:e59c8e839560 | 449 | #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 450 | |
AnnaBridge | 163:e59c8e839560 | 451 | /** |
AnnaBridge | 163:e59c8e839560 | 452 | * @brief Enable rising edge trigger on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 453 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 454 | */ |
AnnaBridge | 163:e59c8e839560 | 455 | #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 456 | |
AnnaBridge | 163:e59c8e839560 | 457 | /** |
AnnaBridge | 163:e59c8e839560 | 458 | * @brief Disable rising edge trigger on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 459 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 460 | */ |
AnnaBridge | 163:e59c8e839560 | 461 | #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_WAKEUPTIMER_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 462 | |
AnnaBridge | 163:e59c8e839560 | 463 | /** |
AnnaBridge | 163:e59c8e839560 | 464 | * @brief Enable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 465 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 466 | */ |
AnnaBridge | 163:e59c8e839560 | 467 | #define __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_FALLING_EDGE() __HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_WAKEUPTIMER_EXTI_ENABLE_FALLING_EDGE(); |
AnnaBridge | 163:e59c8e839560 | 468 | |
AnnaBridge | 163:e59c8e839560 | 469 | /** |
AnnaBridge | 163:e59c8e839560 | 470 | * @brief Disable rising & falling edge trigger on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 471 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 472 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 473 | */ |
AnnaBridge | 163:e59c8e839560 | 474 | #define __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_FALLING_EDGE() __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_FALLING_EDGE(); |
AnnaBridge | 163:e59c8e839560 | 475 | |
AnnaBridge | 163:e59c8e839560 | 476 | /** |
AnnaBridge | 163:e59c8e839560 | 477 | * @brief Check whether the RTC WakeUp Timer associated Exti line interrupt flag is set or not. |
AnnaBridge | 163:e59c8e839560 | 478 | * @retval Line Status. |
AnnaBridge | 163:e59c8e839560 | 479 | */ |
AnnaBridge | 163:e59c8e839560 | 480 | #define __HAL_RTC_WAKEUPTIMER_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 481 | |
AnnaBridge | 163:e59c8e839560 | 482 | /** |
AnnaBridge | 163:e59c8e839560 | 483 | * @brief Clear the RTC WakeUp Timer associated Exti line flag. |
AnnaBridge | 163:e59c8e839560 | 484 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 485 | */ |
AnnaBridge | 163:e59c8e839560 | 486 | #define __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 487 | |
AnnaBridge | 163:e59c8e839560 | 488 | /** |
AnnaBridge | 163:e59c8e839560 | 489 | * @brief Generate a Software interrupt on the RTC WakeUp Timer associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 490 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 491 | */ |
AnnaBridge | 163:e59c8e839560 | 492 | #define __HAL_RTC_WAKEUPTIMER_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_WAKEUPTIMER_EVENT) |
AnnaBridge | 163:e59c8e839560 | 493 | /** |
AnnaBridge | 163:e59c8e839560 | 494 | * @} |
AnnaBridge | 163:e59c8e839560 | 495 | */ |
AnnaBridge | 163:e59c8e839560 | 496 | |
AnnaBridge | 163:e59c8e839560 | 497 | /* ---------------------------------TIMESTAMP---------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 498 | /** @defgroup RTCEx_Timestamp RTC Extended Timestamp |
AnnaBridge | 163:e59c8e839560 | 499 | * @{ |
AnnaBridge | 163:e59c8e839560 | 500 | */ |
AnnaBridge | 163:e59c8e839560 | 501 | /** |
AnnaBridge | 163:e59c8e839560 | 502 | * @brief Enable the RTC TimeStamp peripheral. |
AnnaBridge | 168:b9e159c1930a | 503 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 504 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 505 | */ |
AnnaBridge | 163:e59c8e839560 | 506 | #define __HAL_RTC_TIMESTAMP_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_TSE)) |
AnnaBridge | 163:e59c8e839560 | 507 | |
AnnaBridge | 163:e59c8e839560 | 508 | /** |
AnnaBridge | 163:e59c8e839560 | 509 | * @brief Disable the RTC TimeStamp peripheral. |
AnnaBridge | 168:b9e159c1930a | 510 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 511 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 512 | */ |
AnnaBridge | 163:e59c8e839560 | 513 | #define __HAL_RTC_TIMESTAMP_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_TSE)) |
AnnaBridge | 163:e59c8e839560 | 514 | |
AnnaBridge | 163:e59c8e839560 | 515 | /** |
AnnaBridge | 163:e59c8e839560 | 516 | * @brief Enable the RTC TimeStamp interrupt. |
AnnaBridge | 168:b9e159c1930a | 517 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 518 | * @param __INTERRUPT__ specifies the RTC TimeStamp interrupt source to be enabled. |
AnnaBridge | 163:e59c8e839560 | 519 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 520 | * @arg RTC_IT_TS: TimeStamp interrupt |
AnnaBridge | 163:e59c8e839560 | 521 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 522 | */ |
AnnaBridge | 163:e59c8e839560 | 523 | #define __HAL_RTC_TIMESTAMP_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) |
AnnaBridge | 163:e59c8e839560 | 524 | |
AnnaBridge | 163:e59c8e839560 | 525 | /** |
AnnaBridge | 163:e59c8e839560 | 526 | * @brief Disable the RTC TimeStamp interrupt. |
AnnaBridge | 168:b9e159c1930a | 527 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 528 | * @param __INTERRUPT__ specifies the RTC TimeStamp interrupt source to be disabled. |
AnnaBridge | 163:e59c8e839560 | 529 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 530 | * @arg RTC_IT_TS: TimeStamp interrupt |
AnnaBridge | 163:e59c8e839560 | 531 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 532 | */ |
AnnaBridge | 163:e59c8e839560 | 533 | #define __HAL_RTC_TIMESTAMP_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) |
AnnaBridge | 163:e59c8e839560 | 534 | |
AnnaBridge | 163:e59c8e839560 | 535 | /** |
AnnaBridge | 163:e59c8e839560 | 536 | * @brief Check whether the specified RTC TimeStamp interrupt has occurred or not. |
AnnaBridge | 168:b9e159c1930a | 537 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 538 | * @param __INTERRUPT__ specifies the RTC TimeStamp interrupt to check. |
AnnaBridge | 163:e59c8e839560 | 539 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 540 | * @arg RTC_IT_TS: TimeStamp interrupt |
AnnaBridge | 163:e59c8e839560 | 541 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 542 | */ |
AnnaBridge | 163:e59c8e839560 | 543 | #define __HAL_RTC_TIMESTAMP_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4U)) != RESET)? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 544 | |
AnnaBridge | 163:e59c8e839560 | 545 | /** |
AnnaBridge | 163:e59c8e839560 | 546 | * @brief Check whether the specified RTC Time Stamp interrupt has been enabled or not. |
AnnaBridge | 168:b9e159c1930a | 547 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 548 | * @param __INTERRUPT__ specifies the RTC Time Stamp interrupt source to check. |
AnnaBridge | 163:e59c8e839560 | 549 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 550 | * @arg RTC_IT_TS: TimeStamp interrupt |
AnnaBridge | 163:e59c8e839560 | 551 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 552 | */ |
AnnaBridge | 163:e59c8e839560 | 553 | #define __HAL_RTC_TIMESTAMP_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 554 | |
AnnaBridge | 163:e59c8e839560 | 555 | /** |
AnnaBridge | 163:e59c8e839560 | 556 | * @brief Get the selected RTC TimeStamp's flag status. |
AnnaBridge | 168:b9e159c1930a | 557 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 558 | * @param __FLAG__ specifies the RTC TimeStamp Flag is pending or not. |
AnnaBridge | 163:e59c8e839560 | 559 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 560 | * @arg RTC_FLAG_TSF |
AnnaBridge | 163:e59c8e839560 | 561 | * @arg RTC_FLAG_TSOVF |
AnnaBridge | 163:e59c8e839560 | 562 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 563 | */ |
AnnaBridge | 163:e59c8e839560 | 564 | #define __HAL_RTC_TIMESTAMP_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 565 | |
AnnaBridge | 163:e59c8e839560 | 566 | /** |
AnnaBridge | 163:e59c8e839560 | 567 | * @brief Clear the RTC Time Stamp's pending flags. |
AnnaBridge | 168:b9e159c1930a | 568 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 569 | * @param __FLAG__ specifies the RTC Alarm Flag to clear. |
AnnaBridge | 163:e59c8e839560 | 570 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 571 | * @arg RTC_FLAG_TSF |
AnnaBridge | 163:e59c8e839560 | 572 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 573 | */ |
AnnaBridge | 163:e59c8e839560 | 574 | #define __HAL_RTC_TIMESTAMP_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) |
AnnaBridge | 163:e59c8e839560 | 575 | |
AnnaBridge | 163:e59c8e839560 | 576 | /** |
AnnaBridge | 163:e59c8e839560 | 577 | * @} |
AnnaBridge | 163:e59c8e839560 | 578 | */ |
AnnaBridge | 163:e59c8e839560 | 579 | |
AnnaBridge | 163:e59c8e839560 | 580 | /* ---------------------------------TAMPER------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 581 | /** @defgroup RTCEx_Tamper RTC Extended Tamper |
AnnaBridge | 163:e59c8e839560 | 582 | * @{ |
AnnaBridge | 163:e59c8e839560 | 583 | */ |
AnnaBridge | 163:e59c8e839560 | 584 | |
AnnaBridge | 163:e59c8e839560 | 585 | /** |
AnnaBridge | 163:e59c8e839560 | 586 | * @brief Enable the RTC Tamper1 input detection. |
AnnaBridge | 168:b9e159c1930a | 587 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 588 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 589 | */ |
AnnaBridge | 163:e59c8e839560 | 590 | #define __HAL_RTC_TAMPER1_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAFCR |= (RTC_TAFCR_TAMP1E)) |
AnnaBridge | 163:e59c8e839560 | 591 | |
AnnaBridge | 163:e59c8e839560 | 592 | /** |
AnnaBridge | 163:e59c8e839560 | 593 | * @brief Disable the RTC Tamper1 input detection. |
AnnaBridge | 168:b9e159c1930a | 594 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 595 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 596 | */ |
AnnaBridge | 163:e59c8e839560 | 597 | #define __HAL_RTC_TAMPER1_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAFCR &= ~(RTC_TAFCR_TAMP1E)) |
AnnaBridge | 163:e59c8e839560 | 598 | |
AnnaBridge | 163:e59c8e839560 | 599 | /** |
AnnaBridge | 163:e59c8e839560 | 600 | * @brief Enable the RTC Tamper2 input detection. |
AnnaBridge | 168:b9e159c1930a | 601 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 602 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 603 | */ |
AnnaBridge | 163:e59c8e839560 | 604 | #define __HAL_RTC_TAMPER2_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAFCR |= (RTC_TAFCR_TAMP2E)) |
AnnaBridge | 163:e59c8e839560 | 605 | |
AnnaBridge | 163:e59c8e839560 | 606 | /** |
AnnaBridge | 163:e59c8e839560 | 607 | * @brief Disable the RTC Tamper2 input detection. |
AnnaBridge | 168:b9e159c1930a | 608 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 609 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 610 | */ |
AnnaBridge | 163:e59c8e839560 | 611 | #define __HAL_RTC_TAMPER2_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAFCR &= ~(RTC_TAFCR_TAMP2E)) |
AnnaBridge | 163:e59c8e839560 | 612 | |
AnnaBridge | 163:e59c8e839560 | 613 | #if defined(RTC_TAMPER3_SUPPORT) |
AnnaBridge | 163:e59c8e839560 | 614 | /** |
AnnaBridge | 163:e59c8e839560 | 615 | * @brief Enable the RTC Tamper3 input detection. |
AnnaBridge | 168:b9e159c1930a | 616 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 617 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 618 | */ |
AnnaBridge | 163:e59c8e839560 | 619 | #define __HAL_RTC_TAMPER3_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->TAFCR |= (RTC_TAFCR_TAMP3E)) |
AnnaBridge | 163:e59c8e839560 | 620 | |
AnnaBridge | 163:e59c8e839560 | 621 | /** |
AnnaBridge | 163:e59c8e839560 | 622 | * @brief Disable the RTC Tamper3 input detection. |
AnnaBridge | 168:b9e159c1930a | 623 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 624 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 625 | */ |
AnnaBridge | 163:e59c8e839560 | 626 | #define __HAL_RTC_TAMPER3_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->TAFCR &= ~(RTC_TAFCR_TAMP3E)) |
AnnaBridge | 163:e59c8e839560 | 627 | #endif /* RTC_TAMPER3_SUPPORT */ |
AnnaBridge | 163:e59c8e839560 | 628 | |
AnnaBridge | 163:e59c8e839560 | 629 | /** |
AnnaBridge | 163:e59c8e839560 | 630 | * @brief Enable the RTC Tamper interrupt. |
AnnaBridge | 168:b9e159c1930a | 631 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 632 | * @param __INTERRUPT__ specifies the RTC Tamper interrupt sources to be enabled. |
AnnaBridge | 163:e59c8e839560 | 633 | * This parameter can be any combination of the following values: |
AnnaBridge | 163:e59c8e839560 | 634 | * @arg RTC_IT_TAMP: Tamper interrupt |
AnnaBridge | 163:e59c8e839560 | 635 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 636 | */ |
AnnaBridge | 163:e59c8e839560 | 637 | #define __HAL_RTC_TAMPER_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->TAFCR |= (__INTERRUPT__)) |
AnnaBridge | 163:e59c8e839560 | 638 | |
AnnaBridge | 163:e59c8e839560 | 639 | /** |
AnnaBridge | 163:e59c8e839560 | 640 | * @brief Disable the RTC Tamper interrupt. |
AnnaBridge | 168:b9e159c1930a | 641 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 642 | * @param __INTERRUPT__ specifies the RTC Tamper interrupt sources to be disabled. |
AnnaBridge | 163:e59c8e839560 | 643 | * This parameter can be any combination of the following values: |
AnnaBridge | 163:e59c8e839560 | 644 | * @arg RTC_IT_TAMP: Tamper interrupt |
AnnaBridge | 163:e59c8e839560 | 645 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 646 | */ |
AnnaBridge | 163:e59c8e839560 | 647 | #define __HAL_RTC_TAMPER_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->TAFCR &= ~(__INTERRUPT__)) |
AnnaBridge | 163:e59c8e839560 | 648 | |
AnnaBridge | 163:e59c8e839560 | 649 | /** |
AnnaBridge | 163:e59c8e839560 | 650 | * @brief Check whether the specified RTC Tamper interrupt has occurred or not. |
AnnaBridge | 168:b9e159c1930a | 651 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 652 | * @param __INTERRUPT__ specifies the RTC Tamper interrupt to check. |
AnnaBridge | 163:e59c8e839560 | 653 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 654 | * @arg RTC_IT_TAMP1: Tamper1 interrupt |
AnnaBridge | 163:e59c8e839560 | 655 | * @arg RTC_IT_TAMP2: Tamper2 interrupt |
AnnaBridge | 163:e59c8e839560 | 656 | * @arg RTC_IT_TAMP3: Tamper3 interrupt (*) |
AnnaBridge | 163:e59c8e839560 | 657 | * @note (*) RTC_IT_TAMP3 not present on all the devices |
AnnaBridge | 163:e59c8e839560 | 658 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 659 | */ |
AnnaBridge | 163:e59c8e839560 | 660 | #define __HAL_RTC_TAMPER_GET_IT(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->ISR) & ((__INTERRUPT__)>> 4U)) != RESET)? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 661 | |
AnnaBridge | 163:e59c8e839560 | 662 | /** |
AnnaBridge | 163:e59c8e839560 | 663 | * @brief Check whether the specified RTC Tamper interrupt has been enabled or not. |
AnnaBridge | 168:b9e159c1930a | 664 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 665 | * @param __INTERRUPT__ specifies the RTC Tamper interrupt source to check. |
AnnaBridge | 163:e59c8e839560 | 666 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 667 | * @arg RTC_IT_TAMP: Tamper interrupt |
AnnaBridge | 163:e59c8e839560 | 668 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 669 | */ |
AnnaBridge | 163:e59c8e839560 | 670 | #define __HAL_RTC_TAMPER_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->TAFCR) & (__INTERRUPT__)) != RESET) ? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 671 | |
AnnaBridge | 163:e59c8e839560 | 672 | /** |
AnnaBridge | 163:e59c8e839560 | 673 | * @brief Get the selected RTC Tamper's flag status. |
AnnaBridge | 168:b9e159c1930a | 674 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 675 | * @param __FLAG__ specifies the RTC Tamper Flag is pending or not. |
AnnaBridge | 163:e59c8e839560 | 676 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 677 | * @arg RTC_FLAG_TAMP1F |
AnnaBridge | 163:e59c8e839560 | 678 | * @arg RTC_FLAG_TAMP2F |
AnnaBridge | 163:e59c8e839560 | 679 | * @arg RTC_FLAG_TAMP3F (*) |
AnnaBridge | 163:e59c8e839560 | 680 | * @note (*) RTC_FLAG_TAMP3F not present on all the devices |
AnnaBridge | 163:e59c8e839560 | 681 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 682 | */ |
AnnaBridge | 163:e59c8e839560 | 683 | #define __HAL_RTC_TAMPER_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 684 | |
AnnaBridge | 163:e59c8e839560 | 685 | |
AnnaBridge | 163:e59c8e839560 | 686 | /** |
AnnaBridge | 163:e59c8e839560 | 687 | * @brief Clear the RTC Tamper's pending flags. |
AnnaBridge | 168:b9e159c1930a | 688 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 689 | * @param __FLAG__ specifies the RTC Tamper Flag to clear. |
AnnaBridge | 163:e59c8e839560 | 690 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 691 | * @arg RTC_FLAG_TAMP1F |
AnnaBridge | 163:e59c8e839560 | 692 | * @arg RTC_FLAG_TAMP2F |
AnnaBridge | 163:e59c8e839560 | 693 | * @arg RTC_FLAG_TAMP3F (*) |
AnnaBridge | 163:e59c8e839560 | 694 | * @note (*) RTC_FLAG_TAMP3F not present on all the devices |
AnnaBridge | 163:e59c8e839560 | 695 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 696 | */ |
AnnaBridge | 163:e59c8e839560 | 697 | #define __HAL_RTC_TAMPER_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~((__FLAG__) | RTC_ISR_INIT)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT)) |
AnnaBridge | 163:e59c8e839560 | 698 | |
AnnaBridge | 163:e59c8e839560 | 699 | |
AnnaBridge | 163:e59c8e839560 | 700 | /** |
AnnaBridge | 163:e59c8e839560 | 701 | * @} |
AnnaBridge | 163:e59c8e839560 | 702 | */ |
AnnaBridge | 163:e59c8e839560 | 703 | |
AnnaBridge | 163:e59c8e839560 | 704 | /* --------------------------TAMPER/TIMESTAMP---------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 705 | /** @defgroup RTCEx_Tamper_Timestamp EXTI RTC Extended Tamper Timestamp EXTI |
AnnaBridge | 163:e59c8e839560 | 706 | * @{ |
AnnaBridge | 163:e59c8e839560 | 707 | */ |
AnnaBridge | 163:e59c8e839560 | 708 | |
AnnaBridge | 163:e59c8e839560 | 709 | /* TAMPER TIMESTAMP EXTI */ |
AnnaBridge | 163:e59c8e839560 | 710 | /* --------------------- */ |
AnnaBridge | 163:e59c8e839560 | 711 | /** |
AnnaBridge | 163:e59c8e839560 | 712 | * @brief Enable interrupt on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 713 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 714 | */ |
AnnaBridge | 163:e59c8e839560 | 715 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 716 | |
AnnaBridge | 163:e59c8e839560 | 717 | /** |
AnnaBridge | 163:e59c8e839560 | 718 | * @brief Disable interrupt on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 719 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 720 | */ |
AnnaBridge | 163:e59c8e839560 | 721 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 722 | |
AnnaBridge | 163:e59c8e839560 | 723 | /** |
AnnaBridge | 163:e59c8e839560 | 724 | * @brief Enable event on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 725 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 726 | */ |
AnnaBridge | 163:e59c8e839560 | 727 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 728 | |
AnnaBridge | 163:e59c8e839560 | 729 | /** |
AnnaBridge | 163:e59c8e839560 | 730 | * @brief Disable event on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 731 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 732 | */ |
AnnaBridge | 163:e59c8e839560 | 733 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 734 | |
AnnaBridge | 163:e59c8e839560 | 735 | /** |
AnnaBridge | 163:e59c8e839560 | 736 | * @brief Enable falling edge trigger on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 737 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 738 | */ |
AnnaBridge | 163:e59c8e839560 | 739 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 740 | |
AnnaBridge | 163:e59c8e839560 | 741 | /** |
AnnaBridge | 163:e59c8e839560 | 742 | * @brief Disable falling edge trigger on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 743 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 744 | */ |
AnnaBridge | 163:e59c8e839560 | 745 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 746 | |
AnnaBridge | 163:e59c8e839560 | 747 | /** |
AnnaBridge | 163:e59c8e839560 | 748 | * @brief Enable rising edge trigger on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 749 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 750 | */ |
AnnaBridge | 163:e59c8e839560 | 751 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 752 | |
AnnaBridge | 163:e59c8e839560 | 753 | /** |
AnnaBridge | 163:e59c8e839560 | 754 | * @brief Disable rising edge trigger on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 755 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 756 | */ |
AnnaBridge | 163:e59c8e839560 | 757 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT)) |
AnnaBridge | 163:e59c8e839560 | 758 | |
AnnaBridge | 163:e59c8e839560 | 759 | /** |
AnnaBridge | 163:e59c8e839560 | 760 | * @brief Enable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 761 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 762 | */ |
AnnaBridge | 163:e59c8e839560 | 763 | #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 | 163:e59c8e839560 | 764 | |
AnnaBridge | 163:e59c8e839560 | 765 | /** |
AnnaBridge | 163:e59c8e839560 | 766 | * @brief Disable rising & falling edge trigger on the RTC Tamper and Timestamp associated Exti line. |
AnnaBridge | 163:e59c8e839560 | 767 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 768 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 769 | */ |
AnnaBridge | 163:e59c8e839560 | 770 | #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 | 163:e59c8e839560 | 771 | |
AnnaBridge | 163:e59c8e839560 | 772 | /** |
AnnaBridge | 163:e59c8e839560 | 773 | * @brief Check whether the RTC Tamper and Timestamp associated Exti line interrupt flag is set or not. |
AnnaBridge | 163:e59c8e839560 | 774 | * @retval Line Status. |
AnnaBridge | 163:e59c8e839560 | 775 | */ |
AnnaBridge | 163:e59c8e839560 | 776 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 777 | |
AnnaBridge | 163:e59c8e839560 | 778 | /** |
AnnaBridge | 163:e59c8e839560 | 779 | * @brief Clear the RTC Tamper and Timestamp associated Exti line flag. |
AnnaBridge | 163:e59c8e839560 | 780 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 781 | */ |
AnnaBridge | 163:e59c8e839560 | 782 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 783 | |
AnnaBridge | 163:e59c8e839560 | 784 | /** |
AnnaBridge | 163:e59c8e839560 | 785 | * @brief Generate a Software interrupt on the RTC Tamper and Timestamp associated Exti line |
AnnaBridge | 163:e59c8e839560 | 786 | * @retval None. |
AnnaBridge | 163:e59c8e839560 | 787 | */ |
AnnaBridge | 163:e59c8e839560 | 788 | #define __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_TAMPER_TIMESTAMP_EVENT) |
AnnaBridge | 163:e59c8e839560 | 789 | /** |
AnnaBridge | 163:e59c8e839560 | 790 | * @} |
AnnaBridge | 163:e59c8e839560 | 791 | */ |
AnnaBridge | 163:e59c8e839560 | 792 | |
AnnaBridge | 163:e59c8e839560 | 793 | /* ------------------------------Calibration----------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 794 | /** @defgroup RTCEx_Calibration RTC Extended Calibration |
AnnaBridge | 163:e59c8e839560 | 795 | * @{ |
AnnaBridge | 163:e59c8e839560 | 796 | */ |
AnnaBridge | 163:e59c8e839560 | 797 | |
AnnaBridge | 163:e59c8e839560 | 798 | /** |
AnnaBridge | 163:e59c8e839560 | 799 | * @brief Enable the RTC calibration output. |
AnnaBridge | 168:b9e159c1930a | 800 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 801 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 802 | */ |
AnnaBridge | 163:e59c8e839560 | 803 | #define __HAL_RTC_CALIBRATION_OUTPUT_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_COE)) |
AnnaBridge | 163:e59c8e839560 | 804 | |
AnnaBridge | 163:e59c8e839560 | 805 | /** |
AnnaBridge | 163:e59c8e839560 | 806 | * @brief Disable the calibration output. |
AnnaBridge | 168:b9e159c1930a | 807 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 808 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 809 | */ |
AnnaBridge | 163:e59c8e839560 | 810 | #define __HAL_RTC_CALIBRATION_OUTPUT_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_COE)) |
AnnaBridge | 163:e59c8e839560 | 811 | |
AnnaBridge | 163:e59c8e839560 | 812 | /** |
AnnaBridge | 163:e59c8e839560 | 813 | * @brief Enable the clock reference detection. |
AnnaBridge | 168:b9e159c1930a | 814 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 815 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 816 | */ |
AnnaBridge | 163:e59c8e839560 | 817 | #define __HAL_RTC_CLOCKREF_DETECTION_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_REFCKON)) |
AnnaBridge | 163:e59c8e839560 | 818 | |
AnnaBridge | 163:e59c8e839560 | 819 | /** |
AnnaBridge | 163:e59c8e839560 | 820 | * @brief Disable the clock reference detection. |
AnnaBridge | 168:b9e159c1930a | 821 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 163:e59c8e839560 | 822 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 823 | */ |
AnnaBridge | 163:e59c8e839560 | 824 | #define __HAL_RTC_CLOCKREF_DETECTION_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_REFCKON)) |
AnnaBridge | 163:e59c8e839560 | 825 | |
AnnaBridge | 163:e59c8e839560 | 826 | /** |
AnnaBridge | 163:e59c8e839560 | 827 | * @brief Get the selected RTC shift operation's flag status. |
AnnaBridge | 168:b9e159c1930a | 828 | * @param __HANDLE__ specifies the RTC handle. |
AnnaBridge | 168:b9e159c1930a | 829 | * @param __FLAG__ specifies the RTC shift operation Flag is pending or not. |
AnnaBridge | 163:e59c8e839560 | 830 | * This parameter can be: |
AnnaBridge | 163:e59c8e839560 | 831 | * @arg RTC_FLAG_SHPF |
AnnaBridge | 163:e59c8e839560 | 832 | * @retval None |
AnnaBridge | 163:e59c8e839560 | 833 | */ |
AnnaBridge | 163:e59c8e839560 | 834 | #define __HAL_RTC_SHIFT_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET) |
AnnaBridge | 163:e59c8e839560 | 835 | /** |
AnnaBridge | 163:e59c8e839560 | 836 | * @} |
AnnaBridge | 163:e59c8e839560 | 837 | */ |
AnnaBridge | 163:e59c8e839560 | 838 | |
AnnaBridge | 163:e59c8e839560 | 839 | /** |
AnnaBridge | 163:e59c8e839560 | 840 | * @} |
AnnaBridge | 163:e59c8e839560 | 841 | */ |
AnnaBridge | 163:e59c8e839560 | 842 | |
AnnaBridge | 163:e59c8e839560 | 843 | /* Exported functions --------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 844 | /** @defgroup RTCEx_Exported_Functions RTCEx Exported Functions |
AnnaBridge | 163:e59c8e839560 | 845 | * @{ |
AnnaBridge | 163:e59c8e839560 | 846 | */ |
AnnaBridge | 163:e59c8e839560 | 847 | |
AnnaBridge | 163:e59c8e839560 | 848 | /* RTC TimeStamp and Tamper functions *****************************************/ |
AnnaBridge | 163:e59c8e839560 | 849 | /** @defgroup RTCEx_Exported_Functions_Group1 Extended RTC TimeStamp and Tamper functions |
AnnaBridge | 163:e59c8e839560 | 850 | * @{ |
AnnaBridge | 163:e59c8e839560 | 851 | */ |
AnnaBridge | 163:e59c8e839560 | 852 | |
AnnaBridge | 163:e59c8e839560 | 853 | HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin); |
AnnaBridge | 163:e59c8e839560 | 854 | HAL_StatusTypeDef HAL_RTCEx_SetTimeStamp_IT(RTC_HandleTypeDef *hrtc, uint32_t TimeStampEdge, uint32_t RTC_TimeStampPin); |
AnnaBridge | 163:e59c8e839560 | 855 | HAL_StatusTypeDef HAL_RTCEx_DeactivateTimeStamp(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 856 | HAL_StatusTypeDef HAL_RTCEx_GetTimeStamp(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTimeStamp, RTC_DateTypeDef *sTimeStampDate, uint32_t Format); |
AnnaBridge | 163:e59c8e839560 | 857 | |
AnnaBridge | 163:e59c8e839560 | 858 | HAL_StatusTypeDef HAL_RTCEx_SetTamper(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper); |
AnnaBridge | 163:e59c8e839560 | 859 | HAL_StatusTypeDef HAL_RTCEx_SetTamper_IT(RTC_HandleTypeDef *hrtc, RTC_TamperTypeDef* sTamper); |
AnnaBridge | 163:e59c8e839560 | 860 | HAL_StatusTypeDef HAL_RTCEx_DeactivateTamper(RTC_HandleTypeDef *hrtc, uint32_t Tamper); |
AnnaBridge | 163:e59c8e839560 | 861 | void HAL_RTCEx_TamperTimeStampIRQHandler(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 862 | |
AnnaBridge | 163:e59c8e839560 | 863 | void HAL_RTCEx_Tamper1EventCallback(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 864 | void HAL_RTCEx_Tamper2EventCallback(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 865 | void HAL_RTCEx_Tamper3EventCallback(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 866 | void HAL_RTCEx_TimeStampEventCallback(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 867 | HAL_StatusTypeDef HAL_RTCEx_PollForTimeStampEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
AnnaBridge | 163:e59c8e839560 | 868 | HAL_StatusTypeDef HAL_RTCEx_PollForTamper1Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
AnnaBridge | 163:e59c8e839560 | 869 | HAL_StatusTypeDef HAL_RTCEx_PollForTamper2Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
AnnaBridge | 163:e59c8e839560 | 870 | HAL_StatusTypeDef HAL_RTCEx_PollForTamper3Event(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
AnnaBridge | 163:e59c8e839560 | 871 | /** |
AnnaBridge | 163:e59c8e839560 | 872 | * @} |
AnnaBridge | 163:e59c8e839560 | 873 | */ |
AnnaBridge | 163:e59c8e839560 | 874 | |
AnnaBridge | 163:e59c8e839560 | 875 | /* RTC Wake-up functions ******************************************************/ |
AnnaBridge | 163:e59c8e839560 | 876 | /** @defgroup RTCEx_Exported_Functions_Group2 Extended RTC Wake-up functions |
AnnaBridge | 163:e59c8e839560 | 877 | * @{ |
AnnaBridge | 163:e59c8e839560 | 878 | */ |
AnnaBridge | 163:e59c8e839560 | 879 | |
AnnaBridge | 163:e59c8e839560 | 880 | HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock); |
AnnaBridge | 163:e59c8e839560 | 881 | HAL_StatusTypeDef HAL_RTCEx_SetWakeUpTimer_IT(RTC_HandleTypeDef *hrtc, uint32_t WakeUpCounter, uint32_t WakeUpClock); |
AnnaBridge | 163:e59c8e839560 | 882 | uint32_t HAL_RTCEx_DeactivateWakeUpTimer(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 883 | uint32_t HAL_RTCEx_GetWakeUpTimer(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 884 | void HAL_RTCEx_WakeUpTimerIRQHandler(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 885 | void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 886 | HAL_StatusTypeDef HAL_RTCEx_PollForWakeUpTimerEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
AnnaBridge | 163:e59c8e839560 | 887 | /** |
AnnaBridge | 163:e59c8e839560 | 888 | * @} |
AnnaBridge | 163:e59c8e839560 | 889 | */ |
AnnaBridge | 163:e59c8e839560 | 890 | |
AnnaBridge | 163:e59c8e839560 | 891 | /* Extended Control functions ************************************************/ |
AnnaBridge | 163:e59c8e839560 | 892 | /** @defgroup RTCEx_Exported_Functions_Group3 Extended Peripheral Control functions |
AnnaBridge | 163:e59c8e839560 | 893 | * @{ |
AnnaBridge | 163:e59c8e839560 | 894 | */ |
AnnaBridge | 163:e59c8e839560 | 895 | |
AnnaBridge | 163:e59c8e839560 | 896 | void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data); |
AnnaBridge | 163:e59c8e839560 | 897 | uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister); |
AnnaBridge | 163:e59c8e839560 | 898 | |
AnnaBridge | 163:e59c8e839560 | 899 | HAL_StatusTypeDef HAL_RTCEx_SetSmoothCalib(RTC_HandleTypeDef *hrtc, uint32_t SmoothCalibPeriod, uint32_t SmoothCalibPlusPulses, uint32_t SmoothCalibMinusPulsesValue); |
AnnaBridge | 163:e59c8e839560 | 900 | HAL_StatusTypeDef HAL_RTCEx_SetSynchroShift(RTC_HandleTypeDef *hrtc, uint32_t ShiftAdd1S, uint32_t ShiftSubFS); |
AnnaBridge | 163:e59c8e839560 | 901 | HAL_StatusTypeDef HAL_RTCEx_SetCalibrationOutPut(RTC_HandleTypeDef *hrtc, uint32_t CalibOutput); |
AnnaBridge | 163:e59c8e839560 | 902 | HAL_StatusTypeDef HAL_RTCEx_DeactivateCalibrationOutPut(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 903 | HAL_StatusTypeDef HAL_RTCEx_SetRefClock(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 904 | HAL_StatusTypeDef HAL_RTCEx_DeactivateRefClock(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 905 | HAL_StatusTypeDef HAL_RTCEx_EnableBypassShadow(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 906 | HAL_StatusTypeDef HAL_RTCEx_DisableBypassShadow(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 907 | /** |
AnnaBridge | 163:e59c8e839560 | 908 | * @} |
AnnaBridge | 163:e59c8e839560 | 909 | */ |
AnnaBridge | 163:e59c8e839560 | 910 | |
AnnaBridge | 163:e59c8e839560 | 911 | /* Extended RTC features functions *******************************************/ |
AnnaBridge | 163:e59c8e839560 | 912 | /** @defgroup RTCEx_Exported_Functions_Group4 Extended features functions |
AnnaBridge | 163:e59c8e839560 | 913 | * @{ |
AnnaBridge | 163:e59c8e839560 | 914 | */ |
AnnaBridge | 163:e59c8e839560 | 915 | void HAL_RTCEx_AlarmBEventCallback(RTC_HandleTypeDef *hrtc); |
AnnaBridge | 163:e59c8e839560 | 916 | HAL_StatusTypeDef HAL_RTCEx_PollForAlarmBEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout); |
AnnaBridge | 163:e59c8e839560 | 917 | |
AnnaBridge | 163:e59c8e839560 | 918 | /** |
AnnaBridge | 163:e59c8e839560 | 919 | * @} |
AnnaBridge | 163:e59c8e839560 | 920 | */ |
AnnaBridge | 163:e59c8e839560 | 921 | |
AnnaBridge | 163:e59c8e839560 | 922 | /** |
AnnaBridge | 163:e59c8e839560 | 923 | * @} |
AnnaBridge | 163:e59c8e839560 | 924 | */ |
AnnaBridge | 163:e59c8e839560 | 925 | |
AnnaBridge | 163:e59c8e839560 | 926 | /* Private types -------------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 927 | /* Private variables ---------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 928 | /* Private constants ---------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 929 | /* Private macros ------------------------------------------------------------*/ |
AnnaBridge | 163:e59c8e839560 | 930 | /** @defgroup RTCEx_Private_Macros RTCEx Private Macros |
AnnaBridge | 163:e59c8e839560 | 931 | * @{ |
AnnaBridge | 163:e59c8e839560 | 932 | */ |
AnnaBridge | 163:e59c8e839560 | 933 | |
AnnaBridge | 163:e59c8e839560 | 934 | /** @defgroup RTCEx_IS_RTC_Definitions Private macros to check input parameters |
AnnaBridge | 163:e59c8e839560 | 935 | * @{ |
AnnaBridge | 163:e59c8e839560 | 936 | */ |
AnnaBridge | 163:e59c8e839560 | 937 | #define IS_RTC_OUTPUT(OUTPUT) (((OUTPUT) == RTC_OUTPUT_DISABLE) || \ |
AnnaBridge | 163:e59c8e839560 | 938 | ((OUTPUT) == RTC_OUTPUT_ALARMA) || \ |
AnnaBridge | 163:e59c8e839560 | 939 | ((OUTPUT) == RTC_OUTPUT_ALARMB) || \ |
AnnaBridge | 163:e59c8e839560 | 940 | ((OUTPUT) == RTC_OUTPUT_WAKEUP)) |
AnnaBridge | 163:e59c8e839560 | 941 | |
AnnaBridge | 163:e59c8e839560 | 942 | #define IS_RTC_BKP(BKP) ((BKP) < (uint32_t) RTC_BKP_NUMBER) |
AnnaBridge | 163:e59c8e839560 | 943 | |
AnnaBridge | 163:e59c8e839560 | 944 | #define IS_TIMESTAMP_EDGE(EDGE) (((EDGE) == RTC_TIMESTAMPEDGE_RISING) || \ |
AnnaBridge | 163:e59c8e839560 | 945 | ((EDGE) == RTC_TIMESTAMPEDGE_FALLING)) |
AnnaBridge | 163:e59c8e839560 | 946 | |
AnnaBridge | 163:e59c8e839560 | 947 | #define IS_RTC_TAMPER(TAMPER) ((((TAMPER) & 0xFFFFFFD6U) == 0x00U) && ((TAMPER) != (uint32_t)RESET)) |
AnnaBridge | 163:e59c8e839560 | 948 | |
AnnaBridge | 163:e59c8e839560 | 949 | |
AnnaBridge | 163:e59c8e839560 | 950 | #define IS_RTC_TIMESTAMP_PIN(PIN) (((PIN) == RTC_TIMESTAMPPIN_DEFAULT)) |
AnnaBridge | 163:e59c8e839560 | 951 | |
AnnaBridge | 163:e59c8e839560 | 952 | |
AnnaBridge | 163:e59c8e839560 | 953 | #define IS_RTC_TAMPER_TRIGGER(TRIGGER) (((TRIGGER) == RTC_TAMPERTRIGGER_RISINGEDGE) || \ |
AnnaBridge | 163:e59c8e839560 | 954 | ((TRIGGER) == RTC_TAMPERTRIGGER_FALLINGEDGE) || \ |
AnnaBridge | 163:e59c8e839560 | 955 | ((TRIGGER) == RTC_TAMPERTRIGGER_LOWLEVEL) || \ |
AnnaBridge | 163:e59c8e839560 | 956 | ((TRIGGER) == RTC_TAMPERTRIGGER_HIGHLEVEL)) |
AnnaBridge | 163:e59c8e839560 | 957 | #define IS_RTC_TAMPER_FILTER(FILTER) (((FILTER) == RTC_TAMPERFILTER_DISABLE) || \ |
AnnaBridge | 163:e59c8e839560 | 958 | ((FILTER) == RTC_TAMPERFILTER_2SAMPLE) || \ |
AnnaBridge | 163:e59c8e839560 | 959 | ((FILTER) == RTC_TAMPERFILTER_4SAMPLE) || \ |
AnnaBridge | 163:e59c8e839560 | 960 | ((FILTER) == RTC_TAMPERFILTER_8SAMPLE)) |
AnnaBridge | 163:e59c8e839560 | 961 | #define IS_RTC_TAMPER_SAMPLING_FREQ(FREQ) (((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV32768)|| \ |
AnnaBridge | 163:e59c8e839560 | 962 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV16384)|| \ |
AnnaBridge | 163:e59c8e839560 | 963 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV8192) || \ |
AnnaBridge | 163:e59c8e839560 | 964 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV4096) || \ |
AnnaBridge | 163:e59c8e839560 | 965 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV2048) || \ |
AnnaBridge | 163:e59c8e839560 | 966 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV1024) || \ |
AnnaBridge | 163:e59c8e839560 | 967 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV512) || \ |
AnnaBridge | 163:e59c8e839560 | 968 | ((FREQ) == RTC_TAMPERSAMPLINGFREQ_RTCCLK_DIV256)) |
AnnaBridge | 163:e59c8e839560 | 969 | #define IS_RTC_TAMPER_PRECHARGE_DURATION(DURATION) (((DURATION) == RTC_TAMPERPRECHARGEDURATION_1RTCCLK) || \ |
AnnaBridge | 163:e59c8e839560 | 970 | ((DURATION) == RTC_TAMPERPRECHARGEDURATION_2RTCCLK) || \ |
AnnaBridge | 163:e59c8e839560 | 971 | ((DURATION) == RTC_TAMPERPRECHARGEDURATION_4RTCCLK) || \ |
AnnaBridge | 163:e59c8e839560 | 972 | ((DURATION) == RTC_TAMPERPRECHARGEDURATION_8RTCCLK)) |
AnnaBridge | 163:e59c8e839560 | 973 | #define IS_RTC_TAMPER_TIMESTAMPONTAMPER_DETECTION(DETECTION) (((DETECTION) == RTC_TIMESTAMPONTAMPERDETECTION_ENABLE) || \ |
AnnaBridge | 163:e59c8e839560 | 974 | ((DETECTION) == RTC_TIMESTAMPONTAMPERDETECTION_DISABLE)) |
AnnaBridge | 163:e59c8e839560 | 975 | #define IS_RTC_TAMPER_PULLUP_STATE(STATE) (((STATE) == RTC_TAMPER_PULLUP_ENABLE) || \ |
AnnaBridge | 163:e59c8e839560 | 976 | ((STATE) == RTC_TAMPER_PULLUP_DISABLE)) |
AnnaBridge | 163:e59c8e839560 | 977 | #define IS_RTC_WAKEUP_CLOCK(CLOCK) (((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV16) || \ |
AnnaBridge | 163:e59c8e839560 | 978 | ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV8) || \ |
AnnaBridge | 163:e59c8e839560 | 979 | ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV4) || \ |
AnnaBridge | 163:e59c8e839560 | 980 | ((CLOCK) == RTC_WAKEUPCLOCK_RTCCLK_DIV2) || \ |
AnnaBridge | 163:e59c8e839560 | 981 | ((CLOCK) == RTC_WAKEUPCLOCK_CK_SPRE_16BITS) || \ |
AnnaBridge | 163:e59c8e839560 | 982 | ((CLOCK) == RTC_WAKEUPCLOCK_CK_SPRE_17BITS)) |
AnnaBridge | 163:e59c8e839560 | 983 | |
AnnaBridge | 163:e59c8e839560 | 984 | #define IS_RTC_WAKEUP_COUNTER(COUNTER) ((COUNTER) <= 0xFFFFU) |
AnnaBridge | 163:e59c8e839560 | 985 | |
AnnaBridge | 163:e59c8e839560 | 986 | |
AnnaBridge | 163:e59c8e839560 | 987 | #define IS_RTC_SMOOTH_CALIB_PERIOD(PERIOD) (((PERIOD) == RTC_SMOOTHCALIB_PERIOD_32SEC) || \ |
AnnaBridge | 163:e59c8e839560 | 988 | ((PERIOD) == RTC_SMOOTHCALIB_PERIOD_16SEC) || \ |
AnnaBridge | 163:e59c8e839560 | 989 | ((PERIOD) == RTC_SMOOTHCALIB_PERIOD_8SEC)) |
AnnaBridge | 163:e59c8e839560 | 990 | #define IS_RTC_SMOOTH_CALIB_PLUS(PLUS) (((PLUS) == RTC_SMOOTHCALIB_PLUSPULSES_SET) || \ |
AnnaBridge | 163:e59c8e839560 | 991 | ((PLUS) == RTC_SMOOTHCALIB_PLUSPULSES_RESET)) |
AnnaBridge | 163:e59c8e839560 | 992 | |
AnnaBridge | 163:e59c8e839560 | 993 | |
AnnaBridge | 163:e59c8e839560 | 994 | #define IS_RTC_SMOOTH_CALIB_MINUS(VALUE) ((VALUE) <= 0x000001FFU) |
AnnaBridge | 163:e59c8e839560 | 995 | #define IS_RTC_SHIFT_ADD1S(SEL) (((SEL) == RTC_SHIFTADD1S_RESET) || \ |
AnnaBridge | 163:e59c8e839560 | 996 | ((SEL) == RTC_SHIFTADD1S_SET)) |
AnnaBridge | 163:e59c8e839560 | 997 | #define IS_RTC_SHIFT_SUBFS(FS) ((FS) <= 0x00007FFFU) |
AnnaBridge | 163:e59c8e839560 | 998 | #define IS_RTC_CALIB_OUTPUT(OUTPUT) (((OUTPUT) == RTC_CALIBOUTPUT_512HZ) || \ |
AnnaBridge | 163:e59c8e839560 | 999 | ((OUTPUT) == RTC_CALIBOUTPUT_1HZ)) |
AnnaBridge | 163:e59c8e839560 | 1000 | /** |
AnnaBridge | 163:e59c8e839560 | 1001 | * @} |
AnnaBridge | 163:e59c8e839560 | 1002 | */ |
AnnaBridge | 163:e59c8e839560 | 1003 | |
AnnaBridge | 163:e59c8e839560 | 1004 | /** |
AnnaBridge | 163:e59c8e839560 | 1005 | * @} |
AnnaBridge | 163:e59c8e839560 | 1006 | */ |
AnnaBridge | 163:e59c8e839560 | 1007 | |
AnnaBridge | 163:e59c8e839560 | 1008 | /** |
AnnaBridge | 163:e59c8e839560 | 1009 | * @} |
AnnaBridge | 163:e59c8e839560 | 1010 | */ |
AnnaBridge | 163:e59c8e839560 | 1011 | |
AnnaBridge | 163:e59c8e839560 | 1012 | /** |
AnnaBridge | 163:e59c8e839560 | 1013 | * @} |
AnnaBridge | 163:e59c8e839560 | 1014 | */ |
AnnaBridge | 163:e59c8e839560 | 1015 | |
AnnaBridge | 163:e59c8e839560 | 1016 | #ifdef __cplusplus |
AnnaBridge | 163:e59c8e839560 | 1017 | } |
AnnaBridge | 163:e59c8e839560 | 1018 | #endif |
AnnaBridge | 163:e59c8e839560 | 1019 | |
AnnaBridge | 163:e59c8e839560 | 1020 | #endif /* __STM32F3xx_HAL_RTC_EX_H */ |
AnnaBridge | 163:e59c8e839560 | 1021 | |
AnnaBridge | 163:e59c8e839560 | 1022 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |