BSP files for STM32H747I-Discovery Copy from ST Cube delivery

Dependents:   DISCO_H747I_LCD_demo DISCO_H747I_AUDIO_demo

Committer:
Jerome Coutant
Date:
Wed Nov 06 11:32:01 2019 +0100
Revision:
3:bc403474b366
Parent:
0:146cf26a9bbb
Add PDM lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jerome Coutant 0:146cf26a9bbb 1 /**
Jerome Coutant 0:146cf26a9bbb 2 ******************************************************************************
Jerome Coutant 0:146cf26a9bbb 3 * @file audio.h
Jerome Coutant 0:146cf26a9bbb 4 * @author MCD Application Team
Jerome Coutant 0:146cf26a9bbb 5 * @version V4.0.1
Jerome Coutant 0:146cf26a9bbb 6 * @date 21-July-2015
Jerome Coutant 0:146cf26a9bbb 7 * @brief This header file contains the common defines and functions prototypes
Jerome Coutant 0:146cf26a9bbb 8 * for the Audio driver.
Jerome Coutant 0:146cf26a9bbb 9 ******************************************************************************
Jerome Coutant 0:146cf26a9bbb 10 * @attention
Jerome Coutant 0:146cf26a9bbb 11 *
Jerome Coutant 0:146cf26a9bbb 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
Jerome Coutant 0:146cf26a9bbb 13 *
Jerome Coutant 0:146cf26a9bbb 14 * Redistribution and use in source and binary forms, with or without modification,
Jerome Coutant 0:146cf26a9bbb 15 * are permitted provided that the following conditions are met:
Jerome Coutant 0:146cf26a9bbb 16 * 1. Redistributions of source code must retain the above copyright notice,
Jerome Coutant 0:146cf26a9bbb 17 * this list of conditions and the following disclaimer.
Jerome Coutant 0:146cf26a9bbb 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
Jerome Coutant 0:146cf26a9bbb 19 * this list of conditions and the following disclaimer in the documentation
Jerome Coutant 0:146cf26a9bbb 20 * and/or other materials provided with the distribution.
Jerome Coutant 0:146cf26a9bbb 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Jerome Coutant 0:146cf26a9bbb 22 * may be used to endorse or promote products derived from this software
Jerome Coutant 0:146cf26a9bbb 23 * without specific prior written permission.
Jerome Coutant 0:146cf26a9bbb 24 *
Jerome Coutant 0:146cf26a9bbb 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Jerome Coutant 0:146cf26a9bbb 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Jerome Coutant 0:146cf26a9bbb 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Jerome Coutant 0:146cf26a9bbb 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Jerome Coutant 0:146cf26a9bbb 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Jerome Coutant 0:146cf26a9bbb 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Jerome Coutant 0:146cf26a9bbb 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Jerome Coutant 0:146cf26a9bbb 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Jerome Coutant 0:146cf26a9bbb 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Jerome Coutant 0:146cf26a9bbb 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Jerome Coutant 0:146cf26a9bbb 35 *
Jerome Coutant 0:146cf26a9bbb 36 ******************************************************************************
Jerome Coutant 0:146cf26a9bbb 37 */
Jerome Coutant 0:146cf26a9bbb 38
Jerome Coutant 0:146cf26a9bbb 39 /* Define to prevent recursive inclusion -------------------------------------*/
Jerome Coutant 0:146cf26a9bbb 40 #ifndef __AUDIO_H
Jerome Coutant 0:146cf26a9bbb 41 #define __AUDIO_H
Jerome Coutant 0:146cf26a9bbb 42
Jerome Coutant 0:146cf26a9bbb 43 #ifdef __cplusplus
Jerome Coutant 0:146cf26a9bbb 44 extern "C" {
Jerome Coutant 0:146cf26a9bbb 45 #endif
Jerome Coutant 0:146cf26a9bbb 46
Jerome Coutant 0:146cf26a9bbb 47 /* Includes ------------------------------------------------------------------*/
Jerome Coutant 0:146cf26a9bbb 48 #include <stdint.h>
Jerome Coutant 0:146cf26a9bbb 49
Jerome Coutant 0:146cf26a9bbb 50 /** @addtogroup BSP
Jerome Coutant 0:146cf26a9bbb 51 * @{
Jerome Coutant 0:146cf26a9bbb 52 */
Jerome Coutant 0:146cf26a9bbb 53
Jerome Coutant 0:146cf26a9bbb 54 /** @addtogroup Components
Jerome Coutant 0:146cf26a9bbb 55 * @{
Jerome Coutant 0:146cf26a9bbb 56 */
Jerome Coutant 0:146cf26a9bbb 57
Jerome Coutant 0:146cf26a9bbb 58 /** @addtogroup AUDIO
Jerome Coutant 0:146cf26a9bbb 59 * @{
Jerome Coutant 0:146cf26a9bbb 60 */
Jerome Coutant 0:146cf26a9bbb 61
Jerome Coutant 0:146cf26a9bbb 62 /** @defgroup AUDIO_Exported_Constants
Jerome Coutant 0:146cf26a9bbb 63 * @{
Jerome Coutant 0:146cf26a9bbb 64 */
Jerome Coutant 0:146cf26a9bbb 65
Jerome Coutant 0:146cf26a9bbb 66 /* Codec audio Standards */
Jerome Coutant 0:146cf26a9bbb 67 #define CODEC_STANDARD 0x04
Jerome Coutant 0:146cf26a9bbb 68 #define I2S_STANDARD I2S_STANDARD_PHILIPS
Jerome Coutant 0:146cf26a9bbb 69
Jerome Coutant 0:146cf26a9bbb 70 /**
Jerome Coutant 0:146cf26a9bbb 71 * @}
Jerome Coutant 0:146cf26a9bbb 72 */
Jerome Coutant 0:146cf26a9bbb 73
Jerome Coutant 0:146cf26a9bbb 74 /** @defgroup AUDIO_Exported_Types
Jerome Coutant 0:146cf26a9bbb 75 * @{
Jerome Coutant 0:146cf26a9bbb 76 */
Jerome Coutant 0:146cf26a9bbb 77
Jerome Coutant 0:146cf26a9bbb 78 /** @defgroup AUDIO_Driver_structure Audio Driver structure
Jerome Coutant 0:146cf26a9bbb 79 * @{
Jerome Coutant 0:146cf26a9bbb 80 */
Jerome Coutant 0:146cf26a9bbb 81 typedef struct
Jerome Coutant 0:146cf26a9bbb 82 {
Jerome Coutant 0:146cf26a9bbb 83 uint32_t (*Init)(uint16_t, uint16_t, uint8_t, uint32_t);
Jerome Coutant 0:146cf26a9bbb 84 void (*DeInit)(void);
Jerome Coutant 0:146cf26a9bbb 85 uint32_t (*ReadID)(uint16_t);
Jerome Coutant 0:146cf26a9bbb 86 uint32_t (*Play)(uint16_t, uint16_t*, uint16_t);
Jerome Coutant 0:146cf26a9bbb 87 uint32_t (*Pause)(uint16_t);
Jerome Coutant 0:146cf26a9bbb 88 uint32_t (*Resume)(uint16_t);
Jerome Coutant 0:146cf26a9bbb 89 uint32_t (*Stop)(uint16_t, uint32_t);
Jerome Coutant 0:146cf26a9bbb 90 uint32_t (*SetFrequency)(uint16_t, uint32_t);
Jerome Coutant 0:146cf26a9bbb 91 uint32_t (*SetVolume)(uint16_t, uint8_t);
Jerome Coutant 0:146cf26a9bbb 92 uint32_t (*SetMute)(uint16_t, uint32_t);
Jerome Coutant 0:146cf26a9bbb 93 uint32_t (*SetOutputMode)(uint16_t, uint8_t);
Jerome Coutant 0:146cf26a9bbb 94 uint32_t (*Reset)(uint16_t);
Jerome Coutant 0:146cf26a9bbb 95 }AUDIO_DrvTypeDef;
Jerome Coutant 0:146cf26a9bbb 96 /**
Jerome Coutant 0:146cf26a9bbb 97 * @}
Jerome Coutant 0:146cf26a9bbb 98 */
Jerome Coutant 0:146cf26a9bbb 99
Jerome Coutant 0:146cf26a9bbb 100 /**
Jerome Coutant 0:146cf26a9bbb 101 * @}
Jerome Coutant 0:146cf26a9bbb 102 */
Jerome Coutant 0:146cf26a9bbb 103
Jerome Coutant 0:146cf26a9bbb 104 /**
Jerome Coutant 0:146cf26a9bbb 105 * @}
Jerome Coutant 0:146cf26a9bbb 106 */
Jerome Coutant 0:146cf26a9bbb 107
Jerome Coutant 0:146cf26a9bbb 108 /**
Jerome Coutant 0:146cf26a9bbb 109 * @}
Jerome Coutant 0:146cf26a9bbb 110 */
Jerome Coutant 0:146cf26a9bbb 111
Jerome Coutant 0:146cf26a9bbb 112 /**
Jerome Coutant 0:146cf26a9bbb 113 * @}
Jerome Coutant 0:146cf26a9bbb 114 */
Jerome Coutant 0:146cf26a9bbb 115
Jerome Coutant 0:146cf26a9bbb 116 #ifdef __cplusplus
Jerome Coutant 0:146cf26a9bbb 117 }
Jerome Coutant 0:146cf26a9bbb 118 #endif
Jerome Coutant 0:146cf26a9bbb 119
Jerome Coutant 0:146cf26a9bbb 120 #endif /* __AUDIO_H */
Jerome Coutant 0:146cf26a9bbb 121
Jerome Coutant 0:146cf26a9bbb 122 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/