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 _IC7200_H 22 #define _IC7200_H 23 24 #include "ICbase.h" 25 26 class RIG_IC7200 : public RIG_ICOM { 27 private: 28 int atten_level; 29 public: 30 RIG_IC7200(); ~RIG_IC7200()31 ~RIG_IC7200(){} 32 33 bool CW_sense; 34 35 void initialize(); 36 37 bool check(); 38 39 void selectA(); 40 void selectB(); 41 42 unsigned long int get_vfoA (); 43 void set_vfoA (unsigned long int freq); 44 45 unsigned long int get_vfoB(void); 46 void set_vfoB(unsigned long int f); 47 48 int get_modetype(int n); 49 void set_modeA(int val); 50 int get_modeA(); 51 void set_bwA(int val); 52 int get_bwA(); 53 54 void set_modeB(int val); 55 int get_modeB(); 56 void set_bwB(int val); 57 int get_bwB(); 58 59 void set_PTT_control(int val); 60 int get_PTT(); 61 void set_volume_control(int val); 62 int get_volume_control(); 63 void get_vol_min_max_step(int &min, int &max, int &step); 64 void set_attenuator(int val); 65 int next_attenuator(); 66 int get_attenuator(); 67 int get_smeter(); 68 int get_power_out(void); 69 int get_swr(void); 70 int get_alc(void); 71 72 void set_noise(bool val); 73 int get_noise(); 74 void set_nb_level(int val); 75 int get_nb_level(); 76 77 void set_noise_reduction(int val); 78 int get_noise_reduction(); 79 void set_noise_reduction_val(int val); 80 int get_noise_reduction_val(); 81 get_nr_min_max_step(int & min,int & max,int & step)82 void get_nr_min_max_step(int &min, int &max, int &step) { 83 min = 0; max = 15; step = 1; } 84 85 void set_preamp(int val); 86 int next_preamp(); 87 int get_preamp(); 88 void set_rf_gain(int val); 89 int get_rf_gain(); 90 void set_squelch(int val); 91 int get_squelch(); 92 93 void set_power_control(double val); 94 int get_power_control(); 95 96 void set_mic_gain(int val); 97 int get_mic_gain(); 98 void get_mic_gain_min_max_step(int &min, int &max, int &step); 99 100 void set_notch(bool on, int val); 101 bool get_notch(int &val); 102 void get_notch_min_max_step(int &min, int &max, int &step); 103 104 bool get_if_shift(int &val); 105 void set_if_shift(int val); 106 void get_if_min_max_step(int &min, int &max, int &step); 107 108 void set_pbt_inner(int val); 109 void set_pbt_outer(int val); 110 111 int get_pbt_inner(); 112 int get_pbt_outer(); 113 114 const char *FILT(int val); 115 const char *nextFILT(); 116 117 int get_FILT(int mode); 118 void set_FILT(int filter); 119 120 void set_FILTERS(std::string s); 121 std::string get_FILTERS(); 122 123 void set_BANDWIDTHS(std::string s); 124 std::string get_BANDWIDTHS(); 125 126 int get_agc(); 127 int incr_agc(); 128 const char *agc_label(); 129 int agc_val(); 130 131 int adjust_bandwidth(int m); 132 int def_bandwidth(int m); 133 134 void set_compression(int, int); 135 void get_compression(int &on, int &val); get_comp_min_max_step(int & min,int & max,int & step)136 void get_comp_min_max_step(int &min, int &max, int &step) { 137 min = 0; max = 10; step = 1; } 138 139 void set_auto_notch(int val); 140 int get_auto_notch(); 141 142 void set_vox_onoff(); 143 void set_split(bool); 144 int get_split(); 145 bool can_split(); 146 const char **bwtable(int); 147 canswap()148 bool canswap() { return true; } 149 150 void set_cw_wpm(); 151 void get_cw_wpm_min_max(int &min, int &max); 152 153 void set_break_in(); 154 void set_cw_qsk(); 155 void get_cw_qsk_min_max_step(double &min, double &max, double &step); 156 157 void set_cw_spot_tone(); 158 void get_cw_spot_tone_min_max_step(int &min, int &max, int &step); 159 160 void set_cw_vol(); 161 162 void setVfoAdj(double v); 163 double getVfoAdj(); get_vfoadj_min_max_step(int & min,int & max,int & step)164 void get_vfoadj_min_max_step(int &min, int &max, int &step) { 165 min = 0; max = 100; step = 1; } 166 167 void set_band_selection(int v); 168 void get_band_selection(int v); 169 170 protected: 171 int filter_nbr; 172 }; 173 174 #endif 175