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 _IC756PRO3_H
22 #define _IC756PRO3_H
23 
24 #include "ICbase.h"
25 
26 class RIG_IC756PRO3 : public RIG_ICOM {
27 public:
28 	RIG_IC756PRO3();
~RIG_IC756PRO3()29 	~RIG_IC756PRO3(){}
30 
31 	void initialize();
32 
33 	void selectA();
34 	void selectB();
35 
36 	bool check();
37 
38 	unsigned long int get_vfoA(void);
39 	void set_vfoA(unsigned long int f);
40 	int  get_modetype(int n);
41 	void set_modeA(int val);
42 	int  get_modeA();
43 	void set_bwA(int val);
44 	int  get_bwA();
45 
46 	unsigned long int get_vfoB(void);
47 	void set_vfoB(unsigned long int f);
48 	void set_modeB(int val);
49 	int  get_modeB();
50 	void set_bwB(int val);
51 	int  get_bwB();
52 
53 	int  get_smeter();
54 	int  get_swr(void);
55 	int  get_alc(void);
56 	int  get_power_out(void);
57 
58 	void set_volume_control(int val);
59 	int  get_volume_control();
60 	void get_vol_min_max_step(int &min, int &max, int &step);
61 
62 	void set_PTT_control(int val);
63 	int  get_PTT();
64 
65 	void set_noise(bool val);
66 	int  get_noise();
67 
68 	void set_noise_reduction(int val);
69 	int  get_noise_reduction();
70 
71 	void set_noise_reduction_val(int val);
72 	int  get_noise_reduction_val();
73 
74 	void set_mic_gain(int val);
75 	int  get_mic_gain();
76 	void get_mic_gain_min_max_step(int &min, int &max, int &step);
77 
78 	void set_if_shift(int val);
79 	void get_if_min_max_step(int &min, int &max, int &step);
80 
81 	void set_pbt_inner(int val);
82 	void set_pbt_outer(int val);
83 
84 	int  get_pbt_inner();
85 	int  get_pbt_outer();
86 
87 	const char *FILT(int &val);
88 	const char *nextFILT();
89 
90 	void set_squelch(int val);
91 	int  get_squelch();
92 
93 	void set_rf_gain(int val);
94 	int  get_rf_gain();
95 
96 	void set_power_control(double val);
97 	int  get_power_control();
98 
99 	void set_split(bool val);
100 	int  get_split();
can_split()101 	bool can_split() { return true;}
102 
103 	int  next_attenuator();
104 	void set_attenuator(int val);
105 	int  get_attenuator();
106 
107 	int  next_preamp();
108 	void set_preamp(int val);
109 	int  get_preamp();
110 
111 	int  adjust_bandwidth(int);
112 	int  def_bandwidth(int);
113 
114 	void set_notch(bool, int);
115 	bool get_notch(int&);
116 	void get_notch_min_max_step(int&, int&, int&);
117 
118 	void set_auto_notch(int);
119 	int  get_auto_notch();
120 
twovfos()121 	bool twovfos() { return false; }
122 
canswap()123 	bool  canswap() { return true; }
124 
125 	void swapAB();
126 	void A2B();
127 
128 	const char **bwtable(int);
129 
130 	void set_band_selection(int v);
131 	void get_band_selection(int v);
132 
133 protected:
134 	int  ICvol;
135 
136 };
137 
138 
139 #endif
140