⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sing.h

📁 isp1160_isa_evel_codeUSB主机软件
💻 H
字号:

/*
**  Kenobi2          version 1.3
**
**      ** This code has been made to check/learn the 1161 functionalities ** 
**      ** Release 25-Feb-2002                                             **
**
**      OKANO, Akifumi 
**      
**		Computing Segment, Semisonductors Div, Philips Japan Ltd.
**      akifumi.okano@philips.com
**      +81-3-3740-4668 
*/


#include	"isr.h"



//#define		AUDIO_FILENAME						"../music/allnight.wav"								
//#define		AUDIO_FILENAME						"../music/morethan.wav"								
//#define		AUDIO_FILENAME						"../music/koyoino.wav"								
//#define		AUDIO_FILENAME						"../music/allnight.wav"								
//#define		AUDIO_FILENAME						"../music/sin.wav"								
//#define		AUDIO_FILENAME						"../music/sq.wav"								
//#define		AUDIO_FILENAME						"../music/ramp.wav"								
//#define		AUDIO_FILENAME						"../music/ramp2.wav"								

#define			AUDIO_FILENAME						"default.wav"				

#define			MAX_NUM_OF_AUDIO_FILES				10
#define			FILE_NAME_LENGTH					256




#define		NUM_OF_BUFFER_UNITS				1	//  <-- for adjusting whole buffer size			//	1764 bytes * n

#define		BUFFER_UNIT						((176 * 9) + 180)									//	1764 bytes : data for 10 USB frames
#define		FRAME_PER_BUFFER				10													//	data for 10 USB frames
#define		DOUBLE_BUFFERING				2

#define		SINGLE_BUFFER_SIZE__BYTES		(BUFFER_UNIT * NUM_OF_BUFFER_UNITS)					//	1764 bytes
#define		TOTTAL_BUFFER_SIZE__BYTES		(SINGLE_BUFFER_SIZE__BYTES * DOUBLE_BUFFERING)		//	1764 bytes * 2 	 = double buffer
#define		SINGLE_BUFFER_SIZE__SHORT		(SINGLE_BUFFER_SIZE__BYTES >> 1)					//	882 of 16 bit samples

#define		SOURCE_IS_NON_FILE				0
#define		SOURCE_IS_FILE					1

#define		FILE_ACCESS_FREE				0
#define		FILE_ACCESS_READ				0
#define		FILE_ACCESS_RESERVE				1
#define		FILE_ACCESS_RESERVED			1
#define		FILE_ACCESS_DENIED				2
#define		FILE_ACCESS_REQUEST_FROM_NONE	0
#define		FILE_ACCESS_REQUEST_FROM_SING	1
#define		FILE_ACCESS_REQUEST_FROM_PRTR	2


typedef struct  wav_head		{   /*  See http://www.kk.iij4u.or.jp/~kondo/wave (Japanese page)  */

                                    char   			riff_h[ 4 ];
                                    unsigned long	file_size;
                                    char			wave_h[ 4 ];
                                    char			fmt_h[ 4 ];
                                    unsigned long	fmt_size;
                                    unsigned short	fmt_id;
                                    unsigned short	num_of_channels;
                                    unsigned long	sampling_rate;
                                    unsigned long	data_speed;
                                    unsigned short	block_size;
                                    unsigned short	bit_per_sample;
                                    char   			data_h[ 4 ];
                                    unsigned long	data_sample_size_in_bytes;
                                }
                                wave_header;





extern char				g_sing_file_str[ MAX_NUM_OF_AUDIO_FILES ][ FILE_NAME_LENGTH ];
extern char				g_sing_list_file_str[ FILE_NAME_LENGTH ];
extern unsigned char	g_ITL_test_value;

unsigned short		audio_initialize( device_instance *dvi_ptr, char *filename, unsigned int (*buffer_fill_method)() );
unsigned char		is_audio_active( void );
void 				audio_start( void );
void 				audio_stop( void );
void				asynchronus_iso_buffer_fill( void );
unsigned char		audio_main( void );
device_instance		*find_audio_device( void );

unsigned char		dos_read_exclusive( int file_handle, void *buffer_ptr, unsigned len, unsigned *nread, unsigned char flag, unsigned char requester );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -