projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed ruler scale units
[pulseview.git]
/
samplingbar.cpp
diff --git
a/samplingbar.cpp
b/samplingbar.cpp
index acb106466b961e7084667b053d9bea6cb8d90ac8..4ff27eadd97e350793adae82fcac128c0da5a227 100644
(file)
--- a/
samplingbar.cpp
+++ b/
samplingbar.cpp
@@
-20,6
+20,8
@@
#include <assert.h>
#include <assert.h>
+#include <boost/foreach.hpp>
+
extern "C" {
#include <libsigrok/libsigrok.h>
}
extern "C" {
#include <libsigrok/libsigrok.h>
}
@@
-28,9
+30,24
@@
extern "C" {
#include "samplingbar.h"
#include "samplingbar.h"
+const uint64_t SamplingBar::RecordLengths[11] = {
+ 1000000,
+ 2000000,
+ 5000000,
+ 10000000,
+ 25000000,
+ 50000000,
+ 100000000,
+ 250000000,
+ 500000000,
+ 1000000000,
+ 10000000000
+};
+
SamplingBar::SamplingBar(QWidget *parent) :
QToolBar("Sampling Bar", parent),
_device_selector(this),
SamplingBar::SamplingBar(QWidget *parent) :
QToolBar("Sampling Bar", parent),
_device_selector(this),
+ _record_length_selector(this),
_sample_rate_list(this),
_run_stop_button(this)
{
_sample_rate_list(this),
_run_stop_button(this)
{
@@
-41,9
+58,18
@@
SamplingBar::SamplingBar(QWidget *parent) :
_sample_rate_value.setDecimals(0);
_sample_rate_value.setSuffix("Hz");
_sample_rate_value.setDecimals(0);
_sample_rate_value.setSuffix("Hz");
+ BOOST_FOREACH(uint64_t l, RecordLengths)
+ {
+ char *const text = sr_si_string_u64(l, " samples");
+ _record_length_selector.addItem(QString(text),
+ qVariantFromValue(l));
+ g_free(text);
+ }
+
_run_stop_button.setText("Run");
addWidget(&_device_selector);
_run_stop_button.setText("Run");
addWidget(&_device_selector);
+ addWidget(&_record_length_selector);
_sample_rate_list_action = addWidget(&_sample_rate_list);
_sample_rate_value_action = addWidget(&_sample_rate_value);
addWidget(&_run_stop_button);
_sample_rate_list_action = addWidget(&_sample_rate_list);
_sample_rate_value_action = addWidget(&_sample_rate_value);
addWidget(&_run_stop_button);
@@
-62,6
+88,15
@@
struct sr_dev_inst* SamplingBar::get_selected_device() const
index).value<void*>();
}
index).value<void*>();
}
+uint64_t SamplingBar::get_record_length() const
+{
+ const int index = _record_length_selector.currentIndex();
+ if(index < 0)
+ return 0;
+
+ return _record_length_selector.itemData(index).value<uint64_t>();
+}
+
uint64_t SamplingBar::get_sample_rate() const
{
assert(_sample_rate_value_action);
uint64_t SamplingBar::get_sample_rate() const
{
assert(_sample_rate_value_action);
@@
-71,11
+106,11
@@
uint64_t SamplingBar::get_sample_rate() const
return (uint64_t)_sample_rate_value.value();
else if(_sample_rate_list_action->isVisible())
{
return (uint64_t)_sample_rate_value.value();
else if(_sample_rate_list_action->isVisible())
{
- const int index = _
device_selector
.currentIndex();
+ const int index = _
sample_rate_list
.currentIndex();
if(index < 0)
return 0;
if(index < 0)
return 0;
- return _
device_selector
.itemData(index).value<uint64_t>();
+ return _
sample_rate_list
.itemData(index).value<uint64_t>();
}
return 0;
}
return 0;