kopia lustrzana https://github.com/jamescoxon/dl-fldigi
				
				
				
			PKS mailserver mod
Changes to psk mail server signal acquisition allow operator to
    compensate for QRM.
			
			
				pull/2/head
			
			
		
							rodzic
							
								
									bf164ebe96
								
							
						
					
					
						commit
						62608ea68b
					
				| 
						 | 
				
			
			@ -914,7 +914,7 @@ progdefaults.changed = true;
 | 
			
		|||
Fl_Counter *cntACQsn=(Fl_Counter *)0;
 | 
			
		||||
 | 
			
		||||
static void cb_cntACQsn(Fl_Counter* o, void*) {
 | 
			
		||||
  progdefaults.ACQsn = (int)o->value();
 | 
			
		||||
  progdefaults.ACQsn = o->value();
 | 
			
		||||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -930,10 +930,11 @@ static void cb_seconds(Fl_Counter* o, void*) {
 | 
			
		|||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Fl_Check_Button *btnPSKmailSweetSpot=(Fl_Check_Button *)0;
 | 
			
		||||
Fl_Counter *cntServerCarrier=(Fl_Counter *)0;
 | 
			
		||||
 | 
			
		||||
static void cb_btnPSKmailSweetSpot(Fl_Check_Button* o, void*) {
 | 
			
		||||
  progdefaults.PSKmailSweetSpot = o->value();
 | 
			
		||||
static void cb_cntServerCarrier(Fl_Counter* o, void*) {
 | 
			
		||||
  progdefaults.ServerCarrier = (int)o->value();
 | 
			
		||||
wf->redraw_marker();
 | 
			
		||||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -945,6 +946,28 @@ wf->redraw_marker();
 | 
			
		|||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Fl_Counter *cntServerACQsn=(Fl_Counter *)0;
 | 
			
		||||
 | 
			
		||||
static void cb_cntServerACQsn(Fl_Counter* o, void*) {
 | 
			
		||||
  progdefaults.ServerACQsn = o->value();
 | 
			
		||||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Fl_Counter *cntServerAFCrange=(Fl_Counter *)0;
 | 
			
		||||
 | 
			
		||||
static void cb_cntServerAFCrange(Fl_Counter* o, void*) {
 | 
			
		||||
  progdefaults.ServerAFCrange = (int)o->value();
 | 
			
		||||
wf->redraw_marker();
 | 
			
		||||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Fl_Check_Button *btnPSKmailSweetSpot=(Fl_Check_Button *)0;
 | 
			
		||||
 | 
			
		||||
static void cb_btnPSKmailSweetSpot(Fl_Check_Button* o, void*) {
 | 
			
		||||
  progdefaults.PSKmailSweetSpot = o->value();
 | 
			
		||||
progdefaults.changed = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Fl_Check_Button *btnMarquee=(Fl_Check_Button *)0;
 | 
			
		||||
 | 
			
		||||
static void cb_btnMarquee(Fl_Check_Button* o, void*) {
 | 
			
		||||
| 
						 | 
				
			
			@ -2184,13 +2207,12 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
 | 
			
		|||
    o->selection_color((Fl_Color)51);
 | 
			
		||||
    o->labelsize(18);
 | 
			
		||||
    o->align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE);
 | 
			
		||||
    { tabsConfigure = new Fl_Tabs(0, 0, 505, 372);
 | 
			
		||||
    { tabsConfigure = new Fl_Tabs(0, 0, 517, 372);
 | 
			
		||||
      tabsConfigure->color(FL_LIGHT1);
 | 
			
		||||
      tabsConfigure->selection_color(FL_LIGHT1);
 | 
			
		||||
      { tabOperator = new Fl_Group(0, 25, 500, 345, _("Operator"));
 | 
			
		||||
        tabOperator->callback((Fl_Callback*)cb_tabOperator);
 | 
			
		||||
        tabOperator->when(FL_WHEN_CHANGED);
 | 
			
		||||
        tabOperator->hide();
 | 
			
		||||
        { Fl_Group* o = new Fl_Group(5, 35, 490, 165, _("Station"));
 | 
			
		||||
          o->box(FL_ENGRAVED_FRAME);
 | 
			
		||||
          o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
 | 
			
		||||
| 
						 | 
				
			
			@ -2774,9 +2796,9 @@ an merging"));
 | 
			
		|||
        } // Fl_Tabs* tabsWaterfall
 | 
			
		||||
        tabWaterfall->end();
 | 
			
		||||
      } // Fl_Group* tabWaterfall
 | 
			
		||||
      { tabModems = new Fl_Group(0, 25, 500, 345, _("Modems"));
 | 
			
		||||
      { tabModems = new Fl_Group(0, 25, 517, 345, _("Modems"));
 | 
			
		||||
        tabModems->hide();
 | 
			
		||||
        { tabsModems = new Fl_Tabs(0, 25, 500, 345);
 | 
			
		||||
        { tabsModems = new Fl_Tabs(0, 25, 517, 345);
 | 
			
		||||
          tabsModems->selection_color(FL_LIGHT1);
 | 
			
		||||
          tabsModems->align(FL_ALIGN_TOP_RIGHT);
 | 
			
		||||
          { tabCW = new Fl_Group(0, 50, 500, 320, _("CW"));
 | 
			
		||||
| 
						 | 
				
			
			@ -3145,6 +3167,7 @@ an merging"));
 | 
			
		|||
            tabFeld->end();
 | 
			
		||||
          } // Fl_Group* tabFeld
 | 
			
		||||
          { tabMT63 = new Fl_Group(0, 50, 500, 320, _("MT-63"));
 | 
			
		||||
            tabMT63->hide();
 | 
			
		||||
            { Fl_Group* o = new Fl_Group(5, 60, 490, 115);
 | 
			
		||||
              o->box(FL_ENGRAVED_FRAME);
 | 
			
		||||
              o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
 | 
			
		||||
| 
						 | 
				
			
			@ -3246,9 +3269,8 @@ an merging"));
 | 
			
		|||
            } // Fl_Group* o
 | 
			
		||||
            tabOlivia->end();
 | 
			
		||||
          } // Fl_Group* tabOlivia
 | 
			
		||||
          { tabPSK = new Fl_Group(0, 50, 500, 320, _("PSK"));
 | 
			
		||||
            tabPSK->hide();
 | 
			
		||||
            { tabsPSK = new Fl_Tabs(0, 50, 500, 320);
 | 
			
		||||
          { tabPSK = new Fl_Group(0, 50, 517, 320, _("PSK"));
 | 
			
		||||
            { tabsPSK = new Fl_Tabs(0, 50, 517, 320);
 | 
			
		||||
              tabsPSK->selection_color(FL_LIGHT1);
 | 
			
		||||
              { Fl_Group* o = new Fl_Group(0, 75, 500, 295, _("General"));
 | 
			
		||||
                o->align(FL_ALIGN_TOP_LEFT);
 | 
			
		||||
| 
						 | 
				
			
			@ -3304,29 +3326,63 @@ an merging"));
 | 
			
		|||
                } // Fl_Group* o
 | 
			
		||||
                o->end();
 | 
			
		||||
              } // Fl_Group* o
 | 
			
		||||
              { Fl_Group* o = new Fl_Group(0, 75, 500, 295, _("Mail"));
 | 
			
		||||
              { Fl_Group* o = new Fl_Group(0, 75, 517, 295, _("Mail"));
 | 
			
		||||
                o->align(FL_ALIGN_TOP_LEFT);
 | 
			
		||||
                o->hide();
 | 
			
		||||
                { Fl_Group* o = new Fl_Group(5, 85, 490, 80);
 | 
			
		||||
                { Fl_Group* o = new Fl_Group(7, 87, 490, 174, _("Mail Server Attributes"));
 | 
			
		||||
                o->box(FL_ENGRAVED_FRAME);
 | 
			
		||||
                { Fl_Check_Button* o = btnPSKmailSweetSpot = new Fl_Check_Button(55, 100, 215, 20, _("Use sweetspot frequencies"));
 | 
			
		||||
                btnPSKmailSweetSpot->tooltip(_("Return TX frequency to sweetspot"));
 | 
			
		||||
                btnPSKmailSweetSpot->down_box(FL_DOWN_BOX);
 | 
			
		||||
                btnPSKmailSweetSpot->value(1);
 | 
			
		||||
                btnPSKmailSweetSpot->callback((Fl_Callback*)cb_btnPSKmailSweetSpot);
 | 
			
		||||
                o->value(progdefaults.PSKmailSweetSpot);
 | 
			
		||||
                } // Fl_Check_Button* btnPSKmailSweetSpot
 | 
			
		||||
                { Fl_Counter* o = cntServerOffset = new Fl_Counter(55, 129, 80, 20, _("Server search range"));
 | 
			
		||||
                o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
 | 
			
		||||
                { Fl_Counter* o = cntServerCarrier = new Fl_Counter(58, 115, 80, 20, _("Carrier frequency (Hz)"));
 | 
			
		||||
                cntServerCarrier->tooltip(_("Default listen / transmit frequency"));
 | 
			
		||||
                cntServerCarrier->type(1);
 | 
			
		||||
                cntServerCarrier->minimum(500);
 | 
			
		||||
                cntServerCarrier->maximum(2500);
 | 
			
		||||
                cntServerCarrier->step(25);
 | 
			
		||||
                cntServerCarrier->value(1500);
 | 
			
		||||
                cntServerCarrier->callback((Fl_Callback*)cb_cntServerCarrier);
 | 
			
		||||
                cntServerCarrier->align(FL_ALIGN_RIGHT);
 | 
			
		||||
                o->value(progdefaults.ServerCarrier);
 | 
			
		||||
                } // Fl_Counter* cntServerCarrier
 | 
			
		||||
                { Fl_Counter* o = cntServerOffset = new Fl_Counter(58, 152, 80, 20, _("Search range (Hz)"));
 | 
			
		||||
                cntServerOffset->tooltip(_("Listen for signals within this range"));
 | 
			
		||||
                cntServerOffset->type(1);
 | 
			
		||||
                cntServerOffset->minimum(10);
 | 
			
		||||
                cntServerOffset->maximum(500);
 | 
			
		||||
                cntServerOffset->step(10);
 | 
			
		||||
                cntServerOffset->value(200);
 | 
			
		||||
                cntServerOffset->value(100);
 | 
			
		||||
                cntServerOffset->callback((Fl_Callback*)cb_cntServerOffset);
 | 
			
		||||
                cntServerOffset->align(FL_ALIGN_RIGHT);
 | 
			
		||||
                o->value(progdefaults.SearchRange);
 | 
			
		||||
                } // Fl_Counter* cntServerOffset
 | 
			
		||||
                { Fl_Counter* o = cntServerACQsn = new Fl_Counter(58, 189, 80, 20, _("Acquisition S/N (dB)"));
 | 
			
		||||
                cntServerACQsn->tooltip(_("Capture signals over this threshold"));
 | 
			
		||||
                cntServerACQsn->type(1);
 | 
			
		||||
                cntServerACQsn->minimum(3);
 | 
			
		||||
                cntServerACQsn->maximum(20);
 | 
			
		||||
                cntServerACQsn->step(1);
 | 
			
		||||
                cntServerACQsn->value(6);
 | 
			
		||||
                cntServerACQsn->callback((Fl_Callback*)cb_cntServerACQsn);
 | 
			
		||||
                cntServerACQsn->align(FL_ALIGN_RIGHT);
 | 
			
		||||
                o->value(progdefaults.ServerACQsn);
 | 
			
		||||
                } // Fl_Counter* cntServerACQsn
 | 
			
		||||
                { Fl_Counter* o = cntServerAFCrange = new Fl_Counter(58, 226, 80, 20, _("AFC range (Hz)"));
 | 
			
		||||
                cntServerAFCrange->tooltip(_("Limit AFC movement to this range"));
 | 
			
		||||
                cntServerAFCrange->type(1);
 | 
			
		||||
                cntServerAFCrange->minimum(10);
 | 
			
		||||
                cntServerAFCrange->maximum(500);
 | 
			
		||||
                cntServerAFCrange->step(10);
 | 
			
		||||
                cntServerAFCrange->value(25);
 | 
			
		||||
                cntServerAFCrange->callback((Fl_Callback*)cb_cntServerAFCrange);
 | 
			
		||||
                cntServerAFCrange->align(FL_ALIGN_RIGHT);
 | 
			
		||||
                o->value(progdefaults.SearchRange);
 | 
			
		||||
                } // Fl_Counter* cntServerAFCrange
 | 
			
		||||
                { Fl_Check_Button* o = btnPSKmailSweetSpot = new Fl_Check_Button(313, 117, 142, 16, _("Reset to Carrier"));
 | 
			
		||||
                btnPSKmailSweetSpot->tooltip(_("When no signal present"));
 | 
			
		||||
                btnPSKmailSweetSpot->down_box(FL_DOWN_BOX);
 | 
			
		||||
                btnPSKmailSweetSpot->value(1);
 | 
			
		||||
                btnPSKmailSweetSpot->callback((Fl_Callback*)cb_btnPSKmailSweetSpot);
 | 
			
		||||
                o->value(progdefaults.PSKmailSweetSpot);
 | 
			
		||||
                } // Fl_Check_Button* btnPSKmailSweetSpot
 | 
			
		||||
                o->end();
 | 
			
		||||
                } // Fl_Group* o
 | 
			
		||||
                o->end();
 | 
			
		||||
| 
						 | 
				
			
			@ -3595,6 +3651,7 @@ an merging"));
 | 
			
		|||
        tabModems->end();
 | 
			
		||||
      } // Fl_Group* tabModems
 | 
			
		||||
      { tabRig = new Fl_Group(0, 25, 500, 345, _("Rig"));
 | 
			
		||||
        tabRig->hide();
 | 
			
		||||
        { tabsRig = new Fl_Tabs(0, 25, 500, 345);
 | 
			
		||||
          tabsRig->selection_color(FL_LIGHT1);
 | 
			
		||||
          { Fl_Group* o = new Fl_Group(0, 50, 500, 320, _("Hardware PTT"));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,12 +85,12 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
 | 
			
		|||
    xywh {646 121 500 400} type Double color 45 selection_color 51 labelsize 18 align 80 visible
 | 
			
		||||
  } {
 | 
			
		||||
    Fl_Tabs tabsConfigure {open
 | 
			
		||||
      xywh {0 0 505 372} color 50 selection_color 50
 | 
			
		||||
      xywh {0 0 517 372} color 50 selection_color 50
 | 
			
		||||
    } {
 | 
			
		||||
      Fl_Group tabOperator {
 | 
			
		||||
        label Operator
 | 
			
		||||
        callback {progdefaults.changed = true;} open
 | 
			
		||||
        xywh {0 25 500 345} when 1 hide
 | 
			
		||||
        callback {progdefaults.changed = true;} open selected
 | 
			
		||||
        xywh {0 25 500 345} when 1
 | 
			
		||||
      } {
 | 
			
		||||
        Fl_Group {} {
 | 
			
		||||
          label Station open
 | 
			
		||||
| 
						 | 
				
			
			@ -701,10 +701,10 @@ behaves inside the waterfall} xywh {15 196 150 22} down_box BORDER_BOX align 8
 | 
			
		|||
      }
 | 
			
		||||
      Fl_Group tabModems {
 | 
			
		||||
        label Modems open
 | 
			
		||||
        xywh {0 25 500 345} hide
 | 
			
		||||
        xywh {0 25 517 345} hide
 | 
			
		||||
      } {
 | 
			
		||||
        Fl_Tabs tabsModems {open
 | 
			
		||||
          xywh {0 25 500 345} selection_color 50 align 9
 | 
			
		||||
          xywh {0 25 517 345} selection_color 50 align 9
 | 
			
		||||
        } {
 | 
			
		||||
          Fl_Group tabCW {
 | 
			
		||||
            label CW open
 | 
			
		||||
| 
						 | 
				
			
			@ -1031,7 +1031,7 @@ progdefaults.changed = true;}
 | 
			
		|||
          }
 | 
			
		||||
          Fl_Group tabMT63 {
 | 
			
		||||
            label {MT-63} open
 | 
			
		||||
            xywh {0 50 500 320}
 | 
			
		||||
            xywh {0 50 500 320} hide
 | 
			
		||||
          } {
 | 
			
		||||
            Fl_Group {} {open
 | 
			
		||||
              xywh {5 60 490 115} box ENGRAVED_FRAME align 21
 | 
			
		||||
| 
						 | 
				
			
			@ -1149,10 +1149,10 @@ progdefaults.changed = true;}
 | 
			
		|||
          }
 | 
			
		||||
          Fl_Group tabPSK {
 | 
			
		||||
            label PSK open
 | 
			
		||||
            xywh {0 50 500 320} hide
 | 
			
		||||
            xywh {0 50 517 320}
 | 
			
		||||
          } {
 | 
			
		||||
            Fl_Tabs tabsPSK {open
 | 
			
		||||
              xywh {0 50 500 320} selection_color 50
 | 
			
		||||
              xywh {0 50 517 320} selection_color 50
 | 
			
		||||
            } {
 | 
			
		||||
              Fl_Group {} {
 | 
			
		||||
                label General open
 | 
			
		||||
| 
						 | 
				
			
			@ -1172,7 +1172,7 @@ progdefaults.changed = true;}
 | 
			
		|||
                  }
 | 
			
		||||
                  Fl_Counter cntACQsn {
 | 
			
		||||
                    label {Acquisition S/N (dB)}
 | 
			
		||||
                    callback {progdefaults.ACQsn = (int)o->value();
 | 
			
		||||
                    callback {progdefaults.ACQsn = o->value();
 | 
			
		||||
progdefaults.changed = true;}
 | 
			
		||||
                    tooltip {Capture signals over this threshold} xywh {15 146 75 20} type Simple align 8 minimum 3 maximum 20 step 1 value 6
 | 
			
		||||
                    code0 {o->value(progdefaults.ACQsn);}
 | 
			
		||||
| 
						 | 
				
			
			@ -1201,26 +1201,50 @@ progdefaults.changed = true;}
 | 
			
		|||
              }
 | 
			
		||||
              Fl_Group {} {
 | 
			
		||||
                label Mail open
 | 
			
		||||
                xywh {0 75 500 295} align 5 hide
 | 
			
		||||
                xywh {0 75 517 295} align 5 hide
 | 
			
		||||
              } {
 | 
			
		||||
                Fl_Group {} {open
 | 
			
		||||
                  xywh {5 85 490 80} box ENGRAVED_FRAME
 | 
			
		||||
                Fl_Group {} {
 | 
			
		||||
                  label {Mail Server Attributes} open
 | 
			
		||||
                  xywh {7 87 490 174} box ENGRAVED_FRAME align 21
 | 
			
		||||
                } {
 | 
			
		||||
                  Fl_Check_Button btnPSKmailSweetSpot {
 | 
			
		||||
                    label {Use sweetspot frequencies}
 | 
			
		||||
                    callback {progdefaults.PSKmailSweetSpot = o->value();
 | 
			
		||||
                  Fl_Counter cntServerCarrier {
 | 
			
		||||
                    label {Carrier frequency (Hz)}
 | 
			
		||||
                    callback {progdefaults.ServerCarrier = (int)o->value();
 | 
			
		||||
wf->redraw_marker();
 | 
			
		||||
progdefaults.changed = true;}
 | 
			
		||||
                    tooltip {Return TX frequency to sweetspot} xywh {55 100 215 20} down_box DOWN_BOX value 1
 | 
			
		||||
                    code0 {o->value(progdefaults.PSKmailSweetSpot);}
 | 
			
		||||
                    tooltip {Default listen / transmit frequency} xywh {58 115 80 20} type Simple align 8 minimum 500 maximum 2500 step 25 value 1500
 | 
			
		||||
                    code0 {o->value(progdefaults.ServerCarrier);}
 | 
			
		||||
                  }
 | 
			
		||||
                  Fl_Counter cntServerOffset {
 | 
			
		||||
                    label {Server search range}
 | 
			
		||||
                    label {Search range (Hz)}
 | 
			
		||||
                    callback {progdefaults.ServerOffset = (int)o->value();
 | 
			
		||||
wf->redraw_marker();
 | 
			
		||||
progdefaults.changed = true;}
 | 
			
		||||
                    tooltip {Listen for signals within this range} xywh {55 129 80 20} type Simple align 8 minimum 10 maximum 500 step 10 value 200
 | 
			
		||||
                    tooltip {Listen for signals within this range} xywh {58 152 80 20} type Simple align 8 minimum 10 maximum 500 step 10 value 100
 | 
			
		||||
                    code0 {o->value(progdefaults.SearchRange);}
 | 
			
		||||
                  }
 | 
			
		||||
                  Fl_Counter cntServerACQsn {
 | 
			
		||||
                    label {Acquisition S/N (dB)}
 | 
			
		||||
                    callback {progdefaults.ServerACQsn = o->value();
 | 
			
		||||
progdefaults.changed = true;}
 | 
			
		||||
                    tooltip {Capture signals over this threshold} xywh {58 189 80 20} type Simple align 8 minimum 3 maximum 20 step 1 value 6
 | 
			
		||||
                    code0 {o->value(progdefaults.ServerACQsn);}
 | 
			
		||||
                  }
 | 
			
		||||
                  Fl_Counter cntServerAFCrange {
 | 
			
		||||
                    label {AFC range (Hz)}
 | 
			
		||||
                    callback {progdefaults.ServerAFCrange = (int)o->value();
 | 
			
		||||
wf->redraw_marker();
 | 
			
		||||
progdefaults.changed = true;}
 | 
			
		||||
                    tooltip {Limit AFC movement to this range} xywh {58 226 80 20} type Simple align 8 minimum 10 maximum 500 step 10 value 25
 | 
			
		||||
                    code0 {o->value(progdefaults.SearchRange);}
 | 
			
		||||
                  }
 | 
			
		||||
                  Fl_Check_Button btnPSKmailSweetSpot {
 | 
			
		||||
                    label {Reset to Carrier}
 | 
			
		||||
                    callback {progdefaults.PSKmailSweetSpot = o->value();
 | 
			
		||||
progdefaults.changed = true;}
 | 
			
		||||
                    tooltip {When no signal present} xywh {313 117 142 16} down_box DOWN_BOX value 1
 | 
			
		||||
                    code0 {o->value(progdefaults.PSKmailSweetSpot);}
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
              Fl_Group {} {
 | 
			
		||||
| 
						 | 
				
			
			@ -1483,7 +1507,7 @@ progdefaults.changed = true;}
 | 
			
		|||
      }
 | 
			
		||||
      Fl_Group tabRig {
 | 
			
		||||
        label Rig open
 | 
			
		||||
        xywh {0 25 500 345}
 | 
			
		||||
        xywh {0 25 500 345} hide
 | 
			
		||||
      } {
 | 
			
		||||
        Fl_Tabs tabsRig {open
 | 
			
		||||
          xywh {0 25 500 345} selection_color 50
 | 
			
		||||
| 
						 | 
				
			
			@ -1615,7 +1639,7 @@ btnInitRIGCAT->redraw();
 | 
			
		|||
progdefaults.changed = true;}
 | 
			
		||||
              tooltip {RigCAT used for rig control} xywh {195 60 110 20} down_box DOWN_BOX
 | 
			
		||||
            }
 | 
			
		||||
            Fl_Group grpRigCAT {open selected
 | 
			
		||||
            Fl_Group grpRigCAT {open
 | 
			
		||||
              xywh {5 83 490 279} box ENGRAVED_FRAME
 | 
			
		||||
            } {
 | 
			
		||||
              Fl_Output txtXmlRigFilename {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -154,8 +154,11 @@ extern Fl_Tabs *tabsPSK;
 | 
			
		|||
extern Fl_Counter *cntSearchRange;
 | 
			
		||||
extern Fl_Counter *cntACQsn;
 | 
			
		||||
extern Fl_Choice *mnuPSKStatusTimeout;
 | 
			
		||||
extern Fl_Check_Button *btnPSKmailSweetSpot;
 | 
			
		||||
extern Fl_Counter *cntServerCarrier;
 | 
			
		||||
extern Fl_Counter *cntServerOffset;
 | 
			
		||||
extern Fl_Counter *cntServerACQsn;
 | 
			
		||||
extern Fl_Counter *cntServerAFCrange;
 | 
			
		||||
extern Fl_Check_Button *btnPSKmailSweetSpot;
 | 
			
		||||
extern Fl_Check_Button *btnMarquee;
 | 
			
		||||
extern Fl_Spinner *cntChannels;
 | 
			
		||||
extern Fl_Spinner *cntStartFrequency;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,7 +67,10 @@
 | 
			
		|||
        ELEM_(bool, StatusDim, "STATUSDIM", true)                                       \
 | 
			
		||||
        ELEM_(double, StatusTimeout, "STATUSTIMEOUT", 15.0)                             \
 | 
			
		||||
        ELEM_(bool, PSKmailSweetSpot, "PSKMAILSWEETSPOT", false)                        \
 | 
			
		||||
        ELEM_(int, ServerOffset, "PSKSERVEROFFSET", 40)                                 \
 | 
			
		||||
        ELEM_(int, ServerOffset, "PSKSERVEROFFSET", 50)                                 \
 | 
			
		||||
        ELEM_(int, ServerCarrier, "PSKSERVERCARRIER", 1500)                             \
 | 
			
		||||
        ELEM_(int, ServerAFCrange, "PSKSERVERAFCRANGE", 25)                             \
 | 
			
		||||
        ELEM_(double, ServerACQsn, "PSKSERVERACGSN", 6.0)                               \
 | 
			
		||||
/* RTTY */                                                                              \
 | 
			
		||||
        ELEM_(int, rtty_shift, "RTTYSHIFT", 3) /* 170 */                                \
 | 
			
		||||
        ELEM_(int, rtty_baud, "RTTYBAUD", 0)   /* 45 */                                 \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -315,7 +315,7 @@ void psk::searchDown()
 | 
			
		|||
	while (srchfreq > minfreq) {
 | 
			
		||||
		spwr = wf->powerDensity(srchfreq, bandwidth);
 | 
			
		||||
		npwr = wf->powerDensity(srchfreq + bandwidth, bandwidth/2) + 1e-10;
 | 
			
		||||
		if (spwr / npwr > SNTHRESHOLD) {
 | 
			
		||||
		if (spwr / npwr > pow(10, progdefaults.ServerACQsn / 10)) {
 | 
			
		||||
			frequency = srchfreq;
 | 
			
		||||
			set_freq(frequency);
 | 
			
		||||
			sigsearch = SIGSEARCH;
 | 
			
		||||
| 
						 | 
				
			
			@ -333,7 +333,7 @@ void psk::searchUp()
 | 
			
		|||
	while (srchfreq < maxfreq) {
 | 
			
		||||
		spwr = wf->powerDensity(srchfreq, bandwidth/2);
 | 
			
		||||
		npwr = wf->powerDensity(srchfreq - bandwidth, bandwidth/2) + 1e-10;
 | 
			
		||||
		if (spwr / npwr > SNTHRESHOLD) {
 | 
			
		||||
		if (spwr / npwr > pow(10, progdefaults.ServerACQsn / 10)) {
 | 
			
		||||
			frequency = srchfreq;
 | 
			
		||||
			set_freq(frequency);
 | 
			
		||||
			sigsearch = SIGSEARCH;
 | 
			
		||||
| 
						 | 
				
			
			@ -352,16 +352,21 @@ void psk::findsignal()
 | 
			
		|||
	if (sigsearch > 0) {
 | 
			
		||||
		sigsearch--;
 | 
			
		||||
		if (mailserver) { // mail server search algorithm
 | 
			
		||||
			f1 = (int)(frequency - progdefaults.ServerOffset);
 | 
			
		||||
			f2 = (int)(frequency + progdefaults.ServerOffset);
 | 
			
		||||
			if (evalpsk->sigpeak(ftest, f1, f2) > SNTHRESHOLD ) {
 | 
			
		||||
			if (progdefaults.PSKmailSweetSpot) {
 | 
			
		||||
				f1 = (int)(progdefaults.ServerCarrier - progdefaults.ServerOffset);
 | 
			
		||||
				f2 = (int)(progdefaults.ServerCarrier + progdefaults.ServerOffset);
 | 
			
		||||
			} else {
 | 
			
		||||
				f1 = (int)(frequency - progdefaults.ServerOffset);
 | 
			
		||||
				f2 = (int)(frequency + progdefaults.ServerOffset);
 | 
			
		||||
			}
 | 
			
		||||
			if (evalpsk->sigpeak(ftest, f1, f2) > pow(10, progdefaults.ServerACQsn / 10) ) {
 | 
			
		||||
				if (progdefaults.PSKmailSweetSpot) {
 | 
			
		||||
					if (fabs(ftest - progdefaults.PSKsweetspot) < progdefaults.ServerOffset) {
 | 
			
		||||
					if (fabs(ftest - progdefaults.ServerCarrier) < progdefaults.ServerOffset) {
 | 
			
		||||
						frequency = ftest;
 | 
			
		||||
						set_freq(frequency);
 | 
			
		||||
						freqerr = 0.0;
 | 
			
		||||
					} else {
 | 
			
		||||
						frequency = progdefaults.PSKsweetspot;
 | 
			
		||||
						frequency = progdefaults.ServerCarrier;
 | 
			
		||||
						set_freq(frequency);
 | 
			
		||||
						freqerr = 0.0;
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			@ -372,7 +377,7 @@ void psk::findsignal()
 | 
			
		|||
				}
 | 
			
		||||
			} else { // less than the detection threshold
 | 
			
		||||
				if (progdefaults.PSKmailSweetSpot) {
 | 
			
		||||
					frequency = progdefaults.PSKsweetspot;
 | 
			
		||||
					frequency = progdefaults.ServerCarrier;
 | 
			
		||||
					set_freq(frequency);
 | 
			
		||||
					sigsearch = SIGSEARCH;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -405,6 +410,12 @@ void psk::phaseafc()
 | 
			
		|||
	if (fabs(error) < bandwidth) {
 | 
			
		||||
		freqerr = decayavg( freqerr, error, AFCDECAYSLOW);
 | 
			
		||||
		frequency -= freqerr;
 | 
			
		||||
		if (mailserver) {
 | 
			
		||||
			if (frequency < progdefaults.ServerCarrier - progdefaults.ServerAFCrange)
 | 
			
		||||
				frequency = progdefaults.ServerCarrier - progdefaults.ServerAFCrange;
 | 
			
		||||
			if (frequency > progdefaults.ServerCarrier + progdefaults.ServerAFCrange)
 | 
			
		||||
				frequency = progdefaults.ServerCarrier + progdefaults.ServerAFCrange;
 | 
			
		||||
		}
 | 
			
		||||
		set_freq (frequency);
 | 
			
		||||
	}
 | 
			
		||||
	if (acquire) acquire--;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue