コード例 #1
0
ファイル: speak_lib.cpp プロジェクト: alltoy/espeak
ESPEAK_API espeak_ERROR espeak_Terminate(void)
{//===========================================
	ENTER("espeak_Terminate");
#ifdef USE_ASYNC
	fifo_stop();
	fifo_terminate();
	event_terminate();

	if(my_mode == AUDIO_OUTPUT_PLAYBACK)
	{
		wave_close(my_audio);
		wave_terminate();
		out_samplerate = 0;
	}

#endif
	Free(event_list);
	event_list = NULL;
	Free(outbuf);
	outbuf = NULL;
	FreePhData();
	FreeVoiceList();

	if(f_logespeak)
	{
		fclose(f_logespeak);
		f_logespeak = NULL;
	}

	return EE_OK;
}   //  end of espeak_Terminate
コード例 #2
0
ファイル: pwr.c プロジェクト: akohlsmith/Equine
/**
  * @brief  This function closes any open files, leaving a file footer in the FATFS_logfile
  * @param  uint8_t reason: reason for shutdown, uses enum definitions in main.h, uint8_t file_flags: flag bits for open files, DIR* dir the current directory
  * @retval None
  */
void shutdown_filesystem(uint8_t reason, uint8_t file_flags) {
	if(file_flags&0x01) {				//The first wav file is open
		if(f_tell(&FATFS_wavfile)>2)		//There is some data in the file
			wave_terminate(&FATFS_wavfile);
	}
	if(file_flags&0x02) {				//The second wav file is open
		if(f_tell(&FATFS_wavfile_gps)>2)	//There is some data in the file
			wave_terminate(&FATFS_wavfile_gps);
	}
	if(file_flags&0x04) {				//The second wav file is open
		if(f_tell(&FATFS_wavfile_imu)>2)	//There is some data in the file
			wave_terminate(&FATFS_wavfile_imu);
	}
	uint8_t path[22]={};
	f_getcwd(path,22);				/* Find the directory name */
	DIR dir;
	FRESULT res = f_opendir(&dir, path);		/* Open the directory */
	FILINFO fno;
	char* fn;
	if (res == FR_OK) {
		for (;;) {
			res = f_readdir(&dir, &fno);                   /* Read a directory item */
			if (res != FR_OK || fno.fname[0] == 0) break;  /* Break on error or end of dir */
			if (fno.fname[0] == '.') continue;             /* Ignore dot entry */
#if _USE_LFN
			fn = *fno.lfname ? fno.lfname : fno.fname;
#else
			fn = fno.fname;
#endif
			if (!(fno.fattrib & AM_DIR)) {                    /* It is not a directory */
				if(!(fno.fsize))
					f_unlink((const TCHAR *)fn);	/* Delete zero sized files */
			}
		}
	}
}