STM32L486xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_hal_sai_ex.h 00004 * @author MCD Application Team 00005 * @brief Header file of SAI HAL extended module. 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * <h2><center>© COPYRIGHT(c) 2017 STMicroelectronics</center></h2> 00010 * 00011 * Redistribution and use in source and binary forms, with or without modification, 00012 * are permitted provided that the following conditions are met: 00013 * 1. Redistributions of source code must retain the above copyright notice, 00014 * this list of conditions and the following disclaimer. 00015 * 2. Redistributions in binary form must reproduce the above copyright notice, 00016 * this list of conditions and the following disclaimer in the documentation 00017 * and/or other materials provided with the distribution. 00018 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00019 * may be used to endorse or promote products derived from this software 00020 * without specific prior written permission. 00021 * 00022 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00023 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00024 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00025 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00026 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00027 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00028 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00029 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00030 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00031 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00032 * 00033 ****************************************************************************** 00034 */ 00035 00036 /* Define to prevent recursive inclusion -------------------------------------*/ 00037 #ifndef STM32L4xx_HAL_SAI_EX_H 00038 #define STM32L4xx_HAL_SAI_EX_H 00039 00040 #ifdef __cplusplus 00041 extern "C" { 00042 #endif 00043 00044 #if defined(STM32L4R5xx) || defined(STM32L4R7xx) || defined(STM32L4R9xx) || defined(STM32L4S5xx) || defined(STM32L4S7xx) || defined(STM32L4S9xx) 00045 00046 /* Includes ------------------------------------------------------------------*/ 00047 #include "stm32l4xx_hal_def.h" 00048 00049 /** @addtogroup STM32L4xx_HAL_Driver 00050 * @{ 00051 */ 00052 00053 /** @addtogroup SAIEx 00054 * @{ 00055 */ 00056 00057 /* Exported types ------------------------------------------------------------*/ 00058 /** @defgroup SAIEx_Exported_Types SAIEx Exported Types 00059 * @{ 00060 */ 00061 00062 /** 00063 * @brief PDM microphone delay structure definition 00064 */ 00065 typedef struct 00066 { 00067 uint32_t MicPair; /*!< Specifies which pair of microphones is selected. 00068 This parameter must be a number between Min_Data = 1 and Max_Data = 3. */ 00069 00070 uint32_t LeftDelay; /*!< Specifies the delay in PDM clock unit to apply on left microphone. 00071 This parameter must be a number between Min_Data = 0 and Max_Data = 7. */ 00072 00073 uint32_t RightDelay; /*!< Specifies the delay in PDM clock unit to apply on right microphone. 00074 This parameter must be a number between Min_Data = 0 and Max_Data = 7. */ 00075 } SAIEx_PdmMicDelayParamTypeDef; 00076 00077 /** 00078 * @} 00079 */ 00080 00081 /* Exported constants --------------------------------------------------------*/ 00082 /* Exported macros -----------------------------------------------------------*/ 00083 /* Exported functions --------------------------------------------------------*/ 00084 /** @addtogroup SAIEx_Exported_Functions SAIEx Extended Exported Functions 00085 * @{ 00086 */ 00087 00088 /** @addtogroup SAIEx_Exported_Functions_Group1 Peripheral Control functions 00089 * @{ 00090 */ 00091 HAL_StatusTypeDef HAL_SAIEx_ConfigPdmMicDelay(SAI_HandleTypeDef *hsai, SAIEx_PdmMicDelayParamTypeDef *pdmMicDelay); 00092 /** 00093 * @} 00094 */ 00095 00096 /** 00097 * @} 00098 */ 00099 00100 /* Private macros ------------------------------------------------------------*/ 00101 /** @addtogroup SAIEx_Private_Macros SAIEx Extended Private Macros 00102 * @{ 00103 */ 00104 #define IS_SAI_PDM_MIC_DELAY(VALUE) ((VALUE) <= 7U) 00105 /** 00106 * @} 00107 */ 00108 00109 /** 00110 * @} 00111 */ 00112 00113 /** 00114 * @} 00115 */ 00116 00117 #endif /* STM32L4R5xx || STM32L4R7xx || STM32L4R9xx || STM32L4S5xx || STM32L4S7xx || STM32L4S9xx */ 00118 00119 #ifdef __cplusplus 00120 } 00121 #endif 00122 00123 #endif /* STM32L4xx_HAL_SAI_EX_H */ 00124 00125 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/