00001 /*This file has been prepared for Doxygen automatic documentation generation.*/ 00048 #ifndef _DSP_PROCESS_H_ 00049 #define _DSP_PROCESS_H_ 00050 00051 #include "dsp.h" 00052 00053 #define NUM_FILTERS 3 00054 00055 struct signal_source { 00056 unsigned int frequency; 00057 dsp16_t volume; 00058 dsp16_t phase; 00059 unsigned int default_freq; 00060 dsp16_t default_volume; 00061 }; 00062 00063 extern struct signal_source signal1_generator; 00064 extern struct signal_source signal2_generator; 00065 00066 void output_set_volume(dsp16_t volume); 00067 00068 void output_set_default_vol(); 00069 00070 dsp16_t output_get_volume(); 00071 00072 void signal_source_init(struct signal_source *source, 00073 unsigned int frequency, dsp16_t volume); 00074 00075 void signal_source_set_freq(struct signal_source *source, 00076 unsigned int frequency); 00077 00078 unsigned int signal_source_get_freq(struct signal_source *source); 00079 00080 void signal_source_restore_defaults(struct signal_source *source); 00081 00082 void signal_source_set_volume(struct signal_source *source, 00083 dsp16_t volume); 00084 00085 dsp16_t signal_source_get_volume(struct signal_source *source); 00086 00087 void filter_set_active(unsigned int num); 00088 void filter_restore_default(); 00089 const char * filter_get_description(unsigned int num); 00090 const char * filter_active_get_description(); 00091 00092 void dsp_process_init(int cpu_hz, int hsb_hz, int pba_hz, int pbb_hz); 00093 void dsp_process_task(void); 00094 00095 #endif //_DSP_PROCESS_H_