/** * @brief Start wave player * @param None * @retval None */ void WavePlayerStart(void) { char path[] = "0:/"; _WAV_FileCounter = FS_ScanDir(_WAV_SoundDir, _WAV_FileList); buffer_switch = 1; /* Get the read out protection status */ if (f_opendir(&dir, _WAV_SoundDir)!= FR_OK) { while(1) { STM_EVAL_LEDToggle(LED5); Delay(10); } } else { #ifdef WAV_OLDCODE uint8_t wavHeader[_MAX_SS]; WaveFileName = WAVE_NAME; /* Open the wave file to be played */ if (f_open(&fileR, WaveFileName , FA_READ) != FR_OK) { STM_EVAL_LEDOn(LED5); Command_index = 1; } else { /* Read data(_MAX_SS byte) from the selected file */ f_read (&fileR, (void *) wavHeader, _MAX_SS, &BytesRead); WaveFileStatus = WavePlayer_WaveParsing((uint8_t *) wavHeader); if (WaveFileStatus == Valid_WAVE_File) /* the .WAV file is valid */ { /* Set WaveDataLenght to the Speech wave length */ WaveDataLength = WAVE_Format.DataSize; } else /* Unvalid wave file */ { /* Led Red Toggles in infinite loop */ while(1) { STM_EVAL_LEDToggle(LED5); Delay(10); } } /* Play the wave */ WavePlayBack(I2S_AudioFreq_44k); } #else WAV_OpenNextFile(); WavePlayBack(I2S_AudioFreq_44k); #endif } }
/** * @brief Start wave player * @param None * @retval None */ void WavePlayerStart(void) { char path[] = "0:/"; buffer_switch = 1; /* Get the read out protection status */ if (f_opendir(&dir, path)!= FR_OK) { while(1) { STM_EVAL_LEDToggle(LED5); Delay(10); } } else { if (WaveRecStatus == 1) { WaveFileName = REC_WAVE_NAME; } else { WaveFileName = WAVE_NAME; } /* Open the wave file to be played */ if (f_open(&fileR, WaveFileName , FA_READ) != FR_OK) { STM_EVAL_LEDOn(LED5); Command_index = 1; } else { /* Read data(_MAX_SS byte) from the selected file */ f_read (&fileR, buffer1, _MAX_SS, &BytesRead); WaveFileStatus = WavePlayer_WaveParsing(&wavelen); if (WaveFileStatus == Valid_WAVE_File) /* the .WAV file is valid */ { /* Set WaveDataLenght to the Speech wave length */ WaveDataLength = WAVE_Format.DataSize; } else /* Unvalid wave file */ { /* Led Red Toggles in infinite loop */ while(1) { STM_EVAL_LEDToggle(LED5); Delay(10); } } /* Play the wave */ WavePlayBack(WAVE_Format.SampleRate); } } }
/** * @brief Main program. * @param None * @retval None */ int main(void) { /* Initialize LEDS */ STM_EVAL_LEDInit(LED3); STM_EVAL_LEDInit(LED4); STM_EVAL_LEDInit(LED5); STM_EVAL_LEDInit(LED6); /* Green Led On: start of application */ STM_EVAL_LEDOn(LED4); /* SysTick end of count event each 10ms */ RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); /* Configure TIM4 Peripheral to manage LEDs lighting */ TIM_LED_Config(); /* Initialize the repeat status */ RepeatState = 0; LED_Toggle = 7; #if defined MEDIA_IntFLASH WavePlayBack(I2S_AudioFreq_48k); while (1); #elif defined MEDIA_USB_KEY /* Initialize User Button */ STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_EXTI); /* Init Host Library */ USBH_Init(&USB_OTG_Core, USB_OTG_FS_CORE_ID, &USB_Host, &USBH_MSC_cb, &USR_Callbacks); IT_Lines_Init(); while (1) { /* Host Task handler */ USBH_Process(&USB_OTG_Core, &USB_Host); } #endif }
int main(void) { /* Initialize LEDs */ STM_EVAL_LEDInit(LED3); STM_EVAL_LEDInit(LED4); STM_EVAL_LEDInit(LED5); STM_EVAL_LEDInit(LED6); /* Green Led On: start of application */ STM_EVAL_LEDOn(LED4); /* SysTick end of count event each 1ms */ RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000); /* Initialize User Button */ STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_EXTI); WavePlayBack(I2S_AudioFreq_48k); while (1); }
/** * @brief Starts Wave player. * @param None * @retval None */ void WavePlayerStart(void) { UINT bytesread = 0; char path[] = "0:/"; char* wavefilename = NULL; WAVE_FormatTypeDef waveformat; /* Get the read out protection status */ if(f_opendir(&Directory, path) == FR_OK) { if(WaveRecStatus == 1) { wavefilename = REC_WAVE_NAME; } else { wavefilename = WAVE_NAME; } /* Open the Wave file to be played */ if(f_open(&FileRead, wavefilename , FA_READ) != FR_OK) { BSP_LED_On(LED5); CmdIndex = CMD_RECORD; } else { /* Read sizeof(WaveFormat) from the selected file */ f_read (&FileRead, &waveformat, sizeof(waveformat), &bytesread); /* Set WaveDataLenght to the Speech Wave length */ WaveDataLength = waveformat.FileSize; /* Play the Wave */ WavePlayBack(waveformat.SampleRate); } } }