mirror of
https://git.code.sf.net/p/fldigi/flrig
synced 2026-08-13 17:28:24 -04:00
Xiegu G90
* Added G90 transceiver backend
- modeled after Icom 7100
This commit is contained in:
parent
2b46958221
commit
3807578031
13 changed files with 2313 additions and 1349 deletions
|
|
@ -211,6 +211,7 @@ flrig_SOURCES += \
|
|||
rigs/TT588.cxx \
|
||||
rigs/TT599.cxx \
|
||||
rigs/Xiegu-5105.cxx \
|
||||
rigs/Xiegu-G90.cxx \
|
||||
support/debug.cxx \
|
||||
support/dialogs.cxx \
|
||||
support/ptt.cxx \
|
||||
|
|
@ -374,6 +375,7 @@ EXTRA_DIST = \
|
|||
include/ValueSlider.h \
|
||||
include/xml_server.h \
|
||||
include/Xiegu-5105.h \
|
||||
include/Xiegu-G90.h \
|
||||
include/combo.h \
|
||||
images/alc.xbm \
|
||||
images/P5.xbm \
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ Fl_Double_Window* DisplayDialog() {
|
|||
lblTest = new Fl_Box(
|
||||
su_grp2a->x() + 2, su_grp2a->y() + 2, 206, 31, _("14070.000"));
|
||||
lblTest->box(FL_FLAT_BOX);
|
||||
lblTest->labelfont(4);
|
||||
lblTest->labelfont(progStatus.fontnbr);
|
||||
lblTest->labelsize(32);
|
||||
su_grp2a->end();
|
||||
|
||||
|
|
|
|||
|
|
@ -68,27 +68,27 @@ Fl_Group *small_main_group(int X, int Y, int W, int H)
|
|||
g->box(FL_FLAT_BOX);
|
||||
|
||||
FreqDispA = new cFreqControl(1, 24, 210, 35, _("10"));
|
||||
FreqDispA->box(FL_DOWN_BOX);
|
||||
FreqDispA->color(FL_BACKGROUND_COLOR);
|
||||
FreqDispA->selection_color(FL_BACKGROUND_COLOR);
|
||||
FreqDispA->labeltype(FL_NORMAL_LABEL);
|
||||
FreqDispA->labelfont(0);
|
||||
FreqDispA->labelsize(14);
|
||||
FreqDispA->labelcolor(FL_FOREGROUND_COLOR);
|
||||
FreqDispA->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
// FreqDispA->box(FL_DOWN_BOX);
|
||||
// FreqDispA->color(FL_BACKGROUND_COLOR);
|
||||
// FreqDispA->selection_color(FL_BACKGROUND_COLOR);
|
||||
// FreqDispA->labeltype(FL_NORMAL_LABEL);
|
||||
// FreqDispA->labelfont(0);
|
||||
// FreqDispA->labelsize(14);
|
||||
// FreqDispA->labelcolor(FL_FOREGROUND_COLOR);
|
||||
// FreqDispA->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
FreqDispA->when(FL_WHEN_CHANGED);
|
||||
FreqDispA->SetONOFFCOLOR (FL_YELLOW, FL_BLACK);
|
||||
FreqDispA->setCallBack(movFreqA);
|
||||
|
||||
FreqDispB = new cFreqControl(213, 24, 210, 35, _("10"));
|
||||
FreqDispB->box(FL_DOWN_BOX);
|
||||
FreqDispB->color(FL_BACKGROUND_COLOR);
|
||||
FreqDispB->selection_color(FL_BACKGROUND_COLOR);
|
||||
FreqDispB->labeltype(FL_NORMAL_LABEL);
|
||||
FreqDispB->labelfont(0);
|
||||
FreqDispB->labelsize(14);
|
||||
FreqDispB->labelcolor(FL_FOREGROUND_COLOR);
|
||||
FreqDispB->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
// FreqDispB->box(FL_DOWN_BOX);
|
||||
// FreqDispB->color(FL_BACKGROUND_COLOR);
|
||||
// FreqDispB->selection_color(FL_BACKGROUND_COLOR);
|
||||
// FreqDispB->labeltype(FL_NORMAL_LABEL);
|
||||
// FreqDispB->labelfont(0);
|
||||
// FreqDispB->labelsize(14);
|
||||
// FreqDispB->labelcolor(FL_FOREGROUND_COLOR);
|
||||
// FreqDispB->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
FreqDispB->when(FL_WHEN_CHANGED);
|
||||
FreqDispB->SetONOFFCOLOR (FL_YELLOW, FL_BLACK);
|
||||
FreqDispB->setCallBack(movFreqB);
|
||||
|
|
@ -461,13 +461,13 @@ Fl_Group *small_main_group(int X, int Y, int W, int H)
|
|||
btn_show_controls->tooltip(_("Show/Hide controls"));
|
||||
btn_show_controls->callback((Fl_Callback*)cb_btn_show_controls);
|
||||
|
||||
btnAttenuator = new Fl_Light_Button(26, 325, 60, 18, _("Att"));
|
||||
btnAttenuator = new Fl_Light_Button(26, 325, 60, 18, _("ATT"));
|
||||
btnAttenuator->tooltip(_("Attenuator On/Off"));
|
||||
btnAttenuator->down_box(FL_THIN_DOWN_BOX);
|
||||
btnAttenuator->labelsize(12);
|
||||
btnAttenuator->callback((Fl_Callback*)cb_btnAttenuator);
|
||||
|
||||
btnPreamp = new Fl_Light_Button(93, 325, 60, 18, _("Pre"));
|
||||
btnPreamp = new Fl_Light_Button(93, 325, 60, 18, _("PRE"));
|
||||
btnPreamp->tooltip(_("Preamp On/Off"));
|
||||
btnPreamp->down_box(FL_THIN_DOWN_BOX);
|
||||
btnPreamp->labelsize(12);
|
||||
|
|
@ -1465,7 +1465,7 @@ Fl_Double_Window *tabs_window()
|
|||
genericSpeech = new Fl_Group(0, 24, small_mainW, gph - 24, _("Spch"));
|
||||
genericSpeech->hide();
|
||||
|
||||
btnCompON = new Fl_Light_Button(215, 40, 70, 22, _("On"));
|
||||
btnCompON = new Fl_Light_Button(215, 40, 100, 22, _("On"));
|
||||
btnCompON->callback((Fl_Callback*)cb_btnCompON);
|
||||
btnCompON->value(progStatus.compON);
|
||||
btnCompON->tooltip(_("Compression on/off"));
|
||||
|
|
@ -1682,9 +1682,9 @@ Fl_Double_Window* Small_rig_window() {
|
|||
Fl_Double_Window* w = new Fl_Double_Window(small_mainW, small_mainH, _("Flrig"));
|
||||
w->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
|
||||
|
||||
hidden_tabs = new Fl_Group(0,0,small_mainW, small_mainH);
|
||||
hidden_tabs->hide();
|
||||
hidden_tabs->end();
|
||||
// hidden_tabs = new Fl_Group(0,0,small_mainW, small_mainH);
|
||||
// hidden_tabs->hide();
|
||||
// hidden_tabs->end();
|
||||
|
||||
grp_menu = new Fl_Group(0,0,small_mainW,small_menuH);
|
||||
|
||||
|
|
|
|||
|
|
@ -344,28 +344,13 @@ Fl_Group *touch_main_group(int X, int Y, int W, int H)
|
|||
ypos = Y + 2;
|
||||
|
||||
FreqDispA = new cFreqControl(xpos, ypos, 480, 100, _("10"));
|
||||
FreqDispA->box(FL_DOWN_BOX);
|
||||
FreqDispA->color(FL_BACKGROUND_COLOR);
|
||||
FreqDispA->selection_color(FL_BACKGROUND_COLOR);
|
||||
FreqDispA->labeltype(FL_NORMAL_LABEL);
|
||||
FreqDispA->labelfont(0);
|
||||
FreqDispA->labelsize(14);
|
||||
FreqDispA->labelcolor(FL_FOREGROUND_COLOR);
|
||||
FreqDispA->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
FreqDispA->when(FL_WHEN_CHANGED);
|
||||
FreqDispA->SetONOFFCOLOR (FL_YELLOW, FL_BLACK);
|
||||
FreqDispA->setCallBack(movFreqA);
|
||||
|
||||
// FreqDispB hides behind FreqDispA
|
||||
FreqDispB = new cFreqControl(xpos, ypos, 480, 100, _("9"));
|
||||
FreqDispB->box(FL_DOWN_BOX);
|
||||
FreqDispB->color(FL_BACKGROUND_COLOR);
|
||||
FreqDispB->selection_color(FL_BACKGROUND_COLOR);
|
||||
FreqDispB->labeltype(FL_NORMAL_LABEL);
|
||||
FreqDispB->labelfont(0);
|
||||
FreqDispB->labelsize(14);
|
||||
FreqDispB->labelcolor(FL_FOREGROUND_COLOR);
|
||||
FreqDispB->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
FreqDispB = new cFreqControl(xpos, ypos, 480, 100, _("10"));
|
||||
FreqDispB->when(FL_WHEN_CHANGED);
|
||||
FreqDispB->SetONOFFCOLOR (FL_YELLOW, FL_BLACK);
|
||||
FreqDispB->setCallBack(movFreqB);
|
||||
|
|
@ -729,14 +714,14 @@ Fl_Group *touch_main_group(int X, int Y, int W, int H)
|
|||
ypos += 15;
|
||||
xpos = 2;
|
||||
|
||||
btnAttenuator = new Fl_Light_Button(xpos, ypos, bw, bh, _("Att"));
|
||||
btnAttenuator = new Fl_Light_Button(xpos, ypos, bw, bh, _("ATT"));
|
||||
btnAttenuator->tooltip(_("Attenuator On/Off"));
|
||||
btnAttenuator->down_box(FL_THIN_DOWN_BOX);
|
||||
btnAttenuator->labelsize(16);
|
||||
btnAttenuator->callback((Fl_Callback*)cb_btnAttenuator);
|
||||
|
||||
xpos += btnAttenuator->w() + 2;
|
||||
btnPreamp = new Fl_Light_Button(xpos, ypos, bw, bh, _("Pre"));
|
||||
btnPreamp = new Fl_Light_Button(xpos, ypos, bw, bh, _("PRE"));
|
||||
btnPreamp->tooltip(_("Preamp On/Off"));
|
||||
btnPreamp->down_box(FL_THIN_DOWN_BOX);
|
||||
btnPreamp->labelsize(16);
|
||||
|
|
@ -1230,7 +1215,7 @@ Fl_Group *touch_main_group(int X, int Y, int W, int H)
|
|||
genericSpeech = new Fl_Group(xpos, ypos+tabh, W, tabb, _("Spch"));
|
||||
genericSpeech->hide();
|
||||
|
||||
btnCompON = new Fl_Light_Button(xpos+230, by, 70, bh, _("On"));
|
||||
btnCompON = new Fl_Light_Button(xpos+230, by, 100, bh, _("On"));
|
||||
btnCompON->callback((Fl_Callback*)cb_btnCompON);
|
||||
btnCompON->value(progStatus.compON);
|
||||
btnCompON->tooltip(_("Compression on/off"));
|
||||
|
|
|
|||
1345
src/UI/ui_wide.cxx
1345
src/UI/ui_wide.cxx
File diff suppressed because it is too large
Load diff
177
src/include/Xiegu-G90.h
Normal file
177
src/include/Xiegu-G90.h
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
// ----------------------------------------------------------------------------
|
||||
// Copyright (C) 2020
|
||||
// David Freese, W1HKJ
|
||||
// Mark Gregory, G4LCH
|
||||
//
|
||||
// This file is part of flrig.
|
||||
//
|
||||
// flrig is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// flrig is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// aunsigned long int with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _Xiegu_G90_H
|
||||
#define _Xiegu_G90_H
|
||||
|
||||
#include "IC746.h"
|
||||
|
||||
class RIG_Xiegu_G90 : public RIG_ICOM {
|
||||
public:
|
||||
RIG_Xiegu_G90();
|
||||
~RIG_Xiegu_G90(){}
|
||||
|
||||
bool CW_sense;
|
||||
|
||||
void initialize();
|
||||
|
||||
void selectA();
|
||||
void selectB();
|
||||
|
||||
bool check();
|
||||
|
||||
unsigned long int get_vfoA ();
|
||||
void set_vfoA (unsigned long int freq);
|
||||
|
||||
unsigned long int get_vfoB(void);
|
||||
void set_vfoB(unsigned long int f);
|
||||
|
||||
void set_modeA(int val);
|
||||
int get_modeA();
|
||||
|
||||
void set_modeB(int val);
|
||||
int get_modeB();
|
||||
|
||||
// void set_bwA(int val);
|
||||
// int get_bwA();
|
||||
// void set_bwB(int val);
|
||||
// int get_bwB();
|
||||
// int adjust_bandwidth(int m);
|
||||
// int def_bandwidth(int m);
|
||||
|
||||
void set_attenuator( int val );
|
||||
int get_attenuator();
|
||||
|
||||
void set_preamp(int val);
|
||||
// int next_preamp();
|
||||
int get_preamp();
|
||||
|
||||
// void set_mic_gain(int v);
|
||||
// int get_mic_gain();
|
||||
// void get_mic_gain_min_max_step(int &min, int &max, int &step);
|
||||
|
||||
void set_noise(bool val);
|
||||
int get_noise();
|
||||
|
||||
// void set_noise_reduction(int val);
|
||||
// int get_noise_reduction();
|
||||
// void set_noise_reduction_val(int val);
|
||||
// int get_noise_reduction_val();
|
||||
// void get_nr_min_max_step(int &min, int &max, int &step) {
|
||||
// min = 0; max = 15; step = 1; }
|
||||
|
||||
void set_compression(int, int);
|
||||
void get_compression(int &, int &);
|
||||
// void get_comp_min_max_step(int &min, int &max, int &step) {
|
||||
// min = 0; max = 10; step = 1; }
|
||||
|
||||
// void set_vox_onoff();
|
||||
// void set_vox_gain();
|
||||
// void set_vox_anti();
|
||||
// void set_vox_hang();
|
||||
// void get_vox_hang_min_max_step(int &min, int &max, int &step) {
|
||||
// min = 0; max = 200; step = 10; }
|
||||
|
||||
void get_cw_wpm_min_max(int &min, int &max) {
|
||||
min = 6; max = 48; }
|
||||
|
||||
// void get_cw_qsk_min_max_step(double &min, double &max, double &step) {
|
||||
// min = 2.0; max = 13.0; step = 0.1; }
|
||||
|
||||
// void get_cw_spot_tone_min_max_step(int &min, int &max, int &step) {
|
||||
// min = 300; max = 900; step = 5; }
|
||||
|
||||
void set_cw_wpm();
|
||||
// void set_cw_qsk();
|
||||
// void set_cw_spot_tone();
|
||||
// void set_cw_vol();
|
||||
|
||||
// const char **bwtable(int m);
|
||||
|
||||
bool canswap() { return true; }
|
||||
|
||||
bool can_split();
|
||||
void set_split(bool val);
|
||||
int get_split();
|
||||
|
||||
void set_PTT_control(int val);
|
||||
// int get_PTT();
|
||||
|
||||
void set_power_control(double val);
|
||||
int get_power_control();
|
||||
void get_pc_min_max_step(double &min, double &max, double &step);
|
||||
|
||||
void set_volume_control(int val);
|
||||
int get_volume_control();
|
||||
void get_vol_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(double &min, double &max, double &step);
|
||||
|
||||
void set_squelch(int val);
|
||||
int get_squelch();
|
||||
|
||||
int get_smeter();
|
||||
// int get_alc();
|
||||
int get_swr();
|
||||
int get_power_out();
|
||||
|
||||
// int get_auto_notch();
|
||||
// void set_auto_notch(int val);
|
||||
|
||||
// bool get_notch(int &val);
|
||||
// void set_notch(bool on, int val);
|
||||
// void get_notch_min_max_step(int &min, int &max, int &step);
|
||||
|
||||
// void set_if_shift(int val);
|
||||
// bool get_if_shift(int &val);
|
||||
// void get_if_min_max_step(int &min, int &max, int &step);
|
||||
|
||||
// void set_pbt_inner(int val);
|
||||
// void set_pbt_outer(int val);
|
||||
|
||||
// int get_pbt_inner();
|
||||
// int get_pbt_outer();
|
||||
|
||||
// void set_nb_level(int val);
|
||||
// int get_nb_level();
|
||||
|
||||
void set_band_selection(int v);
|
||||
void get_band_selection(int v);
|
||||
|
||||
// void setVfoAdj(double v);
|
||||
// double getVfoAdj();
|
||||
|
||||
// void set_BANDWIDTHS(std::string s);
|
||||
// std::string get_BANDWIDTHS();
|
||||
|
||||
// void set_xcvr_auto_on();
|
||||
// void set_xcvr_auto_off();
|
||||
|
||||
int get_agc();
|
||||
int incr_agc();
|
||||
const char *agc_label();
|
||||
int agc_val();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -159,6 +159,9 @@ extern Fl_Light_Button *btnVol;
|
|||
extern Fl_Wheel_Value_Slider *sldrVOLUME;
|
||||
extern Fl_Group *grpTABS;
|
||||
|
||||
// wide UI group exposure
|
||||
extern Fl_Group *grp_row1b1b;
|
||||
|
||||
extern Fl_Tabs *tabsGeneric;
|
||||
extern Fl_Group *hidden_tabs;
|
||||
extern Fl_Group *tab_yaesu_bands;
|
||||
|
|
|
|||
|
|
@ -101,8 +101,8 @@
|
|||
#include "TT566.h"
|
||||
#include "TT588.h"
|
||||
#include "TT599.h"
|
||||
|
||||
#include "Xiegu-5105.h"
|
||||
#include "Xiegu-G90.h"
|
||||
|
||||
extern rigbase rig_null; // 0
|
||||
extern RIG_FT100D rig_FT100D; // 1
|
||||
|
|
@ -190,5 +190,6 @@ extern RIG_TT588 rig_TT588; // 80
|
|||
extern RIG_TT599 rig_TT599; // 81
|
||||
extern RIG_AOR5K rig_AOR5K; // 82
|
||||
extern RIG_XI5105 rig_XI5105; // 83
|
||||
extern RIG_Xiegu_G90 rig_XIG90; // 84
|
||||
|
||||
#endif
|
||||
|
|
|
|||
18
src/main.cxx
18
src/main.cxx
|
|
@ -268,10 +268,11 @@ void close_controls(void*)
|
|||
if (EXPAND_CONTROLS && selrig->has_extras) return;
|
||||
btn_show_controls->label("@-22->");
|
||||
btn_show_controls->redraw_label();
|
||||
grpTABS->hide();
|
||||
mainwindow->resizable(grpTABS);
|
||||
// grpTABS->hide();
|
||||
// mainwindow->resizable(grpTABS);
|
||||
mainwindow->size(progStatus.mainW, 150);
|
||||
mainwindow->size_range(735, 150, 0, 150);
|
||||
if (tabs_dialog && tabs_dialog->visible()) tabs_dialog->hide();
|
||||
break;
|
||||
case small_ui :
|
||||
if (tabs_dialog && tabs_dialog->visible()) tabs_dialog->hide();
|
||||
|
|
@ -295,14 +296,17 @@ void startup(void*)
|
|||
mainwindow->redraw();
|
||||
break;
|
||||
case wide_ui :
|
||||
{
|
||||
if (EXPAND_CONTROLS && selrig->has_extras) return;
|
||||
btn_show_controls->label("@-22->");
|
||||
btn_show_controls->redraw_label();
|
||||
grpTABS->hide();
|
||||
mainwindow->resizable(grpTABS);
|
||||
mainwindow->size(progStatus.mainW, WIDE_MAINH);
|
||||
mainwindow->size_range(735, WIDE_MAINH, 0, WIDE_MAINH);
|
||||
// grpTABS->hide();
|
||||
// mainwindow->resizable(grpTABS);
|
||||
// int nuH = mainwindow->h();// - grpTABS->h();
|
||||
// mainwindow->size(progStatus.mainW, nuH);//WIDE_MAINH);
|
||||
// mainwindow->size_range(735, nuH, 0, 0);//nuH);
|
||||
mainwindow->redraw();
|
||||
}
|
||||
case small_ui :
|
||||
default :
|
||||
// if (EXPAND_CONTROLS && selrig->has_extras)
|
||||
|
|
@ -436,6 +440,8 @@ extern FILE *serlog;
|
|||
case wide_ui :
|
||||
default :
|
||||
mainwindow = Wide_rig_window();
|
||||
tabs_dialog = tabs_window();
|
||||
tabs_dialog->hide();
|
||||
}
|
||||
mainwindow->callback(exit_main);
|
||||
|
||||
|
|
|
|||
1825
src/rigs/Xiegu-G90.cxx
Normal file
1825
src/rigs/Xiegu-G90.cxx
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -111,6 +111,7 @@ RIG_TT566 rig_TT566;
|
|||
RIG_TT588 rig_TT588;
|
||||
RIG_TT599 rig_TT599;
|
||||
RIG_XI5105 rig_XI5105;
|
||||
RIG_Xiegu_G90 rig_XIG90;
|
||||
|
||||
rigbase *rigs[] = {
|
||||
&rig_null, // 0
|
||||
|
|
@ -197,6 +198,7 @@ rigbase *rigs[] = {
|
|||
&rig_TT599, // 81
|
||||
&rig_AOR5K, // 82
|
||||
&rig_XI5105, // 83
|
||||
&rig_XIG90, // 84
|
||||
|
||||
NULL
|
||||
};
|
||||
|
|
|
|||
|
|
@ -929,7 +929,6 @@ void setColors()
|
|||
if (btnSpot) btnSpot->selection_color(btn_lt_color);
|
||||
if (btn_vox) btn_vox->selection_color(btn_lt_color);
|
||||
if (btnCompON) btnCompON->selection_color(btn_lt_color);
|
||||
// if (btnSpecial) btnSpecial->selection_color(btn_lt_color);
|
||||
if (btn_tt550_vox) btn_tt550_vox->selection_color(btn_lt_color);
|
||||
if (btn_tt550_CompON) btn_tt550_CompON->selection_color(btn_lt_color);
|
||||
|
||||
|
|
@ -956,7 +955,6 @@ void setColors()
|
|||
|
||||
if (spnrPOWER) spnrPOWER->color(bg_slider);
|
||||
if (spnrVOLUME) spnrVOLUME->color(bg_slider);
|
||||
// if (spnrPOWER) spnrPOWER->selection_color(btn_slider);
|
||||
|
||||
mainwindow->redraw();
|
||||
}
|
||||
|
|
@ -1103,27 +1101,7 @@ void openMemoryDialog()
|
|||
|
||||
void show_controls()
|
||||
{
|
||||
int wh = mainwindow->h();
|
||||
int ww = mainwindow->w();
|
||||
switch (progStatus.UIsize) {
|
||||
case wide_ui :
|
||||
if (mainwindow->h() > WIDE_MAINH) {
|
||||
btn_show_controls->label("@-22->");
|
||||
btn_show_controls->redraw_label();
|
||||
grpTABS->hide();
|
||||
mainwindow->size(mainwindow->w(), WIDE_MAINH);
|
||||
mainwindow->size_range(735, WIDE_MAINH, 0, WIDE_MAINH);
|
||||
} else {
|
||||
wh += grpTABS->h();
|
||||
btn_show_controls->label("@-28->");
|
||||
btn_show_controls->redraw_label();
|
||||
grpTABS->show();
|
||||
grpTABS->resize(0, wh - grpTABS->h(), ww, grpTABS->h());
|
||||
mainwindow->size(ww, wh);
|
||||
mainwindow->size_range(735, wh, 0, wh);
|
||||
}
|
||||
mainwindow->redraw();
|
||||
break;
|
||||
case touch_ui :
|
||||
if (selrig->name_ == rig_TT550.name_) {
|
||||
tabs550->show();
|
||||
|
|
@ -1136,6 +1114,7 @@ void show_controls()
|
|||
tabsGeneric->redraw();
|
||||
mainwindow->redraw();
|
||||
break;
|
||||
case wide_ui :
|
||||
case small_ui :
|
||||
if (selrig->name_ == rig_TT550.name_) {
|
||||
tabsGeneric->hide();
|
||||
|
|
|
|||
|
|
@ -2206,7 +2206,7 @@ void cbRIT()
|
|||
{
|
||||
guard_lock serial_lock(&mutex_serial);
|
||||
trace(1, "cbRIT()");
|
||||
if (selrig->has_rit)
|
||||
if (selrig->has_rit && cntRIT)
|
||||
selrig->setRit((int)cntRIT->value());
|
||||
}
|
||||
|
||||
|
|
@ -2769,6 +2769,10 @@ void redrawAGC()
|
|||
const char *lbl = selrig->agc_label();
|
||||
int val = progStatus.agc_level;
|
||||
|
||||
if (!selrig->has_rf_control) {
|
||||
sldrSQUELCH->label("");
|
||||
sldrSQUELCH->redraw_label();
|
||||
}
|
||||
btnAGC->label(lbl);
|
||||
btnAGC->redraw_label();
|
||||
|
||||
|
|
@ -3729,6 +3733,118 @@ void adjust_small_ui()
|
|||
|
||||
}
|
||||
|
||||
void adjust_xig_wide()
|
||||
{
|
||||
btnPreamp->show();
|
||||
btnAttenuator->show();
|
||||
btnNOISE->show();
|
||||
btnAutoNotch->hide();
|
||||
|
||||
btnAGC->resize(btnAutoNotch->x(), btnAutoNotch->y(), btnAutoNotch->w(), btnAutoNotch->h());
|
||||
btnAGC->show();
|
||||
grp_row1b1b->add(btnAGC);
|
||||
|
||||
btnAswapB->show();
|
||||
btnSplit->show();
|
||||
btnPTT->show();
|
||||
btnTune->show();
|
||||
|
||||
int xig_y = grp_row2->y() + grp_row2->h() / 4;
|
||||
int xig_h = 5 * btnAGC->h() / 4;
|
||||
|
||||
Fl_Group *xig_group = new Fl_Group(
|
||||
2, xig_y,
|
||||
mainwindow->w() - 4, xig_h);
|
||||
|
||||
Fl_Group *xig_gp1 = new Fl_Group(
|
||||
xig_group->x(), xig_group->y(),
|
||||
(xig_group->w() - 4) / 3, xig_h);
|
||||
|
||||
btnVol->resize(
|
||||
xig_gp1->x(), xig_y,
|
||||
54, xig_gp1->h());
|
||||
xig_gp1->add(btnVol);
|
||||
|
||||
sldrVOLUME->resize(
|
||||
xig_gp1->x() + 54, xig_y,
|
||||
xig_gp1->w() - 54, xig_h);
|
||||
xig_gp1->add(sldrVOLUME);
|
||||
|
||||
btnVol->show();
|
||||
sldrVOLUME->show();
|
||||
|
||||
xig_gp1->end();
|
||||
xig_gp1->resizable(sldrVOLUME);
|
||||
|
||||
Fl_Group *xig_gp2 = new Fl_Group(
|
||||
xig_gp1->x() + xig_gp1->w() + 2, xig_y,
|
||||
xig_gp1->w(), xig_h);
|
||||
|
||||
btnPOWER->resize(
|
||||
xig_gp2->x(), xig_y,
|
||||
54, xig_h);
|
||||
xig_gp2->add(btnPOWER);
|
||||
|
||||
sldrPOWER->resize(
|
||||
xig_gp2->x() + 54, xig_y,
|
||||
xig_gp2->w() - 54, xig_h);
|
||||
xig_gp2->add(sldrPOWER);
|
||||
|
||||
btnPOWER->show();
|
||||
sldrPOWER->show();
|
||||
|
||||
xig_gp2->end();
|
||||
xig_gp2->resizable(sldrPOWER);
|
||||
|
||||
Fl_Group *xig_gp3 = new Fl_Group(
|
||||
xig_gp2->x() + xig_gp2->w() + 2, xig_y,
|
||||
xig_group->w() - 2 * xig_gp1->w() - 4, xig_h);
|
||||
|
||||
xig_gp3->add(sldrSQUELCH);
|
||||
sldrSQUELCH->resize(
|
||||
xig_gp3->x() + 54, xig_y,
|
||||
xig_gp3->w() - 54, xig_h);
|
||||
sldrSQUELCH->label("SQL");
|
||||
sldrSQUELCH->redraw_label();
|
||||
sldrSQUELCH->show();
|
||||
|
||||
xig_gp3->end();
|
||||
xig_gp3->resizable(sldrSQUELCH);
|
||||
|
||||
xig_group->end();
|
||||
|
||||
grp_row2a->remove(sldrMICGAIN);
|
||||
grp_row2a->resize(xig_group->x(), xig_group->y(), xig_group->w(), xig_group->h());
|
||||
grp_row2a->hide();
|
||||
grp_row2b->remove(btnIFsh);
|
||||
grp_row2b->remove(sldrIFSHIFT);
|
||||
grp_row2b->resize(xig_group->x(), xig_group->y(), xig_group->w(), xig_group->h());
|
||||
grp_row2b->hide();
|
||||
grp_row2c->remove(sldrRFGAIN);
|
||||
grp_row2c->resize(xig_group->x(), xig_group->y(), xig_group->w(), xig_group->h());
|
||||
grp_row2c->hide();
|
||||
grp_row2->resize(xig_group->x(), xig_group->y(), xig_group->w(), xig_group->h());
|
||||
grp_row2->hide();
|
||||
mainwindow->remove(grp_row2);
|
||||
|
||||
mainwindow->add(xig_group);
|
||||
|
||||
if (progStatus.tooltips) {
|
||||
Fl_Tooltip::enable(1);
|
||||
if (mnuTooltips) mnuTooltips->set();
|
||||
} else {
|
||||
if (mnuTooltips) mnuTooltips->clear();
|
||||
Fl_Tooltip::enable(0);
|
||||
}
|
||||
|
||||
mainwindow->redraw();
|
||||
|
||||
if (tabs_dialog && tabs_dialog->visible())
|
||||
tabs_dialog->position(mainwindow->x(), mainwindow->y() + mainwindow->h() + 26);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void adjust_wide_ui()
|
||||
{
|
||||
mainwindow->resize( mainwindow->x(), mainwindow->y(), mainwindow->w(), WIDE_MAINH);
|
||||
|
|
@ -3914,7 +4030,10 @@ void adjust_control_positions()
|
|||
adjust_small_ui();
|
||||
break;
|
||||
case wide_ui :
|
||||
adjust_wide_ui();
|
||||
if (xcvr_name == rig_XIG90.name_)
|
||||
adjust_xig_wide();
|
||||
else
|
||||
adjust_wide_ui();
|
||||
break;
|
||||
case touch_ui :
|
||||
default :
|
||||
|
|
@ -4011,22 +4130,38 @@ void initTabs()
|
|||
|
||||
} else {
|
||||
|
||||
hidden_tabs->add(tab_yaesu_bands);
|
||||
hidden_tabs->add(tab_FT8n_bands);
|
||||
hidden_tabs->add(tab_FT8n_CTCSS);
|
||||
hidden_tabs->add(tab_icom_bands);
|
||||
hidden_tabs->add(genericCW);
|
||||
hidden_tabs->add(genericQSK);
|
||||
hidden_tabs->add(genericVOX);
|
||||
hidden_tabs->add(genericSpeech);
|
||||
hidden_tabs->add(genericRx);
|
||||
hidden_tabs->add(genericMisc);
|
||||
hidden_tabs->add(genericUser_1);
|
||||
hidden_tabs->add(genericUser_2);
|
||||
hidden_tabs->add(tab7610);
|
||||
if (hidden_tabs) {
|
||||
hidden_tabs->add(tab_yaesu_bands);
|
||||
hidden_tabs->add(tab_FT8n_bands);
|
||||
hidden_tabs->add(tab_FT8n_CTCSS);
|
||||
hidden_tabs->add(tab_icom_bands);
|
||||
hidden_tabs->add(genericCW);
|
||||
hidden_tabs->add(genericQSK);
|
||||
hidden_tabs->add(genericVOX);
|
||||
hidden_tabs->add(genericSpeech);
|
||||
hidden_tabs->add(genericRx);
|
||||
hidden_tabs->add(genericMisc);
|
||||
hidden_tabs->add(genericUser_1);
|
||||
hidden_tabs->add(genericUser_2);
|
||||
hidden_tabs->add(tab7610);
|
||||
} else {
|
||||
tabsGeneric->remove(tab_yaesu_bands);
|
||||
tabsGeneric->remove(tab_FT8n_bands);
|
||||
tabsGeneric->remove(tab_FT8n_CTCSS);
|
||||
tabsGeneric->remove(tab_icom_bands);
|
||||
tabsGeneric->remove(genericCW);
|
||||
tabsGeneric->remove(genericQSK);
|
||||
tabsGeneric->remove(genericVOX);
|
||||
tabsGeneric->remove(genericSpeech);
|
||||
tabsGeneric->remove(genericRx);
|
||||
tabsGeneric->remove(genericMisc);
|
||||
tabsGeneric->remove(genericUser_1);
|
||||
tabsGeneric->remove(genericUser_2);
|
||||
tabsGeneric->remove(tab7610);
|
||||
}
|
||||
|
||||
if (selrig->has_band_selection) {
|
||||
if (selrig->ICOMrig) {
|
||||
if (selrig->ICOMrig || selrig->name_ == rig_XIG90.name_) {
|
||||
tabsGeneric->add(tab_icom_bands);
|
||||
tab_icom_bands->redraw();
|
||||
} else if (selrig->name_ == rig_FT857D.name_ || selrig->name_ == rig_FT897D.name_) {
|
||||
|
|
@ -4453,6 +4588,7 @@ void init_generic_rig()
|
|||
|
||||
void init_rit()
|
||||
{
|
||||
if (!cntRIT) return;
|
||||
if (selrig->has_rit) {
|
||||
int min, max, step;
|
||||
selrig->get_RIT_min_max_step(min, max, step);
|
||||
|
|
@ -4460,26 +4596,31 @@ void init_rit()
|
|||
cntRIT->maximum(max);
|
||||
cntRIT->step(step);
|
||||
switch (progStatus.UIsize) {
|
||||
case small_ui :
|
||||
cntRIT->show();
|
||||
break;
|
||||
case wide_ui : case touch_ui : default :
|
||||
case touch_ui :
|
||||
cntRIT->activate();
|
||||
break;
|
||||
case small_ui :
|
||||
case wide_ui :
|
||||
default :
|
||||
cntRIT->show();
|
||||
}
|
||||
cntRIT->value(progStatus.rit_freq);
|
||||
} else {
|
||||
switch (progStatus.UIsize) {
|
||||
case small_ui :
|
||||
cntRIT->hide();
|
||||
break;
|
||||
case wide_ui: case touch_ui : default :
|
||||
case touch_ui :
|
||||
cntRIT->deactivate();
|
||||
break;
|
||||
case small_ui :
|
||||
case wide_ui :
|
||||
default :
|
||||
cntRIT->hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void init_xit()
|
||||
{
|
||||
if (!cntXIT) return;
|
||||
if (selrig->has_xit) {
|
||||
int min, max, step;
|
||||
selrig->get_XIT_min_max_step(min, max, step);
|
||||
|
|
@ -4506,6 +4647,7 @@ void init_xit()
|
|||
|
||||
void init_bfo()
|
||||
{
|
||||
if (!cntBFO) return;
|
||||
if (selrig->has_bfo) {
|
||||
int min, max, step;
|
||||
selrig->get_BFO_min_max_step(min, max, step);
|
||||
|
|
@ -5629,11 +5771,6 @@ void initRig()
|
|||
FreqDispB->set_precision(selrig->precision);
|
||||
FreqDispB->set_ndigits(selrig->ndigits);
|
||||
|
||||
FreqDispB->set_precision(selrig->precision);
|
||||
FreqDispB->set_ndigits(selrig->ndigits);
|
||||
FreqDispB->set_precision(selrig->precision);
|
||||
FreqDispB->set_ndigits(selrig->ndigits);
|
||||
|
||||
if (xcvr_name == rig_TT550.name_)
|
||||
init_TT550();
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue