STM32H735xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32h7xx_hal_spdifrx.h File Reference

Header file of SPDIFRX HAL module. More...

#include "stm32h7xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  SPDIFRX_InitTypeDef
 SPDIFRX Init structure definition. More...
struct  SPDIFRX_SetDataFormatTypeDef
 SPDIFRX SetDataFormat structure definition. More...
struct  __SPDIFRX_HandleTypeDef
 SPDIFRX handle Structure definition. More...

Defines

#define HAL_SPDIFRX_ERROR_NONE   ((uint32_t)0x00000000U)
#define HAL_SPDIFRX_ERROR_TIMEOUT   ((uint32_t)0x00000001U)
#define HAL_SPDIFRX_ERROR_OVR   ((uint32_t)0x00000002U)
#define HAL_SPDIFRX_ERROR_PE   ((uint32_t)0x00000004U)
#define HAL_SPDIFRX_ERROR_DMA   ((uint32_t)0x00000008U)
#define HAL_SPDIFRX_ERROR_UNKNOWN   ((uint32_t)0x00000010U)
#define HAL_SPDIFRX_ERROR_INVALID_CALLBACK   ((uint32_t)0x00000020U)
#define SPDIFRX_INPUT_IN0   ((uint32_t)0x00000000U)
#define SPDIFRX_INPUT_IN1   ((uint32_t)0x00010000U)
#define SPDIFRX_INPUT_IN2   ((uint32_t)0x00020000U)
#define SPDIFRX_INPUT_IN3   ((uint32_t)0x00030000U)
#define SPDIFRX_MAXRETRIES_NONE   ((uint32_t)0x00000000U)
#define SPDIFRX_MAXRETRIES_3   ((uint32_t)0x00001000U)
#define SPDIFRX_MAXRETRIES_15   ((uint32_t)0x00002000U)
#define SPDIFRX_MAXRETRIES_63   ((uint32_t)0x00003000U)
#define SPDIFRX_WAITFORACTIVITY_OFF   ((uint32_t)0x00000000U)
#define SPDIFRX_WAITFORACTIVITY_ON   ((uint32_t)SPDIFRX_CR_WFA)
#define SPDIFRX_PREAMBLETYPEMASK_OFF   ((uint32_t)0x00000000U)
#define SPDIFRX_PREAMBLETYPEMASK_ON   ((uint32_t)SPDIFRX_CR_PTMSK)
#define SPDIFRX_CHANNELSTATUS_OFF   ((uint32_t)0x00000000U) /* The channel status and user bits are copied into the SPDIF_DR */
#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*/
#define SPDIFRX_VALIDITYMASK_OFF   ((uint32_t)0x00000000U)
#define SPDIFRX_VALIDITYMASK_ON   ((uint32_t)SPDIFRX_CR_VMSK)
#define SPDIFRX_PARITYERRORMASK_OFF   ((uint32_t)0x00000000U)
#define SPDIFRX_PARITYERRORMASK_ON   ((uint32_t)SPDIFRX_CR_PMSK)
#define SPDIFRX_CHANNEL_A   ((uint32_t)0x00000000U)
#define SPDIFRX_CHANNEL_B   ((uint32_t)SPDIFRX_CR_CHSEL)
#define SPDIFRX_DATAFORMAT_LSB   ((uint32_t)0x00000000U)
#define SPDIFRX_DATAFORMAT_MSB   ((uint32_t)0x00000010U)
#define SPDIFRX_DATAFORMAT_32BITS   ((uint32_t)0x00000020U)
#define SPDIFRX_STEREOMODE_DISABLE   ((uint32_t)0x00000000U)
#define SPDIFRX_STEREOMODE_ENABLE   ((uint32_t)SPDIFRX_CR_RXSTEO)
#define SPDIFRX_STATE_IDLE   ((uint32_t)0xFFFFFFFCU)
#define SPDIFRX_STATE_SYNC   ((uint32_t)0x00000001U)
#define SPDIFRX_STATE_RCV   ((uint32_t)SPDIFRX_CR_SPDIFEN)
#define SPDIFRX_IT_RXNE   ((uint32_t)SPDIFRX_IMR_RXNEIE)
#define SPDIFRX_IT_CSRNE   ((uint32_t)SPDIFRX_IMR_CSRNEIE)
#define SPDIFRX_IT_PERRIE   ((uint32_t)SPDIFRX_IMR_PERRIE)
#define SPDIFRX_IT_OVRIE   ((uint32_t)SPDIFRX_IMR_OVRIE)
#define SPDIFRX_IT_SBLKIE   ((uint32_t)SPDIFRX_IMR_SBLKIE)
#define SPDIFRX_IT_SYNCDIE   ((uint32_t)SPDIFRX_IMR_SYNCDIE)
#define SPDIFRX_IT_IFEIE   ((uint32_t)SPDIFRX_IMR_IFEIE )
#define SPDIFRX_FLAG_RXNE   ((uint32_t)SPDIFRX_SR_RXNE)
#define SPDIFRX_FLAG_CSRNE   ((uint32_t)SPDIFRX_SR_CSRNE)
#define SPDIFRX_FLAG_PERR   ((uint32_t)SPDIFRX_SR_PERR)
#define SPDIFRX_FLAG_OVR   ((uint32_t)SPDIFRX_SR_OVR)
#define SPDIFRX_FLAG_SBD   ((uint32_t)SPDIFRX_SR_SBD)
#define SPDIFRX_FLAG_SYNCD   ((uint32_t)SPDIFRX_SR_SYNCD)
#define SPDIFRX_FLAG_FERR   ((uint32_t)SPDIFRX_SR_FERR)
#define SPDIFRX_FLAG_SERR   ((uint32_t)SPDIFRX_SR_SERR)
#define SPDIFRX_FLAG_TERR   ((uint32_t)SPDIFRX_SR_TERR)
#define __HAL_SPDIFRX_RESET_HANDLE_STATE(__HANDLE__)
 Reset SPDIFRX handle state.
#define __HAL_SPDIFRX_IDLE(__HANDLE__)   ((__HANDLE__)->Instance->CR &= SPDIFRX_STATE_IDLE)
 Disable the specified SPDIFRX peripheral (IDLE State).
#define __HAL_SPDIFRX_SYNC(__HANDLE__)   ((__HANDLE__)->Instance->CR |= SPDIFRX_STATE_SYNC)
 Enable the specified SPDIFRX peripheral (SYNC State).
#define __HAL_SPDIFRX_RCV(__HANDLE__)   ((__HANDLE__)->Instance->CR |= SPDIFRX_STATE_RCV)
 Enable the specified SPDIFRX peripheral (RCV State).
#define __HAL_SPDIFRX_ENABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IMR |= (__INTERRUPT__))
 Enable or disable the specified SPDIFRX interrupts.
#define __HAL_SPDIFRX_DISABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IMR &= (uint16_t)(~(__INTERRUPT__)))
#define __HAL_SPDIFRX_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   ((((__HANDLE__)->Instance->IMR & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
 Checks if the specified SPDIFRX interrupt source is enabled or disabled.
#define __HAL_SPDIFRX_GET_FLAG(__HANDLE__, __FLAG__)   (((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) ? SET : RESET)
 Checks whether the specified SPDIFRX flag is set or not.
#define __HAL_SPDIFRX_CLEAR_IT(__HANDLE__, __IT_CLEAR__)   ((__HANDLE__)->Instance->IFCR = (uint32_t)(__IT_CLEAR__))
 Clears the specified SPDIFRX SR flag, in setting the proper IFCR register bit.
#define IS_SPDIFRX_INPUT_SELECT(INPUT)
#define IS_SPDIFRX_MAX_RETRIES(RET)
#define IS_SPDIFRX_WAIT_FOR_ACTIVITY(VAL)
#define IS_PREAMBLE_TYPE_MASK(VAL)
#define IS_VALIDITY_MASK(VAL)
#define IS_PARITY_ERROR_MASK(VAL)
#define IS_SPDIFRX_CHANNEL(CHANNEL)
#define IS_SPDIFRX_DATA_FORMAT(FORMAT)
#define IS_STEREO_MODE(MODE)
#define IS_CHANNEL_STATUS_MASK(VAL)
#define IS_SYMBOL_CLOCK_GEN(VAL)   (((VAL) == ENABLE) || ((VAL) == DISABLE))

Typedefs

typedef struct
__SPDIFRX_HandleTypeDef 
SPDIFRX_HandleTypeDef
 SPDIFRX handle Structure definition.
typedef void(* pSPDIFRX_CallbackTypeDef )(SPDIFRX_HandleTypeDef *hspdif)
 HAL SPDIFRX Callback pointer definition.

Enumerations

enum  HAL_SPDIFRX_StateTypeDef {
  HAL_SPDIFRX_STATE_RESET = 0x00U, HAL_SPDIFRX_STATE_READY = 0x01U, HAL_SPDIFRX_STATE_BUSY = 0x02U, HAL_SPDIFRX_STATE_BUSY_RX = 0x03U,
  HAL_SPDIFRX_STATE_BUSY_CX = 0x04U, HAL_SPDIFRX_STATE_ERROR = 0x07U
}
 HAL State structures definition. More...
enum  HAL_SPDIFRX_CallbackIDTypeDef {
  HAL_SPDIFRX_RX_HALF_CB_ID = 0x00U, HAL_SPDIFRX_RX_CPLT_CB_ID = 0x01U, HAL_SPDIFRX_CX_HALF_CB_ID = 0x02U, HAL_SPDIFRX_CX_CPLT_CB_ID = 0x03U,
  HAL_SPDIFRX_ERROR_CB_ID = 0x04U, HAL_SPDIFRX_MSPINIT_CB_ID = 0x05U, HAL_SPDIFRX_MSPDEINIT_CB_ID = 0x06U
}
 HAL SPDIFRX Callback ID enumeration definition. More...

Functions

HAL_StatusTypeDef HAL_SPDIFRX_Init (SPDIFRX_HandleTypeDef *hspdif)
 Initializes the SPDIFRX according to the specified parameters in the SPDIFRX_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_SPDIFRX_DeInit (SPDIFRX_HandleTypeDef *hspdif)
 DeInitializes the SPDIFRX peripheral.
__weak void HAL_SPDIFRX_MspInit (SPDIFRX_HandleTypeDef *hspdif)
 SPDIFRX MSP Init.
__weak void HAL_SPDIFRX_MspDeInit (SPDIFRX_HandleTypeDef *hspdif)
 SPDIFRX MSP DeInit.
HAL_StatusTypeDef HAL_SPDIFRX_SetDataFormat (SPDIFRX_HandleTypeDef *hspdif, SPDIFRX_SetDataFormatTypeDef sDataFormat)
 Set the SPDIFRX data format according to the specified parameters in the SPDIFRX_InitTypeDef.
HAL_StatusTypeDef HAL_SPDIFRX_RegisterCallback (SPDIFRX_HandleTypeDef *hspdif, HAL_SPDIFRX_CallbackIDTypeDef CallbackID, pSPDIFRX_CallbackTypeDef pCallback)
 Register a User SPDIFRX Callback To be used instead of the weak predefined callback.
HAL_StatusTypeDef HAL_SPDIFRX_UnRegisterCallback (SPDIFRX_HandleTypeDef *hspdif, HAL_SPDIFRX_CallbackIDTypeDef CallbackID)
 Unregister a SPDIFRX Callback SPDIFRX callabck is redirected to the weak predefined callback.
HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow (SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout)
 Receives an amount of data (Data Flow) in blocking mode.
HAL_StatusTypeDef HAL_SPDIFRX_ReceiveCtrlFlow (SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size, uint32_t Timeout)
 Receives an amount of data (Control Flow) in blocking mode.
HAL_StatusTypeDef HAL_SPDIFRX_ReceiveCtrlFlow_IT (SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size)
 Receive an amount of data (Control Flow) with Interrupt.
HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_IT (SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size)
 Receive an amount of data (Data Flow) in non-blocking mode with Interrupt.
void HAL_SPDIFRX_IRQHandler (SPDIFRX_HandleTypeDef *hspdif)
 This function handles SPDIFRX interrupt request.
HAL_StatusTypeDef HAL_SPDIFRX_ReceiveCtrlFlow_DMA (SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size)
 Receive an amount of data (Control Flow) with DMA.
HAL_StatusTypeDef HAL_SPDIFRX_ReceiveDataFlow_DMA (SPDIFRX_HandleTypeDef *hspdif, uint32_t *pData, uint16_t Size)
 Receive an amount of data (Data Flow) mode with DMA.
HAL_StatusTypeDef HAL_SPDIFRX_DMAStop (SPDIFRX_HandleTypeDef *hspdif)
 stop the audio stream receive from the Media.
__weak void HAL_SPDIFRX_RxHalfCpltCallback (SPDIFRX_HandleTypeDef *hspdif)
 Rx Transfer (Data flow) half completed callbacks.
__weak void HAL_SPDIFRX_RxCpltCallback (SPDIFRX_HandleTypeDef *hspdif)
 Rx Transfer (Data flow) completed callbacks.
__weak void HAL_SPDIFRX_ErrorCallback (SPDIFRX_HandleTypeDef *hspdif)
 SPDIFRX error callbacks.
__weak void HAL_SPDIFRX_CxHalfCpltCallback (SPDIFRX_HandleTypeDef *hspdif)
 Rx (Control flow) Transfer half completed callbacks.
__weak void HAL_SPDIFRX_CxCpltCallback (SPDIFRX_HandleTypeDef *hspdif)
 Rx Transfer (Control flow) completed callbacks.
HAL_SPDIFRX_StateTypeDef HAL_SPDIFRX_GetState (SPDIFRX_HandleTypeDef const *const hspdif)
 Return the SPDIFRX state.
uint32_t HAL_SPDIFRX_GetError (SPDIFRX_HandleTypeDef const *const hspdif)
 Return the SPDIFRX error code.

Detailed Description

Header file of SPDIFRX HAL module.

Author:
MCD Application Team
Attention:

Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32h7xx_hal_spdifrx.h.