Loading ...
Sorry, an error occurred while loading the content.

QSY button patch

Expand Messages
  • Leigh L. Klotz, Jr.
    Below the code I sent to Tomi to fix my QSY button sign error in gMFSK 0.7.1pre. if (hamlib_qsy) { gfloat f = conf_get_float( hamlib/cfreq ); hamlib_qsy =
    Message 1 of 6 , Sep 10, 2006
    • 0 Attachment
      Below the code I sent to Tomi to fix my QSY button sign error in gMFSK
      0.7.1pre.
      if (hamlib_qsy) {
      gfloat f = conf_get_float("hamlib/cfreq");
      hamlib_qsy = FALSE;
      G_LOCK(hamlib_mutex);
      if (mode == RIG_MODE_LSB || mode == RIG_MODE_RTTYR || mode
      == RIG_MODE_CWR || mode == RIG_MODE_PKTLSB || mode == RIG_MODE_ECSSLSB)
      ret = rig_set_freq(rig, RIG_VFO_CURR, ((gdouble) freq) -
      trx_get_freq() + f);
      else
      ret = rig_set_freq(rig, RIG_VFO_CURR, ((gdouble) freq) +
      trx_get_freq() - f);
      G_UNLOCK(hamlib_mutex);

      if (ret != RIG_OK) {
      str = g_strdup_printf(_("rig_set_freq failed: %s"),
      rigerror(ret));
      statusbar_set_main(str);
      g_free(str);
      continue;
      }
      waterfall_set_frequency(waterfall, f);
      }

      The corresponding code in fldigi is in hamlib.cxx
      if (hamlib_qsy) {
      long int fmid = 1000; // this is the sweet spot frequency
      long int f = wf->rfcarrier() + wf->carrier() - fmid;

      So it would be something like
      if (hamlib_qsy) {
      long int fmid = 1000; // TODO: Read this from config
      long int f = 0;
      if (mode == RIG_MODE_LSB || mode == RIG_MODE_RTTYR || mode
      == RIG_MODE_CWR || mode == RIG_MODE_PKTLSB || mode == RIG_MODE_ECSSLSB)
      f = wf->rfcarrier() + wf->carrier() + fmid;
      else
      f = wf->rfcarrier() + wf->carrier() - fmid;

      This doesn't take into account the separation of configuration into
      600Hz or so for CW and 1000Hz or so for the digital modes.

      73,
      Leigh/WA5ZNU
    • w1hkj
      Thank you Leigh, Your analysis of the problem in both programs was correct, but there were a few missing pieces in fldigi to insure that the waterfall scale
      Message 2 of 6 , Sep 10, 2006
      • 0 Attachment
        Thank you Leigh,

        Your analysis of the problem in both programs was correct, but there
        were a few missing pieces in fldigi to insure that the waterfall scale
        and frequency values tracked correctly.

        Also had to look at some of the other problems that were reported.

        You can set the "sweet spot" frequency for your transceiver in the
        src/config.h file. It is a #define for now but will probably be
        configurable on the tabbed configuration dialog in a future release.

        Joe, KD8ATU, reported some problems with Olivia after making changes to
        fix a broken REV mode. I have not had a chance to bench test that yet,
        but will early tomorrow morning.

        Please report any problems as you find them. The process being used to
        develop and improve fldigi is called Rapid Application Development. As
        alpha and beta testers you have the opportunity to reflect your own
        preferences for look, feel and operation in the final product.
        Unfortunately, that means you may have to cycle through quite a few
        revisions before everything stabilizes. For those who have just joined
        the fray I should tell you that fldigi development only started a little
        over three months ago.

        I will go back and look at gmfsk-hkj QSY routines sometime later this week.


        73s, Dave, W1HKJ
      Your message has been successfully submitted and would be delivered to recipients shortly.