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 _FT450D_H 22 #define _FT450D_H 23 24 #include "rigbase.h" 25 26 class RIG_FT450D : public rigbase { 27 private: 28 bool notch_on; 29 int m_60m_indx; 30 public: 31 RIG_FT450D(); ~RIG_FT450D()32 ~RIG_FT450D(){} 33 34 void initialize(); 35 36 bool check(); 37 38 unsigned long int get_vfoA(); 39 void set_vfoA(unsigned long int); 40 unsigned long int get_vfoB(); 41 void set_vfoB(unsigned long int); 42 43 void selectA(); 44 void selectB(); 45 void A2B(); 46 int get_vfoAorB(); 47 48 void set_modeA(int val); 49 int get_modeA(); 50 int get_modetype(int n); 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 twovfos()59 bool twovfos() {return true;} can_split()60 bool can_split() {return true;} 61 void set_split(bool); 62 int get_split(); 63 64 int get_smeter(); 65 int get_swr(); 66 int get_alc(); 67 68 int get_agc(); 69 int incr_agc(); 70 const char *agc_label(); 71 int agc_val(); 72 73 int get_power_out(); 74 int get_power_control(); get_pc_min_max_step(double & min,double & max,double & step)75 void get_pc_min_max_step(double &min, double &max, double &step) { 76 min = 5; pmax = max = 100; step = 1; } 77 void set_volume_control(int val); 78 int get_volume_control(); 79 void get_vol_min_max_step(int &min, int &max, int &step); 80 void set_power_control(double val); 81 void set_PTT_control(int val); 82 int get_PTT(); 83 void tune_rig(int); 84 int get_tune(); 85 void set_attenuator(int val); 86 int get_attenuator(); 87 void set_preamp(int val); 88 int get_preamp(); 89 void set_if_shift(int val); 90 bool get_if_shift(int &val); 91 void get_if_min_max_step(int &min, int &max, int &step); 92 void set_notch(bool on, int val); 93 bool get_notch(int &val); 94 void get_notch_min_max_step(int &min, int &max, int &step); 95 void set_noise(bool b); 96 void set_mic_gain(int val); 97 int get_mic_gain(); 98 void get_mic_min_max_step(int &min, int &max, int &step); 99 100 void set_rf_gain(int val); 101 int get_rf_gain(); 102 void get_rf_min_max_step(int &min, int &max, int &step); 103 104 void set_special(int v); 105 106 void set_vox_onoff(); 107 void set_vox_gain(); get_vox_gain_min_max_step(int & min,int & max,int & step)108 void get_vox_gain_min_max_step(int &min, int &max, int &step) { 109 min = 0; max = 255; step = 1; } 110 void set_vox_hang(); get_vox_hang_min_max_step(int & min,int & max,int & step)111 void get_vox_hang_min_max_step(int &min, int &max, int &step) { 112 min = 100; max = 3000; step = 100; } 113 get_cw_wpm_min_max(int & min,int & max)114 void get_cw_wpm_min_max(int &min, int &max) { 115 min = 4; max = 60; } 116 117 void set_cw_weight(); 118 void set_cw_wpm(); 119 void enable_keyer(); 120 void set_break_in(); 121 int get_break_in(); 122 123 void get_cw_weight(); 124 void get_cw_wpm(); 125 void get_qsk(); 126 void get_qsk_delay(); 127 void get_cw_spot_tone(); 128 void get_vox_gain(); 129 void get_vox_hang(); 130 131 void set_cw_qsk(); get_cw_qsk_min_max_step(double & min,double & max,double & step)132 void get_cw_qsk_min_max_step(double &min, double &max, double &step) { 133 min = 30; max = 3000; step = 10; } 134 135 void set_cw_delay(); get_cw_delay_min_max_step(double & min,double & max,double & step)136 void get_cw_delay_min_max_step(double &min, double &max, double &step) { 137 min = 30; max = 3000; step = 10; } 138 139 bool set_cw_spot(); 140 void set_cw_spot_tone(); get_cw_spot_tone_min_max_step(int & min,int & max,int & step)141 void get_cw_spot_tone_min_max_step(int &min, int &max, int &step) { 142 min = 400; max = 800; step = 100; } 143 get_nr_min_max_step(int & min,int & max,int & step)144 void get_nr_min_max_step(int &min, int &max, int &step) { 145 min = 1; max = 11; step = 1; } 146 147 void set_noise_reduction_val(int val); 148 int get_noise_reduction_val(); 149 void set_noise_reduction(int val); 150 int get_noise_reduction(); 151 152 void set_xcvr_auto_on(); 153 void set_xcvr_auto_off(); 154 155 int adjust_bandwidth(int); 156 int def_bandwidth(int); 157 const char ** bwtable(int); 158 159 void set_BANDWIDTHS(std::string s); 160 std::string get_BANDWIDTHS(); 161 162 void get_band_selection(int v); 163 164 }; 165 166 #endif 167