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:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
489:119543c9f674
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

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