mirror of
https://git.code.sf.net/p/fldigi/flrig
synced 2026-08-13 17:28:24 -04:00
FTdx101MP
* add FTdx101MP class based off of FTdx101D * add auto on/off to both FTdx101D and FTdx101MP
This commit is contained in:
parent
e7e7e2d976
commit
67bfab3da0
4 changed files with 341 additions and 250 deletions
|
|
@ -30,112 +30,127 @@ private:
|
|||
// void update_bandwidths();
|
||||
public:
|
||||
RIG_FTdx101D();
|
||||
~RIG_FTdx101D(){}
|
||||
~RIG_FTdx101D() {}
|
||||
|
||||
void initialize();
|
||||
virtual void initialize();
|
||||
|
||||
bool check();
|
||||
virtual bool check();
|
||||
|
||||
long get_vfoA();
|
||||
void set_vfoA(long);
|
||||
virtual long get_vfoA();
|
||||
virtual void set_vfoA(long);
|
||||
|
||||
long get_vfoB();
|
||||
void set_vfoB(long);
|
||||
virtual long get_vfoB();
|
||||
virtual void set_vfoB(long);
|
||||
|
||||
bool twovfos();
|
||||
void selectA();
|
||||
void selectB();
|
||||
void A2B();
|
||||
bool can_split();
|
||||
void set_split(bool val);
|
||||
int get_split();
|
||||
virtual bool twovfos();
|
||||
virtual void selectA();
|
||||
virtual void selectB();
|
||||
virtual void A2B();
|
||||
virtual bool can_split();
|
||||
virtual void set_split(bool val);
|
||||
virtual int get_split();
|
||||
|
||||
void swapAB();
|
||||
bool canswap() { return true; }
|
||||
virtual void swapAB();
|
||||
virtual bool canswap() { return true; }
|
||||
|
||||
void set_modeA(int val);
|
||||
int get_modeA();
|
||||
int get_modetype(int n);
|
||||
virtual void set_modeA(int val);
|
||||
virtual int get_modeA();
|
||||
virtual int get_modetype(int n);
|
||||
|
||||
void set_modeB(int val);
|
||||
int get_modeB();
|
||||
virtual void set_modeB(int val);
|
||||
virtual int get_modeB();
|
||||
|
||||
void set_bwA(int val);
|
||||
int get_bwA();
|
||||
virtual void set_bwA(int val);
|
||||
virtual int get_bwA();
|
||||
|
||||
void set_bwB(int val);
|
||||
int get_bwB();
|
||||
virtual void set_bwB(int val);
|
||||
virtual int get_bwB();
|
||||
|
||||
int adjust_bandwidth(int val);
|
||||
int def_bandwidth(int val);
|
||||
virtual int adjust_bandwidth(int val);
|
||||
virtual int def_bandwidth(int val);
|
||||
|
||||
void set_BANDWIDTHS(std::string s);
|
||||
std::string get_BANDWIDTHS();
|
||||
virtual void set_BANDWIDTHS(std::string s);
|
||||
virtual std::string get_BANDWIDTHS();
|
||||
|
||||
int get_smeter();
|
||||
int get_swr();
|
||||
int get_alc();
|
||||
int get_power_out();
|
||||
int get_power_control();
|
||||
void set_volume_control(int val);
|
||||
void set_power_control(double val);
|
||||
void get_pc_min_max_step(double &min, double &max, double &step) {
|
||||
virtual int get_smeter();
|
||||
virtual int get_swr();
|
||||
virtual int get_alc();
|
||||
virtual int get_power_out();
|
||||
virtual int get_power_control();
|
||||
virtual void set_power_control(double val);
|
||||
virtual void get_pc_min_max_step(double &min, double &max, double &step) {
|
||||
min = 5; max = 100; step = 1; }
|
||||
|
||||
int get_volume_control();
|
||||
void set_PTT_control(int val);
|
||||
int get_PTT();
|
||||
void tune_rig(int);
|
||||
int get_tune();
|
||||
int next_attenuator();
|
||||
void set_attenuator(int val);
|
||||
int get_attenuator();
|
||||
int next_preamp();
|
||||
void set_preamp(int val);
|
||||
int get_preamp();
|
||||
virtual void set_volume_control(int val);
|
||||
virtual int get_volume_control();
|
||||
virtual void set_PTT_control(int val);
|
||||
virtual int get_PTT();
|
||||
virtual void tune_rig(int);
|
||||
virtual int get_tune();
|
||||
virtual int next_attenuator();
|
||||
virtual void set_attenuator(int val);
|
||||
virtual int get_attenuator();
|
||||
virtual int next_preamp();
|
||||
virtual void set_preamp(int val);
|
||||
virtual int get_preamp();
|
||||
|
||||
void set_if_shift(int val);
|
||||
bool get_if_shift(int &val);
|
||||
void get_if_min_max_step(int &min, int &max, int &step);
|
||||
virtual void set_if_shift(int val);
|
||||
virtual bool get_if_shift(int &val);
|
||||
virtual void get_if_min_max_step(int &min, int &max, int &step);
|
||||
|
||||
void set_notch(bool on, int val);
|
||||
bool get_notch(int &val);
|
||||
void get_notch_min_max_step(int &min, int &max, int &step);
|
||||
virtual void set_notch(bool on, int val);
|
||||
virtual bool get_notch(int &val);
|
||||
virtual void get_notch_min_max_step(int &min, int &max, int &step);
|
||||
|
||||
void set_auto_notch(int v);
|
||||
int get_auto_notch();
|
||||
virtual void set_auto_notch(int v);
|
||||
virtual int get_auto_notch();
|
||||
|
||||
void set_noise(bool b);
|
||||
int get_noise();
|
||||
virtual void set_noise(bool b);
|
||||
virtual int get_noise();
|
||||
|
||||
void set_mic_gain(int val);
|
||||
int get_mic_gain();
|
||||
void get_mic_min_max_step(int &min, int &max, int &step);
|
||||
virtual void set_mic_gain(int val);
|
||||
virtual int get_mic_gain();
|
||||
virtual void get_mic_min_max_step(int &min, int &max, int &step);
|
||||
|
||||
void set_rf_gain(int val);
|
||||
int get_rf_gain();
|
||||
void get_rf_min_max_step(int &min, int &max, int &step);
|
||||
const char **bwtable(int);
|
||||
virtual void set_rf_gain(int val);
|
||||
virtual int get_rf_gain();
|
||||
virtual void get_rf_min_max_step(int &min, int &max, int &step);
|
||||
virtual const char **bwtable(int);
|
||||
|
||||
void set_vox_onoff();
|
||||
void set_vox_gain();
|
||||
void set_vox_anti();
|
||||
void set_vox_hang();
|
||||
void set_vox_on_dataport();
|
||||
virtual void set_vox_onoff();
|
||||
virtual void set_vox_gain();
|
||||
virtual void set_vox_anti();
|
||||
virtual void set_vox_hang();
|
||||
virtual void set_vox_on_dataport();
|
||||
|
||||
void get_cw_wpm_min_max(int &min, int &max) {
|
||||
virtual void get_cw_wpm_min_max(int &min, int &max) {
|
||||
min = 4; max = 60; }
|
||||
|
||||
void set_cw_weight();
|
||||
void set_cw_wpm();
|
||||
void enable_keyer();
|
||||
void set_cw_qsk();
|
||||
// void set_cw_vol();
|
||||
bool set_cw_spot();
|
||||
// void set_cw_spot_tone();
|
||||
virtual void set_cw_weight();
|
||||
virtual void set_cw_wpm();
|
||||
virtual void enable_keyer();
|
||||
virtual void set_cw_qsk();
|
||||
// virtual void set_cw_vol();
|
||||
virtual bool set_cw_spot();
|
||||
// virtual void set_cw_spot_tone();
|
||||
|
||||
virtual void get_band_selection(int v);
|
||||
|
||||
void set_xcvr_auto_on();
|
||||
void set_xcvr_auto_off();
|
||||
|
||||
void get_band_selection(int v);
|
||||
};
|
||||
|
||||
class RIG_FTdx101MP : public RIG_FTdx101D {
|
||||
public:
|
||||
RIG_FTdx101MP();
|
||||
~RIG_FTdx101MP() {}
|
||||
|
||||
void get_pc_min_max_step(double &min, double &max, double &step) {
|
||||
min = 5; max = 200; step = 1; }
|
||||
int get_power_out();
|
||||
int get_power_control();
|
||||
void set_power_control(double val);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -124,63 +124,64 @@ extern RIG_FT1000 rig_FT1000; // 19
|
|||
extern RIG_FT1000MP rig_FT1000MP; // 20
|
||||
extern RIG_FT2000 rig_FT2000; // 21
|
||||
extern RIG_FTdx101D rig_FTdx101D; // 22
|
||||
extern RIG_FTdx1200 rig_FTdx1200; // 23
|
||||
extern RIG_FTdx3000 rig_FTdx3000; // 24
|
||||
extern RIG_FT5000 rig_FT5000; // 25
|
||||
extern RIG_FTdx9000 rig_FTdx9000; // 26
|
||||
extern RIG_IC703 rig_IC703; // 27
|
||||
extern RIG_IC706MKIIG rig_IC706MKIIG; // 28
|
||||
extern RIG_IC718 rig_IC718; // 29
|
||||
extern RIG_IC728 rig_IC728; // 30
|
||||
extern RIG_IC735 rig_IC735; // 31
|
||||
extern RIG_IC746 rig_IC746; // 32
|
||||
extern RIG_IC746PRO rig_IC746PRO; // 33
|
||||
extern RIG_IC756 rig_IC756; // 34
|
||||
extern RIG_IC756PRO rig_IC756PRO; // 35
|
||||
extern RIG_IC756PRO2 rig_IC756PRO2; // 36
|
||||
extern RIG_IC756PRO3 rig_IC756PRO3; // 37
|
||||
extern RIG_IC7000 rig_IC7000; // 38
|
||||
extern RIG_IC7100 rig_IC7100; // 39
|
||||
extern RIG_IC7200 rig_IC7200; // 40
|
||||
extern RIG_IC7300 rig_IC7300; // 41
|
||||
extern RIG_IC7410 rig_IC7410; // 42
|
||||
extern RIG_IC7600 rig_IC7600; // 43
|
||||
extern RIG_IC7610 rig_IC7610; // 44
|
||||
extern RIG_IC7700 rig_IC7700; // 45
|
||||
extern RIG_IC7800 rig_IC7800; // 46
|
||||
extern RIG_IC7851 rig_IC7851; // 47
|
||||
extern RIG_IC9100 rig_IC9100; // 48
|
||||
extern RIG_IC9700 rig_IC9700; // 49
|
||||
extern RIG_IC910H rig_IC910H; // 50
|
||||
extern RIG_ICF8101 rig_ICF8101; // 51
|
||||
extern RIG_K2 rig_K2; // 52
|
||||
extern RIG_K3 rig_K3; // 53
|
||||
extern RIG_KX3 rig_KX3; // 54
|
||||
extern RIG_PCR1000 rig_PCR1000; // 55
|
||||
extern RIG_RAY152 rig_RAY152; // 56
|
||||
extern RIG_TS140 rig_TS140; // 57
|
||||
extern RIG_TS450S rig_TS450S; // 58
|
||||
extern RIG_TS480HX rig_TS480HX; // 59
|
||||
extern RIG_TS480SAT rig_TS480SAT; // 60
|
||||
extern RIG_TS570 rig_TS570; // 61
|
||||
extern RIG_TS590S rig_TS590S; // 62
|
||||
extern RIG_TS590SG rig_TS590SG; // 63
|
||||
extern RIG_TS790 rig_TS790; // 64
|
||||
extern RIG_TS850 rig_TS850; // 65
|
||||
extern RIG_TS870S rig_TS870S; // 66 wbx
|
||||
extern RIG_TS890S rig_TS890S; // 67
|
||||
extern RIG_TS940S rig_TS940S; // 68
|
||||
extern RIG_TS950 rig_TS950; // 69
|
||||
extern RIG_TS990 rig_TS990; // 70 G0HIX
|
||||
extern RIG_TS2000 rig_TS2000; // 71
|
||||
extern RIG_TT516 rig_TT516; // 72
|
||||
extern RIG_TT535 rig_TT535; // 73
|
||||
extern RIG_TT538 rig_TT538; // 74
|
||||
extern RIG_TT550 rig_TT550; // 75
|
||||
extern RIG_TT563 rig_TT563; // 76
|
||||
extern RIG_TT566 rig_TT566; // 77
|
||||
extern RIG_TT588 rig_TT588; // 78
|
||||
extern RIG_TT599 rig_TT599; // 79
|
||||
extern RIG_AOR5K rig_AOR5K; // 80
|
||||
extern RIG_FTdx101MP rig_FTdx101MP; // 23
|
||||
extern RIG_FTdx1200 rig_FTdx1200; // 24
|
||||
extern RIG_FTdx3000 rig_FTdx3000; // 25
|
||||
extern RIG_FT5000 rig_FT5000; // 26
|
||||
extern RIG_FTdx9000 rig_FTdx9000; // 27
|
||||
extern RIG_IC703 rig_IC703; // 28
|
||||
extern RIG_IC706MKIIG rig_IC706MKIIG; // 29
|
||||
extern RIG_IC718 rig_IC718; // 30
|
||||
extern RIG_IC728 rig_IC728; // 31
|
||||
extern RIG_IC735 rig_IC735; // 32
|
||||
extern RIG_IC746 rig_IC746; // 33
|
||||
extern RIG_IC746PRO rig_IC746PRO; // 34
|
||||
extern RIG_IC756 rig_IC756; // 35
|
||||
extern RIG_IC756PRO rig_IC756PRO; // 36
|
||||
extern RIG_IC756PRO2 rig_IC756PRO2; // 37
|
||||
extern RIG_IC756PRO3 rig_IC756PRO3; // 38
|
||||
extern RIG_IC7000 rig_IC7000; // 39
|
||||
extern RIG_IC7100 rig_IC7100; // 40
|
||||
extern RIG_IC7200 rig_IC7200; // 41
|
||||
extern RIG_IC7300 rig_IC7300; // 42
|
||||
extern RIG_IC7410 rig_IC7410; // 43
|
||||
extern RIG_IC7600 rig_IC7600; // 44
|
||||
extern RIG_IC7610 rig_IC7610; // 45
|
||||
extern RIG_IC7700 rig_IC7700; // 46
|
||||
extern RIG_IC7800 rig_IC7800; // 47
|
||||
extern RIG_IC7851 rig_IC7851; // 48
|
||||
extern RIG_IC9100 rig_IC9100; // 49
|
||||
extern RIG_IC9700 rig_IC9700; // 50
|
||||
extern RIG_IC910H rig_IC910H; // 51
|
||||
extern RIG_ICF8101 rig_ICF8101; // 52
|
||||
extern RIG_K2 rig_K2; // 53
|
||||
extern RIG_K3 rig_K3; // 54
|
||||
extern RIG_KX3 rig_KX3; // 55
|
||||
extern RIG_PCR1000 rig_PCR1000; // 56
|
||||
extern RIG_RAY152 rig_RAY152; // 57
|
||||
extern RIG_TS140 rig_TS140; // 58
|
||||
extern RIG_TS450S rig_TS450S; // 59
|
||||
extern RIG_TS480HX rig_TS480HX; // 60
|
||||
extern RIG_TS480SAT rig_TS480SAT; // 61
|
||||
extern RIG_TS570 rig_TS570; // 62
|
||||
extern RIG_TS590S rig_TS590S; // 63
|
||||
extern RIG_TS590SG rig_TS590SG; // 64
|
||||
extern RIG_TS790 rig_TS790; // 65
|
||||
extern RIG_TS850 rig_TS850; // 66
|
||||
extern RIG_TS870S rig_TS870S; // 67 wbx
|
||||
extern RIG_TS890S rig_TS890S; // 68
|
||||
extern RIG_TS940S rig_TS940S; // 69
|
||||
extern RIG_TS950 rig_TS950; // 70
|
||||
extern RIG_TS990 rig_TS990; // 71 G0HIX
|
||||
extern RIG_TS2000 rig_TS2000; // 72
|
||||
extern RIG_TT516 rig_TT516; // 73
|
||||
extern RIG_TT535 rig_TT535; // 74
|
||||
extern RIG_TT538 rig_TT538; // 75
|
||||
extern RIG_TT550 rig_TT550; // 76
|
||||
extern RIG_TT563 rig_TT563; // 77
|
||||
extern RIG_TT566 rig_TT566; // 78
|
||||
extern RIG_TT588 rig_TT588; // 79
|
||||
extern RIG_TT599 rig_TT599; // 80
|
||||
extern RIG_AOR5K rig_AOR5K; // 81
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -57,14 +57,14 @@ static const char FTdx101D_mode_chr[] = { '1', '2', '3', '4', '5', '6', '7', '8
|
|||
static const char FTdx101D_mode_type[] = { 'L', 'U', 'U', 'U', 'U', 'L', 'L', 'L', 'U', 'U', 'U', 'U', 'U', 'U', 'U' };
|
||||
|
||||
static const char *FTdx101D_widths_SSB[] = {
|
||||
"200", "400", "600", "850", "1100",
|
||||
"1350", "1500", "1650", "1800", "1950",
|
||||
"300", "400", "600", "850", "1100",
|
||||
"1200", "1500", "1650", "1800", "1950",
|
||||
"2100", "2200", "2300", "2400", "2500",
|
||||
"2600", "2700", "2800", "2900", "3000",
|
||||
"3200", NULL };
|
||||
"3200", "3500", "4000", NULL };
|
||||
|
||||
static int FTdx101D_wvals_SSB[] = {
|
||||
1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21, WVALS_LIMIT};
|
||||
1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23 WVALS_LIMIT};
|
||||
|
||||
static const char *FTdx101D_widths_CW[] = {
|
||||
"50", "100", "150", "200", "250",
|
||||
|
|
@ -84,7 +84,7 @@ static const char *FTdx101D_widths_RTTY[] = {
|
|||
static int FTdx101D_wvals_RTTY[] = {
|
||||
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18, WVALS_LIMIT };
|
||||
|
||||
static const char *FTdx101D_widths_PSK[] = {
|
||||
static const char *FTdx101D_widths_DATA[] = {
|
||||
"50", "100", "150", "200", "250",
|
||||
"300", "350", "400", "450", "500",
|
||||
"600", "800", "1200", "1400", "1700",
|
||||
|
|
@ -95,11 +95,12 @@ static int FTdx101D_wvals_PSK[] = {
|
|||
|
||||
static const int FTdx101D_wvals_AMFM[] = { 0, WVALS_LIMIT };
|
||||
|
||||
static const char *FTdx101D_widths_AMwide[] = { "AM-bw", NULL };
|
||||
static const char *FTdx101D_widths_AMnar[] = { "AM-nar", NULL };
|
||||
static const char *FTdx101D_widths_FMnar[] = { "FM-nar", NULL };
|
||||
static const char *FTdx101D_widths_FMwide[] = { "FM-wid", NULL };
|
||||
static const char *FTdx101D_widths_FMpkt[] = { "FM-pkt", NULL };
|
||||
static const char *FTdx101D_widths_AMwide[] = { "9000", NULL };
|
||||
static const char *FTdx101D_widths_AMnar[] = { "6000", NULL };
|
||||
static const char *FTdx101D_widths_FMnar[] = { "9000", NULL };
|
||||
static const char *FTdx101D_widths_FMwide[] = { "16000", NULL };
|
||||
static const char *FTdx101D_widths_DATA_FM[] = { "16000", NULL };
|
||||
static const char *FTdx101D_widths_DATA_FMN[] = { "9000", NULL };
|
||||
|
||||
static const char *FTdx101D_US_60m[] = {NULL, "126", "127", "128", "130", NULL};
|
||||
// US has 5 60M presets. Using dummy numbers for all.
|
||||
|
|
@ -207,7 +208,8 @@ RIG_FTdx101D::RIG_FTdx101D() {
|
|||
has_preamp_control =
|
||||
has_ifshift_control =
|
||||
has_ptt_control =
|
||||
has_tune_control = true;
|
||||
has_tune_control =
|
||||
has_xcvr_auto_on_off = true;
|
||||
|
||||
// derived specific
|
||||
atten_level = 0;
|
||||
|
|
@ -220,6 +222,27 @@ RIG_FTdx101D::RIG_FTdx101D() {
|
|||
|
||||
}
|
||||
|
||||
void RIG_FTdx101D::set_xcvr_auto_on()
|
||||
{
|
||||
// send dummy data request for ID (see pg 12 CAT reference book)
|
||||
cmd = "ID;";
|
||||
sendCommand(cmd);
|
||||
// wait 1 to 2 seconds
|
||||
MilliSleep(1500);
|
||||
cmd = "PS1;";
|
||||
sendCommand(cmd);
|
||||
// wait for power on status
|
||||
cmd = "PS;";
|
||||
waitN(4, 500, "Xcvr ON?", ASC);
|
||||
}
|
||||
|
||||
void RIG_FTdx101D::set_xcvr_auto_off()
|
||||
{
|
||||
cmd = "PS0;";
|
||||
sendCommand(cmd);
|
||||
sett("set_xcvr_auto_off");
|
||||
}
|
||||
|
||||
void RIG_FTdx101D::get_band_selection(int v)
|
||||
{
|
||||
int inc_60m = false;
|
||||
|
|
@ -720,13 +743,14 @@ int RIG_FTdx101D::adjust_bandwidth(int val)
|
|||
else if (val == mAM) bandwidths_ = FTdx101D_widths_AMwide;
|
||||
else if (val == mAM_N) bandwidths_ = FTdx101D_widths_AMnar;
|
||||
else if (val == mFM_N) bandwidths_ = FTdx101D_widths_FMnar;
|
||||
else if (val == mDATA_FM) bandwidths_ = FTdx101D_widths_FMpkt;
|
||||
else if (val == mDATA_FM) bandwidths_ = FTdx101D_widths_DATA_FM;
|
||||
else if (val == mDATA_FMN) bandwidths_ = FTdx101D_widths_DATA_FMN;
|
||||
bw_vals_ = FTdx101D_wvals_AMFM;
|
||||
} else if (val == mRTTY_L || val == mRTTY_U) { // RTTY
|
||||
bandwidths_ = FTdx101D_widths_RTTY;
|
||||
bw_vals_ = FTdx101D_wvals_RTTY;
|
||||
} else if (val == mDATA_L || val == mDATA_U) { // PSK
|
||||
bandwidths_ = FTdx101D_widths_PSK;
|
||||
bandwidths_ = FTdx101D_widths_DATA;
|
||||
bw_vals_ = FTdx101D_wvals_PSK;
|
||||
} else {
|
||||
bandwidths_ = FTdx101D_widths_SSB;
|
||||
|
|
@ -768,11 +792,11 @@ const char ** RIG_FTdx101D::bwtable(int n)
|
|||
case mRTTY_L: case mRTTY_U:
|
||||
return FTdx101D_widths_RTTY;
|
||||
case mDATA_L: case mDATA_U:
|
||||
return FTdx101D_widths_PSK;
|
||||
return FTdx101D_widths_DATA;
|
||||
case mFM_N:
|
||||
return FTdx101D_widths_FMnar;
|
||||
return FTdx101D_widths_DATA_FMN;
|
||||
case mDATA_FM:
|
||||
return FTdx101D_widths_FMpkt;
|
||||
return FTdx101D_widths_DATA_FM;
|
||||
default: ;
|
||||
}
|
||||
return FTdx101D_widths_SSB;
|
||||
|
|
@ -787,20 +811,8 @@ void RIG_FTdx101D::set_modeA(int val)
|
|||
sendCommand(cmd);
|
||||
showresp(WARN, ASC, "SET mode A", cmd, replystr);
|
||||
adjust_bandwidth(modeA);
|
||||
// if (val == mCW_U || val == mCW_L) return;
|
||||
// if (progStatus.spot_onoff) {
|
||||
// progStatus.spot_onoff = false;
|
||||
// set_spot_onoff();
|
||||
// cmd = "CS0;";
|
||||
// sendCommand(cmd);
|
||||
// showresp(WARN, ASC, "SET spot off", cmd, replystr);
|
||||
// btnSpot->value(0);
|
||||
// }
|
||||
}
|
||||
|
||||
//static string Amode = "MD03;";
|
||||
//static string Bmode = "MD19;";
|
||||
|
||||
int RIG_FTdx101D::get_modeA()
|
||||
{
|
||||
cmd = rsp = "MD0";
|
||||
|
|
@ -809,8 +821,6 @@ int RIG_FTdx101D::get_modeA()
|
|||
|
||||
gett("get_modeA()");
|
||||
|
||||
//replystr = Amode;
|
||||
|
||||
size_t p = replystr.rfind(rsp);
|
||||
if (p != string::npos) {
|
||||
if (p + 3 < replystr.length()) {
|
||||
|
|
@ -835,15 +845,6 @@ void RIG_FTdx101D::set_modeB(int val)
|
|||
sendCommand(cmd);
|
||||
showresp(WARN, ASC, "SET mode B", cmd, replystr);
|
||||
adjust_bandwidth(modeA);
|
||||
// if (val == mCW_U || val == mCW_L) return;
|
||||
// if (progStatus.spot_onoff) {
|
||||
// progStatus.spot_onoff = false;
|
||||
// set_spot_onoff();
|
||||
// cmd = "CS0;";
|
||||
// sendCommand(cmd);
|
||||
// showresp(WARN, ASC, "SET spot off", cmd, replystr);
|
||||
// btnSpot->value(0);
|
||||
// }
|
||||
}
|
||||
|
||||
int RIG_FTdx101D::get_modeB()
|
||||
|
|
@ -853,7 +854,6 @@ int RIG_FTdx101D::get_modeB()
|
|||
wait_char(';', 5, 100, "get mode B", ASC);
|
||||
|
||||
gett("get_modeB()");
|
||||
//replystr = Bmode;
|
||||
|
||||
size_t p = replystr.rfind(rsp);
|
||||
if (p != string::npos) {
|
||||
|
|
@ -870,9 +870,6 @@ int RIG_FTdx101D::get_modeB()
|
|||
return modeB;
|
||||
}
|
||||
|
||||
//static string Abw = "SH0000;";
|
||||
//static string Bbw = "SH1013;";
|
||||
|
||||
void RIG_FTdx101D::set_bwA(int val)
|
||||
{
|
||||
int bw_indx = bw_vals_[val];
|
||||
|
|
@ -908,7 +905,7 @@ int RIG_FTdx101D::get_bwA()
|
|||
wait_char(';', 7, 100, "get bw A", ASC);
|
||||
|
||||
gett("get_bwA()");
|
||||
//replystr = Abw;
|
||||
|
||||
size_t p = replystr.rfind(rsp);
|
||||
if (p == string::npos) return bwA;
|
||||
|
||||
|
|
@ -918,7 +915,7 @@ int RIG_FTdx101D::get_bwA()
|
|||
cmd = rsp = "NA0";
|
||||
cmd += ';';
|
||||
wait_char(';', 5, 100, "get narrow", ASC);
|
||||
//replystr = "NA00;";
|
||||
|
||||
p = replystr.rfind(rsp);
|
||||
if (p == std::string::npos)
|
||||
return mode_bwA[modeA] = bwA;
|
||||
|
|
@ -976,7 +973,7 @@ int RIG_FTdx101D::get_bwB()
|
|||
wait_char(';', 7, 100, "get bw B", ASC);
|
||||
|
||||
gett("get_bwB()");
|
||||
//replystr = Bbw;
|
||||
|
||||
size_t p = replystr.rfind(rsp);
|
||||
if (p == string::npos) return bwB;
|
||||
|
||||
|
|
@ -987,7 +984,7 @@ int RIG_FTdx101D::get_bwB()
|
|||
cmd = rsp = "NA1";
|
||||
cmd += ';';
|
||||
wait_char(';', 5, 100, "get narrow", ASC);
|
||||
//replystr = "NA11;";
|
||||
|
||||
p = replystr.rfind(rsp);
|
||||
if (p == std::string::npos)
|
||||
return mode_bwB[modeB] = bwB;
|
||||
|
|
@ -1038,9 +1035,9 @@ int RIG_FTdx101D::get_modetype(int n)
|
|||
void RIG_FTdx101D::set_if_shift(int val)
|
||||
{
|
||||
if (useB)
|
||||
cmd = "IS00+0000;";
|
||||
else
|
||||
cmd = "IS10+0000;";
|
||||
else
|
||||
cmd = "IS00+0000;";
|
||||
if (val != 0) progStatus.shift = true;
|
||||
else progStatus.shift = false;
|
||||
if (val < 0) cmd[4] = '-';
|
||||
|
|
@ -1056,9 +1053,9 @@ void RIG_FTdx101D::set_if_shift(int val)
|
|||
bool RIG_FTdx101D::get_if_shift(int &val)
|
||||
{
|
||||
if (useB)
|
||||
cmd = rsp = "IS10";
|
||||
cmd = rsp = "IS1";
|
||||
else
|
||||
cmd = rsp = "IS00";
|
||||
cmd = rsp = "IS0";
|
||||
cmd += ';';
|
||||
wait_char(';', 10, 100, "get if shift", ASC);
|
||||
|
||||
|
|
@ -1317,10 +1314,6 @@ void RIG_FTdx101D::set_vox_gain()
|
|||
|
||||
void RIG_FTdx101D::set_vox_anti()
|
||||
{
|
||||
// cmd = "EX346";
|
||||
// cmd.append(to_decimal(progStatus.vox_anti, 3)).append(";");
|
||||
// sendCommand(cmd);
|
||||
// showresp(WARN, ASC, "SET anti-vox", cmd, replystr);
|
||||
}
|
||||
|
||||
void RIG_FTdx101D::set_vox_hang()
|
||||
|
|
@ -1386,3 +1379,83 @@ void RIG_FTdx101D::set_cw_qsk()
|
|||
showresp(WARN, ASC, "SET cw qsk", cmd, replystr);
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
// FTdx101MP
|
||||
//======================================================================
|
||||
|
||||
static const char FTdx101MPname_[] = "FTdx101MP";
|
||||
|
||||
RIG_FTdx101MP::RIG_FTdx101MP() {
|
||||
// base class values
|
||||
IDstr = "ID";
|
||||
name_ = FTdx101MPname_;
|
||||
}
|
||||
|
||||
int RIG_FTdx101MP::get_power_out()
|
||||
{
|
||||
static pwrpair pwrtbl[] = {
|
||||
{ 32, 10.0 },
|
||||
{ 53, 20.0 },
|
||||
{ 80, 40.0 },
|
||||
{ 97, 60.0 },
|
||||
{119, 80.0 },
|
||||
{137, 100.0 },
|
||||
{154, 120.0 },
|
||||
{167, 140.0 },
|
||||
{177, 160.0 },
|
||||
{188, 180.0 },
|
||||
{197, 200.0 },
|
||||
};
|
||||
|
||||
cmd = rsp = "RM5";
|
||||
sendCommand(cmd.append(";"));
|
||||
wait_char(';', 7, 100, "get pout", ASC);
|
||||
|
||||
gett("get_power_out()");
|
||||
|
||||
size_t p = replystr.rfind(rsp);
|
||||
if (p == string::npos) return 0;
|
||||
if (p + 6 >= replystr.length()) return 0;
|
||||
int mtr = atoi(&replystr[p+3]);
|
||||
size_t i = 0;
|
||||
for (i = 0; i < sizeof(pwrtbl) / sizeof(pwrpair) - 1; i++)
|
||||
if (mtr >= pwrtbl[i].mtr && mtr < pwrtbl[i+1].mtr)
|
||||
break;
|
||||
if (mtr < 0) mtr = 0;
|
||||
if (mtr > 197) mtr = 197;
|
||||
int pwr = (int)ceil(pwrtbl[i].pwr +
|
||||
(pwrtbl[i+1].pwr - pwrtbl[i].pwr)*(mtr - pwrtbl[i].mtr) / (pwrtbl[i+1].mtr - pwrtbl[i].mtr));
|
||||
|
||||
if (pwr > 200) pwr = 200;
|
||||
|
||||
return (int)pwr;
|
||||
}
|
||||
|
||||
int RIG_FTdx101MP::get_power_control()
|
||||
{
|
||||
cmd = rsp = "PC";
|
||||
cmd += ';';
|
||||
wait_char(';', 6, 100, "get power", ASC);
|
||||
|
||||
gett("get_power_control()");
|
||||
|
||||
size_t p = replystr.rfind(rsp);
|
||||
if (p == string::npos) return progStatus.power_level;
|
||||
if (p + 5 >= replystr.length()) return progStatus.power_level;
|
||||
|
||||
int mtr = atoi(&replystr[p+2]);
|
||||
return mtr;
|
||||
}
|
||||
|
||||
void RIG_FTdx101MP::set_power_control(double val)
|
||||
{
|
||||
int ival = (int)val;
|
||||
cmd = "PC000;";
|
||||
for (int i = 4; i > 1; i--) {
|
||||
cmd[i] += ival % 10;
|
||||
ival /= 10;
|
||||
}
|
||||
sendCommand(cmd);
|
||||
showresp(WARN, ASC, "SET power", cmd, replystr);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ RIG_FT1000 rig_FT1000;
|
|||
RIG_FT1000MP rig_FT1000MP;
|
||||
RIG_FT2000 rig_FT2000;
|
||||
RIG_FTdx101D rig_FTdx101D;
|
||||
RIG_FTdx101MP rig_FTdx101MP;
|
||||
RIG_FTdx1200 rig_FTdx1200;
|
||||
RIG_FTdx3000 rig_FTdx3000;
|
||||
RIG_FT5000 rig_FT5000;
|
||||
|
|
@ -138,64 +139,65 @@ rigbase *rigs[] = {
|
|||
&rig_FT1000MP, // 20
|
||||
&rig_FT2000, // 21
|
||||
&rig_FTdx101D, // 22
|
||||
&rig_FTdx1200, // 23
|
||||
&rig_FTdx3000, // 24
|
||||
&rig_FT5000, // 25
|
||||
&rig_FTdx9000, // 26
|
||||
&rig_IC703, // 27
|
||||
&rig_IC706MKIIG,// 28
|
||||
&rig_IC718, // 29
|
||||
&rig_IC728, // 30
|
||||
&rig_IC735, // 31
|
||||
&rig_IC746, // 32
|
||||
&rig_IC746PRO, // 33
|
||||
&rig_IC756, // 34
|
||||
&rig_IC756PRO, // 35
|
||||
&rig_IC756PRO2, // 36
|
||||
&rig_IC756PRO3, // 37
|
||||
&rig_IC7000, // 38
|
||||
&rig_IC7100, // 39
|
||||
&rig_IC7200, // 40
|
||||
&rig_IC7300, // 41
|
||||
&rig_IC7410, // 42
|
||||
&rig_IC7600, // 43
|
||||
&rig_IC7610, // 44
|
||||
&rig_IC7700, // 45
|
||||
&rig_IC7800, // 46
|
||||
&rig_IC7851, // 47
|
||||
&rig_IC9100, // 48
|
||||
&rig_IC9700, // 49
|
||||
&rig_IC910H, // 50
|
||||
&rig_ICF8101, // 51
|
||||
&rig_K2, // 52
|
||||
&rig_K3, // 53
|
||||
&rig_KX3, // 54
|
||||
&rig_PCR1000, // 55
|
||||
&rig_RAY152, // 56
|
||||
&rig_TS140, // 57
|
||||
&rig_TS450S, // 58
|
||||
&rig_TS480HX, // 59
|
||||
&rig_TS480SAT, // 60
|
||||
&rig_TS570, // 61
|
||||
&rig_TS590S, // 62
|
||||
&rig_TS590SG, // 63
|
||||
&rig_TS790, // 64
|
||||
&rig_TS850, // 65
|
||||
&rig_TS870S, // 66 wbx
|
||||
&rig_TS890S, // 67
|
||||
&rig_TS940S, // 68
|
||||
&rig_TS950, // 69
|
||||
&rig_TS990, // 70
|
||||
&rig_TS2000, // 71
|
||||
&rig_TT516, // 72
|
||||
&rig_TT535, // 73
|
||||
&rig_TT538, // 74
|
||||
&rig_TT550, // 75
|
||||
&rig_TT563, // 76
|
||||
&rig_TT566, // 77
|
||||
&rig_TT588, // 78
|
||||
&rig_TT599, // 79
|
||||
&rig_AOR5K, // 80
|
||||
&rig_FTdx101MP, // 23
|
||||
&rig_FTdx1200, // 24
|
||||
&rig_FTdx3000, // 25
|
||||
&rig_FT5000, // 26
|
||||
&rig_FTdx9000, // 27
|
||||
&rig_IC703, // 28
|
||||
&rig_IC706MKIIG,// 29
|
||||
&rig_IC718, // 30
|
||||
&rig_IC728, // 31
|
||||
&rig_IC735, // 32
|
||||
&rig_IC746, // 33
|
||||
&rig_IC746PRO, // 34
|
||||
&rig_IC756, // 35
|
||||
&rig_IC756PRO, // 36
|
||||
&rig_IC756PRO2, // 37
|
||||
&rig_IC756PRO3, // 38
|
||||
&rig_IC7000, // 39
|
||||
&rig_IC7100, // 40
|
||||
&rig_IC7200, // 41
|
||||
&rig_IC7300, // 42
|
||||
&rig_IC7410, // 43
|
||||
&rig_IC7600, // 44
|
||||
&rig_IC7610, // 45
|
||||
&rig_IC7700, // 46
|
||||
&rig_IC7800, // 47
|
||||
&rig_IC7851, // 48
|
||||
&rig_IC9100, // 49
|
||||
&rig_IC9700, // 50
|
||||
&rig_IC910H, // 51
|
||||
&rig_ICF8101, // 52
|
||||
&rig_K2, // 53
|
||||
&rig_K3, // 54
|
||||
&rig_KX3, // 55
|
||||
&rig_PCR1000, // 56
|
||||
&rig_RAY152, // 57
|
||||
&rig_TS140, // 58
|
||||
&rig_TS450S, // 59
|
||||
&rig_TS480HX, // 60
|
||||
&rig_TS480SAT, // 61
|
||||
&rig_TS570, // 62
|
||||
&rig_TS590S, // 63
|
||||
&rig_TS590SG, // 64
|
||||
&rig_TS790, // 65
|
||||
&rig_TS850, // 66
|
||||
&rig_TS870S, // 67 wbx
|
||||
&rig_TS890S, // 68
|
||||
&rig_TS940S, // 69
|
||||
&rig_TS950, // 70
|
||||
&rig_TS990, // 71
|
||||
&rig_TS2000, // 72
|
||||
&rig_TT516, // 73
|
||||
&rig_TT535, // 74
|
||||
&rig_TT538, // 75
|
||||
&rig_TT550, // 76
|
||||
&rig_TT563, // 77
|
||||
&rig_TT566, // 78
|
||||
&rig_TT588, // 79
|
||||
&rig_TT599, // 80
|
||||
&rig_AOR5K, // 81
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue