#define BUTTON_IDLE 0 #define BUTTON_PRESSED 1 #define BUTTON_RELEASED 2 #define MAX_FLOWCNT 31 #define MAX_DEVNAMES 10 #define MAX_LOWSPEED 10 #define ABOVE_MAX_SPEED 768000 extern int spurcancel_flag; extern int spurinit_flag; extern int autospur_point; extern int hand_key; extern int kill_all_flag; extern char lbutton_state; extern char rbutton_state; extern char new_lbutton_state; extern char new_rbutton_state; extern int lir_errcod; extern int all_threads_started; extern int latest_listsend_time; extern int net_no_of_errors; extern double recent_time; extern int font_xsep; extern int font_ysep; extern int font_w; extern int font_h; extern int font_size; extern int mouse_task; extern int rxin_block_counter; extern float min_delay_time; extern int savefile_repeat_flag; extern int os_flag; extern int qz; extern int usercontrol_mode; extern float tune_yzer; extern int workload_reset_flag; extern int graphics_flag; extern int audio_flag; extern FILE *dmp; extern FILE *sndlog; extern FILE *wav_file; extern int mmx_present; extern int simd_present; extern ROUTINE par_from_keyboard_routine; extern float baseband_bw_hz; extern int baseband_bw_fftxpts; extern int fft2_to_fft1_ratio; extern int no_of_netslaves; extern char network_filename[]; extern int netsend_fd; extern int netrec_fd; extern int fft1_blknum; extern int raw16_blknum; extern int raw18_blknum; extern int raw24_blknum; extern int fft1_blknum; extern int timf2_blknum; extern int fft2_blknum; extern int next_blkptr_16; extern int next_blkptr_18; extern int next_blkptr_24; extern int next_blkptr_fft1; extern int next_blkptr_timf2; extern int next_blkptr_fft2; extern int netsend_ptr_16; extern int netsend_ptr_18; extern int netsend_ptr_24; extern int netsend_ptr_fft1; extern int netsend_ptr_timf2; extern int netsend_ptr_fft2; extern int uiparm_change_flag; extern USERINT_PARM ui; extern SSBPROC_PARM txssb; extern CWPROC_PARM txcw; extern int lir_inkey; extern char *vga_font; extern int text_width; extern int text_height; extern int screen_last_xpixel; extern int screen_last_col; extern int screen_width; extern int screen_height; extern int screen_totpix; extern char userint_filename[]; extern int mouse_flag; extern int mouse_hide_flag; extern int mouse_x; extern int new_mouse_x; extern int mouse_xmax; extern int mouse_xmin; extern int mouse_y; extern int new_mouse_y; extern int mouse_ymax; extern int mouse_ymin; extern int mouse_cursize; extern int leftpressed; extern int rightpressed; extern int mouse_lbutton_x; extern int mouse_rbutton_x; extern int mouse_lbutton_y; extern int mouse_rbutton_y; extern int rx_audio_in; extern int rx_audio_in2; extern int rx_audio_out; extern int mixer; extern int adout_block; extern char *rx_da_wrbuf; extern char *tx_da_wrbuf; extern int rx_da_totbytes; extern int tx_da_totbytes; extern float total_wttim; extern int rx_daout_bytes; extern int rx_daout_channels; extern int timinfo_flag; extern int ampinfo_flag; extern float measured_da_speed; extern float measured_ad_speed; extern double diskread_time; extern double eme_time; extern int dasync_counter; extern float dasync_sum; extern float dasync_avg1; extern float dasync_avg2; extern float dasync_avg3; extern double dasync_time; extern double dasync_avgtime; extern double daspeed_time; extern double da_start_time; extern int overrun_count; extern int da_start_samps; extern char savefile_parname[]; extern int memalloc_no; extern int memalloc_max; extern MEM_INF *memalloc_mem; extern DXDATA *dx; extern int timf3_oscilloscope_limit; extern int rx_mode; extern int use_bfo; extern int rx_channels; extern int twice_rxchan; extern int mailbox[]; extern char *rxpar_filenames[MAX_RX_MODE]; extern char *rxmodes[MAX_RX_MODE]; extern int genparm[MAX_GENPARM+2]; extern int genparm_min[MAX_GENPARM]; extern int genparm_max[MAX_GENPARM]; extern int genparm_default[MAX_RX_MODE][MAX_GENPARM]; extern char *genparm_text[MAX_GENPARM+2]; extern char modes_man_auto[3]; extern MEM_INF fft1mem[MAX_FFT1_ARRAYS]; extern MEM_INF fft3mem[MAX_FFT3_ARRAYS]; extern MEM_INF basebmem[MAX_BASEB_ARRAYS]; extern MEM_INF hiresmem[MAX_HIRES_ARRAYS]; extern MEM_INF afcmem[MAX_AFC_ARRAYS]; extern MEM_INF voicelabmem[MAX_VOICELAB_ARRAYS]; extern MEM_INF txmem[MAX_TXMEM_ARRAYS]; extern MEM_INF blankermem[MAX_BLANKER_ARRAYS]; extern int current_graph_minh; extern int current_graph_minw; extern int calibrate_flag; extern double old_passband_center; extern int wav_write_flag; extern int wav_read_flag; extern int wavfile_bytes; extern int swmmx_fft2; extern int swmmx_fft1; extern int swfloat; extern int sw_onechan; extern int eme_flag; extern char *press_any_key; extern char *press_enter; extern int lir_status; extern int audio_dump_flag; extern int diskread_pause_flag; extern int allow_parport; extern float rx_output_blockrate; extern char *audiomode_text[4]; extern char serport_name[]; extern char remind_parsave[]; void save_screen_image(void); void process_current_lir_inkey(void); void *chk_free(void *p); void await_keyboard(void); void await_processed_keyboard(void); void clear_await_keyboard(void); void clear_keyboard(void); void test_keyboard(void); void toupper_await_keyboard(void); void settextcolor(unsigned char color); void lir_text(int x, int y, char *txt); void init_font(int font_type); void clear_lines(int i, int j); void show_mouse(void); void unconditional_hide_mouse(void); void hide_mouse(int x1,int x2,int iy1,int y2); void dsp_mouse(void); void open_mouse(void); void close_mouse(void); void open_rx_sndin(void); void open_rx_sndout(void); void close_rx_sndin(void); void close_rx_sndout(void); void clear_real2iq(void); void set_analog_io(void); void free_buffers(void); void make_sincos(int mo, int sz, COSIN_TABLE *tab); void make_permute(int mo, int nz, int sz, unsigned short int *perm); void make_bigpermute(int mo, int nz, int sz, unsigned int *perm); void make_window(int i, int size, int n_sin, float *fft1_window); void init_fft(int i,int n, int size, COSIN_TABLE *tab, unsigned short int *permute); void init_d_fft(int i,int n, int size, D_COSIN_TABLE *tab, unsigned short int *permute); void init_big_fft(int i,int n, int size, COSIN_TABLE *tab, unsigned int *permute); void init_mmxfft(int size, MMX_COSIN_TABLE *tab); void make_mmxwindow(int mo, int size, int n, short int *x); void fftback(int sz, int n, float *x, COSIN_TABLE *sc, unsigned short int *pm); void d_fftback(int sz, int n, double *x, D_COSIN_TABLE *sc, unsigned short int *pm); void big_fftback(int sz, int n, float *x, COSIN_TABLE *sc, unsigned int *pm); void dual_fftback(int sz, int n, float *x, COSIN_TABLE *sc, unsigned short int *pm); void fftforward(int sz, int n, float *x, COSIN_TABLE *sc, unsigned short int *pm); void d_fftforward(int sz, int n, double *x, D_COSIN_TABLE *sc, unsigned short int *pm); void big_fftforward(int sz, int n, float *x, COSIN_TABLE *sc, unsigned int *pm); void dual_fftforward(int sz, int n, float *x, COSIN_TABLE *sc, unsigned short int *pm); void fft_iqshift(int size, float *x); void fft_real_to_hermitian( float *z, int size, int n, COSIN_TABLE *tab); void asmbulk_of_dual_dif(int size, int n, float *x, COSIN_TABLE *sincos); void asmbulk_of_dif(int size, int n, float *x, COSIN_TABLE *sincos); void bulk_of_dif(int size, int n, float *x, COSIN_TABLE *sincos); void bulk_of_dual_dif(int size, int n, float *x, COSIN_TABLE *sincos); void bulk_of_dit(int size, int n, float *x, COSIN_TABLE *sincos); void bulk_of_dual_dit(int size, int n, float *x, COSIN_TABLE *sincos); void simdbulk_of_dual_dit(int size, int n, float *x, COSIN_TABLE *sincos); int check_mmx(void); void get_buffers(int filldat); void get_wideband_sizes(void); int adjust_scale(double *step); int llsq(void); int llsq1(void); int make_power_of_two(int *i); int lir_get_filename(int x, int y, char *name); int lir_get_integer(int x, int y, int len, int min, int max); float lir_get_float(int x, int y, int len, float min, float max); void xz(char *s); void qq(char *s); void qq1(char *s); void qq2(char *s); void tt0(void); void tt(char *s); float tt1(void); void disksave_start_stop(void); void wavsave_start_stop(void); void make_new_signal(int ss, float fq); void make_wg_file(void); void make_wg_yfac(void); void make_hg_file(void); void baseband_fq_scale(void); void hires_fq_scale(void); void make_hg_yscale(void); void new_fft2_averages(void); void wide_graph_add_signal(void); void make_fft3_all(void); void show_baseband_spectrum(void); void fft3_mix2(void); void init_blanker(void); void new_hg_pol(void); void timf3_oscilloscope(void); void wg_waterf_line(void); void bg_waterf_line(void); void clear_fft1_filtercorr(void); void init_fft1_filtercorr(void); void set_general_parms(char *mode); void make_rx_audio_output(void); void clear_da(void); void change_fft3_avgnum(void); void make_ad_wttim(void); void make_fft2_wttim(void); void make_audio_signal(void); int make_da_wts(void); void make_fft2_wttim(void); void make_timing_info(void); void show_amp_info(void); void amp_info_texts(void); void show_timing_info(void); void timing_info_texts(void); void update_bar(int x1, int x2, int yzer, int newy, int oldy, unsigned char color, char *buf); void parabolic_fit(float *amp, float *pos, float yy1, float yy2, float yy3); void set_daout_parms(void); void parfile_end(FILE *file); void lir_setpixel(int x, int y, unsigned char c); void lir_getpalettecolor(int j, int *r, int *g, int *b); void lir_pixwrite(int x, int y, char *s); void lir_hline(int xx1, int y, int xx2, unsigned char c); void lir_line(int xx1, int yy1, int xx2,int yy2, unsigned char c); void lir_fillbox(int x, int y,int w, int h, unsigned char c); void lir_putbox(int x, int y, int w, int h, void* dp); void lir_getbox(int x, int y, int w, int h, void* dp); void help_message(int msg_no); void help_screen_objects(void); void select_pol_default(void); void init_spur_elimination(void); void cancel_spur_elimination(void); void eliminate_spurs(void); void init_spur_spectra(void); float average_curvature(float *z, int siz); float average_slope(float *z, int siz); void spur_phase_parameters(void); void complex_lowpass(float *zin, float *zout, int nn, int siz); void remove_phasejumps(float *z, int siz); int spur_phase_lock(int nx); int make_spur_freq(void); void make_spur_pol(void); void spurspek_norm(void); int spur_relock(void); void refine_pll_parameters(void); int verify_spur_pll(void); void shift_spur_table(int j); void coherent_cw_detect(void); void clear_coherent(void); void clear_cg_traces(void); void init_memalloc(MEM_INF *mem, int max); void mem(int num, void *pointer, int size, int scratch_size); int memalloc( int *handle, char *s); void memcheck(int n, MEM_INF *mm, int *handle); void ncw_rx(void); double current_time(void); void show_name_and_size(void); int init_wavread(int m); int init_diskread(int m); void init_eme_database(void); void read_eme_database(void); void init_eme_graph(void); void calculate_moon_data(void); void init_freq_control(void); void erase_numinput_txt(void); void read_freq_control_data(void); void wide_fq_scale(void); void users_open_devices(void); void users_close_devices(void); void users_init_mode(void); void expand_fft1_filtercorr(int cal_n, int cal_size); void make_filcorrstart(void); void show_center_frequency(void); void userdefined_u(void); void userdefined_q(void); void check_mouse_actions(void); void rx_audio_output_start(void); int read_modepar_file(int type); void make_modepar_file(int type); void show_button(BUTTONS *butt, char *s); void show_wtrfbutton(BUTTONS *butt, char *s); void remove_carr_indicator(void); void txtest(void); void txtest_init(void); void clear_hware_data(void); void hware_interface_test(void); void tune(void); void frequency_readout(void); void err_restart_da(int errcod); int tx_setup(void); void mouse_on_users_graph(void); void do_nothing(int n); void clear_screen(void); void await_mouse_event(void); void graph_borders(WG_PARMS *a,unsigned char color); void dual_graph_borders(WG_PARMS *a,unsigned char color); void timerr(int line, char*s); void main_menu(void); void lir_unlock_mem(void); int lir_lock_mem(void); void update_iq_foldcorr(void); void clear_iq_foldcorr(void); void lir_sem_post(int no); void lir_sem_wait(int no); void lir_sem_init(int no); void lir_join(int no); void lir_sleep(int us); void lir_sync(void); int lir_get_epoch_seconds(void); double lir_get_cpu_time(void); void lir_system_times(double *cpu_time, double *total_time); void rx_file_input(void); void screen_routine(void); char lir_inb(int port); void lir_outb(char bytedat, int port); float lir_random(void); void lir_srandom(void); void narrowband_dsp(void); void wideband_dsp(void); void rx_output(void); int lir_rx_output_bytes(void); int lir_tx_output_bytes(void); void lir_empty_da_device_buffer(void); int lir_parport_permission(void); void sdr14_input(void); void cal_filtercorr(void); void powtim(void); void rx_adtest(void); void cal_iqbalance(void); void do_cal_interval(void); void user_command(void); void tx_output(void); void tx_input(void); void txtest(void); void free_semaphores(void); void lir_sem_free(int no); void lir_refresh_screen(void); void lirerr(int errcod); void lir_rx_dawrite(void); void resume_thread(int no); void pause_thread(int no); void lir_move_mouse_cursor(void); void mouse_nothing(void); int lir_get_text(int x, int y, char *txtbuf); void set_button_states(void); void init_os_independent_globals(void); void win_global_uiparms(int wn); void lin_global_uiparms(int wn); void x_global_uiparms(int wn); void clear_wide_maxamps(void); void simulate_keyboard(char chr); void show_errmsg(int screen_mode); void lir_sched_yield(void); void check_filtercorr_direction(void); void kill_all(void); void lir_close_serport(void); void lir_open_serport(int serport_number, int baudrate,int stopbit_flag); void pause_screen_and_hide_mouse(void); void set_button_coordinates(void); void manage_network(unsigned int change); void init_network(void); void netsend_errors(void); void could_not_create(char *filename); void init_genparm(int uiupd); void use_filtercorr_fd(int cal_n, int cal_size, float *cal_corr, float *cal_desired); void use_filtercorr_td(int cal_size, float *corr, float *desired); void use_iqcorr(void); void lir_send_raw16(void); void lir_send_raw18(void); void lir_send_raw24(void); void lir_send_fft1(void); void lir_send_timf2(void); void lir_send_fft2(void); void net_send_slaves_freq(void); int ms_since_midnight(void); void close_network_sockets(void); int lir_write_serport(void *s, int bytes); void decrement_rx_frequency(void); void increment_rx_frequency(void); void show_wheel_stepmult(void); int read_txpar_file(void); void hware_set_rxtx(int state); void lir_mutex_init(void); void lir_mutex_destroy(void); void lir_mutex_lock(void); void lir_mutex_unlock(void); void init_tx_graph(void); void show_tx_frequency(void); void set_default_spproc_parms(void); int check_tx_devices(void); void make_cal_fft1_filtercorr(void);