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:
Thu Jul 02 16:30:08 2015 +0100
Revision:
581:39197bcd20f2
Parent:
489:119543c9f674
Synchronized with git revision ae2d3cdffe70184eb8736d94f76c45c93f4b7724

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

Make it possible to build the core mbed library with yotta

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 489:119543c9f674 1 /**
mbed_official 489:119543c9f674 2 ******************************************************************************
mbed_official 489:119543c9f674 3 * @file stm32f1xx_hal_cec.h
mbed_official 489:119543c9f674 4 * @author MCD Application Team
mbed_official 489:119543c9f674 5 * @version V1.0.0
mbed_official 489:119543c9f674 6 * @date 15-December-2014
mbed_official 489:119543c9f674 7 * @brief Header file of CEC HAL module.
mbed_official 489:119543c9f674 8 ******************************************************************************
mbed_official 489:119543c9f674 9 * @attention
mbed_official 489:119543c9f674 10 *
mbed_official 489:119543c9f674 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 489:119543c9f674 12 *
mbed_official 489:119543c9f674 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 489:119543c9f674 14 * are permitted provided that the following conditions are met:
mbed_official 489:119543c9f674 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 489:119543c9f674 16 * this list of conditions and the following disclaimer.
mbed_official 489:119543c9f674 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 489:119543c9f674 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 489:119543c9f674 19 * and/or other materials provided with the distribution.
mbed_official 489:119543c9f674 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 489:119543c9f674 21 * may be used to endorse or promote products derived from this software
mbed_official 489:119543c9f674 22 * without specific prior written permission.
mbed_official 489:119543c9f674 23 *
mbed_official 489:119543c9f674 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 489:119543c9f674 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 489:119543c9f674 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 489:119543c9f674 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 489:119543c9f674 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 489:119543c9f674 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 489:119543c9f674 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 489:119543c9f674 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 489:119543c9f674 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 489:119543c9f674 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 489:119543c9f674 34 *
mbed_official 489:119543c9f674 35 ******************************************************************************
mbed_official 489:119543c9f674 36 */
mbed_official 489:119543c9f674 37
mbed_official 489:119543c9f674 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 489:119543c9f674 39 #ifndef __STM32F1xx_HAL_CEC_H
mbed_official 489:119543c9f674 40 #define __STM32F1xx_HAL_CEC_H
mbed_official 489:119543c9f674 41
mbed_official 489:119543c9f674 42 #ifdef __cplusplus
mbed_official 489:119543c9f674 43 extern "C" {
mbed_official 489:119543c9f674 44 #endif
mbed_official 489:119543c9f674 45
mbed_official 489:119543c9f674 46 #if defined(STM32F100xB) || defined(STM32F100xE)
mbed_official 489:119543c9f674 47 /* Includes ------------------------------------------------------------------*/
mbed_official 489:119543c9f674 48 #include "stm32f1xx_hal_def.h"
mbed_official 489:119543c9f674 49
mbed_official 489:119543c9f674 50 /** @addtogroup STM32F1xx_HAL_Driver
mbed_official 489:119543c9f674 51 * @{
mbed_official 489:119543c9f674 52 */
mbed_official 489:119543c9f674 53
mbed_official 489:119543c9f674 54 /** @addtogroup CEC
mbed_official 489:119543c9f674 55 * @{
mbed_official 489:119543c9f674 56 */
mbed_official 489:119543c9f674 57
mbed_official 489:119543c9f674 58 /** @addtogroup CEC_Private_Constants
mbed_official 489:119543c9f674 59 * @{
mbed_official 489:119543c9f674 60 */
mbed_official 489:119543c9f674 61 #define IS_CEC_BIT_TIMING_ERROR_MODE(MODE) (((MODE) == CEC_BIT_TIMING_ERROR_MODE_STANDARD) || \
mbed_official 489:119543c9f674 62 ((MODE) == CEC_BIT_TIMING_ERROR_MODE_ERRORFREE))
mbed_official 489:119543c9f674 63 #define IS_CEC_BIT_PERIOD_ERROR_MODE(MODE) (((MODE) == CEC_BIT_PERIOD_ERROR_MODE_STANDARD) || \
mbed_official 489:119543c9f674 64 ((MODE) == CEC_BIT_PERIOD_ERROR_MODE_FLEXIBLE))
mbed_official 489:119543c9f674 65
mbed_official 489:119543c9f674 66 /** @brief Check CEC device Own Address Register (OAR) setting.
mbed_official 489:119543c9f674 67 * @param __ADDRESS__: CEC own address.
mbed_official 489:119543c9f674 68 * @retval Test result (TRUE or FALSE).
mbed_official 489:119543c9f674 69 */
mbed_official 489:119543c9f674 70 #define IS_CEC_OAR_ADDRESS(__ADDRESS__) ((__ADDRESS__) <= 0xF)
mbed_official 489:119543c9f674 71
mbed_official 489:119543c9f674 72 /** @brief Check CEC initiator or destination logical address setting.
mbed_official 489:119543c9f674 73 * Initiator and destination addresses are coded over 4 bits.
mbed_official 489:119543c9f674 74 * @param __ADDRESS__: CEC initiator or logical address.
mbed_official 489:119543c9f674 75 * @retval Test result (TRUE or FALSE).
mbed_official 489:119543c9f674 76 */
mbed_official 489:119543c9f674 77 #define IS_CEC_ADDRESS(__ADDRESS__) ((__ADDRESS__) <= 0xF)
mbed_official 489:119543c9f674 78
mbed_official 489:119543c9f674 79 /** @brief Check CEC message size.
mbed_official 489:119543c9f674 80 * The message size is the payload size: without counting the header,
mbed_official 489:119543c9f674 81 * it varies from 0 byte (ping operation, one header only, no payload) to
mbed_official 489:119543c9f674 82 * 15 bytes (1 opcode and up to 14 operands following the header).
mbed_official 489:119543c9f674 83 * @param __SIZE__: CEC message size.
mbed_official 489:119543c9f674 84 * @retval Test result (TRUE or FALSE).
mbed_official 489:119543c9f674 85 */
mbed_official 489:119543c9f674 86 #define IS_CEC_MSGSIZE(__SIZE__) ((__SIZE__) <= 0xF)
mbed_official 489:119543c9f674 87
mbed_official 489:119543c9f674 88 /**
mbed_official 489:119543c9f674 89 * @}
mbed_official 489:119543c9f674 90 */
mbed_official 489:119543c9f674 91
mbed_official 489:119543c9f674 92 /* Exported types ------------------------------------------------------------*/
mbed_official 489:119543c9f674 93 /** @defgroup CEC_Exported_Types CEC Exported Types
mbed_official 489:119543c9f674 94 * @{
mbed_official 489:119543c9f674 95 */
mbed_official 489:119543c9f674 96 /**
mbed_official 489:119543c9f674 97 * @brief CEC Init Structure definition
mbed_official 489:119543c9f674 98 */
mbed_official 489:119543c9f674 99 typedef struct
mbed_official 489:119543c9f674 100 {
mbed_official 489:119543c9f674 101 uint32_t TimingErrorFree; /*!< Configures the CEC Bit Timing Error Mode.
mbed_official 489:119543c9f674 102 This parameter can be a value of @ref CEC_BitTimingErrorMode */
mbed_official 489:119543c9f674 103 uint32_t PeriodErrorFree; /*!< Configures the CEC Bit Period Error Mode.
mbed_official 489:119543c9f674 104 This parameter can be a value of @ref CEC_BitPeriodErrorMode */
mbed_official 489:119543c9f674 105 uint8_t InitiatorAddress; /*!< Initiator address (source logical address, sent in each header)
mbed_official 489:119543c9f674 106 This parameter can be a value <= 0xF */
mbed_official 489:119543c9f674 107 }CEC_InitTypeDef;
mbed_official 489:119543c9f674 108
mbed_official 489:119543c9f674 109 /**
mbed_official 489:119543c9f674 110 * @brief HAL CEC State structures definition
mbed_official 489:119543c9f674 111 */
mbed_official 489:119543c9f674 112 typedef enum
mbed_official 489:119543c9f674 113 {
mbed_official 489:119543c9f674 114 HAL_CEC_STATE_RESET = 0x00, /*!< Peripheral Reset state */
mbed_official 489:119543c9f674 115 HAL_CEC_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */
mbed_official 489:119543c9f674 116 HAL_CEC_STATE_BUSY = 0x02, /*!< An internal process is ongoing */
mbed_official 489:119543c9f674 117 HAL_CEC_STATE_BUSY_TX = 0x03, /*!< Data Transmission process is ongoing */
mbed_official 489:119543c9f674 118 HAL_CEC_STATE_BUSY_RX = 0x04, /*!< Data Reception process is ongoing */
mbed_official 489:119543c9f674 119 HAL_CEC_STATE_BUSY_TX_RX = 0x05, /*!< Data Transmission and Reception process is ongoing */
mbed_official 489:119543c9f674 120 HAL_CEC_STATE_TIMEOUT = 0x06, /*!< Timeout state */
mbed_official 489:119543c9f674 121 HAL_CEC_STATE_ERROR = 0x07 /*!< State Error */
mbed_official 489:119543c9f674 122 }HAL_CEC_StateTypeDef;
mbed_official 489:119543c9f674 123
mbed_official 489:119543c9f674 124 /**
mbed_official 489:119543c9f674 125 * @brief HAL Error structures definition
mbed_official 489:119543c9f674 126 */
mbed_official 489:119543c9f674 127 typedef enum
mbed_official 489:119543c9f674 128 {
mbed_official 489:119543c9f674 129 HAL_CEC_ERROR_NONE = (uint32_t) 0x0, /*!< no error */
mbed_official 489:119543c9f674 130 HAL_CEC_ERROR_BTE = CEC_ESR_BTE, /*!< Bit Timing Error */
mbed_official 489:119543c9f674 131 HAL_CEC_ERROR_BPE = CEC_ESR_BPE, /*!< Bit Period Error */
mbed_official 489:119543c9f674 132 HAL_CEC_ERROR_RBTFE = CEC_ESR_RBTFE, /*!< Rx Block Transfer Finished Error */
mbed_official 489:119543c9f674 133 HAL_CEC_ERROR_SBE = CEC_ESR_SBE, /*!< Start Bit Error */
mbed_official 489:119543c9f674 134 HAL_CEC_ERROR_ACKE = CEC_ESR_ACKE, /*!< Block Acknowledge Error */
mbed_official 489:119543c9f674 135 HAL_CEC_ERROR_LINE = CEC_ESR_LINE, /*!< Line Error */
mbed_official 489:119543c9f674 136 HAL_CEC_ERROR_TBTFE = CEC_ESR_TBTFE, /*!< Tx Block Transfer Finished Error */
mbed_official 489:119543c9f674 137 }HAL_CEC_ErrorTypeDef;
mbed_official 489:119543c9f674 138
mbed_official 489:119543c9f674 139 /**
mbed_official 489:119543c9f674 140 * @brief CEC handle Structure definition
mbed_official 489:119543c9f674 141 */
mbed_official 489:119543c9f674 142 typedef struct
mbed_official 489:119543c9f674 143 {
mbed_official 489:119543c9f674 144 CEC_TypeDef *Instance; /*!< CEC registers base address */
mbed_official 489:119543c9f674 145
mbed_official 489:119543c9f674 146 CEC_InitTypeDef Init; /*!< CEC communication parameters */
mbed_official 489:119543c9f674 147
mbed_official 489:119543c9f674 148 uint8_t *pTxBuffPtr; /*!< Pointer to CEC Tx transfer Buffer */
mbed_official 489:119543c9f674 149
mbed_official 489:119543c9f674 150 uint16_t TxXferCount; /*!< CEC Tx Transfer Counter */
mbed_official 489:119543c9f674 151
mbed_official 489:119543c9f674 152 uint8_t *pRxBuffPtr; /*!< Pointer to CEC Rx transfer Buffer */
mbed_official 489:119543c9f674 153
mbed_official 489:119543c9f674 154 uint16_t RxXferSize; /*!< CEC Rx Transfer size, 0: header received only */
mbed_official 489:119543c9f674 155
mbed_official 489:119543c9f674 156 uint32_t ErrorCode; /*!< For errors handling purposes, copy of ESR register in case error is reported */
mbed_official 489:119543c9f674 157
mbed_official 489:119543c9f674 158 HAL_LockTypeDef Lock; /*!< Locking object */
mbed_official 489:119543c9f674 159
mbed_official 489:119543c9f674 160 HAL_CEC_StateTypeDef State; /*!< CEC communication state */
mbed_official 489:119543c9f674 161
mbed_official 489:119543c9f674 162 }CEC_HandleTypeDef;
mbed_official 489:119543c9f674 163
mbed_official 489:119543c9f674 164 /**
mbed_official 489:119543c9f674 165 * @}
mbed_official 489:119543c9f674 166 */
mbed_official 489:119543c9f674 167
mbed_official 489:119543c9f674 168 /* Exported constants --------------------------------------------------------*/
mbed_official 489:119543c9f674 169 /** @defgroup CEC_Exported_Constants CEC Exported Constants
mbed_official 489:119543c9f674 170 * @{
mbed_official 489:119543c9f674 171 */
mbed_official 489:119543c9f674 172
mbed_official 489:119543c9f674 173 /** @defgroup CEC_BitTimingErrorMode Bit Timing Error Mode
mbed_official 489:119543c9f674 174 * @{
mbed_official 489:119543c9f674 175 */
mbed_official 489:119543c9f674 176 #define CEC_BIT_TIMING_ERROR_MODE_STANDARD ((uint32_t)0x00) /*!< Bit timing error Standard Mode */
mbed_official 489:119543c9f674 177 #define CEC_BIT_TIMING_ERROR_MODE_ERRORFREE CEC_CFGR_BTEM /*!< Bit timing error Free Mode */
mbed_official 489:119543c9f674 178 /**
mbed_official 489:119543c9f674 179 * @}
mbed_official 489:119543c9f674 180 */
mbed_official 489:119543c9f674 181
mbed_official 489:119543c9f674 182 /** @defgroup CEC_BitPeriodErrorMode Bit Period Error Mode
mbed_official 489:119543c9f674 183 * @{
mbed_official 489:119543c9f674 184 */
mbed_official 489:119543c9f674 185 #define CEC_BIT_PERIOD_ERROR_MODE_STANDARD ((uint32_t)0x00) /*!< Bit period error Standard Mode */
mbed_official 489:119543c9f674 186 #define CEC_BIT_PERIOD_ERROR_MODE_FLEXIBLE CEC_CFGR_BPEM /*!< Bit period error Flexible Mode */
mbed_official 489:119543c9f674 187 /**
mbed_official 489:119543c9f674 188 * @}
mbed_official 489:119543c9f674 189 */
mbed_official 489:119543c9f674 190
mbed_official 489:119543c9f674 191 /** @defgroup CEC_Initiator_Position Initiator logical address position in message header
mbed_official 489:119543c9f674 192 * @{
mbed_official 489:119543c9f674 193 */
mbed_official 489:119543c9f674 194 #define CEC_INITIATOR_LSB_POS ((uint32_t) 4)
mbed_official 489:119543c9f674 195 /**
mbed_official 489:119543c9f674 196 * @}
mbed_official 489:119543c9f674 197 */
mbed_official 489:119543c9f674 198 /** @defgroup CEC_Interrupts_Definitions Interrupts definition
mbed_official 489:119543c9f674 199 * @{
mbed_official 489:119543c9f674 200 */
mbed_official 489:119543c9f674 201 #define CEC_IT_IE CEC_CFGR_IE
mbed_official 489:119543c9f674 202 /**
mbed_official 489:119543c9f674 203 * @}
mbed_official 489:119543c9f674 204 */
mbed_official 489:119543c9f674 205
mbed_official 489:119543c9f674 206 /** @defgroup CEC_Flags_Definitions Flags definition
mbed_official 489:119543c9f674 207 * @{
mbed_official 489:119543c9f674 208 */
mbed_official 489:119543c9f674 209 #define CEC_FLAG_TSOM CEC_CSR_TSOM
mbed_official 489:119543c9f674 210 #define CEC_FLAG_TEOM CEC_CSR_TEOM
mbed_official 489:119543c9f674 211 #define CEC_FLAG_TERR CEC_CSR_TERR
mbed_official 489:119543c9f674 212 #define CEC_FLAG_TBTRF CEC_CSR_TBTRF
mbed_official 489:119543c9f674 213 #define CEC_FLAG_RSOM CEC_CSR_RSOM
mbed_official 489:119543c9f674 214 #define CEC_FLAG_REOM CEC_CSR_REOM
mbed_official 489:119543c9f674 215 #define CEC_FLAG_RERR CEC_CSR_RERR
mbed_official 489:119543c9f674 216 #define CEC_FLAG_RBTF CEC_CSR_RBTF
mbed_official 489:119543c9f674 217 /**
mbed_official 489:119543c9f674 218 * @}
mbed_official 489:119543c9f674 219 */
mbed_official 489:119543c9f674 220
mbed_official 489:119543c9f674 221 /**
mbed_official 489:119543c9f674 222 * @}
mbed_official 489:119543c9f674 223 */
mbed_official 489:119543c9f674 224
mbed_official 489:119543c9f674 225 /* Exported macros -----------------------------------------------------------*/
mbed_official 489:119543c9f674 226 /** @defgroup CEC_Exported_Macros CEC Exported Macros
mbed_official 489:119543c9f674 227 * @{
mbed_official 489:119543c9f674 228 */
mbed_official 489:119543c9f674 229
mbed_official 489:119543c9f674 230 /** @brief Reset CEC handle state
mbed_official 489:119543c9f674 231 * @param __HANDLE__: CEC handle.
mbed_official 489:119543c9f674 232 * @retval None
mbed_official 489:119543c9f674 233 */
mbed_official 489:119543c9f674 234 #define __HAL_CEC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_CEC_STATE_RESET)
mbed_official 489:119543c9f674 235
mbed_official 489:119543c9f674 236 /** @brief Checks whether or not the specified CEC interrupt flag is set.
mbed_official 489:119543c9f674 237 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 238 * @param __INTERRUPT__: specifies the interrupt to check.
mbed_official 489:119543c9f674 239 * @arg CEC_FLAG_TERR: Tx Error
mbed_official 489:119543c9f674 240 * @arg CEC_FLAG_TBTF: Tx Block Transfer Finished
mbed_official 489:119543c9f674 241 * @arg CEC_FLAG_RERR: Rx Error
mbed_official 489:119543c9f674 242 * @arg CEC_FLAG_RBTF: Rx Block Transfer Finished
mbed_official 489:119543c9f674 243 * @retval ITStatus
mbed_official 489:119543c9f674 244 */
mbed_official 489:119543c9f674 245 #define __HAL_CEC_GET_FLAG(__HANDLE__, __INTERRUPT__) READ_BIT((__HANDLE__)->Instance->CSR,(__INTERRUPT__))
mbed_official 489:119543c9f674 246
mbed_official 489:119543c9f674 247 /** @brief Clears the CEC's pending flags.
mbed_official 489:119543c9f674 248 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 249 * @param __FLAG__: specifies the flag to clear.
mbed_official 489:119543c9f674 250 * This parameter can be any combination of the following values:
mbed_official 489:119543c9f674 251 * @arg CEC_CSR_TERR: Tx Error
mbed_official 489:119543c9f674 252 * @arg CEC_CSR_TBTF: Tx Block Transfer Finished
mbed_official 489:119543c9f674 253 * @arg CEC_CSR_RERR: Rx Error
mbed_official 489:119543c9f674 254 * @arg CEC_CSR_RBTF: Rx Block Transfer Finished
mbed_official 489:119543c9f674 255 * @retval none
mbed_official 489:119543c9f674 256 */
mbed_official 489:119543c9f674 257 #define __HAL_CEC_CLEAR_FLAG(__HANDLE__, __FLAG__) \
mbed_official 489:119543c9f674 258 do { \
mbed_official 489:119543c9f674 259 uint32_t tmp = 0x0; \
mbed_official 489:119543c9f674 260 tmp = (__HANDLE__)->Instance->CSR & 0x2; \
mbed_official 489:119543c9f674 261 (__HANDLE__)->Instance->CSR &= (uint32_t)(((~(uint32_t)(__FLAG__)) & 0xFFFFFFFC) | tmp);\
mbed_official 489:119543c9f674 262 } while(0)
mbed_official 489:119543c9f674 263
mbed_official 489:119543c9f674 264 /** @brief Enables the specified CEC interrupt.
mbed_official 489:119543c9f674 265 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 266 * @param __INTERRUPT__: The CEC interrupt to enable.
mbed_official 489:119543c9f674 267 * This parameter can be:
mbed_official 489:119543c9f674 268 * @arg CEC_IT_IE : Interrupt Enable
mbed_official 489:119543c9f674 269 * @retval none
mbed_official 489:119543c9f674 270 */
mbed_official 489:119543c9f674 271 #define __HAL_CEC_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CFGR, (__INTERRUPT__))
mbed_official 489:119543c9f674 272
mbed_official 489:119543c9f674 273 /** @brief Disables the specified CEC interrupt.
mbed_official 489:119543c9f674 274 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 275 * @param __INTERRUPT__: The CEC interrupt to enable.
mbed_official 489:119543c9f674 276 * This parameter can be:
mbed_official 489:119543c9f674 277 * @arg CEC_IT_IE : Interrupt Enable
mbed_official 489:119543c9f674 278 * @retval none
mbed_official 489:119543c9f674 279 */
mbed_official 489:119543c9f674 280 #define __HAL_CEC_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CFGR, (__INTERRUPT__))
mbed_official 489:119543c9f674 281
mbed_official 489:119543c9f674 282 /** @brief Checks whether or not the specified CEC interrupt is enabled.
mbed_official 489:119543c9f674 283 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 284 * @param __INTERRUPT__: The CEC interrupt to enable.
mbed_official 489:119543c9f674 285 * This parameter can be:
mbed_official 489:119543c9f674 286 * @arg CEC_IT_IE : Interrupt Enable
mbed_official 489:119543c9f674 287 * @retval FlagStatus
mbed_official 489:119543c9f674 288 */
mbed_official 489:119543c9f674 289 #define __HAL_CEC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) READ_BIT((__HANDLE__)->Instance->CFGR, (__INTERRUPT__))
mbed_official 489:119543c9f674 290
mbed_official 489:119543c9f674 291 /** @brief Enables the CEC device
mbed_official 489:119543c9f674 292 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 293 * @retval none
mbed_official 489:119543c9f674 294 */
mbed_official 489:119543c9f674 295 #define __HAL_CEC_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CFGR, CEC_CFGR_PE)
mbed_official 489:119543c9f674 296
mbed_official 489:119543c9f674 297 /** @brief Disables the CEC device
mbed_official 489:119543c9f674 298 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 299 * @retval none
mbed_official 489:119543c9f674 300 */
mbed_official 489:119543c9f674 301 #define __HAL_CEC_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CFGR, CEC_CFGR_PE)
mbed_official 489:119543c9f674 302
mbed_official 489:119543c9f674 303 /** @brief Set Transmission Start flag
mbed_official 489:119543c9f674 304 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 305 * @retval none
mbed_official 489:119543c9f674 306 */
mbed_official 489:119543c9f674 307 #define __HAL_CEC_FIRST_BYTE_TX_SET(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, CEC_CSR_TSOM)
mbed_official 489:119543c9f674 308
mbed_official 489:119543c9f674 309 /** @brief Set Transmission End flag
mbed_official 489:119543c9f674 310 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 311 * @retval none
mbed_official 489:119543c9f674 312 */
mbed_official 489:119543c9f674 313 #define __HAL_CEC_LAST_BYTE_TX_SET(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, CEC_CSR_TEOM)
mbed_official 489:119543c9f674 314
mbed_official 489:119543c9f674 315 /** @brief Get Transmission Start flag
mbed_official 489:119543c9f674 316 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 317 * @retval FlagStatus
mbed_official 489:119543c9f674 318 */
mbed_official 489:119543c9f674 319 #define __HAL_CEC_GET_TRANSMISSION_START_FLAG(__HANDLE__) READ_BIT((__HANDLE__)->Instance->CSR, CEC_CSR_TSOM)
mbed_official 489:119543c9f674 320
mbed_official 489:119543c9f674 321 /** @brief Get Transmission End flag
mbed_official 489:119543c9f674 322 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 323 * @retval FlagStatus
mbed_official 489:119543c9f674 324 */
mbed_official 489:119543c9f674 325 #define __HAL_CEC_GET_TRANSMISSION_END_FLAG(__HANDLE__) READ_BIT((__HANDLE__)->Instance->CSR, CEC_CSR_TEOM)
mbed_official 489:119543c9f674 326
mbed_official 489:119543c9f674 327 /** @brief Clear OAR register
mbed_official 489:119543c9f674 328 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 329 * @retval none
mbed_official 489:119543c9f674 330 */
mbed_official 489:119543c9f674 331 #define __HAL_CEC_CLEAR_OAR(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->OAR, CEC_OAR_OA)
mbed_official 489:119543c9f674 332
mbed_official 489:119543c9f674 333 /** @brief Set OAR register
mbed_official 489:119543c9f674 334 * @param __HANDLE__: specifies the CEC Handle.
mbed_official 489:119543c9f674 335 * @param __ADDRESS__: Own Address value.
mbed_official 489:119543c9f674 336 * @retval none
mbed_official 489:119543c9f674 337 */
mbed_official 489:119543c9f674 338 #define __HAL_CEC_SET_OAR(__HANDLE__,__ADDRESS__) MODIFY_REG((__HANDLE__)->Instance->OAR, CEC_OAR_OA, (__ADDRESS__));
mbed_official 489:119543c9f674 339
mbed_official 489:119543c9f674 340 /**
mbed_official 489:119543c9f674 341 * @}
mbed_official 489:119543c9f674 342 */
mbed_official 489:119543c9f674 343
mbed_official 489:119543c9f674 344 /* Exported functions --------------------------------------------------------*/
mbed_official 489:119543c9f674 345 /** @addtogroup CEC_Exported_Functions CEC Exported Functions
mbed_official 489:119543c9f674 346 * @{
mbed_official 489:119543c9f674 347 */
mbed_official 489:119543c9f674 348
mbed_official 489:119543c9f674 349 /** @addtogroup CEC_Exported_Functions_Group1 Initialization and de-initialization functions
mbed_official 489:119543c9f674 350 * @brief Initialization and Configuration functions
mbed_official 489:119543c9f674 351 * @{
mbed_official 489:119543c9f674 352 */
mbed_official 489:119543c9f674 353 /* Initialization and de-initialization functions ****************************/
mbed_official 489:119543c9f674 354 HAL_StatusTypeDef HAL_CEC_Init(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 355 HAL_StatusTypeDef HAL_CEC_DeInit(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 356 void HAL_CEC_MspInit(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 357 void HAL_CEC_MspDeInit(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 358 /**
mbed_official 489:119543c9f674 359 * @}
mbed_official 489:119543c9f674 360 */
mbed_official 489:119543c9f674 361
mbed_official 489:119543c9f674 362 /** @addtogroup CEC_Exported_Functions_Group2 Input and Output operation functions
mbed_official 489:119543c9f674 363 * @brief CEC Transmit/Receive functions
mbed_official 489:119543c9f674 364 * @{
mbed_official 489:119543c9f674 365 */
mbed_official 489:119543c9f674 366 /* IO operation functions *****************************************************/
mbed_official 489:119543c9f674 367 HAL_StatusTypeDef HAL_CEC_Transmit(CEC_HandleTypeDef *hcec, uint8_t DestinationAddress, uint8_t *pData, uint32_t Size, uint32_t Timeout);
mbed_official 489:119543c9f674 368 HAL_StatusTypeDef HAL_CEC_Receive(CEC_HandleTypeDef *hcec, uint8_t *pData, uint32_t Timeout);
mbed_official 489:119543c9f674 369 HAL_StatusTypeDef HAL_CEC_Transmit_IT(CEC_HandleTypeDef *hcec, uint8_t DestinationAddress, uint8_t *pData, uint32_t Size);
mbed_official 489:119543c9f674 370 HAL_StatusTypeDef HAL_CEC_Receive_IT(CEC_HandleTypeDef *hcec, uint8_t *pData);
mbed_official 489:119543c9f674 371 uint32_t HAL_CEC_GetReceivedFrameSize(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 372 void HAL_CEC_IRQHandler(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 373 void HAL_CEC_TxCpltCallback(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 374 void HAL_CEC_RxCpltCallback(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 375 void HAL_CEC_ErrorCallback(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 376 /**
mbed_official 489:119543c9f674 377 * @}
mbed_official 489:119543c9f674 378 */
mbed_official 489:119543c9f674 379
mbed_official 489:119543c9f674 380 /** @defgroup CEC_Exported_Functions_Group3 Peripheral Control functions
mbed_official 489:119543c9f674 381 * @brief CEC control functions
mbed_official 489:119543c9f674 382 * @{
mbed_official 489:119543c9f674 383 */
mbed_official 489:119543c9f674 384 /* Peripheral State and Error functions ***************************************/
mbed_official 489:119543c9f674 385 HAL_CEC_StateTypeDef HAL_CEC_GetState(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 386 uint32_t HAL_CEC_GetError(CEC_HandleTypeDef *hcec);
mbed_official 489:119543c9f674 387 /**
mbed_official 489:119543c9f674 388 * @}
mbed_official 489:119543c9f674 389 */
mbed_official 489:119543c9f674 390
mbed_official 489:119543c9f674 391 /**
mbed_official 489:119543c9f674 392 * @}
mbed_official 489:119543c9f674 393 */
mbed_official 489:119543c9f674 394
mbed_official 489:119543c9f674 395 /**
mbed_official 489:119543c9f674 396 * @}
mbed_official 489:119543c9f674 397 */
mbed_official 489:119543c9f674 398
mbed_official 489:119543c9f674 399 /**
mbed_official 489:119543c9f674 400 * @}
mbed_official 489:119543c9f674 401 */
mbed_official 489:119543c9f674 402
mbed_official 489:119543c9f674 403 #endif /* defined(STM32F100xB) || defined(STM32F100xE) */
mbed_official 489:119543c9f674 404
mbed_official 489:119543c9f674 405 #ifdef __cplusplus
mbed_official 489:119543c9f674 406 }
mbed_official 489:119543c9f674 407 #endif
mbed_official 489:119543c9f674 408
mbed_official 489:119543c9f674 409 #endif /* __STM32F1xx_HAL_CEC_H */
mbed_official 489:119543c9f674 410
mbed_official 489:119543c9f674 411 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/