kopia lustrzana https://gitlab.com/Teuniz/DSRemote
Work in progress.
rodzic
07b9811cb1
commit
4b11d29f9d
74
README.md
74
README.md
|
@ -45,3 +45,77 @@ Not tested yet:
|
|||
* Record & Playback function
|
||||
* Wave Inspector
|
||||
* serial decoding.
|
||||
|
||||
|
||||
|
||||
|
||||
In case you insist on using Qt5, the recommended way is not to use the Qt5 libraries that comes with your distro.
|
||||
Instead, download and compile the Qt5 source and use that to compile DSRemote.
|
||||
Here's a step by step list of instuctions:
|
||||
|
||||
First, fulfill the requirements for Qt:
|
||||
|
||||
http://doc.qt.io/qt-5/linux.html
|
||||
|
||||
Debian/Ubuntu: sudo apt-get install build-essential libgl1-mesa-dev libcups2-dev libx11-dev
|
||||
|
||||
Fedora: sudo dnf groupinstall "C Development Tools and Libraries"
|
||||
sudo dnf install mesa-libGL-devel cups-devel libx11-dev
|
||||
|
||||
openSUSE: sudo zypper install -t pattern devel_basis
|
||||
sudo zypper install xorg-x11-devel cups-devel freetype-devel fontconfig-devel
|
||||
|
||||
#############################################################################################
|
||||
# #
|
||||
# Compile a static version of the Qt5 libraries excluding all modules that are not needed. #
|
||||
# #
|
||||
# This will not mess with your system libraries. The new compiled libraries will be stored #
|
||||
# #
|
||||
# in a new and separate directory: /usr/local/Qt-5.9.2 #
|
||||
# #
|
||||
# It will not interfere with other Qt programs. #
|
||||
# #
|
||||
#############################################################################################
|
||||
|
||||
mkdir Qt5-source
|
||||
|
||||
cd Qt5-source
|
||||
|
||||
wget http://ftp1.nluug.nl/languages/qt/official_releases/qt/5.9/5.9.2/single/qt-everywhere-opensource-src-5.9.2.tar.xz
|
||||
|
||||
here is a list of download mirrors: https://download.qt.io/static/mirrorlist/
|
||||
The Qt source package you are going to need is: qt-everywhere-opensource-src-5.9.2.tar.xz
|
||||
|
||||
tar -xvf qt-everywhere-opensource-src-5.9.2.tar.xz
|
||||
|
||||
cd qt-everywhere-opensource-src-5.9.2
|
||||
|
||||
./configure -v -release -opensource -confirm-license -c++std c++11 -static -accessibility -fontconfig -skip qtdeclarative -skip qtconnectivity -skip qtmultimedia -no-qml-debug -qt-zlib -no-mtdev -no-journald -qt-libpng -qt-libjpeg -system-freetype -qt-harfbuzz -no-openssl -no-libproxy -no-glib -nomake examples -nomake tests -no-compile-examples -cups -no-evdev -no-dbus -no-eglfs -qreal double -no-opengl -skip qtlocation -skip qtsensors -skip qtwayland -skip qtgamepad -skip qtserialbus
|
||||
|
||||
(takes about 1.5 minutes)
|
||||
|
||||
make -j8
|
||||
|
||||
(takes about 11 minutes)
|
||||
|
||||
sudo make install
|
||||
|
||||
Now go to the directory that contains the DSRemote sourcecode and enter the following commands:
|
||||
|
||||
/usr/local/Qt-5.9.2/bin/qmake
|
||||
|
||||
make -j8
|
||||
|
||||
sudo make install
|
||||
|
||||
Now you can run the program by typing: dsremote
|
||||
|
||||
Congratulations!
|
||||
You have compiled a static version of DSRemote that can be deployed on other systems without the need
|
||||
to install the Qt libraries.
|
||||
In order to reduce the size of the executable, run the following commands:
|
||||
|
||||
strip -s dsremote
|
||||
|
||||
upx dsremote
|
||||
|
||||
|
|
|
@ -186,7 +186,7 @@ UI_decoder_window::UI_decoder_window(QWidget *w_parent)
|
|||
format_combobox->addItem("ASCII");
|
||||
format_combobox->addItem("Decimal");
|
||||
format_combobox->addItem("Binary");
|
||||
if(devparms->modelserie != 6)
|
||||
if(devparms->modelserie != 6 && devparms->modelserie != 4)
|
||||
{
|
||||
format_combobox->addItem("Line");
|
||||
}
|
||||
|
|
2
global.h
2
global.h
|
@ -35,7 +35,7 @@
|
|||
|
||||
|
||||
#define PROGRAM_NAME "DSRemote"
|
||||
#define PROGRAM_VERSION "0.35_1709221301"
|
||||
#define PROGRAM_VERSION "0.35_1710151835"
|
||||
|
||||
#define MAX_PATHLEN 4096
|
||||
|
||||
|
|
290
interface.cpp
290
interface.cpp
|
@ -1073,7 +1073,7 @@ void UI_Mainwindow::acqButtonClicked()
|
|||
|
||||
submenumemdepth.setTitle("Mem Depth");
|
||||
submenumemdepth.addAction("Auto", this, SLOT(set_memdepth_auto()));
|
||||
if(devparms.modelserie == 6)
|
||||
if(devparms.modelserie == 6 || devparms.modelserie == 4)
|
||||
{
|
||||
if(!dual)
|
||||
{
|
||||
|
@ -1092,7 +1092,7 @@ void UI_Mainwindow::acqButtonClicked()
|
|||
submenumemdepth.addAction("70M", this, SLOT(set_memdepth_70m()));
|
||||
}
|
||||
}
|
||||
else if((devparms.modelserie == 2) || (devparms.modelserie == 4))
|
||||
else if(devparms.modelserie == 2)
|
||||
{
|
||||
if(chns_on < 2)
|
||||
{
|
||||
|
@ -1100,14 +1100,7 @@ void UI_Mainwindow::acqButtonClicked()
|
|||
submenumemdepth.addAction("140K", this, SLOT(set_memdepth_140k()));
|
||||
submenumemdepth.addAction("1.4M", this, SLOT(set_memdepth_1400k()));
|
||||
submenumemdepth.addAction("14M", this, SLOT(set_memdepth_14m()));
|
||||
if(devparms.modelserie == 2)
|
||||
{
|
||||
submenumemdepth.addAction("56M", this, SLOT(set_memdepth_56m()));
|
||||
}
|
||||
else
|
||||
{
|
||||
submenumemdepth.addAction("140M", this, SLOT(set_memdepth_140m()));
|
||||
}
|
||||
submenumemdepth.addAction("56M", this, SLOT(set_memdepth_56m()));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1115,14 +1108,7 @@ void UI_Mainwindow::acqButtonClicked()
|
|||
submenumemdepth.addAction("70K", this, SLOT(set_memdepth_70k()));
|
||||
submenumemdepth.addAction("700K", this, SLOT(set_memdepth_700k()));
|
||||
submenumemdepth.addAction("7M", this, SLOT(set_memdepth_7m()));
|
||||
if(devparms.modelserie == 2)
|
||||
{
|
||||
submenumemdepth.addAction("28M", this, SLOT(set_memdepth_28m()));
|
||||
}
|
||||
else
|
||||
{
|
||||
submenumemdepth.addAction("70M", this, SLOT(set_memdepth_70m()));
|
||||
}
|
||||
submenumemdepth.addAction("28M", this, SLOT(set_memdepth_28m()));
|
||||
}
|
||||
}
|
||||
else if(devparms.modelserie == 1)
|
||||
|
@ -1874,11 +1860,11 @@ void UI_Mainwindow::playpauseButtonClicked()
|
|||
}
|
||||
else
|
||||
{
|
||||
if((devparms.modelserie == 6) && (devparms.func_wrec_enable == 1)) // DS6000 series record mode
|
||||
if(((devparms.modelserie == 6) || (devparms.modelserie == 4)) && (devparms.func_wrec_enable == 1))
|
||||
{
|
||||
set_cue_cmd(":FUNC:WRM PLAY");
|
||||
|
||||
devparms.func_wrec_enable = 2; // DS6000 series play mode
|
||||
devparms.func_wrec_enable = 2;
|
||||
}
|
||||
|
||||
devparms.func_wplay_operate = 1;
|
||||
|
@ -1929,7 +1915,7 @@ void UI_Mainwindow::recordButtonClicked()
|
|||
|
||||
statusLabel->setText("Record on");
|
||||
|
||||
if(devparms.modelserie == 6)
|
||||
if(devparms.modelserie == 6 || devparms.modelserie == 4)
|
||||
{
|
||||
set_cue_cmd(":FUNC:WREC:OPER REC");
|
||||
}
|
||||
|
@ -2270,6 +2256,18 @@ void UI_Mainwindow::chan_menu()
|
|||
submenubwl.setTitle("BWL");
|
||||
submenubwl.addAction("Off", this, SLOT(chan_bwl_off()));
|
||||
submenubwl.addAction("20MHz", this, SLOT(chan_bwl_20()));
|
||||
if(devparms.modelserie == 4)
|
||||
{
|
||||
if(devparms.bandwidth >= 200)
|
||||
{
|
||||
submenubwl.addAction("100MHz", this, SLOT(chan_bwl_100()));
|
||||
}
|
||||
|
||||
if(devparms.bandwidth >= 300)
|
||||
{
|
||||
submenubwl.addAction("200MHz", this, SLOT(chan_bwl_200()));
|
||||
}
|
||||
}
|
||||
if(devparms.modelserie == 6)
|
||||
{
|
||||
submenubwl.addAction("250MHz", this, SLOT(chan_bwl_250()));
|
||||
|
@ -2285,17 +2283,37 @@ void UI_Mainwindow::chan_menu()
|
|||
actionList[1]->setCheckable(true);
|
||||
actionList[1]->setChecked(true);
|
||||
}
|
||||
else if(devparms.modelserie == 6)
|
||||
else if(devparms.modelserie == 4)
|
||||
{
|
||||
if(devparms.chanbwlimit[devparms.activechannel] == 250)
|
||||
if(devparms.chanbwlimit[devparms.activechannel] == 100)
|
||||
{
|
||||
actionList[2]->setCheckable(true);
|
||||
actionList[2]->setChecked(true);
|
||||
}
|
||||
|
||||
if(devparms.chanbwlimit[devparms.activechannel] == 200)
|
||||
{
|
||||
actionList[3]->setCheckable(true);
|
||||
actionList[3]->setChecked(true);
|
||||
}
|
||||
}
|
||||
else if(devparms.modelserie == 6)
|
||||
{
|
||||
if(devparms.chanbwlimit[devparms.activechannel] == 250)
|
||||
{
|
||||
actionList[2]->setCheckable(true);
|
||||
actionList[2]->setChecked(true);
|
||||
}
|
||||
}
|
||||
menu.addMenu(&submenubwl);
|
||||
|
||||
submenuprobe.setTitle("Probe");
|
||||
if(devparms.modelserie != 6)
|
||||
{
|
||||
submenuprobe.addAction("0.01X", this, SLOT(chan_probe_001()));
|
||||
submenuprobe.addAction("0.02X", this, SLOT(chan_probe_002()));
|
||||
submenuprobe.addAction("0.05X", this, SLOT(chan_probe_005()));
|
||||
}
|
||||
submenuprobe.addAction("0.1X", this, SLOT(chan_probe_01()));
|
||||
if(devparms.modelserie != 6)
|
||||
{
|
||||
|
@ -2315,59 +2333,95 @@ void UI_Mainwindow::chan_menu()
|
|||
submenuprobe.addAction("50X", this, SLOT(chan_probe_50()));
|
||||
}
|
||||
submenuprobe.addAction("100X", this, SLOT(chan_probe_100()));
|
||||
if(devparms.modelserie != 6)
|
||||
{
|
||||
submenuprobe.addAction("200X", this, SLOT(chan_probe_200()));
|
||||
submenuprobe.addAction("500X", this, SLOT(chan_probe_500()));
|
||||
submenuprobe.addAction("1000X", this, SLOT(chan_probe_1000()));
|
||||
}
|
||||
actionList = submenuprobe.actions();
|
||||
if(devparms.modelserie != 6)
|
||||
{
|
||||
if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.1))
|
||||
if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.01))
|
||||
{
|
||||
actionList[0]->setCheckable(true);
|
||||
actionList[0]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.2))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.02))
|
||||
{
|
||||
actionList[1]->setCheckable(true);
|
||||
actionList[1]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.5))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.05))
|
||||
{
|
||||
actionList[2]->setCheckable(true);
|
||||
actionList[2]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 1))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.1))
|
||||
{
|
||||
actionList[3]->setCheckable(true);
|
||||
actionList[3]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 2))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.2))
|
||||
{
|
||||
actionList[4]->setCheckable(true);
|
||||
actionList[4]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 5))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 0.5))
|
||||
{
|
||||
actionList[5]->setCheckable(true);
|
||||
actionList[5]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 10))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 1))
|
||||
{
|
||||
actionList[6]->setCheckable(true);
|
||||
actionList[6]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 20))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 2))
|
||||
{
|
||||
actionList[7]->setCheckable(true);
|
||||
actionList[7]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 50))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 5))
|
||||
{
|
||||
actionList[8]->setCheckable(true);
|
||||
actionList[8]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 100))
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 10))
|
||||
{
|
||||
actionList[9]->setCheckable(true);
|
||||
actionList[9]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 20))
|
||||
{
|
||||
actionList[10]->setCheckable(true);
|
||||
actionList[10]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 50))
|
||||
{
|
||||
actionList[11]->setCheckable(true);
|
||||
actionList[11]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 100))
|
||||
{
|
||||
actionList[12]->setCheckable(true);
|
||||
actionList[12]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 200))
|
||||
{
|
||||
actionList[13]->setCheckable(true);
|
||||
actionList[13]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 500))
|
||||
{
|
||||
actionList[14]->setCheckable(true);
|
||||
actionList[14]->setChecked(true);
|
||||
}
|
||||
else if(!dblcmp(devparms.chanprobe[devparms.activechannel], 1000))
|
||||
{
|
||||
actionList[15]->setCheckable(true);
|
||||
actionList[15]->setChecked(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2791,6 +2845,66 @@ void UI_Mainwindow::chan_unit_u()
|
|||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_001()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanscale[devparms.activechannel] /= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
devparms.chanprobe[devparms.activechannel] = 0.01;
|
||||
|
||||
devparms.chanscale[devparms.activechannel] *= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
sprintf(str, "Channel %i probe: 0.01X", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:PROB %e", devparms.activechannel + 1, devparms.chanprobe[devparms.activechannel]);
|
||||
|
||||
set_cue_cmd(str);
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_002()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanscale[devparms.activechannel] /= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
devparms.chanprobe[devparms.activechannel] = 0.02;
|
||||
|
||||
devparms.chanscale[devparms.activechannel] *= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
sprintf(str, "Channel %i probe: 0.02X", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:PROB %e", devparms.activechannel + 1, devparms.chanprobe[devparms.activechannel]);
|
||||
|
||||
set_cue_cmd(str);
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_005()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanscale[devparms.activechannel] /= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
devparms.chanprobe[devparms.activechannel] = 0.05;
|
||||
|
||||
devparms.chanscale[devparms.activechannel] *= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
sprintf(str, "Channel %i probe: 0.05X", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:PROB %e", devparms.activechannel + 1, devparms.chanprobe[devparms.activechannel]);
|
||||
|
||||
set_cue_cmd(str);
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_01()
|
||||
{
|
||||
char str[128];
|
||||
|
@ -2991,6 +3105,66 @@ void UI_Mainwindow::chan_probe_100()
|
|||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_200()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanscale[devparms.activechannel] /= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
devparms.chanprobe[devparms.activechannel] = 200;
|
||||
|
||||
devparms.chanscale[devparms.activechannel] *= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
sprintf(str, "Channel %i probe: 200X", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:PROB %e", devparms.activechannel + 1, devparms.chanprobe[devparms.activechannel]);
|
||||
|
||||
set_cue_cmd(str);
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_500()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanscale[devparms.activechannel] /= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
devparms.chanprobe[devparms.activechannel] = 500;
|
||||
|
||||
devparms.chanscale[devparms.activechannel] *= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
sprintf(str, "Channel %i probe: 500X", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:PROB %e", devparms.activechannel + 1, devparms.chanprobe[devparms.activechannel]);
|
||||
|
||||
set_cue_cmd(str);
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_probe_1000()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanscale[devparms.activechannel] /= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
devparms.chanprobe[devparms.activechannel] = 1000;
|
||||
|
||||
devparms.chanscale[devparms.activechannel] *= devparms.chanprobe[devparms.activechannel];
|
||||
|
||||
sprintf(str, "Channel %i probe: 1000X", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:PROB %e", devparms.activechannel + 1, devparms.chanprobe[devparms.activechannel]);
|
||||
|
||||
set_cue_cmd(str);
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_bwl_off()
|
||||
{
|
||||
char str[128];
|
||||
|
@ -3027,6 +3201,42 @@ void UI_Mainwindow::chan_bwl_20()
|
|||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_bwl_100()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanbwlimit[devparms.activechannel] = 100;
|
||||
|
||||
sprintf(str, "Channel %i bandwidth limit: 100MHz", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:BWL 100M", devparms.activechannel + 1);
|
||||
|
||||
set_cue_cmd(str);
|
||||
|
||||
updateLabels();
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_bwl_200()
|
||||
{
|
||||
char str[128];
|
||||
|
||||
devparms.chanbwlimit[devparms.activechannel] = 200;
|
||||
|
||||
sprintf(str, "Channel %i bandwidth limit: 200MHz", devparms.activechannel + 1);
|
||||
|
||||
statusLabel->setText(str);
|
||||
|
||||
sprintf(str, ":CHAN%i:BWL 200M", devparms.activechannel + 1);
|
||||
|
||||
set_cue_cmd(str);
|
||||
|
||||
updateLabels();
|
||||
}
|
||||
|
||||
|
||||
void UI_Mainwindow::chan_bwl_250()
|
||||
{
|
||||
char str[128];
|
||||
|
@ -3508,14 +3718,14 @@ void UI_Mainwindow::trigMenuButtonClicked()
|
|||
{
|
||||
submenusource.addAction("CH4", this, SLOT(trigger_source_ch4()));
|
||||
}
|
||||
if(devparms.modelserie == 6)
|
||||
if(devparms.modelserie == 6 || devparms.modelserie == 4)
|
||||
{
|
||||
submenusource.addAction("EXT", this, SLOT(trigger_source_ext()));
|
||||
submenusource.addAction("EXT/ 5", this, SLOT(trigger_source_ext5()));
|
||||
}
|
||||
submenusource.addAction("AC Line", this, SLOT(trigger_source_acl()));
|
||||
actionList = submenusource.actions();
|
||||
if(devparms.modelserie == 6)
|
||||
if(devparms.modelserie == 6 || devparms.modelserie == 4)
|
||||
{
|
||||
for(i=0; i<7; i++)
|
||||
{
|
||||
|
@ -3661,7 +3871,7 @@ void UI_Mainwindow::trigger_source_acl()
|
|||
|
||||
statusLabel->setText("Trigger source AC powerline");
|
||||
|
||||
if(devparms.modelserie == 6)
|
||||
if(devparms.modelserie == 6 || devparms.modelserie == 4)
|
||||
{
|
||||
set_cue_cmd(":TRIG:EDG:SOUR ACL");
|
||||
}
|
||||
|
@ -3934,7 +4144,7 @@ void UI_Mainwindow::toggle_fft_unit()
|
|||
|
||||
void UI_Mainwindow::select_fft_ch1()
|
||||
{
|
||||
if(devparms.modelserie != 6)
|
||||
if(devparms.modelserie == 1)
|
||||
{
|
||||
set_cue_cmd(":MATH:FFT:SOUR CHAN1");
|
||||
}
|
||||
|
@ -3947,7 +4157,7 @@ void UI_Mainwindow::select_fft_ch1()
|
|||
|
||||
void UI_Mainwindow::select_fft_ch2()
|
||||
{
|
||||
if(devparms.modelserie != 6)
|
||||
if(devparms.modelserie == 1)
|
||||
{
|
||||
set_cue_cmd(":MATH:FFT:SOUR CHAN2");
|
||||
}
|
||||
|
@ -3960,7 +4170,7 @@ void UI_Mainwindow::select_fft_ch2()
|
|||
|
||||
void UI_Mainwindow::select_fft_ch3()
|
||||
{
|
||||
if(devparms.modelserie != 6)
|
||||
if(devparms.modelserie == 1)
|
||||
{
|
||||
set_cue_cmd(":MATH:FFT:SOUR CHAN3");
|
||||
}
|
||||
|
@ -3973,7 +4183,7 @@ void UI_Mainwindow::select_fft_ch3()
|
|||
|
||||
void UI_Mainwindow::select_fft_ch4()
|
||||
{
|
||||
if(devparms.modelserie != 6)
|
||||
if(devparms.modelserie == 1)
|
||||
{
|
||||
set_cue_cmd(":MATH:FFT:SOUR CHAN4");
|
||||
}
|
||||
|
|
|
@ -360,9 +360,14 @@ private slots:
|
|||
void chan_coupling_gnd();
|
||||
void chan_bwl_off();
|
||||
void chan_bwl_20();
|
||||
void chan_bwl_100();
|
||||
void chan_bwl_200();
|
||||
void chan_bwl_250();
|
||||
void chan_invert_on();
|
||||
void chan_invert_off();
|
||||
void chan_probe_001();
|
||||
void chan_probe_002();
|
||||
void chan_probe_005();
|
||||
void chan_probe_01();
|
||||
void chan_probe_02();
|
||||
void chan_probe_05();
|
||||
|
@ -373,6 +378,9 @@ private slots:
|
|||
void chan_probe_20();
|
||||
void chan_probe_50();
|
||||
void chan_probe_100();
|
||||
void chan_probe_200();
|
||||
void chan_probe_500();
|
||||
void chan_probe_1000();
|
||||
|
||||
void chan_unit_v();
|
||||
void chan_unit_w();
|
||||
|
|
|
@ -233,7 +233,7 @@ void UI_playback_window::toggle_playback()
|
|||
|
||||
mainwindow->statusLabel->setText("Recording enabled");
|
||||
|
||||
if(devparms->modelserie != 6)
|
||||
if(devparms->modelserie != 6 && devparms->modelserie != 4)
|
||||
{
|
||||
mainwindow->set_cue_cmd(":FUNC:WREC:ENAB ON");
|
||||
}
|
||||
|
|
|
@ -2063,6 +2063,7 @@ void read_settings_thread::run()
|
|||
goto GDS_OUT_ERROR;
|
||||
}
|
||||
|
||||
//FIXME DEC1:UART:BAUD? can return also "USER" instead of a number!
|
||||
devparms->math_decode_uart_baud = atoi(device->buf);
|
||||
|
||||
usleep(TMC_GDS_DELAY);
|
||||
|
|
|
@ -344,10 +344,14 @@ void SignalCurve::drawWidget(QPainter *painter, int curve_w, int curve_h)
|
|||
{
|
||||
v_sense = -((double)curve_h / 256.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
v_sense = -((double)curve_h / (25.0 * devparms->vertdivisions));
|
||||
}
|
||||
else if(devparms->modelserie == 4)
|
||||
{
|
||||
v_sense = -((double)curve_h / (32.0 * devparms->vertdivisions));
|
||||
}
|
||||
else
|
||||
{
|
||||
v_sense = -((double)curve_h / (25.0 * devparms->vertdivisions));
|
||||
}
|
||||
|
||||
drawTrigCenterArrow(painter, curve_w / 2, 0);
|
||||
|
||||
|
@ -796,7 +800,7 @@ void SignalCurve::drawFFT(QPainter *painter, int curve_h_b, int curve_w_b)
|
|||
h_step *= (100.0 / devparms->timebasescale) / devparms->math_fft_hscale;
|
||||
}
|
||||
|
||||
if(devparms->modelserie == 6)
|
||||
if(devparms->modelserie == 6 || devparms->modelserie == 4)
|
||||
{
|
||||
h_step /= 28.0;
|
||||
}
|
||||
|
@ -2322,7 +2326,7 @@ void SignalCurve::draw_decoder(QPainter *painter, int dw, int dh)
|
|||
char str[256];
|
||||
|
||||
|
||||
if(devparms->modelserie == 6)
|
||||
if(devparms->modelserie == 6 || devparms->modelserie == 4)
|
||||
{
|
||||
base_line = (dh / 2) - (((double)dh / 400.0) * devparms->math_decode_pos);
|
||||
}
|
||||
|
|
|
@ -92,6 +92,12 @@ void UI_Mainwindow::adjdial_timer_handler()
|
|||
{
|
||||
usleep(20000);
|
||||
|
||||
set_cue_cmd(":DISP:CLE");
|
||||
}
|
||||
else
|
||||
{
|
||||
usleep(20000);
|
||||
|
||||
set_cue_cmd(":CLE");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -966,7 +966,7 @@ void WaveCurve::draw_decoder(QPainter *painter, int dw, int dh)
|
|||
sample_end = bufsize;
|
||||
}
|
||||
|
||||
if(devparms->modelserie == 6)
|
||||
if(devparms->modelserie == 6 || devparms->modelserie == 4)
|
||||
{
|
||||
base_line = (dh / 2) - (((double)dh / 400.0) * devparms->math_decode_pos);
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue