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