Use freq-mode-freq-mode sequency to set freqquency

Because setting frequency can change  mode and setting mode can change
frequency on various rigs it is  necessary to set a frequency by first
setting a  frequency which  gets to the  correct band  and potentially
band stack  register. Then  to set  the mode to  ensure that  any band
remembered mode is cleared. Then set frequency again in case the prior
mode change  moved the frequency  (e.g. CW correction). Then  set mode
again because some rigs set the mode according to frequency.

Who would have  thought setting the rig frequency via  CAT could be so
complicated :( TODO: Even this is  flawed on some Yaesu rigs that must
be band changed to select some settings like aerial socket and pre-amp
settings.

Merged from wsjtx-1.4 branch.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4997 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2015-02-28 13:40:07 +00:00
parent a249ce4c29
commit 35e377d364
1 changed files with 7 additions and 0 deletions

View File

@ -497,6 +497,13 @@ void HamlibTransceiver::do_frequency (Frequency f, MODE m)
error_check (rig_set_freq (rig_.data (), RIG_VFO_CURR, f), tr ("setting frequency"));
}
if (UNK != m)
{
// for the second time because some rigs change mode according
// to frequency such as the TS-2000 auto mode setting
do_mode (m, false);
}
update_rx_frequency (f);
}