Audio Demo with DISCO Board, takes control samples, waits for user input, samples regularly.
Dependencies: CMSIS_DSP_401 STM32L4xx_HAL_Driver mbed-src_DISO_AUDIO_DEMO
main.cpp
- Committer:
- EricLew
- Date:
- 2015-12-13
- Revision:
- 0:3eee9435dd17
File content as of revision 0:3eee9435dd17:
/** ****************************************************************************** * @file main.c * @author Central Labs * @version V1.0.0 * @date 7-May-2015 * @brief Main program body ****************************************************************************** * @attention * * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2> * * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * 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. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "main.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ #include "stm32l4xx_hal_def.h" #include "stm32l4xx_hal_conf.h" #include "main.h" Serial pc(SERIAL_TX, SERIAL_RX); DigitalIn mybutton(PA_0); DigitalOut myled(LED1); //SDFileSystem sd(PC_12, PC_11, PC_10, PD_2, "sd"); /** * @brief Main program * @param None * @retval None */ extern void RECORD(void); extern void MSE(void); extern void COMPARE(void); extern float32_t CONTROLPWR[1024]; //CONTROL 0 PWR extern float32_t CONTROLPHS[1024]; //CTONROL 0 PHS extern float32_t CONTROLPWRMSE;//CONTROL PWR MSE extern float32_t CONTROLPHSMSE;//CONTROL PHS MSE extern float32_t POWER[1024]; extern float32_t PHS[1024]; extern float32_t PWRMSE; extern float32_t PHSMSE; int main(void) { pc.printf("\r\n\r\nEntering AudioRecord_demo()...\r\n"); RECORD(); // RECORD CONTROL 0 uint32_t n; for(n=0;n<1024;n++) {CONTROLPWR[n]=POWER[n];} for(n=0;n<1024;n++) {CONTROLPHS[n]=PHS[n];} RECORD(); //RECORD CONTROL 1 MSE(); //MSE BETWEEN CONTROLS CONTROLPWRMSE=PWRMSE; CONTROLPHSMSE=PHSMSE; while (1) { pc.printf("Prepared to begin recording. Click USER button to continue...\r\n"); while (mybutton); wait(0.2); if (!mybutton) { while (!mybutton); pc.printf("Recording started...\r\n"); myled = 1; RECORD(); MSE(); COMPARE(); } } } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */ void assert_failed(uint8_t* file, uint32_t line) { /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* Infinite loop */ while (1) { } } #endif /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/