1 // ----------------------------------------------------------------------------
2 // Copyright (C) 2014
3 //              David Freese, W1HKJ
4 //
5 // This file is part of flrig.
6 //
7 // flrig is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // flrig is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // aunsigned long int with this program.  If not, see <http://www.gnu.org/licenses/>.
19 // ----------------------------------------------------------------------------
20 
21 #ifndef _IC703_H
22 #define _IC703_H
23 
24 #include "ICbase.h"
25 
26 class RIG_IC703 : public RIG_ICOM {
27 public:
28 	RIG_IC703();
~RIG_IC703()29 	~RIG_IC703(){}
30 
31 	void initialize();
32 
33 	bool check();
34 
35 	unsigned long int get_vfoA(void);
36 	void set_vfoA(unsigned long int);
37 
38 	void set_modeA(int val);
39 	int  get_modeA();
40 	void set_bwA(int val);
41 	int  get_modetype(int n);
42 	int  get_bwA();
43 
44 	int  get_smeter();
45 	int  get_power_out();
46 	int  get_swr();
47 	int  get_alc();
48 
49 	void set_attenuator(int val);
50 	int  get_attenuator();
51 	int  next_preamp();
52 	void set_preamp(int val);
53 	int  get_preamp();
54 	void set_compression(int, int);
get_comp_min_max_step(int & min,int & max,int & step)55 	void get_comp_min_max_step(int &min, int &max, int &step) {
56 		min = 0; max = 10; step = 1; }
57 	void set_vox_onoff();
58 	void set_vox_gain();
59 	void set_vox_anti();
60 	void set_vox_hang();
61 	void set_PTT_control(int val);
62 
get_cw_wpm_min_max(int & min,int & max)63 	void get_cw_wpm_min_max(int &min, int &max) {
64 		min = 6; max = 60; }
65 
get_cw_qsk_min_max_step(double & min,double & max,double & step)66 	void get_cw_qsk_min_max_step(double &min, double &max, double &step) {
67 		min = 2.0; max = 13.0; step = 0.1; }
68 
get_cw_spot_tone_min_max_step(int & min,int & max,int & step)69 	void get_cw_spot_tone_min_max_step(int &min, int &max, int &step) {
70 		min = 300; max = 900; step = 300; }
71 
72 	void set_cw_wpm();
73 	void set_cw_qsk();
74 	void set_cw_spot_tone();
75 	void set_cw_vol();
76 
77 	void set_noise(bool val);
78 	int  get_noise();
79 	void set_noise_reduction(int val);
80 	int  get_noise_reduction();
81 	void set_noise_reduction_val(int val);
82 	int  get_noise_reduction_val();
83 
84 	void set_volume_control(int val);
85 	int  get_volume_control();
86 	void get_vol_min_max_step(int &min, int &max, int &step);
87 
88 	int  get_mic_gain();
89 	void set_mic_gain(int val);
90 	void get_mic_gain_min_max_step(int &min, int &max, int &step);
91 
92 	void set_if_shift(int val);
93 	bool get_if_shift(int &val);
94 	void get_if_min_max_step(int &min, int &max, int &step);
95 
96 	void set_pbt_inner(int val);
97 	void set_pbt_outer(int val);
98 
99 	int  get_pbt_inner();
100 	int  get_pbt_outer();
101 
102 	void set_squelch(int val);
103 	int  get_squelch();
104 
105 	void set_rf_gain(int val);
106 	int  get_rf_gain();
107 
108 	void set_power_control(double val);
109 	int  get_power_control();
110 
111 	void set_split(bool val);
112 	int  get_split();
113 
114 protected:
115 	int  preamp_level;
116 	int  atten_level;
117 };
118 
119 #endif
120