mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Fri Aug 14 13:15:17 2015 +0100
Revision:
610:813dcc80987e
Parent:
573:ad23fe03a082
Synchronized with git revision 6d84db41c6833e0b9b024741eb0616a5f62d5599

Full URL: https://github.com/mbedmicro/mbed/commit/6d84db41c6833e0b9b024741eb0616a5f62d5599/

DISCO_F746NG - Improvements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 573:ad23fe03a082 1 /**
mbed_official 573:ad23fe03a082 2 ******************************************************************************
mbed_official 573:ad23fe03a082 3 * @file stm32f7xx_hal_rtc.h
mbed_official 573:ad23fe03a082 4 * @author MCD Application Team
mbed_official 610:813dcc80987e 5 * @version V1.0.1
mbed_official 610:813dcc80987e 6 * @date 25-June-2015
mbed_official 573:ad23fe03a082 7 * @brief Header file of RTC HAL module.
mbed_official 573:ad23fe03a082 8 ******************************************************************************
mbed_official 573:ad23fe03a082 9 * @attention
mbed_official 573:ad23fe03a082 10 *
mbed_official 573:ad23fe03a082 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 573:ad23fe03a082 12 *
mbed_official 573:ad23fe03a082 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 573:ad23fe03a082 14 * are permitted provided that the following conditions are met:
mbed_official 573:ad23fe03a082 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 573:ad23fe03a082 16 * this list of conditions and the following disclaimer.
mbed_official 573:ad23fe03a082 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 573:ad23fe03a082 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 573:ad23fe03a082 19 * and/or other materials provided with the distribution.
mbed_official 573:ad23fe03a082 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 573:ad23fe03a082 21 * may be used to endorse or promote products derived from this software
mbed_official 573:ad23fe03a082 22 * without specific prior written permission.
mbed_official 573:ad23fe03a082 23 *
mbed_official 573:ad23fe03a082 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 573:ad23fe03a082 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 573:ad23fe03a082 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 573:ad23fe03a082 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 573:ad23fe03a082 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 573:ad23fe03a082 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 573:ad23fe03a082 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 573:ad23fe03a082 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 573:ad23fe03a082 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 573:ad23fe03a082 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 573:ad23fe03a082 34 *
mbed_official 573:ad23fe03a082 35 ******************************************************************************
mbed_official 573:ad23fe03a082 36 */
mbed_official 573:ad23fe03a082 37
mbed_official 573:ad23fe03a082 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 573:ad23fe03a082 39 #ifndef __STM32F7xx_HAL_RTC_H
mbed_official 573:ad23fe03a082 40 #define __STM32F7xx_HAL_RTC_H
mbed_official 573:ad23fe03a082 41
mbed_official 573:ad23fe03a082 42 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 43 extern "C" {
mbed_official 573:ad23fe03a082 44 #endif
mbed_official 573:ad23fe03a082 45
mbed_official 573:ad23fe03a082 46 /* Includes ------------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 47 #include "stm32f7xx_hal_def.h"
mbed_official 573:ad23fe03a082 48
mbed_official 573:ad23fe03a082 49 /** @addtogroup STM32F7xx_HAL_Driver
mbed_official 573:ad23fe03a082 50 * @{
mbed_official 573:ad23fe03a082 51 */
mbed_official 573:ad23fe03a082 52
mbed_official 573:ad23fe03a082 53 /** @addtogroup RTC
mbed_official 573:ad23fe03a082 54 * @{
mbed_official 573:ad23fe03a082 55 */
mbed_official 573:ad23fe03a082 56
mbed_official 573:ad23fe03a082 57 /* Exported types ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 58 /** @defgroup RTC_Exported_Types RTC Exported Types
mbed_official 573:ad23fe03a082 59 * @{
mbed_official 573:ad23fe03a082 60 */
mbed_official 573:ad23fe03a082 61
mbed_official 573:ad23fe03a082 62 /**
mbed_official 573:ad23fe03a082 63 * @brief HAL State structures definition
mbed_official 573:ad23fe03a082 64 */
mbed_official 573:ad23fe03a082 65 typedef enum
mbed_official 573:ad23fe03a082 66 {
mbed_official 573:ad23fe03a082 67 HAL_RTC_STATE_RESET = 0x00, /*!< RTC not yet initialized or disabled */
mbed_official 573:ad23fe03a082 68 HAL_RTC_STATE_READY = 0x01, /*!< RTC initialized and ready for use */
mbed_official 573:ad23fe03a082 69 HAL_RTC_STATE_BUSY = 0x02, /*!< RTC process is ongoing */
mbed_official 573:ad23fe03a082 70 HAL_RTC_STATE_TIMEOUT = 0x03, /*!< RTC timeout state */
mbed_official 573:ad23fe03a082 71 HAL_RTC_STATE_ERROR = 0x04 /*!< RTC error state */
mbed_official 573:ad23fe03a082 72
mbed_official 573:ad23fe03a082 73 }HAL_RTCStateTypeDef;
mbed_official 573:ad23fe03a082 74
mbed_official 573:ad23fe03a082 75 /**
mbed_official 573:ad23fe03a082 76 * @brief RTC Configuration Structure definition
mbed_official 573:ad23fe03a082 77 */
mbed_official 573:ad23fe03a082 78 typedef struct
mbed_official 573:ad23fe03a082 79 {
mbed_official 573:ad23fe03a082 80 uint32_t HourFormat; /*!< Specifies the RTC Hour Format.
mbed_official 573:ad23fe03a082 81 This parameter can be a value of @ref RTC_Hour_Formats */
mbed_official 573:ad23fe03a082 82
mbed_official 573:ad23fe03a082 83 uint32_t AsynchPrediv; /*!< Specifies the RTC Asynchronous Predivider value.
mbed_official 573:ad23fe03a082 84 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x7F */
mbed_official 573:ad23fe03a082 85
mbed_official 573:ad23fe03a082 86 uint32_t SynchPrediv; /*!< Specifies the RTC Synchronous Predivider value.
mbed_official 573:ad23fe03a082 87 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x7FFF */
mbed_official 573:ad23fe03a082 88
mbed_official 573:ad23fe03a082 89 uint32_t OutPut; /*!< Specifies which signal will be routed to the RTC output.
mbed_official 573:ad23fe03a082 90 This parameter can be a value of @ref RTCEx_Output_selection_Definitions */
mbed_official 573:ad23fe03a082 91
mbed_official 573:ad23fe03a082 92 uint32_t OutPutPolarity; /*!< Specifies the polarity of the output signal.
mbed_official 573:ad23fe03a082 93 This parameter can be a value of @ref RTC_Output_Polarity_Definitions */
mbed_official 573:ad23fe03a082 94
mbed_official 573:ad23fe03a082 95 uint32_t OutPutType; /*!< Specifies the RTC Output Pin mode.
mbed_official 573:ad23fe03a082 96 This parameter can be a value of @ref RTC_Output_Type_ALARM_OUT */
mbed_official 573:ad23fe03a082 97 }RTC_InitTypeDef;
mbed_official 573:ad23fe03a082 98
mbed_official 573:ad23fe03a082 99 /**
mbed_official 573:ad23fe03a082 100 * @brief RTC Time structure definition
mbed_official 573:ad23fe03a082 101 */
mbed_official 573:ad23fe03a082 102 typedef struct
mbed_official 573:ad23fe03a082 103 {
mbed_official 573:ad23fe03a082 104 uint8_t Hours; /*!< Specifies the RTC Time Hour.
mbed_official 573:ad23fe03a082 105 This parameter must be a number between Min_Data = 0 and Max_Data = 12 if the RTC_HourFormat_12 is selected.
mbed_official 573:ad23fe03a082 106 This parameter must be a number between Min_Data = 0 and Max_Data = 23 if the RTC_HourFormat_24 is selected */
mbed_official 573:ad23fe03a082 107
mbed_official 573:ad23fe03a082 108 uint8_t Minutes; /*!< Specifies the RTC Time Minutes.
mbed_official 573:ad23fe03a082 109 This parameter must be a number between Min_Data = 0 and Max_Data = 59 */
mbed_official 573:ad23fe03a082 110
mbed_official 573:ad23fe03a082 111 uint8_t Seconds; /*!< Specifies the RTC Time Seconds.
mbed_official 573:ad23fe03a082 112 This parameter must be a number between Min_Data = 0 and Max_Data = 59 */
mbed_official 573:ad23fe03a082 113
mbed_official 573:ad23fe03a082 114 uint32_t SubSeconds; /*!< Specifies the RTC Time SubSeconds.
mbed_official 573:ad23fe03a082 115 This parameter must be a number between Min_Data = 0 and Max_Data = 59 */
mbed_official 573:ad23fe03a082 116
mbed_official 573:ad23fe03a082 117 uint8_t TimeFormat; /*!< Specifies the RTC AM/PM Time.
mbed_official 573:ad23fe03a082 118 This parameter can be a value of @ref RTC_AM_PM_Definitions */
mbed_official 573:ad23fe03a082 119
mbed_official 573:ad23fe03a082 120 uint32_t DayLightSaving; /*!< Specifies RTC_DayLightSaveOperation: the value of hour adjustment.
mbed_official 573:ad23fe03a082 121 This parameter can be a value of @ref RTC_DayLightSaving_Definitions */
mbed_official 573:ad23fe03a082 122
mbed_official 573:ad23fe03a082 123 uint32_t StoreOperation; /*!< Specifies RTC_StoreOperation value to be written in the BCK bit
mbed_official 573:ad23fe03a082 124 in CR register to store the operation.
mbed_official 573:ad23fe03a082 125 This parameter can be a value of @ref RTC_StoreOperation_Definitions */
mbed_official 573:ad23fe03a082 126 }RTC_TimeTypeDef;
mbed_official 573:ad23fe03a082 127
mbed_official 573:ad23fe03a082 128 /**
mbed_official 573:ad23fe03a082 129 * @brief RTC Date structure definition
mbed_official 573:ad23fe03a082 130 */
mbed_official 573:ad23fe03a082 131 typedef struct
mbed_official 573:ad23fe03a082 132 {
mbed_official 573:ad23fe03a082 133 uint8_t WeekDay; /*!< Specifies the RTC Date WeekDay.
mbed_official 573:ad23fe03a082 134 This parameter can be a value of @ref RTC_WeekDay_Definitions */
mbed_official 573:ad23fe03a082 135
mbed_official 573:ad23fe03a082 136 uint8_t Month; /*!< Specifies the RTC Date Month (in BCD format).
mbed_official 573:ad23fe03a082 137 This parameter can be a value of @ref RTC_Month_Date_Definitions */
mbed_official 573:ad23fe03a082 138
mbed_official 573:ad23fe03a082 139 uint8_t Date; /*!< Specifies the RTC Date.
mbed_official 573:ad23fe03a082 140 This parameter must be a number between Min_Data = 1 and Max_Data = 31 */
mbed_official 573:ad23fe03a082 141
mbed_official 573:ad23fe03a082 142 uint8_t Year; /*!< Specifies the RTC Date Year.
mbed_official 573:ad23fe03a082 143 This parameter must be a number between Min_Data = 0 and Max_Data = 99 */
mbed_official 573:ad23fe03a082 144
mbed_official 573:ad23fe03a082 145 }RTC_DateTypeDef;
mbed_official 573:ad23fe03a082 146
mbed_official 573:ad23fe03a082 147 /**
mbed_official 573:ad23fe03a082 148 * @brief RTC Alarm structure definition
mbed_official 573:ad23fe03a082 149 */
mbed_official 573:ad23fe03a082 150 typedef struct
mbed_official 573:ad23fe03a082 151 {
mbed_official 573:ad23fe03a082 152 RTC_TimeTypeDef AlarmTime; /*!< Specifies the RTC Alarm Time members */
mbed_official 573:ad23fe03a082 153
mbed_official 573:ad23fe03a082 154 uint32_t AlarmMask; /*!< Specifies the RTC Alarm Masks.
mbed_official 573:ad23fe03a082 155 This parameter can be a value of @ref RTC_AlarmMask_Definitions */
mbed_official 573:ad23fe03a082 156
mbed_official 573:ad23fe03a082 157 uint32_t AlarmSubSecondMask; /*!< Specifies the RTC Alarm SubSeconds Masks.
mbed_official 573:ad23fe03a082 158 This parameter can be a value of @ref RTC_Alarm_Sub_Seconds_Masks_Definitions */
mbed_official 573:ad23fe03a082 159
mbed_official 573:ad23fe03a082 160 uint32_t AlarmDateWeekDaySel; /*!< Specifies the RTC Alarm is on Date or WeekDay.
mbed_official 573:ad23fe03a082 161 This parameter can be a value of @ref RTC_AlarmDateWeekDay_Definitions */
mbed_official 573:ad23fe03a082 162
mbed_official 573:ad23fe03a082 163 uint8_t AlarmDateWeekDay; /*!< Specifies the RTC Alarm Date/WeekDay.
mbed_official 573:ad23fe03a082 164 If the Alarm Date is selected, this parameter must be set to a value in the 1-31 range.
mbed_official 573:ad23fe03a082 165 If the Alarm WeekDay is selected, this parameter can be a value of @ref RTC_WeekDay_Definitions */
mbed_official 573:ad23fe03a082 166
mbed_official 573:ad23fe03a082 167 uint32_t Alarm; /*!< Specifies the alarm .
mbed_official 573:ad23fe03a082 168 This parameter can be a value of @ref RTC_Alarms_Definitions */
mbed_official 573:ad23fe03a082 169 }RTC_AlarmTypeDef;
mbed_official 573:ad23fe03a082 170
mbed_official 573:ad23fe03a082 171 /**
mbed_official 573:ad23fe03a082 172 * @brief RTC Handle Structure definition
mbed_official 573:ad23fe03a082 173 */
mbed_official 573:ad23fe03a082 174 typedef struct
mbed_official 573:ad23fe03a082 175 {
mbed_official 573:ad23fe03a082 176 RTC_TypeDef *Instance; /*!< Register base address */
mbed_official 573:ad23fe03a082 177
mbed_official 573:ad23fe03a082 178 RTC_InitTypeDef Init; /*!< RTC required parameters */
mbed_official 573:ad23fe03a082 179
mbed_official 573:ad23fe03a082 180 HAL_LockTypeDef Lock; /*!< RTC locking object */
mbed_official 573:ad23fe03a082 181
mbed_official 573:ad23fe03a082 182 __IO HAL_RTCStateTypeDef State; /*!< Time communication state */
mbed_official 573:ad23fe03a082 183
mbed_official 573:ad23fe03a082 184 }RTC_HandleTypeDef;
mbed_official 573:ad23fe03a082 185
mbed_official 573:ad23fe03a082 186 /**
mbed_official 573:ad23fe03a082 187 * @}
mbed_official 573:ad23fe03a082 188 */
mbed_official 573:ad23fe03a082 189
mbed_official 573:ad23fe03a082 190 /* Exported constants --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 191 /** @defgroup RTC_Exported_Constants RTC Exported Constants
mbed_official 573:ad23fe03a082 192 * @{
mbed_official 573:ad23fe03a082 193 */
mbed_official 573:ad23fe03a082 194
mbed_official 573:ad23fe03a082 195 /** @defgroup RTC_Hour_Formats RTC Hour Formats
mbed_official 573:ad23fe03a082 196 * @{
mbed_official 573:ad23fe03a082 197 */
mbed_official 573:ad23fe03a082 198 #define RTC_HOURFORMAT_24 ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 199 #define RTC_HOURFORMAT_12 ((uint32_t)0x00000040)
mbed_official 573:ad23fe03a082 200 /**
mbed_official 573:ad23fe03a082 201 * @}
mbed_official 573:ad23fe03a082 202 */
mbed_official 573:ad23fe03a082 203
mbed_official 573:ad23fe03a082 204
mbed_official 573:ad23fe03a082 205 /** @defgroup RTC_Output_Polarity_Definitions RTC Output Polarity Definitions
mbed_official 573:ad23fe03a082 206 * @{
mbed_official 573:ad23fe03a082 207 */
mbed_official 573:ad23fe03a082 208 #define RTC_OUTPUT_POLARITY_HIGH ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 209 #define RTC_OUTPUT_POLARITY_LOW ((uint32_t)0x00100000)
mbed_official 573:ad23fe03a082 210 /**
mbed_official 573:ad23fe03a082 211 * @}
mbed_official 573:ad23fe03a082 212 */
mbed_official 573:ad23fe03a082 213
mbed_official 573:ad23fe03a082 214 /** @defgroup RTC_Output_Type_ALARM_OUT RTC Output Type ALARM OUT
mbed_official 573:ad23fe03a082 215 * @{
mbed_official 573:ad23fe03a082 216 */
mbed_official 573:ad23fe03a082 217 #define RTC_OUTPUT_TYPE_OPENDRAIN ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 218 #define RTC_OUTPUT_TYPE_PUSHPULL ((uint32_t)RTC_OR_ALARMTYPE) /* 0x00000008 */
mbed_official 573:ad23fe03a082 219 /**
mbed_official 573:ad23fe03a082 220 * @}
mbed_official 573:ad23fe03a082 221 */
mbed_official 573:ad23fe03a082 222
mbed_official 573:ad23fe03a082 223 /** @defgroup RTC_AM_PM_Definitions RTC AM PM Definitions
mbed_official 573:ad23fe03a082 224 * @{
mbed_official 573:ad23fe03a082 225 */
mbed_official 573:ad23fe03a082 226 #define RTC_HOURFORMAT12_AM ((uint8_t)0x00)
mbed_official 573:ad23fe03a082 227 #define RTC_HOURFORMAT12_PM ((uint8_t)0x40)
mbed_official 573:ad23fe03a082 228 /**
mbed_official 573:ad23fe03a082 229 * @}
mbed_official 573:ad23fe03a082 230 */
mbed_official 573:ad23fe03a082 231
mbed_official 573:ad23fe03a082 232 /** @defgroup RTC_DayLightSaving_Definitions RTC DayLight Saving Definitions
mbed_official 573:ad23fe03a082 233 * @{
mbed_official 573:ad23fe03a082 234 */
mbed_official 573:ad23fe03a082 235 #define RTC_DAYLIGHTSAVING_SUB1H ((uint32_t)0x00020000)
mbed_official 573:ad23fe03a082 236 #define RTC_DAYLIGHTSAVING_ADD1H ((uint32_t)0x00010000)
mbed_official 573:ad23fe03a082 237 #define RTC_DAYLIGHTSAVING_NONE ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 238 /**
mbed_official 573:ad23fe03a082 239 * @}
mbed_official 573:ad23fe03a082 240 */
mbed_official 573:ad23fe03a082 241
mbed_official 573:ad23fe03a082 242 /** @defgroup RTC_StoreOperation_Definitions RTC Store Operation Definitions
mbed_official 573:ad23fe03a082 243 * @{
mbed_official 573:ad23fe03a082 244 */
mbed_official 573:ad23fe03a082 245 #define RTC_STOREOPERATION_RESET ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 246 #define RTC_STOREOPERATION_SET ((uint32_t)0x00040000)
mbed_official 573:ad23fe03a082 247 /**
mbed_official 573:ad23fe03a082 248 * @}
mbed_official 573:ad23fe03a082 249 */
mbed_official 573:ad23fe03a082 250
mbed_official 573:ad23fe03a082 251 /** @defgroup RTC_Input_parameter_format_definitions RTC Input Parameter Format Definitions
mbed_official 573:ad23fe03a082 252 * @{
mbed_official 573:ad23fe03a082 253 */
mbed_official 573:ad23fe03a082 254 #define RTC_FORMAT_BIN ((uint32_t)0x000000000)
mbed_official 573:ad23fe03a082 255 #define RTC_FORMAT_BCD ((uint32_t)0x000000001)
mbed_official 573:ad23fe03a082 256 /**
mbed_official 573:ad23fe03a082 257 * @}
mbed_official 573:ad23fe03a082 258 */
mbed_official 573:ad23fe03a082 259
mbed_official 573:ad23fe03a082 260 /** @defgroup RTC_Month_Date_Definitions RTC Month Date Definitions
mbed_official 573:ad23fe03a082 261 * @{
mbed_official 573:ad23fe03a082 262 */
mbed_official 573:ad23fe03a082 263 /* Coded in BCD format */
mbed_official 573:ad23fe03a082 264 #define RTC_MONTH_JANUARY ((uint8_t)0x01)
mbed_official 573:ad23fe03a082 265 #define RTC_MONTH_FEBRUARY ((uint8_t)0x02)
mbed_official 573:ad23fe03a082 266 #define RTC_MONTH_MARCH ((uint8_t)0x03)
mbed_official 573:ad23fe03a082 267 #define RTC_MONTH_APRIL ((uint8_t)0x04)
mbed_official 573:ad23fe03a082 268 #define RTC_MONTH_MAY ((uint8_t)0x05)
mbed_official 573:ad23fe03a082 269 #define RTC_MONTH_JUNE ((uint8_t)0x06)
mbed_official 573:ad23fe03a082 270 #define RTC_MONTH_JULY ((uint8_t)0x07)
mbed_official 573:ad23fe03a082 271 #define RTC_MONTH_AUGUST ((uint8_t)0x08)
mbed_official 573:ad23fe03a082 272 #define RTC_MONTH_SEPTEMBER ((uint8_t)0x09)
mbed_official 573:ad23fe03a082 273 #define RTC_MONTH_OCTOBER ((uint8_t)0x10)
mbed_official 573:ad23fe03a082 274 #define RTC_MONTH_NOVEMBER ((uint8_t)0x11)
mbed_official 573:ad23fe03a082 275 #define RTC_MONTH_DECEMBER ((uint8_t)0x12)
mbed_official 573:ad23fe03a082 276 /**
mbed_official 573:ad23fe03a082 277 * @}
mbed_official 573:ad23fe03a082 278 */
mbed_official 573:ad23fe03a082 279
mbed_official 573:ad23fe03a082 280 /** @defgroup RTC_WeekDay_Definitions RTC WeekDay Definitions
mbed_official 573:ad23fe03a082 281 * @{
mbed_official 573:ad23fe03a082 282 */
mbed_official 573:ad23fe03a082 283 #define RTC_WEEKDAY_MONDAY ((uint8_t)0x01)
mbed_official 573:ad23fe03a082 284 #define RTC_WEEKDAY_TUESDAY ((uint8_t)0x02)
mbed_official 573:ad23fe03a082 285 #define RTC_WEEKDAY_WEDNESDAY ((uint8_t)0x03)
mbed_official 573:ad23fe03a082 286 #define RTC_WEEKDAY_THURSDAY ((uint8_t)0x04)
mbed_official 573:ad23fe03a082 287 #define RTC_WEEKDAY_FRIDAY ((uint8_t)0x05)
mbed_official 573:ad23fe03a082 288 #define RTC_WEEKDAY_SATURDAY ((uint8_t)0x06)
mbed_official 573:ad23fe03a082 289 #define RTC_WEEKDAY_SUNDAY ((uint8_t)0x07)
mbed_official 573:ad23fe03a082 290 /**
mbed_official 573:ad23fe03a082 291 * @}
mbed_official 573:ad23fe03a082 292 */
mbed_official 573:ad23fe03a082 293
mbed_official 573:ad23fe03a082 294 /** @defgroup RTC_AlarmDateWeekDay_Definitions RTC Alarm Date WeekDay Definitions
mbed_official 573:ad23fe03a082 295 * @{
mbed_official 573:ad23fe03a082 296 */
mbed_official 573:ad23fe03a082 297 #define RTC_ALARMDATEWEEKDAYSEL_DATE ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 298 #define RTC_ALARMDATEWEEKDAYSEL_WEEKDAY ((uint32_t)0x40000000)
mbed_official 573:ad23fe03a082 299 /**
mbed_official 573:ad23fe03a082 300 * @}
mbed_official 573:ad23fe03a082 301 */
mbed_official 573:ad23fe03a082 302
mbed_official 573:ad23fe03a082 303 /** @defgroup RTC_AlarmMask_Definitions RTC Alarm Mask Definitions
mbed_official 573:ad23fe03a082 304 * @{
mbed_official 573:ad23fe03a082 305 */
mbed_official 573:ad23fe03a082 306 #define RTC_ALARMMASK_NONE ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 307 #define RTC_ALARMMASK_DATEWEEKDAY RTC_ALRMAR_MSK4
mbed_official 573:ad23fe03a082 308 #define RTC_ALARMMASK_HOURS RTC_ALRMAR_MSK3
mbed_official 573:ad23fe03a082 309 #define RTC_ALARMMASK_MINUTES RTC_ALRMAR_MSK2
mbed_official 573:ad23fe03a082 310 #define RTC_ALARMMASK_SECONDS RTC_ALRMAR_MSK1
mbed_official 573:ad23fe03a082 311 #define RTC_ALARMMASK_ALL ((uint32_t)0x80808080)
mbed_official 573:ad23fe03a082 312 /**
mbed_official 573:ad23fe03a082 313 * @}
mbed_official 573:ad23fe03a082 314 */
mbed_official 573:ad23fe03a082 315
mbed_official 573:ad23fe03a082 316 /** @defgroup RTC_Alarms_Definitions RTC Alarms Definitions
mbed_official 573:ad23fe03a082 317 * @{
mbed_official 573:ad23fe03a082 318 */
mbed_official 573:ad23fe03a082 319 #define RTC_ALARM_A RTC_CR_ALRAE
mbed_official 573:ad23fe03a082 320 #define RTC_ALARM_B RTC_CR_ALRBE
mbed_official 573:ad23fe03a082 321 /**
mbed_official 573:ad23fe03a082 322 * @}
mbed_official 573:ad23fe03a082 323 */
mbed_official 573:ad23fe03a082 324
mbed_official 573:ad23fe03a082 325 /** @defgroup RTC_Alarm_Sub_Seconds_Masks_Definitions RTC Alarm Sub Seconds Masks Definitions
mbed_official 573:ad23fe03a082 326 * @{
mbed_official 573:ad23fe03a082 327 */
mbed_official 573:ad23fe03a082 328 #define RTC_ALARMSUBSECONDMASK_ALL ((uint32_t)0x00000000) /*!< All Alarm SS fields are masked.
mbed_official 573:ad23fe03a082 329 There is no comparison on sub seconds
mbed_official 573:ad23fe03a082 330 for Alarm */
mbed_official 573:ad23fe03a082 331 #define RTC_ALARMSUBSECONDMASK_SS14_1 ((uint32_t)0x01000000) /*!< SS[14:1] are don't care in Alarm
mbed_official 573:ad23fe03a082 332 comparison. Only SS[0] is compared. */
mbed_official 573:ad23fe03a082 333 #define RTC_ALARMSUBSECONDMASK_SS14_2 ((uint32_t)0x02000000) /*!< SS[14:2] are don't care in Alarm
mbed_official 573:ad23fe03a082 334 comparison. Only SS[1:0] are compared */
mbed_official 573:ad23fe03a082 335 #define RTC_ALARMSUBSECONDMASK_SS14_3 ((uint32_t)0x03000000) /*!< SS[14:3] are don't care in Alarm
mbed_official 573:ad23fe03a082 336 comparison. Only SS[2:0] are compared */
mbed_official 573:ad23fe03a082 337 #define RTC_ALARMSUBSECONDMASK_SS14_4 ((uint32_t)0x04000000) /*!< SS[14:4] are don't care in Alarm
mbed_official 573:ad23fe03a082 338 comparison. Only SS[3:0] are compared */
mbed_official 573:ad23fe03a082 339 #define RTC_ALARMSUBSECONDMASK_SS14_5 ((uint32_t)0x05000000) /*!< SS[14:5] are don't care in Alarm
mbed_official 573:ad23fe03a082 340 comparison. Only SS[4:0] are compared */
mbed_official 573:ad23fe03a082 341 #define RTC_ALARMSUBSECONDMASK_SS14_6 ((uint32_t)0x06000000) /*!< SS[14:6] are don't care in Alarm
mbed_official 573:ad23fe03a082 342 comparison. Only SS[5:0] are compared */
mbed_official 573:ad23fe03a082 343 #define RTC_ALARMSUBSECONDMASK_SS14_7 ((uint32_t)0x07000000) /*!< SS[14:7] are don't care in Alarm
mbed_official 573:ad23fe03a082 344 comparison. Only SS[6:0] are compared */
mbed_official 573:ad23fe03a082 345 #define RTC_ALARMSUBSECONDMASK_SS14_8 ((uint32_t)0x08000000) /*!< SS[14:8] are don't care in Alarm
mbed_official 573:ad23fe03a082 346 comparison. Only SS[7:0] are compared */
mbed_official 573:ad23fe03a082 347 #define RTC_ALARMSUBSECONDMASK_SS14_9 ((uint32_t)0x09000000) /*!< SS[14:9] are don't care in Alarm
mbed_official 573:ad23fe03a082 348 comparison. Only SS[8:0] are compared */
mbed_official 573:ad23fe03a082 349 #define RTC_ALARMSUBSECONDMASK_SS14_10 ((uint32_t)0x0A000000) /*!< SS[14:10] are don't care in Alarm
mbed_official 573:ad23fe03a082 350 comparison. Only SS[9:0] are compared */
mbed_official 573:ad23fe03a082 351 #define RTC_ALARMSUBSECONDMASK_SS14_11 ((uint32_t)0x0B000000) /*!< SS[14:11] are don't care in Alarm
mbed_official 573:ad23fe03a082 352 comparison. Only SS[10:0] are compared */
mbed_official 573:ad23fe03a082 353 #define RTC_ALARMSUBSECONDMASK_SS14_12 ((uint32_t)0x0C000000) /*!< SS[14:12] are don't care in Alarm
mbed_official 573:ad23fe03a082 354 comparison.Only SS[11:0] are compared */
mbed_official 573:ad23fe03a082 355 #define RTC_ALARMSUBSECONDMASK_SS14_13 ((uint32_t)0x0D000000) /*!< SS[14:13] are don't care in Alarm
mbed_official 573:ad23fe03a082 356 comparison. Only SS[12:0] are compared */
mbed_official 573:ad23fe03a082 357 #define RTC_ALARMSUBSECONDMASK_SS14 ((uint32_t)0x0E000000) /*!< SS[14] is don't care in Alarm
mbed_official 573:ad23fe03a082 358 comparison.Only SS[13:0] are compared */
mbed_official 573:ad23fe03a082 359 #define RTC_ALARMSUBSECONDMASK_NONE ((uint32_t)0x0F000000) /*!< SS[14:0] are compared and must match
mbed_official 573:ad23fe03a082 360 to activate alarm. */
mbed_official 573:ad23fe03a082 361 /**
mbed_official 573:ad23fe03a082 362 * @}
mbed_official 573:ad23fe03a082 363 */
mbed_official 573:ad23fe03a082 364
mbed_official 573:ad23fe03a082 365 /** @defgroup RTC_Interrupts_Definitions RTC Interrupts Definitions
mbed_official 573:ad23fe03a082 366 * @{
mbed_official 573:ad23fe03a082 367 */
mbed_official 573:ad23fe03a082 368 #define RTC_IT_TS ((uint32_t)RTC_CR_TSIE)
mbed_official 573:ad23fe03a082 369 #define RTC_IT_WUT ((uint32_t)RTC_CR_WUTIE)
mbed_official 573:ad23fe03a082 370 #define RTC_IT_ALRA ((uint32_t)RTC_CR_ALRAIE)
mbed_official 573:ad23fe03a082 371 #define RTC_IT_ALRB ((uint32_t)RTC_CR_ALRBIE)
mbed_official 573:ad23fe03a082 372 #define RTC_IT_TAMP ((uint32_t)RTC_TAMPCR_TAMPIE) /* Used only to Enable the Tamper Interrupt */
mbed_official 573:ad23fe03a082 373 #define RTC_IT_TAMP1 ((uint32_t)RTC_TAMPCR_TAMP1IE)
mbed_official 573:ad23fe03a082 374 #define RTC_IT_TAMP2 ((uint32_t)RTC_TAMPCR_TAMP2IE)
mbed_official 573:ad23fe03a082 375 #define RTC_IT_TAMP3 ((uint32_t)RTC_TAMPCR_TAMP3IE)
mbed_official 573:ad23fe03a082 376 /**
mbed_official 573:ad23fe03a082 377 * @}
mbed_official 573:ad23fe03a082 378 */
mbed_official 573:ad23fe03a082 379
mbed_official 573:ad23fe03a082 380 /** @defgroup RTC_Flags_Definitions RTC Flags Definitions
mbed_official 573:ad23fe03a082 381 * @{
mbed_official 573:ad23fe03a082 382 */
mbed_official 573:ad23fe03a082 383 #define RTC_FLAG_RECALPF ((uint32_t)RTC_ISR_RECALPF)
mbed_official 573:ad23fe03a082 384 #define RTC_FLAG_TAMP3F ((uint32_t)RTC_ISR_TAMP3F)
mbed_official 573:ad23fe03a082 385 #define RTC_FLAG_TAMP2F ((uint32_t)RTC_ISR_TAMP2F)
mbed_official 573:ad23fe03a082 386 #define RTC_FLAG_TAMP1F ((uint32_t)RTC_ISR_TAMP1F)
mbed_official 573:ad23fe03a082 387 #define RTC_FLAG_TSOVF ((uint32_t)RTC_ISR_TSOVF)
mbed_official 573:ad23fe03a082 388 #define RTC_FLAG_TSF ((uint32_t)RTC_ISR_TSF)
mbed_official 573:ad23fe03a082 389 #define RTC_FLAG_ITSF ((uint32_t)RTC_ISR_ITSF)
mbed_official 573:ad23fe03a082 390 #define RTC_FLAG_WUTF ((uint32_t)RTC_ISR_WUTF)
mbed_official 573:ad23fe03a082 391 #define RTC_FLAG_ALRBF ((uint32_t)RTC_ISR_ALRBF)
mbed_official 573:ad23fe03a082 392 #define RTC_FLAG_ALRAF ((uint32_t)RTC_ISR_ALRAF)
mbed_official 573:ad23fe03a082 393 #define RTC_FLAG_INITF ((uint32_t)RTC_ISR_INITF)
mbed_official 573:ad23fe03a082 394 #define RTC_FLAG_RSF ((uint32_t)RTC_ISR_RSF)
mbed_official 573:ad23fe03a082 395 #define RTC_FLAG_INITS ((uint32_t)RTC_ISR_INITS)
mbed_official 573:ad23fe03a082 396 #define RTC_FLAG_SHPF ((uint32_t)RTC_ISR_SHPF)
mbed_official 573:ad23fe03a082 397 #define RTC_FLAG_WUTWF ((uint32_t)RTC_ISR_WUTWF)
mbed_official 573:ad23fe03a082 398 #define RTC_FLAG_ALRBWF ((uint32_t)RTC_ISR_ALRBWF)
mbed_official 573:ad23fe03a082 399 #define RTC_FLAG_ALRAWF ((uint32_t)RTC_ISR_ALRAWF)
mbed_official 573:ad23fe03a082 400 /**
mbed_official 573:ad23fe03a082 401 * @}
mbed_official 573:ad23fe03a082 402 */
mbed_official 573:ad23fe03a082 403
mbed_official 573:ad23fe03a082 404 /**
mbed_official 573:ad23fe03a082 405 * @}
mbed_official 573:ad23fe03a082 406 */
mbed_official 573:ad23fe03a082 407
mbed_official 573:ad23fe03a082 408 /* Exported macro ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 409 /** @defgroup RTC_Exported_Macros RTC Exported Macros
mbed_official 573:ad23fe03a082 410 * @{
mbed_official 573:ad23fe03a082 411 */
mbed_official 573:ad23fe03a082 412
mbed_official 573:ad23fe03a082 413 /** @brief Reset RTC handle state
mbed_official 573:ad23fe03a082 414 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 415 * @retval None
mbed_official 573:ad23fe03a082 416 */
mbed_official 573:ad23fe03a082 417 #define __HAL_RTC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RTC_STATE_RESET)
mbed_official 573:ad23fe03a082 418
mbed_official 573:ad23fe03a082 419 /**
mbed_official 573:ad23fe03a082 420 * @brief Disable the write protection for RTC registers.
mbed_official 573:ad23fe03a082 421 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 422 * @retval None
mbed_official 573:ad23fe03a082 423 */
mbed_official 573:ad23fe03a082 424 #define __HAL_RTC_WRITEPROTECTION_DISABLE(__HANDLE__) \
mbed_official 573:ad23fe03a082 425 do{ \
mbed_official 573:ad23fe03a082 426 (__HANDLE__)->Instance->WPR = 0xCA; \
mbed_official 573:ad23fe03a082 427 (__HANDLE__)->Instance->WPR = 0x53; \
mbed_official 573:ad23fe03a082 428 } while(0)
mbed_official 573:ad23fe03a082 429
mbed_official 573:ad23fe03a082 430 /**
mbed_official 573:ad23fe03a082 431 * @brief Enable the write protection for RTC registers.
mbed_official 573:ad23fe03a082 432 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 433 * @retval None
mbed_official 573:ad23fe03a082 434 */
mbed_official 573:ad23fe03a082 435 #define __HAL_RTC_WRITEPROTECTION_ENABLE(__HANDLE__) \
mbed_official 573:ad23fe03a082 436 do{ \
mbed_official 573:ad23fe03a082 437 (__HANDLE__)->Instance->WPR = 0xFF; \
mbed_official 573:ad23fe03a082 438 } while(0)
mbed_official 573:ad23fe03a082 439
mbed_official 573:ad23fe03a082 440 /**
mbed_official 573:ad23fe03a082 441 * @brief Enable the RTC ALARMA peripheral.
mbed_official 573:ad23fe03a082 442 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 443 * @retval None
mbed_official 573:ad23fe03a082 444 */
mbed_official 573:ad23fe03a082 445 #define __HAL_RTC_ALARMA_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRAE))
mbed_official 573:ad23fe03a082 446
mbed_official 573:ad23fe03a082 447 /**
mbed_official 573:ad23fe03a082 448 * @brief Disable the RTC ALARMA peripheral.
mbed_official 573:ad23fe03a082 449 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 450 * @retval None
mbed_official 573:ad23fe03a082 451 */
mbed_official 573:ad23fe03a082 452 #define __HAL_RTC_ALARMA_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRAE))
mbed_official 573:ad23fe03a082 453
mbed_official 573:ad23fe03a082 454 /**
mbed_official 573:ad23fe03a082 455 * @brief Enable the RTC ALARMB peripheral.
mbed_official 573:ad23fe03a082 456 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 457 * @retval None
mbed_official 573:ad23fe03a082 458 */
mbed_official 573:ad23fe03a082 459 #define __HAL_RTC_ALARMB_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= (RTC_CR_ALRBE))
mbed_official 573:ad23fe03a082 460
mbed_official 573:ad23fe03a082 461 /**
mbed_official 573:ad23fe03a082 462 * @brief Disable the RTC ALARMB peripheral.
mbed_official 573:ad23fe03a082 463 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 464 * @retval None
mbed_official 573:ad23fe03a082 465 */
mbed_official 573:ad23fe03a082 466 #define __HAL_RTC_ALARMB_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(RTC_CR_ALRBE))
mbed_official 573:ad23fe03a082 467
mbed_official 573:ad23fe03a082 468 /**
mbed_official 573:ad23fe03a082 469 * @brief Enable the RTC Alarm interrupt.
mbed_official 573:ad23fe03a082 470 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 471 * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to be enabled or disabled.
mbed_official 573:ad23fe03a082 472 * This parameter can be any combination of the following values:
mbed_official 573:ad23fe03a082 473 * @arg RTC_IT_ALRA: Alarm A interrupt
mbed_official 573:ad23fe03a082 474 * @arg RTC_IT_ALRB: Alarm B interrupt
mbed_official 573:ad23fe03a082 475 * @retval None
mbed_official 573:ad23fe03a082 476 */
mbed_official 573:ad23fe03a082 477 #define __HAL_RTC_ALARM_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
mbed_official 573:ad23fe03a082 478
mbed_official 573:ad23fe03a082 479 /**
mbed_official 573:ad23fe03a082 480 * @brief Disable the RTC Alarm interrupt.
mbed_official 573:ad23fe03a082 481 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 482 * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to be enabled or disabled.
mbed_official 573:ad23fe03a082 483 * This parameter can be any combination of the following values:
mbed_official 573:ad23fe03a082 484 * @arg RTC_IT_ALRA: Alarm A interrupt
mbed_official 573:ad23fe03a082 485 * @arg RTC_IT_ALRB: Alarm B interrupt
mbed_official 573:ad23fe03a082 486 * @retval None
mbed_official 573:ad23fe03a082 487 */
mbed_official 573:ad23fe03a082 488 #define __HAL_RTC_ALARM_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
mbed_official 573:ad23fe03a082 489
mbed_official 573:ad23fe03a082 490 /**
mbed_official 573:ad23fe03a082 491 * @brief Check whether the specified RTC Alarm interrupt has occurred or not.
mbed_official 573:ad23fe03a082 492 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 493 * @param __INTERRUPT__: specifies the RTC Alarm interrupt to check.
mbed_official 573:ad23fe03a082 494 * This parameter can be:
mbed_official 573:ad23fe03a082 495 * @arg RTC_IT_ALRA: Alarm A interrupt
mbed_official 573:ad23fe03a082 496 * @arg RTC_IT_ALRB: Alarm B interrupt
mbed_official 573:ad23fe03a082 497 * @retval None
mbed_official 573:ad23fe03a082 498 */
mbed_official 573:ad23fe03a082 499 #define __HAL_RTC_ALARM_GET_IT(__HANDLE__, __INTERRUPT__) ((((((__HANDLE__)->Instance->ISR)& ((__INTERRUPT__)>> 4)) & 0x0000FFFF) != RESET)? SET : RESET)
mbed_official 573:ad23fe03a082 500
mbed_official 573:ad23fe03a082 501 /**
mbed_official 573:ad23fe03a082 502 * @brief Get the selected RTC Alarm's flag status.
mbed_official 573:ad23fe03a082 503 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 504 * @param __FLAG__: specifies the RTC Alarm Flag to check.
mbed_official 573:ad23fe03a082 505 * This parameter can be:
mbed_official 573:ad23fe03a082 506 * @arg RTC_FLAG_ALRAF
mbed_official 573:ad23fe03a082 507 * @arg RTC_FLAG_ALRBF
mbed_official 573:ad23fe03a082 508 * @arg RTC_FLAG_ALRAWF
mbed_official 573:ad23fe03a082 509 * @arg RTC_FLAG_ALRBWF
mbed_official 573:ad23fe03a082 510 * @retval None
mbed_official 573:ad23fe03a082 511 */
mbed_official 573:ad23fe03a082 512 #define __HAL_RTC_ALARM_GET_FLAG(__HANDLE__, __FLAG__) (((((__HANDLE__)->Instance->ISR) & (__FLAG__)) != RESET)? SET : RESET)
mbed_official 573:ad23fe03a082 513
mbed_official 573:ad23fe03a082 514 /**
mbed_official 573:ad23fe03a082 515 * @brief Clear the RTC Alarm's pending flags.
mbed_official 573:ad23fe03a082 516 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 517 * @param __FLAG__: specifies the RTC Alarm Flag sources to be enabled or disabled.
mbed_official 573:ad23fe03a082 518 * This parameter can be:
mbed_official 573:ad23fe03a082 519 * @arg RTC_FLAG_ALRAF
mbed_official 573:ad23fe03a082 520 * @arg RTC_FLAG_ALRBF
mbed_official 573:ad23fe03a082 521 * @retval None
mbed_official 573:ad23fe03a082 522 */
mbed_official 573:ad23fe03a082 523 #define __HAL_RTC_ALARM_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR) = (~(((__FLAG__) | RTC_ISR_INIT)& 0x0000FFFF)|((__HANDLE__)->Instance->ISR & RTC_ISR_INIT))
mbed_official 573:ad23fe03a082 524
mbed_official 573:ad23fe03a082 525 /**
mbed_official 573:ad23fe03a082 526 * @brief Check whether the specified RTC Alarm interrupt has been enabled or not.
mbed_official 573:ad23fe03a082 527 * @param __HANDLE__: specifies the RTC handle.
mbed_official 573:ad23fe03a082 528 * @param __INTERRUPT__: specifies the RTC Alarm interrupt sources to check.
mbed_official 573:ad23fe03a082 529 * This parameter can be:
mbed_official 573:ad23fe03a082 530 * @arg RTC_IT_ALRA: Alarm A interrupt
mbed_official 573:ad23fe03a082 531 * @arg RTC_IT_ALRB: Alarm B interrupt
mbed_official 573:ad23fe03a082 532 * @retval None
mbed_official 573:ad23fe03a082 533 */
mbed_official 573:ad23fe03a082 534 #define __HAL_RTC_ALARM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((((__HANDLE__)->Instance->CR) & (__INTERRUPT__)) != RESET) ? SET : RESET)
mbed_official 573:ad23fe03a082 535
mbed_official 573:ad23fe03a082 536 /**
mbed_official 573:ad23fe03a082 537 * @brief Enable interrupt on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 538 * @retval None
mbed_official 573:ad23fe03a082 539 */
mbed_official 573:ad23fe03a082 540 #define __HAL_RTC_ALARM_EXTI_ENABLE_IT() (EXTI->IMR |= RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 541
mbed_official 573:ad23fe03a082 542 /**
mbed_official 573:ad23fe03a082 543 * @brief Disable interrupt on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 544 * @retval None
mbed_official 573:ad23fe03a082 545 */
mbed_official 573:ad23fe03a082 546 #define __HAL_RTC_ALARM_EXTI_DISABLE_IT() (EXTI->IMR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
mbed_official 573:ad23fe03a082 547
mbed_official 573:ad23fe03a082 548 /**
mbed_official 573:ad23fe03a082 549 * @brief Enable event on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 550 * @retval None.
mbed_official 573:ad23fe03a082 551 */
mbed_official 573:ad23fe03a082 552 #define __HAL_RTC_ALARM_EXTI_ENABLE_EVENT() (EXTI->EMR |= RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 553
mbed_official 573:ad23fe03a082 554 /**
mbed_official 573:ad23fe03a082 555 * @brief Disable event on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 556 * @retval None.
mbed_official 573:ad23fe03a082 557 */
mbed_official 573:ad23fe03a082 558 #define __HAL_RTC_ALARM_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
mbed_official 573:ad23fe03a082 559
mbed_official 573:ad23fe03a082 560 /**
mbed_official 573:ad23fe03a082 561 * @brief Enable falling edge trigger on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 562 * @retval None.
mbed_official 573:ad23fe03a082 563 */
mbed_official 573:ad23fe03a082 564 #define __HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE() (EXTI->FTSR |= RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 565
mbed_official 573:ad23fe03a082 566 /**
mbed_official 573:ad23fe03a082 567 * @brief Disable falling edge trigger on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 568 * @retval None.
mbed_official 573:ad23fe03a082 569 */
mbed_official 573:ad23fe03a082 570 #define __HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE() (EXTI->FTSR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
mbed_official 573:ad23fe03a082 571
mbed_official 573:ad23fe03a082 572 /**
mbed_official 573:ad23fe03a082 573 * @brief Enable rising edge trigger on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 574 * @retval None.
mbed_official 573:ad23fe03a082 575 */
mbed_official 573:ad23fe03a082 576 #define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE() (EXTI->RTSR |= RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 577
mbed_official 573:ad23fe03a082 578 /**
mbed_official 573:ad23fe03a082 579 * @brief Disable rising edge trigger on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 580 * @retval None.
mbed_official 573:ad23fe03a082 581 */
mbed_official 573:ad23fe03a082 582 #define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE() (EXTI->RTSR &= ~(RTC_EXTI_LINE_ALARM_EVENT))
mbed_official 573:ad23fe03a082 583
mbed_official 573:ad23fe03a082 584 /**
mbed_official 573:ad23fe03a082 585 * @brief Enable rising & falling edge trigger on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 586 * @retval None.
mbed_official 573:ad23fe03a082 587 */
mbed_official 573:ad23fe03a082 588 #define __HAL_RTC_ALARM_EXTI_ENABLE_RISING_FALLING_EDGE() __HAL_RTC_ALARM_EXTI_ENABLE_RISING_EDGE();__HAL_RTC_ALARM_EXTI_ENABLE_FALLING_EDGE();
mbed_official 573:ad23fe03a082 589
mbed_official 573:ad23fe03a082 590 /**
mbed_official 573:ad23fe03a082 591 * @brief Disable rising & falling edge trigger on the RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 592 * @retval None.
mbed_official 573:ad23fe03a082 593 */
mbed_official 573:ad23fe03a082 594 #define __HAL_RTC_ALARM_EXTI_DISABLE_RISING_FALLING_EDGE() __HAL_RTC_ALARM_EXTI_DISABLE_RISING_EDGE();__HAL_RTC_ALARM_EXTI_DISABLE_FALLING_EDGE();
mbed_official 573:ad23fe03a082 595
mbed_official 573:ad23fe03a082 596 /**
mbed_official 573:ad23fe03a082 597 * @brief Check whether the RTC Alarm associated Exti line interrupt flag is set or not.
mbed_official 573:ad23fe03a082 598 * @retval Line Status.
mbed_official 573:ad23fe03a082 599 */
mbed_official 573:ad23fe03a082 600 #define __HAL_RTC_ALARM_EXTI_GET_FLAG() (EXTI->PR & RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 601
mbed_official 573:ad23fe03a082 602 /**
mbed_official 573:ad23fe03a082 603 * @brief Clear the RTC Alarm associated Exti line flag.
mbed_official 573:ad23fe03a082 604 * @retval None.
mbed_official 573:ad23fe03a082 605 */
mbed_official 573:ad23fe03a082 606 #define __HAL_RTC_ALARM_EXTI_CLEAR_FLAG() (EXTI->PR = RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 607
mbed_official 573:ad23fe03a082 608 /**
mbed_official 573:ad23fe03a082 609 * @brief Generate a Software interrupt on RTC Alarm associated Exti line.
mbed_official 573:ad23fe03a082 610 * @retval None.
mbed_official 573:ad23fe03a082 611 */
mbed_official 573:ad23fe03a082 612 #define __HAL_RTC_ALARM_EXTI_GENERATE_SWIT() (EXTI->SWIER |= RTC_EXTI_LINE_ALARM_EVENT)
mbed_official 573:ad23fe03a082 613 /**
mbed_official 573:ad23fe03a082 614 * @}
mbed_official 573:ad23fe03a082 615 */
mbed_official 573:ad23fe03a082 616
mbed_official 573:ad23fe03a082 617 /* Include RTC HAL Extension module */
mbed_official 573:ad23fe03a082 618 #include "stm32f7xx_hal_rtc_ex.h"
mbed_official 573:ad23fe03a082 619
mbed_official 573:ad23fe03a082 620 /* Exported functions --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 621 /** @addtogroup RTC_Exported_Functions
mbed_official 573:ad23fe03a082 622 * @{
mbed_official 573:ad23fe03a082 623 */
mbed_official 573:ad23fe03a082 624
mbed_official 573:ad23fe03a082 625 /** @addtogroup RTC_Exported_Functions_Group1
mbed_official 573:ad23fe03a082 626 * @{
mbed_official 573:ad23fe03a082 627 */
mbed_official 573:ad23fe03a082 628 /* Initialization and de-initialization functions ****************************/
mbed_official 573:ad23fe03a082 629 HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 630 HAL_StatusTypeDef HAL_RTC_DeInit(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 631 void HAL_RTC_MspInit(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 632 void HAL_RTC_MspDeInit(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 633 /**
mbed_official 573:ad23fe03a082 634 * @}
mbed_official 573:ad23fe03a082 635 */
mbed_official 573:ad23fe03a082 636
mbed_official 573:ad23fe03a082 637 /** @addtogroup RTC_Exported_Functions_Group2
mbed_official 573:ad23fe03a082 638 * @{
mbed_official 573:ad23fe03a082 639 */
mbed_official 573:ad23fe03a082 640 /* RTC Time and Date functions ************************************************/
mbed_official 573:ad23fe03a082 641 HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format);
mbed_official 573:ad23fe03a082 642 HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format);
mbed_official 573:ad23fe03a082 643 HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format);
mbed_official 573:ad23fe03a082 644 HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format);
mbed_official 573:ad23fe03a082 645 /**
mbed_official 573:ad23fe03a082 646 * @}
mbed_official 573:ad23fe03a082 647 */
mbed_official 573:ad23fe03a082 648
mbed_official 573:ad23fe03a082 649 /** @addtogroup RTC_Exported_Functions_Group3
mbed_official 573:ad23fe03a082 650 * @{
mbed_official 573:ad23fe03a082 651 */
mbed_official 573:ad23fe03a082 652 /* RTC Alarm functions ********************************************************/
mbed_official 573:ad23fe03a082 653 HAL_StatusTypeDef HAL_RTC_SetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format);
mbed_official 573:ad23fe03a082 654 HAL_StatusTypeDef HAL_RTC_SetAlarm_IT(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Format);
mbed_official 573:ad23fe03a082 655 HAL_StatusTypeDef HAL_RTC_DeactivateAlarm(RTC_HandleTypeDef *hrtc, uint32_t Alarm);
mbed_official 573:ad23fe03a082 656 HAL_StatusTypeDef HAL_RTC_GetAlarm(RTC_HandleTypeDef *hrtc, RTC_AlarmTypeDef *sAlarm, uint32_t Alarm, uint32_t Format);
mbed_official 573:ad23fe03a082 657 void HAL_RTC_AlarmIRQHandler(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 658 HAL_StatusTypeDef HAL_RTC_PollForAlarmAEvent(RTC_HandleTypeDef *hrtc, uint32_t Timeout);
mbed_official 573:ad23fe03a082 659 void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 660 /**
mbed_official 573:ad23fe03a082 661 * @}
mbed_official 573:ad23fe03a082 662 */
mbed_official 573:ad23fe03a082 663
mbed_official 573:ad23fe03a082 664 /** @addtogroup RTC_Exported_Functions_Group4
mbed_official 573:ad23fe03a082 665 * @{
mbed_official 573:ad23fe03a082 666 */
mbed_official 573:ad23fe03a082 667 /* Peripheral Control functions ***********************************************/
mbed_official 573:ad23fe03a082 668 HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef* hrtc);
mbed_official 573:ad23fe03a082 669 /**
mbed_official 573:ad23fe03a082 670 * @}
mbed_official 573:ad23fe03a082 671 */
mbed_official 573:ad23fe03a082 672
mbed_official 573:ad23fe03a082 673 /** @addtogroup RTC_Exported_Functions_Group5
mbed_official 573:ad23fe03a082 674 * @{
mbed_official 573:ad23fe03a082 675 */
mbed_official 573:ad23fe03a082 676 /* Peripheral State functions *************************************************/
mbed_official 573:ad23fe03a082 677 HAL_RTCStateTypeDef HAL_RTC_GetState(RTC_HandleTypeDef *hrtc);
mbed_official 573:ad23fe03a082 678 /**
mbed_official 573:ad23fe03a082 679 * @}
mbed_official 573:ad23fe03a082 680 */
mbed_official 573:ad23fe03a082 681
mbed_official 573:ad23fe03a082 682 /**
mbed_official 573:ad23fe03a082 683 * @}
mbed_official 573:ad23fe03a082 684 */
mbed_official 573:ad23fe03a082 685
mbed_official 573:ad23fe03a082 686 /* Private types -------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 687 /* Private variables ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 688 /* Private constants ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 689 /** @defgroup RTC_Private_Constants RTC Private Constants
mbed_official 573:ad23fe03a082 690 * @{
mbed_official 573:ad23fe03a082 691 */
mbed_official 573:ad23fe03a082 692 /* Masks Definition */
mbed_official 573:ad23fe03a082 693 #define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7F)
mbed_official 573:ad23fe03a082 694 #define RTC_DR_RESERVED_MASK ((uint32_t)0x00FFFF3F)
mbed_official 573:ad23fe03a082 695 #define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
mbed_official 573:ad23fe03a082 696 #define RTC_RSF_MASK ((uint32_t)0xFFFFFF5F)
mbed_official 573:ad23fe03a082 697
mbed_official 573:ad23fe03a082 698 #define RTC_TIMEOUT_VALUE 1000
mbed_official 573:ad23fe03a082 699
mbed_official 573:ad23fe03a082 700 #define RTC_EXTI_LINE_ALARM_EVENT ((uint32_t)EXTI_IMR_MR17) /*!< External interrupt line 17 Connected to the RTC Alarm event */
mbed_official 573:ad23fe03a082 701 /**
mbed_official 573:ad23fe03a082 702 * @}
mbed_official 573:ad23fe03a082 703 */
mbed_official 573:ad23fe03a082 704
mbed_official 573:ad23fe03a082 705 /* Private macros ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 706 /** @defgroup RTC_Private_Macros RTC Private Macros
mbed_official 573:ad23fe03a082 707 * @{
mbed_official 573:ad23fe03a082 708 */
mbed_official 573:ad23fe03a082 709
mbed_official 573:ad23fe03a082 710 /** @defgroup RTC_IS_RTC_Definitions RTC Private macros to check input parameters
mbed_official 573:ad23fe03a082 711 * @{
mbed_official 573:ad23fe03a082 712 */
mbed_official 573:ad23fe03a082 713 #define IS_RTC_HOUR_FORMAT(__FORMAT__) (((__FORMAT__) == RTC_HOURFORMAT_12) || \
mbed_official 573:ad23fe03a082 714 ((__FORMAT__) == RTC_HOURFORMAT_24))
mbed_official 573:ad23fe03a082 715 #define IS_RTC_OUTPUT_POL(__POL__) (((__POL__) == RTC_OUTPUT_POLARITY_HIGH) || \
mbed_official 573:ad23fe03a082 716 ((__POL__) == RTC_OUTPUT_POLARITY_LOW))
mbed_official 573:ad23fe03a082 717 #define IS_RTC_OUTPUT_TYPE(__TYPE__) (((__TYPE__) == RTC_OUTPUT_TYPE_OPENDRAIN) || \
mbed_official 573:ad23fe03a082 718 ((__TYPE__) == RTC_OUTPUT_TYPE_PUSHPULL))
mbed_official 573:ad23fe03a082 719 #define IS_RTC_ASYNCH_PREDIV(__PREDIV__) ((__PREDIV__) <= (uint32_t)0x7F)
mbed_official 573:ad23fe03a082 720 #define IS_RTC_SYNCH_PREDIV(__PREDIV__) ((__PREDIV__) <= (uint32_t)0x7FFF)
mbed_official 573:ad23fe03a082 721 #define IS_RTC_HOUR12(__HOUR__) (((__HOUR__) > (uint32_t)0) && ((__HOUR__) <= (uint32_t)12))
mbed_official 573:ad23fe03a082 722 #define IS_RTC_HOUR24(__HOUR__) ((__HOUR__) <= (uint32_t)23)
mbed_official 573:ad23fe03a082 723 #define IS_RTC_MINUTES(__MINUTES__) ((__MINUTES__) <= (uint32_t)59)
mbed_official 573:ad23fe03a082 724 #define IS_RTC_SECONDS(__SECONDS__) ((__SECONDS__) <= (uint32_t)59)
mbed_official 573:ad23fe03a082 725 #define IS_RTC_HOURFORMAT12(__PM__) (((__PM__) == RTC_HOURFORMAT12_AM) || ((__PM__) == RTC_HOURFORMAT12_PM))
mbed_official 573:ad23fe03a082 726 #define IS_RTC_DAYLIGHT_SAVING(__SAVE__) (((__SAVE__) == RTC_DAYLIGHTSAVING_SUB1H) || \
mbed_official 573:ad23fe03a082 727 ((__SAVE__) == RTC_DAYLIGHTSAVING_ADD1H) || \
mbed_official 573:ad23fe03a082 728 ((__SAVE__) == RTC_DAYLIGHTSAVING_NONE))
mbed_official 573:ad23fe03a082 729 #define IS_RTC_STORE_OPERATION(__OPERATION__) (((__OPERATION__) == RTC_STOREOPERATION_RESET) || \
mbed_official 573:ad23fe03a082 730 ((__OPERATION__) == RTC_STOREOPERATION_SET))
mbed_official 573:ad23fe03a082 731 #define IS_RTC_FORMAT(__FORMAT__) (((__FORMAT__) == RTC_FORMAT_BIN) || ((__FORMAT__) == RTC_FORMAT_BCD))
mbed_official 573:ad23fe03a082 732 #define IS_RTC_YEAR(__YEAR__) ((__YEAR__) <= (uint32_t)99)
mbed_official 573:ad23fe03a082 733 #define IS_RTC_MONTH(__MONTH__) (((__MONTH__) >= (uint32_t)1) && ((__MONTH__) <= (uint32_t)12))
mbed_official 573:ad23fe03a082 734 #define IS_RTC_DATE(__DATE__) (((__DATE__) >= (uint32_t)1) && ((__DATE__) <= (uint32_t)31))
mbed_official 573:ad23fe03a082 735 #define IS_RTC_WEEKDAY(__WEEKDAY__) (((__WEEKDAY__) == RTC_WEEKDAY_MONDAY) || \
mbed_official 573:ad23fe03a082 736 ((__WEEKDAY__) == RTC_WEEKDAY_TUESDAY) || \
mbed_official 573:ad23fe03a082 737 ((__WEEKDAY__) == RTC_WEEKDAY_WEDNESDAY) || \
mbed_official 573:ad23fe03a082 738 ((__WEEKDAY__) == RTC_WEEKDAY_THURSDAY) || \
mbed_official 573:ad23fe03a082 739 ((__WEEKDAY__) == RTC_WEEKDAY_FRIDAY) || \
mbed_official 573:ad23fe03a082 740 ((__WEEKDAY__) == RTC_WEEKDAY_SATURDAY) || \
mbed_official 573:ad23fe03a082 741 ((__WEEKDAY__) == RTC_WEEKDAY_SUNDAY))
mbed_official 573:ad23fe03a082 742
mbed_official 573:ad23fe03a082 743 #define IS_RTC_ALARM_DATE_WEEKDAY_DATE(__DATE__) (((__DATE__) >(uint32_t) 0) && ((__DATE__) <= (uint32_t)31))
mbed_official 573:ad23fe03a082 744 #define IS_RTC_ALARM_DATE_WEEKDAY_WEEKDAY(__WEEKDAY__) (((__WEEKDAY__) == RTC_WEEKDAY_MONDAY) || \
mbed_official 573:ad23fe03a082 745 ((__WEEKDAY__) == RTC_WEEKDAY_TUESDAY) || \
mbed_official 573:ad23fe03a082 746 ((__WEEKDAY__) == RTC_WEEKDAY_WEDNESDAY) || \
mbed_official 573:ad23fe03a082 747 ((__WEEKDAY__) == RTC_WEEKDAY_THURSDAY) || \
mbed_official 573:ad23fe03a082 748 ((__WEEKDAY__) == RTC_WEEKDAY_FRIDAY) || \
mbed_official 573:ad23fe03a082 749 ((__WEEKDAY__) == RTC_WEEKDAY_SATURDAY) || \
mbed_official 573:ad23fe03a082 750 ((__WEEKDAY__) == RTC_WEEKDAY_SUNDAY))
mbed_official 573:ad23fe03a082 751 #define IS_RTC_ALARM_DATE_WEEKDAY_SEL(__SEL__) (((__SEL__) == RTC_ALARMDATEWEEKDAYSEL_DATE) || \
mbed_official 573:ad23fe03a082 752 ((__SEL__) == RTC_ALARMDATEWEEKDAYSEL_WEEKDAY))
mbed_official 573:ad23fe03a082 753 #define IS_RTC_ALARM_MASK(__MASK__) (((__MASK__) & 0x7F7F7F7F) == (uint32_t)RESET)
mbed_official 573:ad23fe03a082 754 #define IS_RTC_ALARM(__ALARM__) (((__ALARM__) == RTC_ALARM_A) || ((__ALARM__) == RTC_ALARM_B))
mbed_official 573:ad23fe03a082 755 #define IS_RTC_ALARM_SUB_SECOND_VALUE(__VALUE__) ((__VALUE__) <= (uint32_t)0x00007FFF)
mbed_official 573:ad23fe03a082 756 #define IS_RTC_ALARM_SUB_SECOND_MASK(__MASK__) (((__MASK__) == RTC_ALARMSUBSECONDMASK_ALL) || \
mbed_official 573:ad23fe03a082 757 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_1) || \
mbed_official 573:ad23fe03a082 758 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_2) || \
mbed_official 573:ad23fe03a082 759 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_3) || \
mbed_official 573:ad23fe03a082 760 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_4) || \
mbed_official 573:ad23fe03a082 761 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_5) || \
mbed_official 573:ad23fe03a082 762 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_6) || \
mbed_official 573:ad23fe03a082 763 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_7) || \
mbed_official 573:ad23fe03a082 764 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_8) || \
mbed_official 573:ad23fe03a082 765 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_9) || \
mbed_official 573:ad23fe03a082 766 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_10) || \
mbed_official 573:ad23fe03a082 767 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_11) || \
mbed_official 573:ad23fe03a082 768 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_12) || \
mbed_official 573:ad23fe03a082 769 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14_13) || \
mbed_official 573:ad23fe03a082 770 ((__MASK__) == RTC_ALARMSUBSECONDMASK_SS14) || \
mbed_official 573:ad23fe03a082 771 ((__MASK__) == RTC_ALARMSUBSECONDMASK_NONE))
mbed_official 573:ad23fe03a082 772
mbed_official 573:ad23fe03a082 773 /**
mbed_official 573:ad23fe03a082 774 * @}
mbed_official 573:ad23fe03a082 775 */
mbed_official 573:ad23fe03a082 776
mbed_official 573:ad23fe03a082 777 /**
mbed_official 573:ad23fe03a082 778 * @}
mbed_official 573:ad23fe03a082 779 */
mbed_official 573:ad23fe03a082 780
mbed_official 573:ad23fe03a082 781 /* Private functions ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 782 /** @defgroup RTC_Private_Functions RTC Private Functions
mbed_official 573:ad23fe03a082 783 * @{
mbed_official 573:ad23fe03a082 784 */
mbed_official 573:ad23fe03a082 785 HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc);
mbed_official 573:ad23fe03a082 786 uint8_t RTC_ByteToBcd2(uint8_t Value);
mbed_official 573:ad23fe03a082 787 uint8_t RTC_Bcd2ToByte(uint8_t Value);
mbed_official 573:ad23fe03a082 788 /**
mbed_official 573:ad23fe03a082 789 * @}
mbed_official 573:ad23fe03a082 790 */
mbed_official 573:ad23fe03a082 791
mbed_official 573:ad23fe03a082 792 /**
mbed_official 573:ad23fe03a082 793 * @}
mbed_official 573:ad23fe03a082 794 */
mbed_official 573:ad23fe03a082 795
mbed_official 573:ad23fe03a082 796 /**
mbed_official 573:ad23fe03a082 797 * @}
mbed_official 573:ad23fe03a082 798 */
mbed_official 573:ad23fe03a082 799
mbed_official 573:ad23fe03a082 800 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 801 }
mbed_official 573:ad23fe03a082 802 #endif
mbed_official 573:ad23fe03a082 803
mbed_official 573:ad23fe03a082 804 #endif /* __STM32F7xx_HAL_RTC_H */
mbed_official 573:ad23fe03a082 805
mbed_official 573:ad23fe03a082 806 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/