xref: /btstack/port/stm32-l451-miromico-sx1280/Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_sai_ex.h (revision 2fd737d36a1de5d778cacc671d4b4d8c4f3fed82)
1 /**
2   ******************************************************************************
3   * @file    stm32l4xx_hal_sai_ex.h
4   * @author  MCD Application Team
5   * @brief   Header file of SAI HAL extended module.
6   ******************************************************************************
7   * @attention
8   *
9   * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
10   * All rights reserved.</center></h2>
11   *
12   * This software component is licensed by ST under BSD 3-Clause license,
13   * the "License"; You may not use this file except in compliance with the
14   * License. You may obtain a copy of the License at:
15   *                        opensource.org/licenses/BSD-3-Clause
16   *
17   ******************************************************************************
18   */
19 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32L4xx_HAL_SAI_EX_H
22 #define STM32L4xx_HAL_SAI_EX_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #if defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) || \
29     defined(STM32L4P5xx) || defined(STM32L4Q5xx)
30 
31 /* Includes ------------------------------------------------------------------*/
32 #include "stm32l4xx_hal_def.h"
33 
34 /** @addtogroup STM32L4xx_HAL_Driver
35   * @{
36   */
37 
38 /** @addtogroup SAIEx
39   * @{
40   */
41 
42 /* Exported types ------------------------------------------------------------*/
43 /** @defgroup SAIEx_Exported_Types SAIEx Exported Types
44   * @{
45   */
46 
47 /**
48   * @brief  PDM microphone delay structure definition
49   */
50 typedef struct
51 {
52   uint32_t MicPair;     /*!< Specifies which pair of microphones is selected.
53                              This parameter must be a number between Min_Data = 1 and Max_Data = 3. */
54 
55   uint32_t LeftDelay;   /*!< Specifies the delay in PDM clock unit to apply on left microphone.
56                              This parameter must be a number between Min_Data = 0 and Max_Data = 7. */
57 
58   uint32_t RightDelay;  /*!< Specifies the delay in PDM clock unit to apply on right microphone.
59                              This parameter must be a number between Min_Data = 0 and Max_Data = 7. */
60 } SAIEx_PdmMicDelayParamTypeDef;
61 
62 /**
63   * @}
64   */
65 
66 /* Exported constants --------------------------------------------------------*/
67 /* Exported macros -----------------------------------------------------------*/
68 /* Exported functions --------------------------------------------------------*/
69 /** @addtogroup SAIEx_Exported_Functions SAIEx Extended Exported Functions
70   * @{
71   */
72 
73 /** @addtogroup SAIEx_Exported_Functions_Group1 Peripheral Control functions
74   * @{
75   */
76 HAL_StatusTypeDef HAL_SAIEx_ConfigPdmMicDelay(SAI_HandleTypeDef *hsai, SAIEx_PdmMicDelayParamTypeDef *pdmMicDelay);
77 /**
78   * @}
79   */
80 
81 /**
82   * @}
83   */
84 
85 /* Private macros ------------------------------------------------------------*/
86 /** @addtogroup SAIEx_Private_Macros SAIEx Extended Private Macros
87   * @{
88   */
89 #define IS_SAI_PDM_MIC_DELAY(VALUE)   ((VALUE) <= 7U)
90 /**
91   * @}
92   */
93 
94 /**
95   * @}
96   */
97 
98 /**
99   * @}
100   */
101 
102 #endif /* STM32L4R5xx || STM32L4R7xx || STM32L4R9xx || STM32L4S5xx || STM32L4S7xx || STM32L4S9xx || */
103 /* STM32L4P5xx || STM32L4Q5xx */
104 
105 #ifdef __cplusplus
106 }
107 #endif
108 
109 #endif /* STM32L4xx_HAL_SAI_EX_H */
110 
111 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
112