Work in progress.

merge-requests/1/head
Teuniz 2015-06-09 10:37:25 +02:00
rodzic 17aa4c13d3
commit 19291e9317
5 zmienionych plików z 100 dodań i 60 usunięć

Wyświetl plik

@ -39,7 +39,8 @@
#define SCREEN_TIMER_IVAL 50 #define SCREEN_TIMER_IVAL 50
#define ADJDIAL_TIMER_IVAL 3000 #define ADJDIAL_TIMER_IVAL_1 3000
#define ADJDIAL_TIMER_IVAL_2 1000
#define SCRN_SHOT_BMP_SZ 1152054 #define SCRN_SHOT_BMP_SZ 1152054
@ -132,6 +133,8 @@ struct device_settings
short *wavebuf[MAX_CHNS]; short *wavebuf[MAX_CHNS];
int wavebufsz; int wavebufsz;
int screenupdates_on;
struct waveform_preamble preamble; struct waveform_preamble preamble;
}; };

Wyświetl plik

@ -32,10 +32,10 @@ void UI_Mainwindow::navDialChanged(int npos)
{ {
int mpr = 1; int mpr = 1;
char str[512];
double val, lefttime, righttime, delayrange; double val, lefttime, righttime, delayrange;
scrn_timer->stop();
if(navDial->isSliderDown() == true) if(navDial->isSliderDown() == true)
{ {
navDial_timer->start(100); navDial_timer->start(100);
@ -108,7 +108,7 @@ void UI_Mainwindow::navDialChanged(int npos)
if(navDialFunc == NAV_DIAL_FUNC_HOLDOFF) if(navDialFunc == NAV_DIAL_FUNC_HOLDOFF)
{ {
adjdial_timer->start(ADJDIAL_TIMER_IVAL); adjdial_timer->start(ADJDIAL_TIMER_IVAL_2);
val = get_stepsize_divide_by_1000(devparms.triggerholdoff); val = get_stepsize_divide_by_1000(devparms.triggerholdoff);
@ -123,18 +123,6 @@ void UI_Mainwindow::navDialChanged(int npos)
{ {
devparms.triggerholdoff = 10; devparms.triggerholdoff = 10;
} }
strcpy(str, "Trigger holdoff: ");
convert_to_metric_suffix(str + strlen(str), devparms.triggerholdoff, 2);
strcat(str, "s");
statusLabel->setText(str);
// sprintf(str, ":TRIG:HOLD %e", devparms.triggerholdoff);
//
// tmcdev_write(device, str);
} }
else if(devparms.timebasedelayenable) else if(devparms.timebasedelayenable)
{ {
@ -169,19 +157,9 @@ void UI_Mainwindow::navDialChanged(int npos)
{ {
devparms.timebasedelayoffset = (righttime - delayrange); devparms.timebasedelayoffset = (righttime - delayrange);
} }
strcpy(str, "Delayed timebase position: ");
convert_to_metric_suffix(str + strlen(str), devparms.timebasedelayoffset, 2);
strcat(str, "s");
statusLabel->setText(str);
// sprintf(str, ":TIM:DEL:OFFS %e", devparms.timebasedelayoffset);
//
// tmcdev_write(device, str);
} }
waveForm->update();
} }
@ -193,18 +171,39 @@ void UI_Mainwindow::navDialReleased()
if(navDialFunc == NAV_DIAL_FUNC_HOLDOFF) if(navDialFunc == NAV_DIAL_FUNC_HOLDOFF)
{ {
strcpy(str, "Trigger holdoff: ");
convert_to_metric_suffix(str + strlen(str), devparms.triggerholdoff, 2);
strcat(str, "s");
statusLabel->setText(str);
sprintf(str, ":TRIG:HOLD %e", devparms.triggerholdoff); sprintf(str, ":TRIG:HOLD %e", devparms.triggerholdoff);
tmcdev_write(device, str); tmcdev_write(device, str);
} }
else if(devparms.timebasedelayenable) else if(devparms.timebasedelayenable)
{ {
strcpy(str, "Delayed timebase position: ");
convert_to_metric_suffix(str + strlen(str), devparms.timebasedelayoffset, 2);
strcat(str, "s");
statusLabel->setText(str);
sprintf(str, ":TIM:DEL:OFFS %e", devparms.timebasedelayoffset); sprintf(str, ":TIM:DEL:OFFS %e", devparms.timebasedelayoffset);
tmcdev_write(device, str); tmcdev_write(device, str);
} }
adjDialFunc = NAV_DIAL_FUNC_NONE; adjDialFunc = ADJ_DIAL_FUNC_NONE;
if(devparms.screenupdates_on == 1)
{
scrn_timer->start(SCREEN_TIMER_IVAL);
}
} }
@ -554,7 +553,7 @@ void UI_Mainwindow::set_acq_average()
adjDialLabel->setStyleSheet("background: #66FF99; font: 7pt;"); adjDialLabel->setStyleSheet("background: #66FF99; font: 7pt;");
adjdial_timer->start(ADJDIAL_TIMER_IVAL); adjdial_timer->start(ADJDIAL_TIMER_IVAL_1);
if(devparms.acquiretype == 1) if(devparms.acquiretype == 1)
{ {
@ -825,13 +824,15 @@ void UI_Mainwindow::adjDialChanged(int new_pos)
int diff, dir; int diff, dir;
char str[512];
if(adjDialFunc == ADJ_DIAL_FUNC_NONE) if(adjDialFunc == ADJ_DIAL_FUNC_NONE)
{ {
return; return;
} }
scrn_timer->stop();
adjdial_timer->start(ADJDIAL_TIMER_IVAL_2);
diff = new_pos - old_pos; diff = new_pos - old_pos;
if(diff < 0) if(diff < 0)
@ -869,8 +870,6 @@ void UI_Mainwindow::adjDialChanged(int new_pos)
if(adjDialFunc == ADJ_DIAL_FUNC_HOLDOFF) if(adjDialFunc == ADJ_DIAL_FUNC_HOLDOFF)
{ {
adjdial_timer->start(ADJDIAL_TIMER_IVAL);
if(!dir) if(!dir)
{ {
if(devparms.triggerholdoff >= 10) if(devparms.triggerholdoff >= 10)
@ -897,23 +896,9 @@ void UI_Mainwindow::adjDialChanged(int new_pos)
devparms.triggerholdoff -= get_stepsize_divide_by_1000(devparms.triggerholdoff); devparms.triggerholdoff -= get_stepsize_divide_by_1000(devparms.triggerholdoff);
} }
strcpy(str, "Trigger holdoff: ");
convert_to_metric_suffix(str + strlen(str), devparms.triggerholdoff, 2);
strcat(str, "s");
statusLabel->setText(str);
sprintf(str, ":TRIG:HOLD %e", devparms.triggerholdoff);
tmcdev_write(device, str);
} }
else if(adjDialFunc == ADJ_DIAL_FUNC_ACQ_AVG) else if(adjDialFunc == ADJ_DIAL_FUNC_ACQ_AVG)
{ {
adjdial_timer->start(ADJDIAL_TIMER_IVAL);
if(!dir) if(!dir)
{ {
if(devparms.acquireaverages >= 8192) if(devparms.acquireaverages >= 8192)
@ -940,17 +925,11 @@ void UI_Mainwindow::adjDialChanged(int new_pos)
devparms.acquireaverages /= 2; devparms.acquireaverages /= 2;
} }
sprintf(str, "Acquire averages: %i", devparms.acquireaverages);
statusLabel->setText(str);
sprintf(str, ":ACQ:AVER %i", devparms.acquireaverages);
tmcdev_write(device, str);
} }
old_pos = new_pos; old_pos = new_pos;
waveForm->update();
} }
@ -2498,7 +2477,7 @@ void UI_Mainwindow::trigger_setting_holdoff()
adjDialLabel->setStyleSheet("background: #66FF99; font: 7pt;"); adjDialLabel->setStyleSheet("background: #66FF99; font: 7pt;");
adjdial_timer->start(ADJDIAL_TIMER_IVAL); adjdial_timer->start(ADJDIAL_TIMER_IVAL_1);
} }

Wyświetl plik

@ -261,6 +261,8 @@ void UI_Mainwindow::open_connection()
DPRwidget->setEnabled(true); DPRwidget->setEnabled(true);
devparms.screenupdates_on = 1;
scrn_timer->start(SCREEN_TIMER_IVAL); scrn_timer->start(SCREEN_TIMER_IVAL);
return; return;
@ -290,6 +292,8 @@ void UI_Mainwindow::close_connection()
adjdial_timer->stop(); adjdial_timer->stop();
devparms.screenupdates_on = 0;
setWindowTitle(PROGRAM_NAME " " PROGRAM_VERSION); setWindowTitle(PROGRAM_NAME " " PROGRAM_VERSION);
disconnect(adjDial, SIGNAL(valueChanged(int)), this, SLOT(adjDialChanged(int))); disconnect(adjDial, SIGNAL(valueChanged(int)), this, SLOT(adjDialChanged(int)));
@ -350,6 +354,8 @@ void UI_Mainwindow::closeEvent(QCloseEvent *cl_event)
scrn_timer->stop(); scrn_timer->stop();
devparms.screenupdates_on = 0;
adjdial_timer->stop(); adjdial_timer->stop();
tmcdev_close(device); tmcdev_close(device);

Wyświetl plik

@ -468,7 +468,7 @@ void SignalCurve::drawWidget(QPainter *painter, int curve_w, int curve_h)
char str[128]; char str[128];
if((mainwindow->adjDialFunc == NAV_DIAL_FUNC_HOLDOFF) || (mainwindow->navDialFunc == NAV_DIAL_FUNC_HOLDOFF)) if((mainwindow->adjDialFunc == ADJ_DIAL_FUNC_HOLDOFF) || (mainwindow->navDialFunc == NAV_DIAL_FUNC_HOLDOFF))
{ {
convert_to_metric_suffix(str, devparms->triggerholdoff, 2); convert_to_metric_suffix(str, devparms->triggerholdoff, 2);
@ -1273,7 +1273,10 @@ void SignalCurve::mouseReleaseEvent(QMouseEvent *release_event)
return; return;
} }
mainwindow->scrn_timer->start(SCREEN_TIMER_IVAL); if(devparms->screenupdates_on == 1)
{
mainwindow->scrn_timer->start(SCREEN_TIMER_IVAL);
}
if(trig_pos_arrow_moving) if(trig_pos_arrow_moving)
{ {

Wyświetl plik

@ -47,12 +47,24 @@ void UI_Mainwindow::navDial_timer_handler()
navDial->setSliderPosition(50); navDial->setSliderPosition(50);
navDialFunc = NAV_DIAL_FUNC_NONE; navDialFunc = NAV_DIAL_FUNC_NONE;
if(adjdial_timer->isActive() == false)
{
adjDialFunc = ADJ_DIAL_FUNC_NONE;
}
if(devparms.screenupdates_on == 1)
{
scrn_timer->start(SCREEN_TIMER_IVAL);
}
} }
} }
void UI_Mainwindow::adjdial_timer_handler() void UI_Mainwindow::adjdial_timer_handler()
{ {
char str[512];
adjdial_timer->stop(); adjdial_timer->stop();
adjDialLabel->setStyleSheet(def_stylesh); adjDialLabel->setStyleSheet(def_stylesh);
@ -61,7 +73,42 @@ void UI_Mainwindow::adjdial_timer_handler()
adjDialLabel->setText(""); adjDialLabel->setText("");
adjDialFunc = NAV_DIAL_FUNC_NONE; if(adjDialFunc == ADJ_DIAL_FUNC_HOLDOFF)
{
strcpy(str, "Trigger holdoff: ");
convert_to_metric_suffix(str + strlen(str), devparms.triggerholdoff, 2);
strcat(str, "s");
statusLabel->setText(str);
sprintf(str, ":TRIG:HOLD %e", devparms.triggerholdoff);
tmcdev_write(device, str);
}
else if(adjDialFunc == ADJ_DIAL_FUNC_ACQ_AVG)
{
sprintf(str, "Acquire averages: %i", devparms.acquireaverages);
statusLabel->setText(str);
sprintf(str, ":ACQ:AVER %i", devparms.acquireaverages);
tmcdev_write(device, str);
}
adjDialFunc = ADJ_DIAL_FUNC_NONE;
if(navDial_timer->isActive() == false)
{
navDialFunc = NAV_DIAL_FUNC_NONE;
}
if(devparms.screenupdates_on == 1)
{
scrn_timer->start(SCREEN_TIMER_IVAL);
}
} }
@ -347,6 +394,8 @@ void UI_Mainwindow::scrn_timer_handler()
} }
} }
devparms.wavebufsz = n;
waveForm->drawCurve(&devparms, device, n); waveForm->drawCurve(&devparms, device, n);
return; return;