AudioRecord
Dependencies: STM32L4xx_HAL_Driver CMSIS_DSP_401
Diff: main.h
- Revision:
- 0:d4e5ad7ad71c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.h Mon Nov 23 19:37:13 2015 +0000 @@ -0,0 +1,143 @@ +/** + ****************************************************************************** + * @file BSP/Inc/main.h + * @author MCD Application Team + * @version V1.1.0 + * @date 16-September-2015 + * @brief Header for main.c module + ****************************************************************************** + * @attention + * + * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MAIN_H +#define __MAIN_H + +/* Includes ------------------------------------------------------------------*/ +#include "stdio.h" +#include "string.h" +#include "stm32l4xx_hal.h" +#include "stm32l476g_discovery.h" + + +#include "stm32l476g_discovery_glass_lcd.h" +#include "stm32l476g_discovery_audio.h" +#include "stm32l476g_discovery_qspi.h" + +/* Exported constants --------------------------------------------------------*/ +#define DEMO_NAME_CHAR_NB 20 + +/* Defines for the Audio playing process */ +#define PAUSE_STATUS ((uint32_t)0x00) /* Audio Player in Pause Status */ +#define RESUME_STATUS ((uint32_t)0x01) /* Audio Player in Resume Status */ +#define IDLE_STATUS ((uint32_t)0x02) /* Audio Player in Idle Status */ + +/* Exported types ------------------------------------------------------------*/ +typedef enum +{ + IDD_RUN = 0x00, + IDD_SLEEP = 0x01, + IDD_LPR_2MHZ = 0x02, + IDD_LPR_SLEEP = 0x03, + IDD_STOP2 = 0x04, + IDD_STANDBY = 0x05, + IDD_SHUTDOWN = 0x06, + IDD_TEST_NB = 0x07, +} Idd_StateTypeDef; + +typedef struct +{ + void (*DemoFunc)(void); + uint8_t DemoName[DEMO_NAME_CHAR_NB]; + uint32_t DemoIndex; +}BSP_DemoTypedef; + +typedef enum { + AUDIO_DEMO_NONE = 0, + AUDIO_DEMO_PLAYBACK, + AUDIO_DEMO_RECORD +} Audio_DemoTypeDef; + +/* Exported variables --------------------------------------------------------*/ +/* Variable indicating which audio demo is currently running (playback v.s. record) */ +extern Audio_DemoTypeDef AudioDemo; + +/* Flag indicating that audio playback must be paused or resumed */ +extern __IO uint32_t PauseResumeStatus; + +/* Flag indicating that audio playback must be exited */ +extern __IO uint8_t AudioPlaybackExit; + +/* Flag indicating that audio playback volume level must be changed */ +extern __IO uint8_t VolumeChange; + +/* Actual audio playback volume level */ +extern __IO uint8_t Volume; + +/* Flag indicating that audio record must be exited */ +extern __IO uint8_t AudioRecordExit; + +/* Flag indicating that record sample rate has been selected */ +extern __IO uint8_t AudioRecordSampleRateSelected; + +/* Flag indicating that record sample rate must be changed changed */ +extern __IO uint8_t AudioRecordSampleRateChange; + +/* Index within SamplesRates[] */ +extern __IO uint8_t SampleRateIndex; + +/* Exported macro ------------------------------------------------------------*/ +#define COUNT_OF_EXAMPLE(x) (sizeof(x)/sizeof(BSP_DemoTypedef)) +#define ABS(x) (x < 0) ? (-x) : x + +/* Exported functions ------------------------------------------------------- */ +void AudioPlay_demo(void); +void AudioRecord_demo(void); +void Idd_demo(void); +void Gyro_demo(void); +void Joystick_demo (void); +void LCDGlass_demo(void); +void Led_demo(void); +void QSPI_demo(void); +uint8_t CheckForUserInput(void); +void SystemClock_Config(void); +void SystemLowClock_Config(void); +void SystemHardwareInit(void); +void SystemHardwareDeInit(void); +uint32_t SystemRtcBackupRead(void); +void SystemRtcBackupWrite(uint32_t SaveIndex); +void fibonacci_flash(int n); + +void Error_Handler(void); +void Convert_IntegerIntoChar(uint32_t number, uint16_t *p_tab); + +#endif /* __MAIN_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ +