BSP Drivers

Dependencies:   CMSIS_STM32L4xx CMSIS_DSP_401 STM32L4xx_HAL_Driver

Dependents:   DiscoAudioRecord

Committer:
EricLew
Date:
Sun Nov 22 21:15:34 2015 +0000
Revision:
4:a1219ef3537f
Parent:
0:ad9dfc0179dc
11/22/2015

Who changed what in which revision?

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