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:
532:fe11edbda85c
Child:
613:bc40b8d2aec4
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 532:fe11edbda85c 1 /**
mbed_official 532:fe11edbda85c 2 ******************************************************************************
mbed_official 532:fe11edbda85c 3 * @file stm32f4xx_hal_spdifrx.h
mbed_official 532:fe11edbda85c 4 * @author MCD Application Team
mbed_official 532:fe11edbda85c 5 * @version V1.3.0
mbed_official 532:fe11edbda85c 6 * @date 09-March-2015
mbed_official 532:fe11edbda85c 7 * @brief Header file of SPDIFRX HAL module.
mbed_official 532:fe11edbda85c 8 ******************************************************************************
mbed_official 532:fe11edbda85c 9 * @attention
mbed_official 532:fe11edbda85c 10 *
mbed_official 532:fe11edbda85c 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 532:fe11edbda85c 12 *
mbed_official 532:fe11edbda85c 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 532:fe11edbda85c 14 * are permitted provided that the following conditions are met:
mbed_official 532:fe11edbda85c 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 532:fe11edbda85c 16 * this list of conditions and the following disclaimer.
mbed_official 532:fe11edbda85c 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 532:fe11edbda85c 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 532:fe11edbda85c 19 * and/or other materials provided with the distribution.
mbed_official 532:fe11edbda85c 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 532:fe11edbda85c 21 * may be used to endorse or promote products derived from this software
mbed_official 532:fe11edbda85c 22 * without specific prior written permission.
mbed_official 532:fe11edbda85c 23 *
mbed_official 532:fe11edbda85c 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 532:fe11edbda85c 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 532:fe11edbda85c 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 532:fe11edbda85c 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 532:fe11edbda85c 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 532:fe11edbda85c 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 532:fe11edbda85c 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 532:fe11edbda85c 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 532:fe11edbda85c 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 532:fe11edbda85c 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 532:fe11edbda85c 34 *
mbed_official 532:fe11edbda85c 35 ******************************************************************************
mbed_official 532:fe11edbda85c 36 */
mbed_official 532:fe11edbda85c 37
mbed_official 532:fe11edbda85c 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 532:fe11edbda85c 39 #ifndef __STM32F4xx_HAL_SPDIFRX_H
mbed_official 532:fe11edbda85c 40 #define __STM32F4xx_HAL_SPDIFRX_H
mbed_official 532:fe11edbda85c 41
mbed_official 532:fe11edbda85c 42 #ifdef __cplusplus
mbed_official 532:fe11edbda85c 43 extern "C" {
mbed_official 532:fe11edbda85c 44 #endif
mbed_official 532:fe11edbda85c 45
mbed_official 532:fe11edbda85c 46 #if defined(STM32F446xx)
mbed_official 532:fe11edbda85c 47
mbed_official 532:fe11edbda85c 48 /* Includes ------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 49 #include "stm32f4xx_hal_def.h"
mbed_official 532:fe11edbda85c 50
mbed_official 532:fe11edbda85c 51 /** @addtogroup STM32F4xx_HAL_Driver
mbed_official 532:fe11edbda85c 52 * @{
mbed_official 532:fe11edbda85c 53 */
mbed_official 532:fe11edbda85c 54
mbed_official 532:fe11edbda85c 55 /** @addtogroup SPDIFRX
mbed_official 532:fe11edbda85c 56 * @{
mbed_official 532:fe11edbda85c 57 */
mbed_official 532:fe11edbda85c 58
mbed_official 532:fe11edbda85c 59 /* Exported types ------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 60 /** @defgroup SPDIFRX_Exported_Types SPDIFRX Exported Types
mbed_official 532:fe11edbda85c 61 * @{
mbed_official 532:fe11edbda85c 62 */
mbed_official 532:fe11edbda85c 63
mbed_official 532:fe11edbda85c 64 /**
mbed_official 532:fe11edbda85c 65 * @brief SPDIFRX Init structure definition
mbed_official 532:fe11edbda85c 66 */
mbed_official 532:fe11edbda85c 67 typedef struct
mbed_official 532:fe11edbda85c 68 {
mbed_official 532:fe11edbda85c 69 uint32_t InputSelection; /*!< Specifies the SPDIF input selection.
mbed_official 532:fe11edbda85c 70 This parameter can be a value of @ref SPDIFRX_Input_Selection */
mbed_official 532:fe11edbda85c 71
mbed_official 532:fe11edbda85c 72 uint32_t Retries; /*!< Specifies the Maximum allowed re-tries during synchronization phase.
mbed_official 532:fe11edbda85c 73 This parameter can be a value of @ref SPDIFRX_Max_Retries */
mbed_official 532:fe11edbda85c 74
mbed_official 532:fe11edbda85c 75 uint32_t WaitForActivity; /*!< Specifies the wait for activity on SPDIF selected input.
mbed_official 532:fe11edbda85c 76 This parameter can be a value of @ref SPDIFRX_Wait_For_Activity. */
mbed_official 532:fe11edbda85c 77
mbed_official 532:fe11edbda85c 78 uint32_t ChannelSelection; /*!< Specifies whether the control flow will take the channel status from channel A or B.
mbed_official 532:fe11edbda85c 79 This parameter can be a value of @ref SPDIFRX_Channel_Selection */
mbed_official 532:fe11edbda85c 80
mbed_official 532:fe11edbda85c 81 uint32_t DataFormat; /*!< Specifies the Data samples format (LSB, MSB, ...).
mbed_official 532:fe11edbda85c 82 This parameter can be a value of @ref SPDIFRX_Data_Format */
mbed_official 532:fe11edbda85c 83
mbed_official 532:fe11edbda85c 84 uint32_t StereoMode; /*!< Specifies whether the peripheral is in stereo or mono mode.
mbed_official 532:fe11edbda85c 85 This parameter can be a value of @ref SPDIFRX_Stereo_Mode */
mbed_official 532:fe11edbda85c 86
mbed_official 532:fe11edbda85c 87 uint32_t PreambleTypeMask; /*!< Specifies whether The preamble type bits are copied or not into the received frame.
mbed_official 532:fe11edbda85c 88 This parameter can be a value of @ref SPDIFRX_PT_Mask */
mbed_official 532:fe11edbda85c 89
mbed_official 532:fe11edbda85c 90 uint32_t ChannelStatusMask; /*!< Specifies whether the channel status and user bits are copied or not into the received frame.
mbed_official 532:fe11edbda85c 91 This parameter can be a value of @ref SPDIFRX_ChannelStatus_Mask */
mbed_official 532:fe11edbda85c 92
mbed_official 532:fe11edbda85c 93 uint32_t ValidityBitMask; /*!< Specifies whether the validity bit is copied or not into the received frame.
mbed_official 532:fe11edbda85c 94 This parameter can be a value of @ref SPDIFRX_V_Mask */
mbed_official 532:fe11edbda85c 95
mbed_official 532:fe11edbda85c 96 uint32_t ParityErrorMask; /*!< Specifies whether the parity error bit is copied or not into the received frame.
mbed_official 532:fe11edbda85c 97 This parameter can be a value of @ref SPDIFRX_PE_Mask */
mbed_official 532:fe11edbda85c 98
mbed_official 532:fe11edbda85c 99 }SPDIFRX_InitTypeDef;
mbed_official 532:fe11edbda85c 100
mbed_official 532:fe11edbda85c 101 /**
mbed_official 532:fe11edbda85c 102 * @brief SPDIFRX SetDataFormat structure definition
mbed_official 532:fe11edbda85c 103 */
mbed_official 532:fe11edbda85c 104 typedef struct
mbed_official 532:fe11edbda85c 105 {
mbed_official 532:fe11edbda85c 106 uint32_t DataFormat; /*!< Specifies the Data samples format (LSB, MSB, ...).
mbed_official 532:fe11edbda85c 107 This parameter can be a value of @ref SPDIFRX_Data_Format */
mbed_official 532:fe11edbda85c 108
mbed_official 532:fe11edbda85c 109 uint32_t StereoMode; /*!< Specifies whether the peripheral is in stereo or mono mode.
mbed_official 532:fe11edbda85c 110 This parameter can be a value of @ref SPDIFRX_Stereo_Mode */
mbed_official 532:fe11edbda85c 111
mbed_official 532:fe11edbda85c 112 uint32_t PreambleTypeMask; /*!< Specifies whether The preamble type bits are copied or not into the received frame.
mbed_official 532:fe11edbda85c 113 This parameter can be a value of @ref SPDIFRX_PT_Mask */
mbed_official 532:fe11edbda85c 114
mbed_official 532:fe11edbda85c 115 uint32_t ChannelStatusMask; /*!< Specifies whether the channel status and user bits are copied or not into the received frame.
mbed_official 532:fe11edbda85c 116 This parameter can be a value of @ref SPDIFRX_ChannelStatus_Mask */
mbed_official 532:fe11edbda85c 117
mbed_official 532:fe11edbda85c 118 uint32_t ValidityBitMask; /*!< Specifies whether the validity bit is copied or not into the received frame.
mbed_official 532:fe11edbda85c 119 This parameter can be a value of @ref SPDIFRX_V_Mask */
mbed_official 532:fe11edbda85c 120
mbed_official 532:fe11edbda85c 121 uint32_t ParityErrorMask; /*!< Specifies whether the parity error bit is copied or not into the received frame.
mbed_official 532:fe11edbda85c 122 This parameter can be a value of @ref SPDIFRX_PE_Mask */
mbed_official 532:fe11edbda85c 123
mbed_official 532:fe11edbda85c 124 }SPDIFRX_SetDataFormatTypeDef;
mbed_official 532:fe11edbda85c 125
mbed_official 532:fe11edbda85c 126 /**
mbed_official 532:fe11edbda85c 127 * @brief HAL State structures definition
mbed_official 532:fe11edbda85c 128 */
mbed_official 532:fe11edbda85c 129 typedef enum
mbed_official 532:fe11edbda85c 130 {
mbed_official 532:fe11edbda85c 131 HAL_SPDIFRX_STATE_RESET = 0x00, /*!< SPDIFRX not yet initialized or disabled */
mbed_official 532:fe11edbda85c 132 HAL_SPDIFRX_STATE_READY = 0x01, /*!< SPDIFRX initialized and ready for use */
mbed_official 532:fe11edbda85c 133 HAL_SPDIFRX_STATE_BUSY = 0x02, /*!< SPDIFRX internal process is ongoing */
mbed_official 532:fe11edbda85c 134 HAL_SPDIFRX_STATE_BUSY_RX = 0x03, /*!< SPDIFRX internal Data Flow RX process is ongoing */
mbed_official 532:fe11edbda85c 135 HAL_SPDIFRX_STATE_BUSY_CX = 0x04, /*!< SPDIFRX internal Control Flow RX process is ongoing */
mbed_official 532:fe11edbda85c 136 HAL_SPDIFRX_STATE_ERROR = 0x07 /*!< SPDIFRX error state */
mbed_official 532:fe11edbda85c 137 }HAL_SPDIFRX_StateTypeDef;
mbed_official 532:fe11edbda85c 138
mbed_official 532:fe11edbda85c 139 /**
mbed_official 532:fe11edbda85c 140 * @brief SPDIFRX handle Structure definition
mbed_official 532:fe11edbda85c 141 */
mbed_official 532:fe11edbda85c 142 typedef struct
mbed_official 532:fe11edbda85c 143 {
mbed_official 532:fe11edbda85c 144 SPDIFRX_TypeDef *Instance; /* SPDIFRX registers base address */
mbed_official 532:fe11edbda85c 145
mbed_official 532:fe11edbda85c 146 SPDIFRX_InitTypeDef Init; /* SPDIFRX communication parameters */
mbed_official 532:fe11edbda85c 147
mbed_official 532:fe11edbda85c 148 uint32_t *pRxBuffPtr; /* Pointer to SPDIFRX Rx transfer buffer */
mbed_official 532:fe11edbda85c 149
mbed_official 532:fe11edbda85c 150 uint32_t *pCsBuffPtr; /* Pointer to SPDIFRX Cx transfer buffer */
mbed_official 532:fe11edbda85c 151
mbed_official 532:fe11edbda85c 152 __IO uint16_t RxXferSize; /* SPDIFRX Rx transfer size */
mbed_official 532:fe11edbda85c 153
mbed_official 532:fe11edbda85c 154 __IO uint16_t RxXferCount; /* SPDIFRX Rx transfer counter
mbed_official 532:fe11edbda85c 155 (This field is initialized at the
mbed_official 532:fe11edbda85c 156 same value as transfer size at the
mbed_official 532:fe11edbda85c 157 beginning of the transfer and
mbed_official 532:fe11edbda85c 158 decremented when a sample is received.
mbed_official 532:fe11edbda85c 159 NbSamplesReceived = RxBufferSize-RxBufferCount) */
mbed_official 532:fe11edbda85c 160
mbed_official 532:fe11edbda85c 161 __IO uint16_t CsXferSize; /* SPDIFRX Rx transfer size */
mbed_official 532:fe11edbda85c 162
mbed_official 532:fe11edbda85c 163 __IO uint16_t CsXferCount; /* SPDIFRX Rx transfer counter
mbed_official 532:fe11edbda85c 164 (This field is initialized at the
mbed_official 532:fe11edbda85c 165 same value as transfer size at the
mbed_official 532:fe11edbda85c 166 beginning of the transfer and
mbed_official 532:fe11edbda85c 167 decremented when a sample is received.
mbed_official 532:fe11edbda85c 168 NbSamplesReceived = RxBufferSize-RxBufferCount) */
mbed_official 532:fe11edbda85c 169
mbed_official 532:fe11edbda85c 170 DMA_HandleTypeDef *hdmaCsRx; /* SPDIFRX EC60958_channel_status and user_information DMA handle parameters */
mbed_official 532:fe11edbda85c 171
mbed_official 532:fe11edbda85c 172 DMA_HandleTypeDef *hdmaDrRx; /* SPDIFRX Rx DMA handle parameters */
mbed_official 532:fe11edbda85c 173
mbed_official 532:fe11edbda85c 174 __IO HAL_LockTypeDef Lock; /* SPDIFRX locking object */
mbed_official 532:fe11edbda85c 175
mbed_official 532:fe11edbda85c 176 __IO HAL_SPDIFRX_StateTypeDef State; /* SPDIFRX communication state */
mbed_official 532:fe11edbda85c 177
mbed_official 532:fe11edbda85c 178 __IO uint32_t ErrorCode; /* SPDIFRX Error code */
mbed_official 532:fe11edbda85c 179
mbed_official 532:fe11edbda85c 180 }SPDIFRX_HandleTypeDef;
mbed_official 532:fe11edbda85c 181 /**
mbed_official 532:fe11edbda85c 182 * @}
mbed_official 532:fe11edbda85c 183 */
mbed_official 532:fe11edbda85c 184
mbed_official 532:fe11edbda85c 185 /* Exported constants --------------------------------------------------------*/
mbed_official 532:fe11edbda85c 186 /** @defgroup SPDIFRX_Exported_Constants SPDIFRX Exported Constants
mbed_official 532:fe11edbda85c 187 * @{
mbed_official 532:fe11edbda85c 188 */
mbed_official 532:fe11edbda85c 189 /** @defgroup SPDIFRX_ErrorCode SPDIFRX Error Code
mbed_official 532:fe11edbda85c 190 * @{
mbed_official 532:fe11edbda85c 191 */
mbed_official 532:fe11edbda85c 192 #define HAL_SPDIFRX_ERROR_NONE ((uint32_t)0x00000000) /*!< No error */
mbed_official 532:fe11edbda85c 193 #define HAL_SPDIFRX_ERROR_TIMEOUT ((uint32_t)0x00000001) /*!< Timeout error */
mbed_official 532:fe11edbda85c 194 #define HAL_SPDIFRX_ERROR_OVR ((uint32_t)0x00000002) /*!< OVR error */
mbed_official 532:fe11edbda85c 195 #define HAL_SPDIFRX_ERROR_PE ((uint32_t)0x00000004) /*!< Parity error */
mbed_official 532:fe11edbda85c 196 #define HAL_SPDIFRX_ERROR_DMA ((uint32_t)0x00000008) /*!< DMA transfer error */
mbed_official 532:fe11edbda85c 197 #define HAL_SPDIFRX_ERROR_UNKNOWN ((uint32_t)0x00000010) /*!< Unknown Error error */
mbed_official 532:fe11edbda85c 198 /**
mbed_official 532:fe11edbda85c 199 * @}
mbed_official 532:fe11edbda85c 200 */
mbed_official 532:fe11edbda85c 201
mbed_official 532:fe11edbda85c 202 /** @defgroup SPDIFRX_Input_Selection SPDIFRX Input Selection
mbed_official 532:fe11edbda85c 203 * @{
mbed_official 532:fe11edbda85c 204 */
mbed_official 532:fe11edbda85c 205 #define SPDIFRX_INPUT_IN0 ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 206 #define SPDIFRX_INPUT_IN1 ((uint32_t)0x00010000)
mbed_official 532:fe11edbda85c 207 #define SPDIFRX_INPUT_IN2 ((uint32_t)0x00020000)
mbed_official 532:fe11edbda85c 208 #define SPDIFRX_INPUT_IN3 ((uint32_t)0x00030000)
mbed_official 532:fe11edbda85c 209 /**
mbed_official 532:fe11edbda85c 210 * @}
mbed_official 532:fe11edbda85c 211 */
mbed_official 532:fe11edbda85c 212
mbed_official 532:fe11edbda85c 213 /** @defgroup SPDIFRX_Max_Retries SPDIFRX Maximum Retries
mbed_official 532:fe11edbda85c 214 * @{
mbed_official 532:fe11edbda85c 215 */
mbed_official 532:fe11edbda85c 216 #define SPDIFRX_MAXRETRIES_NONE ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 217 #define SPDIFRX_MAXRETRIES_3 ((uint32_t)0x00001000)
mbed_official 532:fe11edbda85c 218 #define SPDIFRX_MAXRETRIES_15 ((uint32_t)0x00002000)
mbed_official 532:fe11edbda85c 219 #define SPDIFRX_MAXRETRIES_63 ((uint32_t)0x00003000)
mbed_official 532:fe11edbda85c 220 /**
mbed_official 532:fe11edbda85c 221 * @}
mbed_official 532:fe11edbda85c 222 */
mbed_official 532:fe11edbda85c 223
mbed_official 532:fe11edbda85c 224 /** @defgroup SPDIFRX_Wait_For_Activity SPDIFRX Wait For Activity
mbed_official 532:fe11edbda85c 225 * @{
mbed_official 532:fe11edbda85c 226 */
mbed_official 532:fe11edbda85c 227 #define SPDIFRX_WAITFORACTIVITY_OFF ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 228 #define SPDIFRX_WAITFORACTIVITY_ON ((uint32_t)SPDIFRX_CR_WFA)
mbed_official 532:fe11edbda85c 229 /**
mbed_official 532:fe11edbda85c 230 * @}
mbed_official 532:fe11edbda85c 231 */
mbed_official 532:fe11edbda85c 232
mbed_official 532:fe11edbda85c 233 /** @defgroup SPDIFRX_PT_Mask SPDIFRX Preamble Type Mask
mbed_official 532:fe11edbda85c 234 * @{
mbed_official 532:fe11edbda85c 235 */
mbed_official 532:fe11edbda85c 236 #define SPDIFRX_PREAMBLETYPEMASK_OFF ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 237 #define SPDIFRX_PREAMBLETYPEMASK_ON ((uint32_t)SPDIFRX_CR_PTMSK)
mbed_official 532:fe11edbda85c 238 /**
mbed_official 532:fe11edbda85c 239 * @}
mbed_official 532:fe11edbda85c 240 */
mbed_official 532:fe11edbda85c 241
mbed_official 532:fe11edbda85c 242 /** @defgroup SPDIFRX_ChannelStatus_Mask SPDIFRX Channel Status Mask
mbed_official 532:fe11edbda85c 243 * @{
mbed_official 532:fe11edbda85c 244 */
mbed_official 532:fe11edbda85c 245 #define SPDIFRX_CHANNELSTATUS_OFF ((uint32_t)0x00000000) /* The channel status and user bits are copied into the SPDIF_DR */
mbed_official 532:fe11edbda85c 246 #define SPDIFRX_CHANNELSTATUS_ON ((uint32_t)SPDIFRX_CR_CUMSK) /* The channel status and user bits are not copied into the SPDIF_DR, zeros are written instead*/
mbed_official 532:fe11edbda85c 247 /**
mbed_official 532:fe11edbda85c 248 * @}
mbed_official 532:fe11edbda85c 249 */
mbed_official 532:fe11edbda85c 250
mbed_official 532:fe11edbda85c 251 /** @defgroup SPDIFRX_V_Mask SPDIFRX Validity Mask
mbed_official 532:fe11edbda85c 252 * @{
mbed_official 532:fe11edbda85c 253 */
mbed_official 532:fe11edbda85c 254 #define SPDIFRX_VALIDITYMASK_OFF ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 255 #define SPDIFRX_VALIDITYMASK_ON ((uint32_t)SPDIFRX_CR_VMSK)
mbed_official 532:fe11edbda85c 256 /**
mbed_official 532:fe11edbda85c 257 * @}
mbed_official 532:fe11edbda85c 258 */
mbed_official 532:fe11edbda85c 259
mbed_official 532:fe11edbda85c 260 /** @defgroup SPDIFRX_PE_Mask SPDIFRX Parity Error Mask
mbed_official 532:fe11edbda85c 261 * @{
mbed_official 532:fe11edbda85c 262 */
mbed_official 532:fe11edbda85c 263 #define SPDIFRX_PARITYERRORMASK_OFF ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 264 #define SPDIFRX_PARITYERRORMASK_ON ((uint32_t)SPDIFRX_CR_PMSK)
mbed_official 532:fe11edbda85c 265 /**
mbed_official 532:fe11edbda85c 266 * @}
mbed_official 532:fe11edbda85c 267 */
mbed_official 532:fe11edbda85c 268
mbed_official 532:fe11edbda85c 269 /** @defgroup SPDIFRX_Channel_Selection SPDIFRX Channel Selection
mbed_official 532:fe11edbda85c 270 * @{
mbed_official 532:fe11edbda85c 271 */
mbed_official 532:fe11edbda85c 272 #define SPDIFRX_CHANNEL_A ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 273 #define SPDIFRX_CHANNEL_B ((uint32_t)SPDIFRX_CR_CHSEL)
mbed_official 532:fe11edbda85c 274 /**
mbed_official 532:fe11edbda85c 275 * @}
mbed_official 532:fe11edbda85c 276 */
mbed_official 532:fe11edbda85c 277
mbed_official 532:fe11edbda85c 278 /** @defgroup SPDIFRX_Data_Format SPDIFRX Data Format
mbed_official 532:fe11edbda85c 279 * @{
mbed_official 532:fe11edbda85c 280 */
mbed_official 532:fe11edbda85c 281 #define SPDIFRX_DATAFORMAT_LSB ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 282 #define SPDIFRX_DATAFORMAT_MSB ((uint32_t)0x00000010)
mbed_official 532:fe11edbda85c 283 #define SPDIFRX_DATAFORMAT_32BITS ((uint32_t)0x00000020)
mbed_official 532:fe11edbda85c 284 /**
mbed_official 532:fe11edbda85c 285 * @}
mbed_official 532:fe11edbda85c 286 */
mbed_official 532:fe11edbda85c 287
mbed_official 532:fe11edbda85c 288 /** @defgroup SPDIFRX_Stereo_Mode SPDIFRX Stereo Mode
mbed_official 532:fe11edbda85c 289 * @{
mbed_official 532:fe11edbda85c 290 */
mbed_official 532:fe11edbda85c 291 #define SPDIFRX_STEREOMODE_DISABLE ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 292 #define SPDIFRX_STEREOMODE_ENABLE ((uint32_t)SPDIFRX_CR_RXSTEO)
mbed_official 532:fe11edbda85c 293 /**
mbed_official 532:fe11edbda85c 294 * @}
mbed_official 532:fe11edbda85c 295 */
mbed_official 532:fe11edbda85c 296
mbed_official 532:fe11edbda85c 297 /** @defgroup SPDIFRX_State SPDIFRX State
mbed_official 532:fe11edbda85c 298 * @{
mbed_official 532:fe11edbda85c 299 */
mbed_official 532:fe11edbda85c 300
mbed_official 532:fe11edbda85c 301 #define SPDIFRX_STATE_IDLE ((uint32_t)0xFFFFFFFC)
mbed_official 532:fe11edbda85c 302 #define SPDIFRX_STATE_SYNC ((uint32_t)0x00000001)
mbed_official 532:fe11edbda85c 303 #define SPDIFRX_STATE_RCV ((uint32_t)SPDIFRX_CR_SPDIFEN)
mbed_official 532:fe11edbda85c 304 /**
mbed_official 532:fe11edbda85c 305 * @}
mbed_official 532:fe11edbda85c 306 */
mbed_official 532:fe11edbda85c 307
mbed_official 532:fe11edbda85c 308 /** @defgroup SPDIFRX_Interrupts_Definition SPDIFRX Interrupts Definition
mbed_official 532:fe11edbda85c 309 * @{
mbed_official 532:fe11edbda85c 310 */
mbed_official 532:fe11edbda85c 311 #define SPDIFRX_IT_RXNE ((uint32_t)SPDIFRX_IMR_RXNEIE)
mbed_official 532:fe11edbda85c 312 #define SPDIFRX_IT_CSRNE ((uint32_t)SPDIFRX_IMR_CSRNEIE)
mbed_official 532:fe11edbda85c 313 #define SPDIFRX_IT_PERRIE ((uint32_t)SPDIFRX_IMR_PERRIE)
mbed_official 532:fe11edbda85c 314 #define SPDIFRX_IT_OVRIE ((uint32_t)SPDIFRX_IMR_OVRIE)
mbed_official 532:fe11edbda85c 315 #define SPDIFRX_IT_SBLKIE ((uint32_t)SPDIFRX_IMR_SBLKIE)
mbed_official 532:fe11edbda85c 316 #define SPDIFRX_IT_SYNCDIE ((uint32_t)SPDIFRX_IMR_SYNCDIE)
mbed_official 532:fe11edbda85c 317 #define SPDIFRX_IT_IFEIE ((uint32_t)SPDIFRX_IMR_IFEIE )
mbed_official 532:fe11edbda85c 318 /**
mbed_official 532:fe11edbda85c 319 * @}
mbed_official 532:fe11edbda85c 320 */
mbed_official 532:fe11edbda85c 321
mbed_official 532:fe11edbda85c 322 /** @defgroup SPDIFRX_Flags_Definition SPDIFRX Flags Definition
mbed_official 532:fe11edbda85c 323 * @{
mbed_official 532:fe11edbda85c 324 */
mbed_official 532:fe11edbda85c 325 #define SPDIFRX_FLAG_RXNE ((uint32_t)SPDIFRX_SR_RXNE)
mbed_official 532:fe11edbda85c 326 #define SPDIFRX_FLAG_CSRNE ((uint32_t)SPDIFRX_SR_CSRNE)
mbed_official 532:fe11edbda85c 327 #define SPDIFRX_FLAG_PERR ((uint32_t)SPDIFRX_SR_PERR)
mbed_official 532:fe11edbda85c 328 #define SPDIFRX_FLAG_OVR ((uint32_t)SPDIFRX_SR_OVR)
mbed_official 532:fe11edbda85c 329 #define SPDIFRX_FLAG_SBD ((uint32_t)SPDIFRX_SR_SBD)
mbed_official 532:fe11edbda85c 330 #define SPDIFRX_FLAG_SYNCD ((uint32_t)SPDIFRX_SR_SYNCD)
mbed_official 532:fe11edbda85c 331 #define SPDIFRX_FLAG_FERR ((uint32_t)SPDIFRX_SR_FERR)
mbed_official 532:fe11edbda85c 332 #define SPDIFRX_FLAG_SERR ((uint32_t)SPDIFRX_SR_SERR)
mbed_official 532:fe11edbda85c 333 #define SPDIFRX_FLAG_TERR ((uint32_t)SPDIFRX_SR_TERR)
mbed_official 532:fe11edbda85c 334 /**
mbed_official 532:fe11edbda85c 335 * @}
mbed_official 532:fe11edbda85c 336 */
mbed_official 532:fe11edbda85c 337
mbed_official 532:fe11edbda85c 338 /**
mbed_official 532:fe11edbda85c 339 * @}
mbed_official 532:fe11edbda85c 340 */
mbed_official 532:fe11edbda85c 341
mbed_official 532:fe11edbda85c 342 /* Exported macros -----------------------------------------------------------*/
mbed_official 532:fe11edbda85c 343 /** @defgroup SPDIFRX_Exported_macros SPDIFRX Exported Macros
mbed_official 532:fe11edbda85c 344 * @{
mbed_official 532:fe11edbda85c 345 */
mbed_official 532:fe11edbda85c 346
mbed_official 532:fe11edbda85c 347 /** @brief Reset SPDIFRX handle state
mbed_official 532:fe11edbda85c 348 * @param __HANDLE__: SPDIFRX handle.
mbed_official 532:fe11edbda85c 349 * @retval None
mbed_official 532:fe11edbda85c 350 */
mbed_official 532:fe11edbda85c 351 #define __HAL_SPDIFRX_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = (uint16_t)SPDIFRX_CR_SPDIFEN)
mbed_official 532:fe11edbda85c 352
mbed_official 532:fe11edbda85c 353 /** @brief Disable the specified SPDIFRX peripheral (IDLE State).
mbed_official 532:fe11edbda85c 354 * @param __HANDLE__: specifies the SPDIFRX Handle.
mbed_official 532:fe11edbda85c 355 * @retval None
mbed_official 532:fe11edbda85c 356 */
mbed_official 532:fe11edbda85c 357 #define __HAL_SPDIFRX_IDLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= SPDIFRX_STATE_IDLE)
mbed_official 532:fe11edbda85c 358
mbed_official 532:fe11edbda85c 359 /** @brief Enable the specified SPDIFRX peripheral (SYNC State).
mbed_official 532:fe11edbda85c 360 * @param __HANDLE__: specifies the SPDIFRX Handle.
mbed_official 532:fe11edbda85c 361 * @retval None
mbed_official 532:fe11edbda85c 362 */
mbed_official 532:fe11edbda85c 363 #define __HAL_SPDIFRX_SYNC(__HANDLE__) ((__HANDLE__)->Instance->CR |= SPDIFRX_STATE_SYNC)
mbed_official 532:fe11edbda85c 364
mbed_official 532:fe11edbda85c 365
mbed_official 532:fe11edbda85c 366 /** @brief Enable the specified SPDIFRX peripheral (RCV State).
mbed_official 532:fe11edbda85c 367 * @param __HANDLE__: specifies the SPDIFRX Handle.
mbed_official 532:fe11edbda85c 368 * @retval None
mbed_official 532:fe11edbda85c 369 */
mbed_official 532:fe11edbda85c 370 #define __HAL_SPDIFRX_RCV(__HANDLE__) ((__HANDLE__)->Instance->CR |= SPDIFRX_STATE_RCV)
mbed_official 532:fe11edbda85c 371
mbed_official 532:fe11edbda85c 372
mbed_official 532:fe11edbda85c 373 /** @brief Enable or disable the specified SPDIFRX interrupts.
mbed_official 532:fe11edbda85c 374 * @param __HANDLE__: specifies the SPDIFRX Handle.
mbed_official 532:fe11edbda85c 375 * @param __INTERRUPT__: specifies the interrupt source to enable or disable.
mbed_official 532:fe11edbda85c 376 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 377 * @arg SPDIFRX_IT_RXNE
mbed_official 532:fe11edbda85c 378 * @arg SPDIFRX_IT_CSRNE
mbed_official 532:fe11edbda85c 379 * @arg SPDIFRX_IT_PERRIE
mbed_official 532:fe11edbda85c 380 * @arg SPDIFRX_IT_OVRIE
mbed_official 532:fe11edbda85c 381 * @arg SPDIFRX_IT_SBLKIE
mbed_official 532:fe11edbda85c 382 * @arg SPDIFRX_IT_SYNCDIE
mbed_official 532:fe11edbda85c 383 * @arg SPDIFRX_IT_IFEIE
mbed_official 532:fe11edbda85c 384 * @retval None
mbed_official 532:fe11edbda85c 385 */
mbed_official 532:fe11edbda85c 386 #define __HAL_SPDIFRX_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IMR |= (__INTERRUPT__))
mbed_official 532:fe11edbda85c 387 #define __HAL_SPDIFRX_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IMR &= (uint16_t)(~(__INTERRUPT__)))
mbed_official 532:fe11edbda85c 388
mbed_official 532:fe11edbda85c 389 /** @brief Checks if the specified SPDIFRX interrupt source is enabled or disabled.
mbed_official 532:fe11edbda85c 390 * @param __HANDLE__: specifies the SPDIFRX Handle.
mbed_official 532:fe11edbda85c 391 * @param __INTERRUPT__: specifies the SPDIFRX interrupt source to check.
mbed_official 532:fe11edbda85c 392 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 393 * @arg SPDIFRX_IT_RXNE
mbed_official 532:fe11edbda85c 394 * @arg SPDIFRX_IT_CSRNE
mbed_official 532:fe11edbda85c 395 * @arg SPDIFRX_IT_PERRIE
mbed_official 532:fe11edbda85c 396 * @arg SPDIFRX_IT_OVRIE
mbed_official 532:fe11edbda85c 397 * @arg SPDIFRX_IT_SBLKIE
mbed_official 532:fe11edbda85c 398 * @arg SPDIFRX_IT_SYNCDIE
mbed_official 532:fe11edbda85c 399 * @arg SPDIFRX_IT_IFEIE
mbed_official 532:fe11edbda85c 400 * @retval The new state of __IT__ (TRUE or FALSE).
mbed_official 532:fe11edbda85c 401 */
mbed_official 532:fe11edbda85c 402 #define __HAL_SPDIFRX_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IMR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
mbed_official 532:fe11edbda85c 403
mbed_official 532:fe11edbda85c 404 /** @brief Checks whether the specified SPDIFRX flag is set or not.
mbed_official 532:fe11edbda85c 405 * @param __HANDLE__: specifies the SPDIFRX Handle.
mbed_official 532:fe11edbda85c 406 * @param __FLAG__: specifies the flag to check.
mbed_official 532:fe11edbda85c 407 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 408 * @arg SPDIFRX_FLAG_RXNE
mbed_official 532:fe11edbda85c 409 * @arg SPDIFRX_FLAG_CSRNE
mbed_official 532:fe11edbda85c 410 * @arg SPDIFRX_FLAG_PERR
mbed_official 532:fe11edbda85c 411 * @arg SPDIFRX_FLAG_OVR
mbed_official 532:fe11edbda85c 412 * @arg SPDIFRX_FLAG_SBD
mbed_official 532:fe11edbda85c 413 * @arg SPDIFRX_FLAG_SYNCD
mbed_official 532:fe11edbda85c 414 * @arg SPDIFRX_FLAG_FERR
mbed_official 532:fe11edbda85c 415 * @arg SPDIFRX_FLAG_SERR
mbed_official 532:fe11edbda85c 416 * @arg SPDIFRX_FLAG_TERR
mbed_official 532:fe11edbda85c 417 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 532:fe11edbda85c 418 */
mbed_official 532:fe11edbda85c 419 #define __HAL_SPDIFRX_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__))
mbed_official 532:fe11edbda85c 420
mbed_official 532:fe11edbda85c 421 /** @brief Clears the specified SPDIFRX SR flag, in setting the proper IFCR register bit.
mbed_official 532:fe11edbda85c 422 * @param __HANDLE__: specifies the USART Handle.
mbed_official 532:fe11edbda85c 423 * @param __IT_CLEAR__: specifies the interrupt clear register flag that needs to be set
mbed_official 532:fe11edbda85c 424 * to clear the corresponding interrupt
mbed_official 532:fe11edbda85c 425 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 426 * @arg SPDIFRX_FLAG_PERR
mbed_official 532:fe11edbda85c 427 * @arg SPDIFRX_FLAG_OVR
mbed_official 532:fe11edbda85c 428 * @arg SPDIFRX_SR_SBD
mbed_official 532:fe11edbda85c 429 * @arg SPDIFRX_SR_SYNCD
mbed_official 532:fe11edbda85c 430 * @retval None
mbed_official 532:fe11edbda85c 431 */
mbed_official 532:fe11edbda85c 432 #define __HAL_SPDIFRX_CLEAR_IT(__HANDLE__, __IT_CLEAR__) ((__HANDLE__)->Instance->IFCR = (uint32_t)(__IT_CLEAR__))
mbed_official 532:fe11edbda85c 433
mbed_official 532:fe11edbda85c 434 /**
mbed_official 532:fe11edbda85c 435 * @}
mbed_official 532:fe11edbda85c 436 */
mbed_official 532:fe11edbda85c 437
mbed_official 532:fe11edbda85c 438 /* Exported functions --------------------------------------------------------*/
mbed_official 532:fe11edbda85c 439 /** @addtogroup SPDIFRX_Exported_Functions
mbed_official 532:fe11edbda85c 440 * @{
mbed_official 532:fe11edbda85c 441 */
mbed_official 532:fe11edbda85c 442
mbed_official 532:fe11edbda85c 443 /** @addtogroup SPDIFRX_Exported_Functions_Group1
mbed_official 532:fe11edbda85c 444 * @{
mbed_official 532:fe11edbda85c 445 */
mbed_official 532:fe11edbda85c 446 /* Initialization/de-initialization functions **********************************/
mbed_official 532:fe11edbda85c 447 HAL_StatusTypeDef HAL_SPDIFRX_Init(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 448 HAL_StatusTypeDef HAL_SPDIFRX_DeInit (SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 449 void HAL_SPDIFRX_MspInit(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 450 void HAL_SPDIFRX_MspDeInit(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 451 HAL_StatusTypeDef HAL_SPDIFRX_SetDataFormat(SPDIFRX_HandleTypeDef *hspdif, SPDIFRX_SetDataFormatTypeDef sDataFormat);
mbed_official 532:fe11edbda85c 452 /**
mbed_official 532:fe11edbda85c 453 * @}
mbed_official 532:fe11edbda85c 454 */
mbed_official 532:fe11edbda85c 455
mbed_official 532:fe11edbda85c 456 /** @addtogroup SPDIFRX_Exported_Functions_Group2
mbed_official 532:fe11edbda85c 457 * @{
mbed_official 532:fe11edbda85c 458 */
mbed_official 532:fe11edbda85c 459 /* I/O operation functions ***************************************************/
mbed_official 532:fe11edbda85c 460 /* Blocking mode: Polling */
mbed_official 532:fe11edbda85c 461 HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout);
mbed_official 532:fe11edbda85c 462 HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout);
mbed_official 532:fe11edbda85c 463
mbed_official 532:fe11edbda85c 464 /* Non-Blocking mode: Interrupt */
mbed_official 532:fe11edbda85c 465 HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow_IT(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size);
mbed_official 532:fe11edbda85c 466 HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_IT(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size);
mbed_official 532:fe11edbda85c 467 void HAL_SPDIFRX_IRQHandler(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 468
mbed_official 532:fe11edbda85c 469 /* Non-Blocking mode: DMA */
mbed_official 532:fe11edbda85c 470 HAL_StatusTypeDef HAL_SPDIFRX_ReceiveControlFlow_DMA(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size);
mbed_official 532:fe11edbda85c 471 HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_DMA(SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size);
mbed_official 532:fe11edbda85c 472
mbed_official 532:fe11edbda85c 473 HAL_StatusTypeDef HAL_SPDIFRX_DMAStop(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 474
mbed_official 532:fe11edbda85c 475 /* Callbacks used in non blocking modes (Interrupt and DMA) *******************/
mbed_official 532:fe11edbda85c 476 void HAL_SPDIFRX_RxHalfCpltCallback(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 477 void HAL_SPDIFRX_RxCpltCallback(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 478 void HAL_SPDIFRX_ErrorCallback(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 479 void HAL_SPDIFRX_CxHalfCpltCallback(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 480 void HAL_SPDIFRX_CxCpltCallback(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 481 /**
mbed_official 532:fe11edbda85c 482 * @}
mbed_official 532:fe11edbda85c 483 */
mbed_official 532:fe11edbda85c 484
mbed_official 532:fe11edbda85c 485 /** @addtogroup SPDIFRX_Exported_Functions_Group3
mbed_official 532:fe11edbda85c 486 * @{
mbed_official 532:fe11edbda85c 487 */
mbed_official 532:fe11edbda85c 488 /* Peripheral Control and State functions ************************************/
mbed_official 532:fe11edbda85c 489 HAL_SPDIFRX_StateTypeDef HAL_SPDIFRX_GetState(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 490 uint32_t HAL_SPDIFRX_GetError(SPDIFRX_HandleTypeDef *hspdif);
mbed_official 532:fe11edbda85c 491 /**
mbed_official 532:fe11edbda85c 492 * @}
mbed_official 532:fe11edbda85c 493 */
mbed_official 532:fe11edbda85c 494
mbed_official 532:fe11edbda85c 495 /**
mbed_official 532:fe11edbda85c 496 * @}
mbed_official 532:fe11edbda85c 497 */
mbed_official 532:fe11edbda85c 498 /* Private types -------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 499 /* Private variables ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 500 /* Private constants ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 501 /* Private macros ------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 502 /** @defgroup SPDIFRX_Private_Macros SPDIFRX Private Macros
mbed_official 532:fe11edbda85c 503 * @{
mbed_official 532:fe11edbda85c 504 */
mbed_official 532:fe11edbda85c 505 #define IS_SPDIFRX_INPUT_SELECT(INPUT) (((INPUT) == SPDIFRX_INPUT_IN1) || \
mbed_official 532:fe11edbda85c 506 ((INPUT) == SPDIFRX_INPUT_IN2) || \
mbed_official 532:fe11edbda85c 507 ((INPUT) == SPDIFRX_INPUT_IN3) || \
mbed_official 532:fe11edbda85c 508 ((INPUT) == SPDIFRX_INPUT_IN0))
mbed_official 532:fe11edbda85c 509 #define IS_SPDIFRX_MAX_RETRIES(RET) (((RET) == SPDIFRX_MAXRETRIES_NONE) || \
mbed_official 532:fe11edbda85c 510 ((RET) == SPDIFRX_MAXRETRIES_3) || \
mbed_official 532:fe11edbda85c 511 ((RET) == SPDIFRX_MAXRETRIES_15) || \
mbed_official 532:fe11edbda85c 512 ((RET) == SPDIFRX_MAXRETRIES_63))
mbed_official 532:fe11edbda85c 513 #define IS_SPDIFRX_WAIT_FOR_ACTIVITY(VAL) (((VAL) == SPDIFRX_WAITFORACTIVITY_ON) || \
mbed_official 532:fe11edbda85c 514 ((VAL) == SPDIFRX_WAITFORACTIVITY_OFF))
mbed_official 532:fe11edbda85c 515 #define IS_PREAMBLE_TYPE_MASK(VAL) (((VAL) == SPDIFRX_PREAMBLETYPEMASK_ON) || \
mbed_official 532:fe11edbda85c 516 ((VAL) == SPDIFRX_PREAMBLETYPEMASK_OFF))
mbed_official 532:fe11edbda85c 517 #define IS_VALIDITY_MASK(VAL) (((VAL) == SPDIFRX_VALIDITYMASK_OFF) || \
mbed_official 532:fe11edbda85c 518 ((VAL) == SPDIFRX_VALIDITYMASK_ON))
mbed_official 532:fe11edbda85c 519 #define IS_PARITY_ERROR_MASK(VAL) (((VAL) == SPDIFRX_PARITYERRORMASK_OFF) || \
mbed_official 532:fe11edbda85c 520 ((VAL) == SPDIFRX_PARITYERRORMASK_ON))
mbed_official 532:fe11edbda85c 521 #define IS_SPDIFRX_CHANNEL(CHANNEL) (((CHANNEL) == SPDIFRX_CHANNEL_A) || \
mbed_official 532:fe11edbda85c 522 ((CHANNEL) == SPDIFRX_CHANNEL_B))
mbed_official 532:fe11edbda85c 523 #define IS_SPDIFRX_DATA_FORMAT(FORMAT) (((FORMAT) == SPDIFRX_DATAFORMAT_LSB) || \
mbed_official 532:fe11edbda85c 524 ((FORMAT) == SPDIFRX_DATAFORMAT_MSB) || \
mbed_official 532:fe11edbda85c 525 ((FORMAT) == SPDIFRX_DATAFORMAT_32BITS))
mbed_official 532:fe11edbda85c 526 #define IS_STEREO_MODE(MODE) (((MODE) == SPDIFRX_STEREOMODE_DISABLE) || \
mbed_official 532:fe11edbda85c 527 ((MODE) == SPDIFRX_STEREOMODE_ENABLE))
mbed_official 532:fe11edbda85c 528
mbed_official 532:fe11edbda85c 529 #define IS_CHANNEL_STATUS_MASK(VAL) (((VAL) == SPDIFRX_CHANNELSTATUS_ON) || \
mbed_official 532:fe11edbda85c 530 ((VAL) == SPDIFRX_CHANNELSTATUS_OFF))
mbed_official 532:fe11edbda85c 531 /**
mbed_official 532:fe11edbda85c 532 * @}
mbed_official 532:fe11edbda85c 533 */
mbed_official 532:fe11edbda85c 534
mbed_official 532:fe11edbda85c 535 /* Private functions ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 536 /** @defgroup SPDIFRX_Private_Functions SPDIFRX Private Functions
mbed_official 532:fe11edbda85c 537 * @{
mbed_official 532:fe11edbda85c 538 */
mbed_official 532:fe11edbda85c 539 /**
mbed_official 532:fe11edbda85c 540 * @}
mbed_official 532:fe11edbda85c 541 */
mbed_official 532:fe11edbda85c 542
mbed_official 532:fe11edbda85c 543 /**
mbed_official 532:fe11edbda85c 544 * @}
mbed_official 532:fe11edbda85c 545 */
mbed_official 532:fe11edbda85c 546
mbed_official 532:fe11edbda85c 547 /**
mbed_official 532:fe11edbda85c 548 * @}
mbed_official 532:fe11edbda85c 549 */
mbed_official 532:fe11edbda85c 550 #endif /* STM32F446xx */
mbed_official 532:fe11edbda85c 551
mbed_official 532:fe11edbda85c 552 #ifdef __cplusplus
mbed_official 532:fe11edbda85c 553 }
mbed_official 532:fe11edbda85c 554 #endif
mbed_official 532:fe11edbda85c 555
mbed_official 532:fe11edbda85c 556
mbed_official 532:fe11edbda85c 557 #endif /* __STM32F4xx_HAL_SPDIFRX_H */
mbed_official 532:fe11edbda85c 558
mbed_official 532:fe11edbda85c 559 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/