Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:36

0001 /**
0002   ******************************************************************************
0003   * @file    stm32h7xx_hal_sai_ex.h
0004   * @author  MCD Application Team
0005   * @brief   Header file of SAI HAL extended module.
0006   ******************************************************************************
0007   * @attention
0008   *
0009   * Copyright (c) 2017 STMicroelectronics.
0010   * All rights reserved.
0011   *
0012   * This software is licensed under terms that can be found in the LICENSE file
0013   * in the root directory of this software component.
0014   * If no LICENSE file comes with this software, it is provided AS-IS.
0015   *
0016   ******************************************************************************
0017   */
0018 
0019 /* Define to prevent recursive inclusion -------------------------------------*/
0020 #ifndef STM32H7xx_HAL_SAI_EX_H
0021 #define STM32H7xx_HAL_SAI_EX_H
0022 
0023 #ifdef __cplusplus
0024 extern "C" {
0025 #endif
0026 
0027 /* Includes ------------------------------------------------------------------*/
0028 #include "stm32h7xx_hal_def.h"
0029 
0030 /** @addtogroup STM32H7xx_HAL_Driver
0031   * @{
0032   */
0033 
0034 /** @addtogroup SAIEx
0035   * @{
0036   */
0037 
0038 /* Exported types ------------------------------------------------------------*/
0039 /** @defgroup SAIEx_Exported_Types SAIEx Exported Types
0040   * @ingroup RTEMSBSPsARMSTM32H7
0041   * @{
0042   */
0043 
0044 /**
0045   * @brief  PDM microphone delay structure definition
0046   */
0047 typedef struct
0048 {
0049   uint32_t MicPair;     /*!< Specifies which pair of microphones is selected.
0050                              This parameter must be a number between Min_Data = 1 and Max_Data = 3. */
0051 
0052   uint32_t LeftDelay;   /*!< Specifies the delay in PDM clock unit to apply on left microphone.
0053                              This parameter must be a number between Min_Data = 0 and Max_Data = 7. */
0054 
0055   uint32_t RightDelay;  /*!< Specifies the delay in PDM clock unit to apply on right microphone.
0056                              This parameter must be a number between Min_Data = 0 and Max_Data = 7. */
0057 } SAIEx_PdmMicDelayParamTypeDef;
0058 
0059 /**
0060   * @}
0061   */
0062 
0063 /* Exported constants --------------------------------------------------------*/
0064 /* Exported macros -----------------------------------------------------------*/
0065 /* Exported functions --------------------------------------------------------*/
0066 /** @addtogroup SAIEx_Exported_Functions SAIEx Extended Exported Functions
0067   * @{
0068   */
0069 
0070 /** @addtogroup SAIEx_Exported_Functions_Group1 Peripheral Control functions
0071   * @{
0072   */
0073 HAL_StatusTypeDef HAL_SAIEx_ConfigPdmMicDelay(const SAI_HandleTypeDef *hsai,
0074                                               const SAIEx_PdmMicDelayParamTypeDef *pdmMicDelay);
0075 /**
0076   * @}
0077   */
0078 
0079 /**
0080   * @}
0081   */
0082 
0083 /* Private macros ------------------------------------------------------------*/
0084 /** @addtogroup SAIEx_Private_Macros SAIEx Extended Private Macros
0085   * @{
0086   */
0087 #define IS_SAI_PDM_MIC_DELAY(VALUE)   ((VALUE) <= 7U)
0088 /**
0089   * @}
0090   */
0091 
0092 /**
0093   * @}
0094   */
0095 
0096 /**
0097   * @}
0098   */
0099 
0100 #ifdef __cplusplus
0101 }
0102 #endif
0103 
0104 #endif /* STM32H7xx_HAL_SAI_EX_H */
0105