diff --git a/src/include/FT991.h b/src/include/FT991.h index e08680e9..ecada2e4 100644 --- a/src/include/FT991.h +++ b/src/include/FT991.h @@ -83,7 +83,8 @@ public: int get_volume_control(); void set_PTT_control(int val); int get_PTT(); - void tune_rig(); + void tune_rig(int); + int get_tune(); int next_attenuator(); void set_attenuator(int val); int get_attenuator(); diff --git a/src/include/FT991A.h b/src/include/FT991A.h index c5aafb9c..e417b5b2 100644 --- a/src/include/FT991A.h +++ b/src/include/FT991A.h @@ -83,7 +83,8 @@ public: int get_volume_control(); void set_PTT_control(int val); int get_PTT(); - void tune_rig(); + void tune_rig(int); + int get_tune(); int next_attenuator(); void set_attenuator(int val); int get_attenuator(); diff --git a/src/rigs/FT991.cxx b/src/rigs/FT991.cxx index da832838..ad2423b0 100644 --- a/src/rigs/FT991.cxx +++ b/src/rigs/FT991.cxx @@ -542,24 +542,29 @@ int RIG_FT991::get_PTT() return ptt_; } - // internal or external tune mode -void RIG_FT991::tune_rig() +void RIG_FT991::tune_rig(int how) { - cmd = "AC;"; - wait_char(';',6, FL991_WAIT_TIME, "is Int. Tuner Enabled", ASC); - size_t p = replystr.rfind(rsp); - if (p == string::npos) return; - if ((p + 5) >= replystr.length()) return; - if (replystr[p+4] == '0') { - return; - } - - cmd = "AC002;"; + cmd = "AC000;"; + if (how == 1) cmd[4] = '1'; + else if (how == 2) cmd[4] = '2'; sendCommand(cmd); showresp(WARN, ASC, "tune rig", cmd, replystr); } +int RIG_FT991::get_tune() +{ + cmd = "AC;"; + wait_char(';',6, 100, "Tuner Enabled?", ASC); + size_t p = replystr.rfind("AC"); + if (p == string::npos) return 0; + if ((p + 5) >= replystr.length()) return 0; + if (replystr[p+4] == '0') { + return 0; + } + return 1; +} + int RIG_FT991::next_attenuator() { switch (atten_level) { diff --git a/src/rigs/FT991A.cxx b/src/rigs/FT991A.cxx index 5b7810a8..d4bb5274 100644 --- a/src/rigs/FT991A.cxx +++ b/src/rigs/FT991A.cxx @@ -17,12 +17,13 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . // ---------------------------------------------------------------------------- +#include #include "FT991A.h" #include "debug.h" #include "support.h" -#define FL991A_WAIT_TIME 200 +#define FL991A_WAIT_TIME 100 enum mFT991 { mLSB, mUSB, mCW, mFM, mAM, mRTTY_L, mCW_R, mPKT_L, mRTTY_U, mPKT_FM, mFM_N, mPKT_U, mAM_N, mC4FM }; @@ -544,22 +545,28 @@ int RIG_FT991A::get_PTT() // internal or external tune mode -void RIG_FT991A::tune_rig() +void RIG_FT991A::tune_rig(int how) { - cmd = "AC;"; - wait_char(';',6, FL991A_WAIT_TIME, "is Int. Tuner Enabled", ASC); - size_t p = replystr.rfind(rsp); - if (p == string::npos) return; - if ((p + 5) >= replystr.length()) return; - if (replystr[p+4] == '0') { - return; - } - - cmd = "AC002;"; + cmd = "AC000;"; + if (how == 1) cmd[4] = '1'; + else if (how == 2) cmd[4] = '2'; sendCommand(cmd); showresp(WARN, ASC, "tune rig", cmd, replystr); } +int RIG_FT991A::get_tune() +{ + cmd = "AC;"; + wait_char(';',6, FL991A_WAIT_TIME, "Tuner Enabled?", ASC); + size_t p = replystr.rfind("AC"); + if (p == string::npos) return 0; + if ((p + 5) >= replystr.length()) return 0; + if (replystr[p+4] == '0') { + return 0; + } + return 1; +} + int RIG_FT991A::next_attenuator() { switch (atten_level) {