📄 sing.h
字号:
/*
** WASABI-Hot! version 1.0 (Sing unit)
**
**
** -- copyright (c) 2001-2004 by Philips Japan, Ltd. -- All rights reserved --
**
**
** ** This code has been made to check/learn **
** ** the ISP1362/ISP1363 functionalities **
** ** Release 06-Aug-2004 **
**
** OKANO, Akifumi
**
** Computing Segment, Semisonductors Div, Philips Japan Ltd.
** akifumi.okano@philips.com
** +81-3-3740-4668
**
*/
#ifndef _SING_H
#define _SING_H
/****************************************************************************/
/* includes */
/****************************************************************************/
#include "_hc_core/isr.h"
/****************************************************************************/
/* constants */
/****************************************************************************/
#define AUDIO_FILENAME "default.wav"
#define MAX_NUM_OF_AUDIO_FILES 10
#define FILE_NAME_LENGTH 256
#define MEMORY_FILLING_SIZE_FROM_FILE 882
#ifdef SMALLER_ISO_BUFFER
#define MEMORY_FILLING_SIZE_TO_1362 462
#else //SMALLER_ISO_BUFFER
#define MEMORY_FILLING_SIZE_TO_1362 922
#endif //SMALLER_ISO_BUFFER
#define NUM_OF_BUFFER_UNITS 1 // <-- for adjusting whole buffer size // 1764 bytes * n
#define SOURCE_IS_NON_FILE 0
#define SOURCE_IS_FILE 1
#define SOURCE_IS_REMOTE_FILE 2
#define GET_CURRENT_VOLUME_LEVEL 0x7F
#define AUDIO_PLAY_MANUAL_SELECTION 0xFF
#define VOLUME_LIMIT 30
#define dB_STEP -2
#define AUDIO_CODEC 0x1100 //Modification by hara
#define AUDIO_DAC 0x0100 //Modification by hara
#define bytes_to_sec( x ) ((x) / 176400L)
/****************************************************************************/
/* types */
/****************************************************************************/
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;
typedef struct _sing_file_info { /* See http://www.kk.iij4u.or.jp/~kondo/wave (Japanese page) */
char file_path_and_name[ FILE_NAME_LENGTH ];
char file_comment[ FILE_NAME_LENGTH ];
}
sing_file_info;
/****************************************************************************/
/* global vars */
/****************************************************************************/
extern sing_file_info gp_sing_file_strings[ MAX_NUM_OF_AUDIO_FILES ];
extern char gp_sing_list_file_str[ FILE_NAME_LENGTH ];
/****************************************************************************/
/* function prototypes */
/****************************************************************************/
unsigned short audio_initialize( device_instance *dvi_ptr, char *filename, unsigned short (*buffer_fill_method)( short *p ), void (*stop_process)( void ) );
unsigned char is_audio_beep_play( void );
unsigned char is_audio_active( void );
unsigned char is_audio_in_play( void );
unsigned char is_audio_exist( void );
void audio_start( void );
void audio_stop( void );
unsigned char audio_main( unsigned char select );
void sing_buffer_set_quit_timing( void );
void audio_sequential_play( void );
unsigned short audio_init_commands( device_instance *dvi_ptr );
unsigned short audio_dispose_process( device_instance *dvi_ptr );
void audio_volume_down( void );
void audio_volume_up( void );
char audio_volume_value_set( char value );
void audio_volume_set_delta( char delta );
unsigned char audio_volume_mute_toggle( void );
void audio_peak_indicator( void );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -