From eb26095a8fa534b7fa73d411e8081cffe06010f3 Mon Sep 17 00:00:00 2001 From: DreamSourceLab Date: Sun, 3 May 2015 18:35:54 +0800 Subject: [PATCH] add x1/x10/x100 probe control @ DSO mode add mouse measure when capture stop @ DSO mode improve the precision of freqency measure add voltage display for trigger position fix other display issues --- .../pv/prop/binding/binding_deviceoptions.cpp | 1 + DSView/pv/sigsession.cpp | 94 ++++---- DSView/pv/sigsession.h | 1 + DSView/pv/view/dsldial.cpp | 35 ++- DSView/pv/view/dsldial.h | 25 +- DSView/pv/view/dsosignal.cpp | 224 +++++++++++++++--- DSView/pv/view/dsosignal.h | 17 +- DSView/pv/view/header.cpp | 15 ++ DSView/pv/view/trace.cpp | 24 ++ DSView/pv/view/trace.h | 3 + DSView/pv/view/view.cpp | 23 +- DSView/pv/view/view.h | 2 - DSView/pv/view/viewport.cpp | 187 ++++++++++----- DSView/pv/view/viewport.h | 9 +- DSView/res/DSCope.bin | Bin 340884 -> 340884 bytes libsigrok4DSL/hardware/DSL/dscope.c | 24 +- libsigrok4DSL/hardware/DSL/dslogic.c | 28 ++- libsigrok4DSL/hardware/demo/demo.c | 9 + libsigrok4DSL/hwdriver.c | 2 + libsigrok4DSL/libsigrok.h | 13 +- 20 files changed, 537 insertions(+), 199 deletions(-) diff --git a/DSView/pv/prop/binding/binding_deviceoptions.cpp b/DSView/pv/prop/binding/binding_deviceoptions.cpp index 8c8d9e48..ba5045d7 100644 --- a/DSView/pv/prop/binding/binding_deviceoptions.cpp +++ b/DSView/pv/prop/binding/binding_deviceoptions.cpp @@ -90,6 +90,7 @@ DeviceOptions::DeviceOptions(struct sr_dev_inst *sdi) : case SR_CONF_STREAM: case SR_CONF_TEST: case SR_CONF_STATUS: + case SR_CONF_FACTOR: bind_enum(name, key, gvar_list); break; diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index 559ed53c..b122fbee 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -60,18 +60,21 @@ #include -using boost::dynamic_pointer_cast; -using boost::function; -using boost::lock_guard; -using boost::mutex; -using boost::shared_ptr; -using std::list; -using std::map; -using std::set; -using std::string; -using std::vector; -using std::deque; -using std::min; +//using boost::dynamic_pointer_cast; +//using boost::function; +//using boost::lock_guard; +//using boost::mutex; +//using boost::shared_ptr; +//using std::list; +//using std::map; +//using std::set; +//using std::string; +//using std::vector; +//using std::deque; +//using std::min; + +using namespace boost; +using namespace std; namespace pv { @@ -100,10 +103,6 @@ SigSession::SigSession(DeviceManager &device_manager) : SigSession::~SigSession() { stop_capture(); - if (_hotplug_handle) { - stop_hotplug_proc(); - deregister_hotplug_callback(); - } ds_trigger_destroy(); @@ -111,6 +110,11 @@ SigSession::~SigSession() // TODO: This should not be necessary _session = NULL; + + if (_hotplug_handle) { + stop_hotplug_proc(); + deregister_hotplug_callback(); + } } boost::shared_ptr SigSession::get_device() const @@ -118,7 +122,7 @@ boost::shared_ptr SigSession::get_device() const return _dev_inst; } -void SigSession::set_device(shared_ptr dev_inst) throw(QString) +void SigSession::set_device(boost::shared_ptr dev_inst) throw(QString) { using pv::device::Device; @@ -154,13 +158,13 @@ void SigSession::set_file(const string &name) throw(QString) // Deslect the old device, because file type detection in File::create // destorys the old session inside libsigrok. try { - set_device(shared_ptr()); + set_device(boost::shared_ptr()); } catch(const QString e) { throw(e); return; } try { - set_device(shared_ptr(device::File::create(name))); + set_device(boost::shared_ptr(device::File::create(name))); } catch(const QString e) { throw(e); return; @@ -342,8 +346,8 @@ void SigSession::export_file(const std::string &name, QWidget* parent, const std void SigSession::set_default_device(boost::function error_handler) { - shared_ptr default_device; - const list< shared_ptr > &devices = + boost::shared_ptr default_device; + const list > &devices = _device_manager.devices(); if (!devices.empty()) { @@ -351,7 +355,7 @@ void SigSession::set_default_device(boost::function error_ default_device = devices.front(); // Try and find the DreamSourceLab device and select that by default - BOOST_FOREACH (shared_ptr dev, devices) + BOOST_FOREACH (boost::shared_ptr dev, devices) if (dev->dev_inst() && strcmp(dev->dev_inst()->driver->name, "demo") != 0) { @@ -373,7 +377,7 @@ void SigSession::release_device(device::DevInst *dev_inst) assert(_dev_inst.get() == dev_inst); assert(_capture_state != Running); - _dev_inst = shared_ptr(); + _dev_inst = boost::shared_ptr(); //_dev_inst.reset(); } @@ -447,11 +451,11 @@ vector< boost::shared_ptr > SigSession::get_group_signals() return _group_traces; } -set< shared_ptr > SigSession::get_data() const +set< boost::shared_ptr > SigSession::get_data() const { lock_guard lock(_signals_mutex); - set< shared_ptr > data; - BOOST_FOREACH(const shared_ptr sig, _signals) { + set< boost::shared_ptr > data; + BOOST_FOREACH(const boost::shared_ptr sig, _signals) { assert(sig); data.insert(sig->data()); } @@ -513,7 +517,7 @@ void SigSession::set_capture_state(capture_state state) capture_state_changed(state); } -void SigSession::sample_thread_proc(shared_ptr dev_inst, +void SigSession::sample_thread_proc(boost::shared_ptr dev_inst, boost::function error_handler) { assert(dev_inst); @@ -577,8 +581,8 @@ void SigSession::read_sample_rate(const sr_dev_inst *const sdi) } // Set the sample rate of all data - const set< shared_ptr > data_set = get_data(); - BOOST_FOREACH(shared_ptr data, data_set) { + const set< boost::shared_ptr > data_set = get_data(); + BOOST_FOREACH(boost::shared_ptr data, data_set) { assert(data); data->set_samplerate(sample_rate); } @@ -737,13 +741,13 @@ void SigSession::init_signals() break; case SR_CHANNEL_DSO: - signal = shared_ptr( + signal = boost::shared_ptr( new view::DsoSignal(_dev_inst, _dso_data, probe)); break; case SR_CHANNEL_ANALOG: if (probe->enabled) - signal = shared_ptr( + signal = boost::shared_ptr( new view::AnalogSignal(_dev_inst, _analog_data, probe)); break; } @@ -781,13 +785,13 @@ void SigSession::reload() break; case SR_CHANNEL_DSO: - signal = shared_ptr( + signal = boost::shared_ptr( new view::DsoSignal(_dev_inst,_dso_data, probe)); break; case SR_CHANNEL_ANALOG: if (probe->enabled) - signal = shared_ptr( + signal = boost::shared_ptr( new view::AnalogSignal(_dev_inst, _analog_data, probe)); break; } @@ -879,7 +883,7 @@ void SigSession::feed_in_logic(const sr_datafeed_logic &logic) return; } - receive_data(logic.length/logic.unitsize); + emit receive_data(logic.length/logic.unitsize); data_received(); //data_updated(); } @@ -1005,7 +1009,7 @@ void SigSession::data_feed_in(const struct sr_dev_inst *sdi, _cur_analog_snapshot.reset(); } #ifdef ENABLE_DECODE - for (vector< shared_ptr >::iterator i = + for (vector< boost::shared_ptr >::iterator i = _decode_traces.begin(); i != _decode_traces.end(); i++) @@ -1138,7 +1142,7 @@ uint16_t SigSession::get_ch_num(int type) uint16_t dso_ch_num = 0; uint16_t analog_ch_num = 0; if (_dev_inst->dev_inst()) { - BOOST_FOREACH(const shared_ptr s, _signals) + BOOST_FOREACH(const boost::shared_ptr s, _signals) { assert(s); if (dynamic_pointer_cast(s) && s->enabled()) { @@ -1174,15 +1178,15 @@ uint16_t SigSession::get_ch_num(int type) bool SigSession::add_decoder(srd_decoder *const dec) { bool ret = false; - map > probes; - shared_ptr decoder_stack; + map > probes; + boost::shared_ptr decoder_stack; try { //lock_guard lock(_signals_mutex); // Create the decoder - decoder_stack = shared_ptr( + decoder_stack = boost::shared_ptr( new data::DecoderStack(*this, dec)); // Make a list of all the probes @@ -1198,7 +1202,7 @@ bool SigSession::add_decoder(srd_decoder *const dec) decoder_stack->stack().front()->set_probes(probes); // Create the decode signal - shared_ptr d( + boost::shared_ptr d( new view::DecodeTrace(*this, decoder_stack, _decode_traces.size())); if (d->create_popup()) { @@ -1221,7 +1225,7 @@ bool SigSession::add_decoder(srd_decoder *const dec) return ret; } -vector< shared_ptr > SigSession::get_decode_signals() const +vector< boost::shared_ptr > SigSession::get_decode_signals() const { lock_guard lock(_signals_mutex); return _decode_traces; @@ -1229,7 +1233,7 @@ vector< shared_ptr > SigSession::get_decode_signals() const void SigSession::remove_decode_signal(view::DecodeTrace *signal) { - for (vector< shared_ptr >::iterator i = + for (vector< boost::shared_ptr >::iterator i = _decode_traces.begin(); i != _decode_traces.end(); i++) @@ -1244,7 +1248,7 @@ void SigSession::remove_decode_signal(view::DecodeTrace *signal) void SigSession::remove_decode_signal(int index) { int cur_index = 0; - for (vector< shared_ptr >::iterator i = + for (vector< boost::shared_ptr >::iterator i = _decode_traces.begin(); i != _decode_traces.end(); i++) @@ -1262,7 +1266,7 @@ void SigSession::remove_decode_signal(int index) void SigSession::rst_decoder(int index) { int cur_index = 0; - for (vector< shared_ptr >::iterator i = + for (vector< boost::shared_ptr >::iterator i = _decode_traces.begin(); i != _decode_traces.end(); i++) @@ -1283,7 +1287,7 @@ void SigSession::rst_decoder(int index) void SigSession::rst_decoder(view::DecodeTrace *signal) { - for (vector< shared_ptr >::iterator i = + for (vector< boost::shared_ptr >::iterator i = _decode_traces.begin(); i != _decode_traces.end(); i++) diff --git a/DSView/pv/sigsession.h b/DSView/pv/sigsession.h index b625b03d..fd406950 100644 --- a/DSView/pv/sigsession.h +++ b/DSView/pv/sigsession.h @@ -35,6 +35,7 @@ #include #include #include +#include #include #include diff --git a/DSView/pv/view/dsldial.cpp b/DSView/pv/view/dsldial.cpp index 15574966..f19c7561 100644 --- a/DSView/pv/view/dsldial.cpp +++ b/DSView/pv/view/dsldial.cpp @@ -5,12 +5,12 @@ namespace pv { namespace view { -dslDial::dslDial(const quint64 div, const quint64 step, - const QVector value, const QVector unit) +dslDial::dslDial(const uint64_t div, const uint64_t step, + const QVector value, const QVector unit) { assert(div > 0); assert(step > 0); - assert((quint64)value.count() == div); + assert((uint64_t)value.count() == div); assert(unit.count() > 0); _div = div; @@ -18,6 +18,7 @@ dslDial::dslDial(const quint64 div, const quint64 step, _value = value; _unit = unit; _sel = 0; + _factor = 1; } dslDial::~dslDial() @@ -39,11 +40,11 @@ void dslDial::paint(QPainter &p, QRectF dialRect, QColor dialColor) p.save(); p.translate(dialRect.center()); p.rotate(45); - for (quint64 i = 0; i < _div; i++) { + for (uint64_t i = 0; i < _div; i++) { // draw major ticks p.drawLine(0, dialRect.width()/2+3, 0, dialRect.width()/2+8); // draw minor ticks - for (quint64 j = 0; (j < 5) && (i < _div - 1); j++) { + for (uint64_t j = 0; (j < 5) && (i < _div - 1); j++) { p.drawLine(0, dialRect.width()/2+3, 0, dialRect.width()/2+5); p.rotate(54.0/(_div-1)); } @@ -55,8 +56,8 @@ void dslDial::paint(QPainter &p, QRectF dialRect, QColor dialColor) p.drawLine(-3, 0, 0, dialRect.width()/2-3); p.restore(); // draw value - quint64 displayValue = _value[_sel]; - quint64 displayIndex = 0; + uint64_t displayValue = _value[_sel]*_factor; + uint64_t displayIndex = 0; while(displayValue / _step >= 1) { displayValue = displayValue / _step; displayIndex++; @@ -67,14 +68,14 @@ void dslDial::paint(QPainter &p, QRectF dialRect, QColor dialColor) } -void dslDial::set_sel(quint64 sel) +void dslDial::set_sel(uint64_t sel) { assert(sel < _div); _sel = sel; } -quint64 dslDial::get_sel() +uint64_t dslDial::get_sel() { return _sel; } @@ -95,16 +96,28 @@ bool dslDial::isMax() return false; } -quint64 dslDial::get_value() +uint64_t dslDial::get_value() { return _value[_sel]; } -bool dslDial::set_value(quint64 value) +bool dslDial::set_value(uint64_t value) { assert(_value.contains(value)); _sel = _value.indexOf(value, 0); } +void dslDial::set_factor(uint64_t factor) +{ + if (_factor != factor) { + _factor = factor; + } +} + +uint64_t dslDial::get_factor() +{ + return _factor; +} + } // namespace view } // namespace pv diff --git a/DSView/pv/view/dsldial.h b/DSView/pv/view/dsldial.h index a0034cf8..35701959 100644 --- a/DSView/pv/view/dsldial.h +++ b/DSView/pv/view/dsldial.h @@ -10,8 +10,8 @@ namespace view { class dslDial { public: - dslDial(const quint64 div, const quint64 step, - const QVector value, const QVector unit); + dslDial(const uint64_t div, const uint64_t step, + const QVector value, const QVector unit); virtual ~dslDial(); public: @@ -23,23 +23,28 @@ public: void paint(QPainter &p, QRectF dialRect, QColor dialColor); // set/get current select - void set_sel(quint64 sel); - quint64 get_sel(); + void set_sel(uint64_t sel); + uint64_t get_sel(); // boundary detection bool isMin(); bool isMax(); // get current value - quint64 get_value(); - bool set_value(quint64 value); + uint64_t get_value(); + bool set_value(uint64_t value); + + // set/get factor + void set_factor(uint64_t factor); + uint64_t get_factor(); private: - quint64 _div; - quint64 _step; - QVector _value; + uint64_t _div; + uint64_t _step; + QVector _value; QVector _unit; - quint64 _sel; + uint64_t _sel; + uint64_t _factor; }; } // namespace view diff --git a/DSView/pv/view/dsosignal.cpp b/DSView/pv/view/dsosignal.cpp index ed4b68ea..1a404916 100644 --- a/DSView/pv/view/dsosignal.cpp +++ b/DSView/pv/view/dsosignal.cpp @@ -120,21 +120,26 @@ DsoSignal::DsoSignal(boost::shared_ptr dev_inst, //_zeroPos(probe->index * 0.5 + 0.25) _trig_vpos(0.5), _zeroPos(0.5), + _zero_off(255/2.0), _autoV(false), - _autoH(false) + _autoH(false), + _hover_en(false), + _hover_index(0), + _hover_point(QPointF(0, 0)), + _hover_value(0) { - QVector vValue; + QVector vValue; QVector vUnit; - QVector hValue; + QVector hValue; QVector hUnit; - for(quint64 i = 0; i < vDialValueCount; i++) + for(uint64_t i = 0; i < vDialValueCount; i++) vValue.append(vDialValue[i]); - for(quint64 i = 0; i < vDialUnitCount; i++) + for(uint64_t i = 0; i < vDialUnitCount; i++) vUnit.append(vDialUnit[i]); - for(quint64 i = 0; i < hDialValueCount; i++) + for(uint64_t i = 0; i < hDialValueCount; i++) hValue.append(hDialValue[i]); - for(quint64 i = 0; i < hDialUnitCount; i++) + for(uint64_t i = 0; i < hDialUnitCount; i++) hUnit.append(hDialUnit[i]); _vDial = new dslDial(vDialValueCount, vDialValueStep, vValue, vUnit); @@ -244,10 +249,15 @@ void DsoSignal::set_vDialActive(bool active) bool DsoSignal::go_vDialPre() { if (enabled() && !_vDial->isMin()) { + const double pre_vdiv = _vDial->get_value(); _vDial->set_sel(_vDial->get_sel() - 1); _dev_inst->set_config(_probe, NULL, SR_CONF_VDIV, g_variant_new_uint64(_vDial->get_value())); + if (_view->session().get_capture_state() == SigSession::Stopped) + _scale *= pre_vdiv/_vDial->get_value(); update_zeroPos(); + _view->set_need_update(true); + _view->update(); return true; } else { _autoV = false; @@ -258,10 +268,15 @@ bool DsoSignal::go_vDialPre() bool DsoSignal::go_vDialNext() { if (enabled() && !_vDial->isMax()) { + const double pre_vdiv = _vDial->get_value(); _vDial->set_sel(_vDial->get_sel() + 1); _dev_inst->set_config(_probe, NULL, SR_CONF_VDIV, g_variant_new_uint64(_vDial->get_value())); + if (_view->session().get_capture_state() == SigSession::Stopped) + _scale *= pre_vdiv/_vDial->get_value(); update_zeroPos(); + _view->set_need_update(true); + _view->update(); return true; } else { _autoV = false; @@ -482,6 +497,29 @@ void DsoSignal::set_zeroPos(int pos) } } +void DsoSignal::set_factor(uint64_t factor) +{ + if (enabled()) { + GVariant* gvar; + uint64_t prefactor = 0; + gvar = _dev_inst->get_config(_probe, NULL, SR_CONF_FACTOR); + if (gvar != NULL) { + prefactor = g_variant_get_uint64(gvar); + g_variant_unref(gvar); + } else { + qDebug() << "ERROR: config_get SR_CONF_FACTOR failed."; + return; + } + if (prefactor != factor) { + _dev_inst->set_config(_probe, NULL, SR_CONF_FACTOR, + g_variant_new_uint64(factor)); + _vDial->set_factor(factor); + _view->set_need_update(true); + _view->update(); + } + } +} + void DsoSignal::update_zeroPos() { if (strcmp(_dev_inst->dev_inst()->driver->name, "DSCope") == 0) { @@ -505,7 +543,7 @@ void DsoSignal::paint_back(QPainter &p, int left, int right) assert(_view); int i, j; - const int height = _view->viewport()->height() - UpMargin - DownMargin; + const int height = get_view_rect().height(); const int width = right - left; p.setPen(Qt::NoPen); @@ -568,7 +606,7 @@ void DsoSignal::paint_mid(QPainter &p, int left, int right) assert(right >= left); if (enabled()) { - const int height = _view->viewport()->height() - UpMargin - DownMargin; + const int height = get_view_rect().height(); const int width = right - left; const int y = get_zeroPos() + height * 0.5; @@ -581,7 +619,8 @@ void DsoSignal::paint_mid(QPainter &p, int left, int right) if (snapshots.empty()) return; - _scale = height * 1.0f / 256; + if (_view->session().get_capture_state() == SigSession::Running) + _scale = height * 1.0f / 256; const boost::shared_ptr &snapshot = snapshots.front(); @@ -647,9 +686,19 @@ void DsoSignal::paint_fore(QPainter &p, int left, int right) p.setBrush(hover ? _colour.dark() : _colour); p.drawPolygon(points, countof(points)); + // paint the trig voltage + int trigp = get_trig_vpos(); + float t_vol = (_zeroPos - _trig_vpos) * _vDial->get_value() * _vDial->get_factor() * DS_CONF_DSO_VDIVS; + QString t_vol_s = (_vDial->get_value() >= 500) ? QString::number(t_vol/1000.0f, 'f', 2)+"V" : QString::number(t_vol, 'f', 2)+"mV"; + int vol_width = p.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, t_vol_s).width(); + const QRectF t_vol_rect = QRectF(right-vol_width, trigp-10, vol_width, 20); + p.setPen(Qt::white); + p.drawText(t_vol_rect, Qt::AlignRight | Qt::AlignVCenter, t_vol_s); + // paint the _trig_vpos line p.setPen(QPen(_colour, 1, Qt::DotLine)); - p.drawLine(left, get_trig_vpos(), right - label_rect.width()*1.5, get_trig_vpos()); + p.drawLine(left, trigp, right - p.boundingRect(t_vol_rect, Qt::AlignLeft, t_vol_s).width(), trigp); // Paint the text p.setPen(Qt::white); @@ -687,9 +736,10 @@ void DsoSignal::paint_trace(QPainter &p, float top = get_view_rect().top(); float bottom = get_view_rect().bottom(); - float zeroP = 0; - if (strcmp(_dev_inst->dev_inst()->driver->name, "DSLogic") == 0) - zeroP = (_zeroPos - 0.5) * get_view_rect().height(); + float zeroP = _zeroPos * get_view_rect().height() + top;; + if (strcmp(_dev_inst->dev_inst()->driver->name, "DSCope") == 0 && + _view->session().get_capture_state() == SigSession::Running) + _zero_off = _zeroPos * 255; float x = (start / samples_per_pixel - pixels_offset) + left; double pixels_per_sample = 1.0/samples_per_pixel; uint8_t offset; @@ -700,7 +750,7 @@ void DsoSignal::paint_trace(QPainter &p, //offset = samples[(sample - start)*num_channels]; offset = samples[sample]; - const float y = min(max(top, top + offset * _scale + zeroP), bottom); + const float y = min(max(top, zeroP + (offset - _zero_off) * _scale), bottom); *point++ = QPointF(x, y); x += pixels_per_sample; //*point++ = QPointF(x, top + offset); @@ -738,9 +788,10 @@ void DsoSignal::paint_envelope(QPainter &p, QRectF *rect = rects; float top = get_view_rect().top(); float bottom = get_view_rect().bottom(); - float zeroP = 0; - if (strcmp(_dev_inst->dev_inst()->driver->name, "DSLogic") == 0) - zeroP = (_zeroPos - 0.5) * get_view_rect().height(); + float zeroP = _zeroPos * get_view_rect().height() + top; + if (strcmp(_dev_inst->dev_inst()->driver->name, "DSCope") == 0 && + _view->session().get_capture_state() == SigSession::Running) + _zero_off = _zeroPos * 255; for(uint64_t sample = 0; sample < e.length-1; sample++) { const float x = ((e.scale * sample + e.start) / samples_per_pixel - pixels_offset) + left; @@ -749,8 +800,8 @@ void DsoSignal::paint_envelope(QPainter &p, // We overlap this sample with the next so that vertical // gaps do not appear during steep rising or falling edges - const float b = min(max(top, (top + max(s->max, (s+1)->min) * _scale + zeroP)), bottom); - const float t = min(max(top, (top + min(s->min, (s+1)->max) * _scale + zeroP)), bottom); + const float b = min(max(top, ((max(s->max, (s+1)->min) - _zero_off) * _scale + zeroP)), bottom); + const float t = min(max(top, ((min(s->min, (s+1)->max) - _zero_off) * _scale + zeroP)), bottom); float h = b - t; if(h >= 0.0f && h <= 1.0f) @@ -776,6 +827,9 @@ void DsoSignal::paint_type_options(QPainter &p, int right, bool hover, int actio { int y = get_y(); const QRectF vDial_rect = get_rect("vDial", y, right); + const QRectF x1_rect = get_rect("x1", y, right); + const QRectF x10_rect = get_rect("x10", y, right); + const QRectF x100_rect = get_rect("x100", y, right); const QRectF hDial_rect = get_rect("hDial", y, right); const QRectF acdc_rect = get_rect("acdc", y, right); const QRectF chEn_rect = get_rect("chEn", y, right); @@ -797,6 +851,31 @@ void DsoSignal::paint_type_options(QPainter &p, int right, bool hover, int actio p.setPen(Qt::white); p.drawText(acdc_rect, Qt::AlignCenter | Qt::AlignVCenter, (_acCoupling == SR_GND_COUPLING) ? "GND" : (_acCoupling == SR_DC_COUPLING) ? "DC" : "AC"); + + // paint the probe factor selector + GVariant* gvar; + uint64_t factor; + gvar = _dev_inst->get_config(_probe, NULL, SR_CONF_FACTOR); + if (gvar != NULL) { + factor = g_variant_get_uint64(gvar); + g_variant_unref(gvar); + } else { + qDebug() << "ERROR: config_get SR_CONF_FACTOR failed."; + return; + } + + p.setPen(Qt::white); + p.setBrush((enabled() && (factor == 100)) ? ((hover && action == X100) ? _colour.darker() : _colour) : ((hover && action == X100) ? _colour.darker() : dsDisable)); + p.drawRect(x100_rect); + p.drawText(x100_rect, Qt::AlignLeft | Qt::AlignVCenter, "x100"); + + p.setBrush((enabled() && (factor == 10)) ? ((hover && action == X10) ? _colour.darker() : _colour) : ((hover && action == X10) ? _colour.darker() : dsDisable)); + p.drawRect(x10_rect); + p.drawText(x10_rect, Qt::AlignLeft | Qt::AlignVCenter, "x10"); + + p.setBrush((enabled() && (factor == 1)) ? ((hover && action == X1) ? _colour.darker() : _colour) : ((hover && action == X1) ? _colour.darker() : dsDisable)); + p.drawRect(x1_rect); + p.drawText(x1_rect, Qt::AlignLeft | Qt::AlignVCenter, "x1"); } void DsoSignal::paint_measure(QPainter &p) @@ -808,26 +887,26 @@ void DsoSignal::paint_measure(QPainter &p) if (sr_status_get(_dev_inst->dev_inst(), &status, st_begin, st_end) == SR_OK) { _max = (index == 0) ? status.ch0_max : status.ch1_max; _min = (index == 0) ? status.ch0_min : status.ch1_min; - const uint32_t period = (index == 0) ? status.ch0_period : status.ch1_period; + const uint64_t period = (index == 0) ? status.ch0_period : status.ch1_period; const uint32_t count = (index == 0) ? status.ch0_pcnt : status.ch1_pcnt; - double value_max = ((0xff - _min - (1-_zeroPos)*0xff) * _vDial->get_value() * DS_CONF_DSO_VDIVS) / 0xff; - double value_min = ((0xff - _max - (1-_zeroPos)*0xff) * _vDial->get_value() * DS_CONF_DSO_VDIVS) / 0xff; - _period = (count == 0) ? period * 10 : period * 10.0f / count; + double value_max = (_zero_off - _min) * _scale * _vDial->get_value() * _vDial->get_factor() * DS_CONF_DSO_VDIVS / get_view_rect().height(); + double value_min = (_zero_off - _max) * _scale * _vDial->get_value() * _vDial->get_factor() * DS_CONF_DSO_VDIVS / get_view_rect().height(); + _period = (count == 0) ? period * 10.0 : period * 10.0 / count; const int channel_count = _view->session().get_ch_num(SR_CHANNEL_DSO); uint64_t sample_rate = _dev_inst->get_sample_rate(); - _period = _period * 200 / (channel_count * sample_rate * 1.0 / SR_MHZ(1)); - QString max_string = abs(value_max) > 1000 ? QString::number(value_max/1000.0) + "V" : QString::number(value_max) + "mV"; - QString min_string = abs(value_min) > 1000 ? QString::number(value_min/1000.0) + "V" : QString::number(value_min) + "mV"; - QString period_string = abs(_period) > 1000000000 ? QString::number(_period/1000000000) + "S" : - abs(_period) > 1000000 ? QString::number(_period/1000000) + "mS" : - abs(_period) > 1000 ? QString::number(_period/1000) + "uS" : QString::number(_period) + "nS"; - QString freq_string = abs(_period) > 1000000 ? QString::number(1000000000/_period) + "Hz" : - abs(_period) > 1000 ? QString::number(1000000/_period) + "kHz" : QString::number(1000/_period) + "MHz"; + _period = _period * 200.0 / (channel_count * sample_rate * 1.0 / SR_MHZ(1)); + QString max_string = abs(value_max) > 1000 ? QString::number(value_max/1000.0, 'f', 2) + "V" : QString::number(value_max, 'f', 2) + "mV"; + QString min_string = abs(value_min) > 1000 ? QString::number(value_min/1000.0, 'f', 2) + "V" : QString::number(value_min, 'f', 2) + "mV"; + QString period_string = abs(_period) > 1000000000 ? QString::number(_period/1000000000, 'f', 2) + "S" : + abs(_period) > 1000000 ? QString::number(_period/1000000, 'f', 2) + "mS" : + abs(_period) > 1000 ? QString::number(_period/1000, 'f', 2) + "uS" : QString::number(_period, 'f', 2) + "nS"; + QString freq_string = abs(_period) > 1000000 ? QString::number(1000000000/_period, 'f', 2) + "Hz" : + abs(_period) > 1000 ? QString::number(1000000/_period, 'f', 2) + "kHz" : QString::number(1000/_period, 'f', 2) + "MHz"; p.setPen(_colour); - p.drawText(QRectF(0, 100*index + UpMargin, get_view_rect().width(), 20), Qt::AlignRight | Qt::AlignVCenter, "Max: "+max_string+" "); - p.drawText(QRectF(0, 100*index + UpMargin + 20, get_view_rect().width(), 20), Qt::AlignRight | Qt::AlignVCenter, "Min: "+min_string+" "); - p.drawText(QRectF(0, 100*index + UpMargin + 40, get_view_rect().width(), 20), Qt::AlignRight | Qt::AlignVCenter, "Period: "+period_string+" "); - p.drawText(QRectF(0, 100*index + UpMargin + 60, get_view_rect().width(), 20), Qt::AlignRight | Qt::AlignVCenter, "Frequency: "+freq_string+" "); + p.drawText(QRectF(0, 100*index + UpMargin, get_view_rect().width()*0.9, 20), Qt::AlignRight | Qt::AlignVCenter, "Max: "+max_string+" "); + p.drawText(QRectF(0, 100*index + UpMargin + 20, get_view_rect().width()*0.9, 20), Qt::AlignRight | Qt::AlignVCenter, "Min: "+min_string+" "); + p.drawText(QRectF(0, 100*index + UpMargin + 40, get_view_rect().width()*0.9, 20), Qt::AlignRight | Qt::AlignVCenter, "Period: "+period_string+" "); + p.drawText(QRectF(0, 100*index + UpMargin + 60, get_view_rect().width()*0.9, 20), Qt::AlignRight | Qt::AlignVCenter, "Frequency: "+freq_string+" "); if (_autoV) { const uint8_t vscale = abs(_max - _min); @@ -880,5 +959,78 @@ void DsoSignal::auto_set() } } +bool DsoSignal::measure(const QPointF &p) +{ + _hover_en = false; + if (!enabled()) + return false; + + const deque< boost::shared_ptr > &snapshots = + _data->get_snapshots(); + if (snapshots.empty()) + return false; + + const boost::shared_ptr &snapshot = + snapshots.front(); + if (snapshot->buf_null()) + return false; + + const double scale = _view->scale(); + assert(scale > 0); + const double offset = _view->offset(); + const double pixels_offset = offset / scale; + const double samplerate = _dev_inst->get_sample_rate(); + const double samples_per_pixel = samplerate * scale; + + _hover_index = floor((p.x() + pixels_offset) * samples_per_pixel+0.5); + if (_hover_index >= snapshot->get_sample_count()) + return false; + + uint64_t pre_index; + uint64_t nxt_index; + if (_hover_index > 0) + pre_index = _hover_index - 1; + else + pre_index = _hover_index; + if (_hover_index < snapshot->get_sample_count() - 1) + nxt_index = _hover_index + 1; + else + nxt_index = _hover_index; + const uint8_t pre_sample = *snapshot->get_samples(pre_index, pre_index, get_index()); + const uint8_t cur_sample = *snapshot->get_samples(_hover_index, _hover_index, get_index()); + const uint8_t nxt_sample = *snapshot->get_samples(nxt_index, nxt_index, get_index()); + + _hover_value = (_zero_off - cur_sample) * _scale * _vDial->get_value() * _vDial->get_factor() * DS_CONF_DSO_VDIVS / get_view_rect().height(); + + float top = get_view_rect().top(); + float bottom = get_view_rect().bottom(); + float zeroP = _zeroPos * get_view_rect().height() + top; + float pre_x = (pre_index / samples_per_pixel - pixels_offset); + const float pre_y = min(max(top, zeroP + (pre_sample - _zero_off)* _scale), bottom); + float x = (_hover_index / samples_per_pixel - pixels_offset); + const float y = min(max(top, zeroP + (cur_sample - _zero_off)* _scale), bottom); + float nxt_x = (nxt_index / samples_per_pixel - pixels_offset); + const float nxt_y = min(max(top, zeroP + (nxt_sample - _zero_off)* _scale), bottom); + const QRectF slope_rect = QRectF(QPointF(pre_x - 10, pre_y - 10), QPointF(nxt_x + 10, nxt_y + 10)); + if (abs(y-p.y()) < 20 || slope_rect.contains(p)) { + _hover_point = QPointF(x, y); + _hover_en = true; + return true; + } else { + return false; + } +} + +bool DsoSignal::get_hover(uint64_t &index, QPointF &p, double &value) +{ + if (_hover_en) { + index = _hover_index; + p = _hover_point; + value = _hover_value; + return true; + } + return false; +} + } // namespace view } // namespace pv diff --git a/DSView/pv/view/dsosignal.h b/DSView/pv/view/dsosignal.h index f030f973..58a671ba 100644 --- a/DSView/pv/view/dsosignal.h +++ b/DSView/pv/view/dsosignal.h @@ -45,8 +45,8 @@ private: static const float EnvelopeThreshold; static const int HitCursorMargin = 3; - static const quint64 vDialValueCount = 8; - static const quint64 vDialValueStep = 1000; + static const uint64_t vDialValueCount = 8; + static const uint64_t vDialValueStep = 1000; static const uint64_t vDialUnitCount = 2; static const uint64_t hDialValueCount = 28; static const uint64_t hDialValueStep = 1000; @@ -94,6 +94,13 @@ public: void set_acCoupling(uint8_t coupling); void set_trig_vpos(int pos); int get_trig_vpos() const; + void set_factor(uint64_t factor); + + /** + * + */ + bool measure(const QPointF &p); + bool get_hover(uint64_t &index, QPointF &p, double &value); /** * auto set the vertical and Horizontal scale @@ -171,12 +178,18 @@ private: double _trig_vpos; double _zeroPos; + float _zero_off; uint8_t _max; uint8_t _min; double _period; bool _autoV; bool _autoH; + + bool _hover_en; + uint64_t _hover_index; + QPointF _hover_point; + double _hover_value; }; } // namespace view diff --git a/DSView/pv/view/header.cpp b/DSView/pv/view/header.cpp index d240bf0f..5bcc9ae0 100644 --- a/DSView/pv/view/header.cpp +++ b/DSView/pv/view/header.cpp @@ -282,6 +282,21 @@ void Header::mousePressEvent(QMouseEvent *event) else dsoSig->set_acCoupling((dsoSig->get_acCoupling()+1)%3); } + } else if (action == Trace::X1 && mTrace) { + boost::shared_ptr dsoSig; + if (dsoSig = dynamic_pointer_cast(mTrace)) { + dsoSig->set_factor(1); + } + } else if (action == Trace::X10 && mTrace) { + boost::shared_ptr dsoSig; + if (dsoSig = dynamic_pointer_cast(mTrace)) { + dsoSig->set_factor(10); + } + } else if (action == Trace::X100 && mTrace) { + boost::shared_ptr dsoSig; + if (dsoSig = dynamic_pointer_cast(mTrace)) { + dsoSig->set_factor(100); + } } if (~QApplication::keyboardModifiers() & Qt::ControlModifier) { diff --git a/DSView/pv/view/trace.cpp b/DSView/pv/view/trace.cpp index 515932d4..a6820b9d 100644 --- a/DSView/pv/view/trace.cpp +++ b/DSView/pv/view/trace.cpp @@ -300,6 +300,9 @@ int Trace::pt_in_rect(int y, int right, const QPoint &point) const QRectF edgeTrig = get_rect("edgeTrig", y, right); const QRectF label = get_rect("label", get_zeroPos(), right); const QRectF vDial = get_rect("vDial", y, right); + const QRectF x1 = get_rect("x1", y, right); + const QRectF x10 = get_rect("x10", y, right); + const QRectF x100 = get_rect("x100", y, right); const QRectF hDial = get_rect("hDial", y, right); const QRectF chEn = get_rect("chEn", y, right); const QRectF acdc = get_rect("acdc", y, right); @@ -323,6 +326,12 @@ int Trace::pt_in_rect(int y, int right, const QPoint &point) return LABEL; else if (vDial.contains(point) && _type == DS_DSO && enabled()) return VDIAL; + else if (x1.contains(point) && _type == DS_DSO && enabled()) + return X1; + else if (x10.contains(point) && _type == DS_DSO && enabled()) + return X10; + else if (x100.contains(point) && _type == DS_DSO && enabled()) + return X100; else if (hDial.contains(point) && _type == DS_DSO && enabled()) return HDIAL; else if (chEn.contains(point) && _type == DS_DSO) @@ -400,6 +409,21 @@ QRectF Trace::get_rect(const char *s, int y, int right) get_leftWidth() + name_size.width() + SquareWidth*0.5 + Margin, y - SquareWidth * SquareNum, SquareWidth * (SquareNum-1), SquareWidth * (SquareNum-1)); + else if (!strcmp(s, "x1")) + return QRectF( + get_leftWidth() + name_size.width() + SquareWidth*0.5 + Margin - 45, + y - SquareWidth - SquareWidth * (SquareNum-1) * 0.85, + SquareWidth * 1.75, SquareWidth); + else if (!strcmp(s, "x10")) + return QRectF( + get_leftWidth() + name_size.width() + SquareWidth*0.5 + Margin - 45, + y - SquareWidth - SquareWidth * (SquareNum-1) * 0.55, + SquareWidth * 1.75, SquareWidth); + else if (!strcmp(s, "x100")) + return QRectF( + get_leftWidth() + name_size.width() + SquareWidth*0.5 + Margin - 45, + y - SquareWidth - SquareWidth * (SquareNum-1) * 0.25, + SquareWidth * 1.75, SquareWidth); else if (!strcmp(s, "hDial")) return QRectF( get_leftWidth() + name_size.width() + SquareWidth*0.5 + Margin, diff --git a/DSView/pv/view/trace.h b/DSView/pv/view/trace.h index 597818dc..8eaae6bc 100644 --- a/DSView/pv/view/trace.h +++ b/DSView/pv/view/trace.h @@ -66,6 +66,9 @@ public: static const int CHEN = 11; static const int ACDC = 12; static const int DSOTRIG = 13; + static const int X1 = 14; + static const int X10 = 15; + static const int X100 = 16; static const QColor dsBlue; static const QColor dsYellow; diff --git a/DSView/pv/view/view.cpp b/DSView/pv/view/view.cpp index 45e2afe9..4ae18dd9 100644 --- a/DSView/pv/view/view.cpp +++ b/DSView/pv/view/view.cpp @@ -96,12 +96,10 @@ View::View(SigSession &session, pv::toolbars::SamplingBar *sampling_bar, QWidget setViewportMargins(headerWidth(), RulerHeight, 0, 0); setViewport(_viewport); - connect(&_session, SIGNAL(signals_changed()), - this, SLOT(signals_changed())); - connect(&_session, SIGNAL(data_updated()), - this, SLOT(data_updated())); - connect(&_session, SIGNAL(receive_data(quint64)), - this, SLOT(receive_data(quint64))); + connect(&_session, SIGNAL(signals_changed()), + this, SLOT(signals_changed())); + connect(&_session, SIGNAL(data_updated()), + this, SLOT(data_updated())); connect(&_session, SIGNAL(receive_trigger(quint64)), this, SLOT(set_trig_pos(quint64))); @@ -550,7 +548,7 @@ bool View::viewportEvent(QEvent *e) int View::headerWidth() { int headerWidth; - int maxNameWidth = 0; + int maxNameWidth = 25; int maxLeftWidth = 0; int maxRightWidth = 0; @@ -580,7 +578,11 @@ void View::resizeEvent(QResizeEvent*) if (_session.get_device()->dev_inst()->mode == DSO) _scale = _session.get_device()->get_time_base() * std::pow(10.0, -9.0) * DS_CONF_DSO_HDIVS / get_view_width(); - _maxscale = _session.get_device()->get_sample_time() / (get_view_width() * MaxViewRate); + if (_session.get_device()->dev_inst()->mode != DSO) + _maxscale = _session.get_device()->get_sample_time() / (get_view_width() * MaxViewRate); + else + _maxscale = 1e9; + _scale = min(_scale, _maxscale); signals_changed(); @@ -722,11 +724,6 @@ void View::set_cursor_middle(int index) set_scale_offset(_scale, (*i)->index() * 1.0 / _session.get_device()->get_sample_rate() - _scale * get_view_width() / 2); } -void View::receive_data(quint64 length) -{ - _viewport->set_receive_len(length); -} - Viewport * View::get_viewport() { return _viewport; diff --git a/DSView/pv/view/view.h b/DSView/pv/view/view.h index 6d79b7b8..81bffcb2 100644 --- a/DSView/pv/view/view.h +++ b/DSView/pv/view/view.h @@ -225,8 +225,6 @@ private slots: void header_updated(); - void receive_data(quint64 length); - void set_trig_pos(quint64 trig_pos); private: diff --git a/DSView/pv/view/viewport.cpp b/DSView/pv/view/viewport.cpp index 9cd58bdb..4ed6c381 100644 --- a/DSView/pv/view/viewport.cpp +++ b/DSView/pv/view/viewport.cpp @@ -52,11 +52,14 @@ Viewport::Viewport(View &parent) : _total_receive_len(0), _zoom_rect_visible(false), _measure_shown(false), + _measure_type(LOGIC), _cur_sample(0), _nxt_sample(1), _cur_preX(0), _cur_aftX(1), - _cur_midY(0) + _cur_midY(0), + _hover_index(0), + _hover_hit(false) { setMouseTracking(true); setAutoFillBackground(true); @@ -75,6 +78,9 @@ Viewport::Viewport(View &parent) : this, SLOT(on_traces_moved())); connect(&trigger_timer, SIGNAL(timeout()), this, SLOT(on_trigger_timer())); + + connect(&_view.session(), &SigSession::receive_data, + this, &Viewport::set_receive_len); } int Viewport::get_total_height() const @@ -214,7 +220,7 @@ void Viewport::paintProgress(QPainter &p) { using pv::view::Signal; - const quint64 _total_sample_len = _view.session().get_device()->get_sample_limit(); + const uint64_t _total_sample_len = _view.session().get_device()->get_sample_limit(); double progress = -(_total_receive_len * 1.0 / _total_sample_len * 360 * 16); int captured_progress = 0; @@ -361,9 +367,6 @@ void Viewport::mousePressEvent(QMouseEvent *event) } } -// if (!_view.get_ruler()->get_grabbed_cursor()) { -// _zoom_rect_visible = true; -// } const vector< boost::shared_ptr > sigs(_view.session().get_signals()); BOOST_FOREACH(const boost::shared_ptr s, sigs) { @@ -384,6 +387,7 @@ void Viewport::mouseMoveEvent(QMouseEvent *event) { assert(event); _mouse_point = event->pos(); + _hover_hit = false; if (event->buttons() & Qt::RightButton) { _zoom_rect = QRectF(_mouse_down_point, event->pos()); _zoom_rect_visible = true; @@ -437,6 +441,13 @@ void Viewport::mouseReleaseEvent(QMouseEvent *event) if(_drag_sig) _drag_sig.reset(); + + if (_hover_hit){ + _view.add_cursor(view::Ruler::CursorColor[_view.get_cursorList().size() % 8], _hover_index); + _view.show_cursors(true); + _hover_hit = false; + } + update(); } @@ -505,14 +516,17 @@ void Viewport::measure() { if (_view.session().get_capture_state() == SigSession::Running) return; + _measure_shown = false; const uint64_t sample_rate = _view.session().get_device()->get_sample_rate(); const vector< boost::shared_ptr > sigs(_view.session().get_signals()); BOOST_FOREACH(const boost::shared_ptr s, sigs) { assert(s); boost::shared_ptr logicSig; + boost::shared_ptr dsoSig; if (logicSig = dynamic_pointer_cast(s)) { if (logicSig->measure(_view.hover_point(), _cur_sample, _nxt_sample, _thd_sample)) { _measure_shown = true; + _measure_type = LOGIC; _mm_width = _view.get_ruler()->format_real_time(_nxt_sample - _cur_sample, sample_rate); _mm_period = _thd_sample != 0 ? _view.get_ruler()->format_real_time(_thd_sample - _cur_sample, sample_rate) : "#####"; @@ -528,7 +542,7 @@ void Viewport::measure() _mm_duty = _thd_sample != 0 ? QString::number((_nxt_sample - _cur_sample) * 100.0 / (_thd_sample - _cur_sample), 'f', 2)+"%" : "#####"; mouse_measure(); - return; + break; } else { _mm_width = "#####"; _mm_period = "#####"; @@ -536,66 +550,127 @@ void Viewport::measure() _mm_duty = "#####"; } mouse_measure(); + } else if (dsoSig = dynamic_pointer_cast(s)) { + if (_measure_en && dsoSig->measure(_view.hover_point())) { + _measure_shown = true; + _measure_type = DSO; + } } } - - _measure_shown = false; - return; } void Viewport::paintMeasure(QPainter &p) { - p.setPen(QColor(17, 133, 209, 255)); - p.drawLine(QLineF(_cur_preX, _cur_midY, _cur_aftX, _cur_midY)); - p.drawLine(QLineF(_cur_preX, _cur_midY, _cur_preX + 2, _cur_midY - 2)); - p.drawLine(QLineF(_cur_preX, _cur_midY, _cur_preX + 2, _cur_midY + 2)); - p.drawLine(QLineF(_cur_aftX - 2, _cur_midY - 2, _cur_aftX, _cur_midY)); - p.drawLine(QLineF(_cur_aftX - 2, _cur_midY + 2, _cur_aftX, _cur_midY)); - if (_thd_sample != 0) { - p.drawLine(QLineF(_cur_aftX, _cur_midY, _cur_thdX, _cur_midY)); - p.drawLine(QLineF(_cur_aftX, _cur_midY, _cur_aftX + 2, _cur_midY - 2)); - p.drawLine(QLineF(_cur_aftX, _cur_midY, _cur_aftX + 2, _cur_midY + 2)); - p.drawLine(QLineF(_cur_thdX - 2, _cur_midY - 2, _cur_thdX, _cur_midY)); - p.drawLine(QLineF(_cur_thdX - 2, _cur_midY + 2, _cur_thdX, _cur_midY)); - } + _hover_hit = false; + if (_measure_type == LOGIC) { + p.setPen(QColor(17, 133, 209, 255)); + p.drawLine(QLineF(_cur_preX, _cur_midY, _cur_aftX, _cur_midY)); + p.drawLine(QLineF(_cur_preX, _cur_midY, _cur_preX + 2, _cur_midY - 2)); + p.drawLine(QLineF(_cur_preX, _cur_midY, _cur_preX + 2, _cur_midY + 2)); + p.drawLine(QLineF(_cur_aftX - 2, _cur_midY - 2, _cur_aftX, _cur_midY)); + p.drawLine(QLineF(_cur_aftX - 2, _cur_midY + 2, _cur_aftX, _cur_midY)); + if (_thd_sample != 0) { + p.drawLine(QLineF(_cur_aftX, _cur_midY, _cur_thdX, _cur_midY)); + p.drawLine(QLineF(_cur_aftX, _cur_midY, _cur_aftX + 2, _cur_midY - 2)); + p.drawLine(QLineF(_cur_aftX, _cur_midY, _cur_aftX + 2, _cur_midY + 2)); + p.drawLine(QLineF(_cur_thdX - 2, _cur_midY - 2, _cur_thdX, _cur_midY)); + p.drawLine(QLineF(_cur_thdX - 2, _cur_midY + 2, _cur_thdX, _cur_midY)); + } - if (_measure_en) { - int typical_width = p.boundingRect(0, 0, INT_MAX, INT_MAX, - Qt::AlignLeft | Qt::AlignTop, _mm_width).width(); - typical_width = max(typical_width, p.boundingRect(0, 0, INT_MAX, INT_MAX, - Qt::AlignLeft | Qt::AlignTop, _mm_period).width()); - typical_width = max(typical_width, p.boundingRect(0, 0, INT_MAX, INT_MAX, - Qt::AlignLeft | Qt::AlignTop, _mm_freq).width()); - typical_width = max(typical_width, p.boundingRect(0, 0, INT_MAX, INT_MAX, - Qt::AlignLeft | Qt::AlignTop, _mm_duty).width()); - typical_width = typical_width + 100; + if (_measure_en) { + int typical_width = p.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, _mm_width).width(); + typical_width = max(typical_width, p.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, _mm_period).width()); + typical_width = max(typical_width, p.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, _mm_freq).width()); + typical_width = max(typical_width, p.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, _mm_duty).width()); + typical_width = typical_width + 100; - const double width = _view.get_view_width(); - const double height = _view.viewport()->height(); - const double left = _view.hover_point().x(); - const double top = _view.hover_point().y(); - const double right = left + typical_width; - const double bottom = top + 80; - QPointF org_pos = QPointF(right > width ? left - typical_width : left, bottom > height ? top - 80 : top); - QRectF measure_rect = QRectF(org_pos.x(), org_pos.y(), (double)typical_width, 80.0); - QRectF measure1_rect = QRectF(org_pos.x(), org_pos.y(), (double)typical_width, 20.0); - QRectF measure2_rect = QRectF(org_pos.x(), org_pos.y()+20, (double)typical_width, 20.0); - QRectF measure3_rect = QRectF(org_pos.x(), org_pos.y()+40, (double)typical_width, 20.0); - QRectF measure4_rect = QRectF(org_pos.x(), org_pos.y()+60, (double)typical_width, 20.0); + const double width = _view.get_view_width(); + const double height = _view.viewport()->height(); + const double left = _view.hover_point().x(); + const double top = _view.hover_point().y(); + const double right = left + typical_width; + const double bottom = top + 80; + QPointF org_pos = QPointF(right > width ? left - typical_width : left, bottom > height ? top - 80 : top); + QRectF measure_rect = QRectF(org_pos.x(), org_pos.y(), (double)typical_width, 80.0); + QRectF measure1_rect = QRectF(org_pos.x(), org_pos.y(), (double)typical_width, 20.0); + QRectF measure2_rect = QRectF(org_pos.x(), org_pos.y()+20, (double)typical_width, 20.0); + QRectF measure3_rect = QRectF(org_pos.x(), org_pos.y()+40, (double)typical_width, 20.0); + QRectF measure4_rect = QRectF(org_pos.x(), org_pos.y()+60, (double)typical_width, 20.0); - p.setPen(Qt::NoPen); - p.setBrush(QColor(17, 133, 209, 150)); - p.drawRect(measure_rect); + p.setPen(Qt::NoPen); + p.setBrush(QColor(17, 133, 209, 150)); + p.drawRect(measure_rect); - p.setPen(Qt::black); - p.drawText(measure1_rect, Qt::AlignRight | Qt::AlignVCenter, - "Width: " + _mm_width); - p.drawText(measure2_rect, Qt::AlignRight | Qt::AlignVCenter, - "Period: " + _mm_period); - p.drawText(measure3_rect, Qt::AlignRight | Qt::AlignVCenter, - "Frequency: " + _mm_freq); - p.drawText(measure4_rect, Qt::AlignRight | Qt::AlignVCenter, - "Duty Cycle: " + _mm_duty); + p.setPen(Qt::black); + p.drawText(measure1_rect, Qt::AlignRight | Qt::AlignVCenter, + "Width: " + _mm_width); + p.drawText(measure2_rect, Qt::AlignRight | Qt::AlignVCenter, + "Period: " + _mm_period); + p.drawText(measure3_rect, Qt::AlignRight | Qt::AlignVCenter, + "Frequency: " + _mm_freq); + p.drawText(measure4_rect, Qt::AlignRight | Qt::AlignVCenter, + "Duty Cycle: " + _mm_duty); + } + } else if (_measure_type == DSO) { + const vector< boost::shared_ptr > sigs(_view.session().get_signals()); + BOOST_FOREACH(const boost::shared_ptr s, sigs) { + boost::shared_ptr dsoSig; + if (dsoSig = dynamic_pointer_cast(s)) { + uint64_t index; + double value; + QPointF hpoint; + const int arrow_size = 5; + const int mark_radius = 10; + const int mark_width = 20; + const int mark_cursor_height = 30; + if (dsoSig->get_hover(index, hpoint, value)) { + p.setPen(dsoSig->get_colour()); + const QRectF hpoint_rect = QRectF(hpoint.x()-mark_radius/2, hpoint.y()-mark_radius/2, mark_radius, mark_radius); + if (hpoint_rect.contains(_view.hover_point())) { + p.setBrush(dsoSig->get_colour()); + const int cursor_up = hpoint.y()-mark_cursor_height; + const int cursor_dn = hpoint.y()+mark_cursor_height; + const int cursor_lf = hpoint.x()-arrow_size; + const int cursor_md = hpoint.x(); + const int cursor_rt = hpoint.x()+arrow_size; + + const QPointF up_arrow[3] = { + QPointF(cursor_lf, cursor_up+arrow_size), + QPointF(cursor_md, cursor_up), + QPointF(cursor_rt, cursor_up+arrow_size), + }; + const QPointF dn_arrow[3] = { + QPointF(cursor_lf, cursor_dn-arrow_size), + QPointF(cursor_md, cursor_dn), + QPointF(cursor_rt, cursor_dn-arrow_size), + }; + p.drawPolyline(up_arrow, 3); + p.drawPolyline(dn_arrow, 3); + p.drawLine(cursor_md, cursor_up, cursor_md, cursor_dn); + _hover_hit = true; + _hover_index = index; + } else { + p.setBrush(Qt::NoBrush); + } + p.drawEllipse(hpoint, mark_radius, mark_radius); + QString value_c = abs(value) > 1000 ? QString::number(value/1000.0, 'f', 2) + "V" : QString::number(value, 'f', 2) + "mV"; + int value_width = p.boundingRect(0, 0, INT_MAX, INT_MAX, + Qt::AlignLeft | Qt::AlignTop, value_c).width(); + const bool right = dsoSig->get_index()%2 ? hpoint.x() < value_width : hpoint.x() < _view.get_view_width() - value_width; + const bool up = hpoint.y() > 50; + const QPointF hpoint_sec = QPointF(hpoint.x() - (right ? -mark_width : mark_width), hpoint.y() - (up ? mark_width : -mark_width)); + p.drawLine(hpoint, hpoint_sec); + p.drawLine(hpoint_sec, QPointF(hpoint_sec.x() + (right ? value_width : -value_width), hpoint_sec.y())); + p.drawText(QRectF(right ? hpoint_sec.x() : hpoint_sec.x() - value_width, hpoint_sec.y() - mark_width, value_width, mark_width), + Qt::AlignLeft | Qt::AlignBottom, + value_c); + } + } + } } } diff --git a/DSView/pv/view/viewport.h b/DSView/pv/view/viewport.h index ae43c0e2..4899577b 100644 --- a/DSView/pv/view/viewport.h +++ b/DSView/pv/view/viewport.h @@ -56,8 +56,6 @@ public: QPoint get_mouse_point() const; - void set_receive_len(quint64 length); - QString get_measure(QString option); void set_measure_en(int enable); @@ -85,6 +83,7 @@ private: private slots: void on_traces_moved(); void on_trigger_timer(); + void set_receive_len(quint64 length); signals: void mouse_measure(); @@ -92,7 +91,7 @@ signals: private: View &_view; - quint64 _total_receive_len; + uint64_t _total_receive_len; QPoint _mouse_point; QPoint _mouse_down_point; double _mouse_down_offset; @@ -107,6 +106,7 @@ private: bool _measure_en; bool _measure_shown; + int _measure_type; uint64_t _cur_sample; uint64_t _nxt_sample; uint64_t _thd_sample; @@ -124,6 +124,9 @@ private: int timer_cnt; boost::shared_ptr _drag_sig; + + uint64_t _hover_index; + bool _hover_hit; }; } // namespace view diff --git a/DSView/res/DSCope.bin b/DSView/res/DSCope.bin index c79028f488688609779c96902795bc9770db54de..a37ddece547c9a9ae63179ddd47cbb3dc26ab614 100644 GIT binary patch literal 340884 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 z

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 zmode == ANALOG) << 7) + ((devc->filter == SR_FILTER_1T) << 8) + (devc->instant << 9) + (devc->zero << 10); - setting.divider = devc->zero ? 0x1 : (uint32_t)ceil(SR_MHZ(100) * 1.0 / devc->cur_samplerate); + setting.divider = devc->zero ? 0x1 : (uint32_t)ceil(DSCOPE_MAX_SAMPLERATE * 1.0 / devc->cur_samplerate / channel_en_cnt); setting.count = (uint32_t)(devc->limit_samples / (channel_cnt / channel_en_cnt)); setting.trig_pos = (uint32_t)(trigger->trigger_pos / 100.0 * devc->limit_samples); setting.trig_glb = trigger->trigger_stages; @@ -847,7 +847,7 @@ static uint64_t dso_cmd_gen(struct sr_dev_inst *sdi, struct sr_channel* ch, int channel_cnt += probe->enabled; } cmd += 0x18; - uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(SR_MHZ(100) * 1.0 / devc->cur_samplerate); + uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(DSCOPE_MAX_SAMPLERATE * 1.0 / devc->cur_samplerate / channel_cnt); cmd += divider << 8; break; case SR_CONF_HORIZ_TRIGGERPOS: @@ -1174,6 +1174,11 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi, return SR_ERR; *data = g_variant_new_uint64(ch->vdiv); break; + case SR_CONF_FACTOR: + if (!ch) + return SR_ERR; + *data = g_variant_new_uint64(ch->vfactor); + break; case SR_CONF_VPOS: if (!ch) return SR_ERR; @@ -1422,6 +1427,8 @@ static int config_set(int id, GVariant *data, struct sr_dev_inst *sdi, else sr_dbg("%s: setting VDIV of channel %d to %d mv failed", __func__, ch->index, ch->vdiv); + } else if (id == SR_CONF_FACTOR) { + ch->vfactor = g_variant_get_uint64(data); } else if (id == SR_CONF_VPOS) { ch->vpos = g_variant_get_double(data); if (sdi->mode == DSO) { @@ -1854,11 +1861,12 @@ static void receive_transfer(struct libusb_transfer *transfer) mstatus.ch0_max = *((const uint8_t*)cur_buf + mstatus_offset*2 + 1*2); mstatus.ch0_min = *((const uint8_t*)cur_buf + mstatus_offset*2 + 3); mstatus.ch0_period = *((const uint32_t*)cur_buf + mstatus_offset/2 + 2/2); - mstatus.ch0_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 4/2); - mstatus.ch1_max = *((const uint8_t*)cur_buf + mstatus_offset*2 + 7*2); - mstatus.ch1_min = *((const uint8_t*)cur_buf + mstatus_offset*2 + 15); - mstatus.ch1_period = *((const uint32_t*)cur_buf + mstatus_offset/2 + 8/2); - mstatus.ch1_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 10/2); + mstatus.ch0_period += ((uint64_t)*((const uint32_t*)cur_buf + mstatus_offset/2 + 4/2)) << 32; + mstatus.ch0_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 6/2); + mstatus.ch1_max = *((const uint8_t*)cur_buf + mstatus_offset*2 + 9*2); + mstatus.ch1_min = *((const uint8_t*)cur_buf + mstatus_offset*2 + 19); + mstatus.ch1_period = *((const uint32_t*)cur_buf + mstatus_offset/2 + 10/2); + mstatus.ch1_period += ((uint64_t)*((const uint32_t*)cur_buf + mstatus_offset/2 + 12/2)) << 32; mstatus.vlen = *((const uint32_t*)cur_buf + mstatus_offset/2 + 16/2) & 0x7fffffff; mstatus.stream_mode = *((const uint32_t*)cur_buf + mstatus_offset/2 + 16/2) & 0x80000000; mstatus.sample_divider = *((const uint32_t*)cur_buf + mstatus_offset/2 + 18/2); @@ -1880,7 +1888,7 @@ static void receive_transfer(struct libusb_transfer *transfer) mstatus.vlen = instant_buffer_size; } - const uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(SR_MHZ(100) * 1.0 / devc->cur_samplerate); + const uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(DSCOPE_MAX_SAMPLERATE * 1.0 / devc->cur_samplerate / channel_en_cnt); if ((mstatus.sample_divider == divider && mstatus.vlen != 0 && mstatus.vlen <= (transfer->actual_length - 512) / sample_width) || diff --git a/libsigrok4DSL/hardware/DSL/dslogic.c b/libsigrok4DSL/hardware/DSL/dslogic.c index 01f017a3..16bf94b6 100644 --- a/libsigrok4DSL/hardware/DSL/dslogic.c +++ b/libsigrok4DSL/hardware/DSL/dslogic.c @@ -287,7 +287,10 @@ static int fpga_setting(const struct sr_dev_inst *sdi) ((sdi->mode == ANALOG) << 7) + ((devc->filter == SR_FILTER_1T) << 8) + (devc->instant << 9) + (devc->zero << 10); - setting.divider = devc->zero ? 0x1 : (uint32_t)ceil(SR_MHZ(100) * 1.0 / devc->cur_samplerate); + if (sdi->mode == DSO) + setting.divider = devc->zero ? 0x1 : (uint32_t)ceil(DSLOGIC_MAX_DSO_SAMPLERATE * 1.0 / devc->cur_samplerate / channel_en_cnt); + else + setting.divider = devc->zero ? 0x1 : (uint32_t)ceil(DSLOGIC_MAX_LOGIC_SAMPLERATE * 1.0 / devc->cur_samplerate); setting.count = (sdi->mode == DSO) ? (uint32_t)(devc->limit_samples / (channel_cnt / channel_en_cnt)) : (uint32_t)(devc->limit_samples); setting.trig_pos = (uint32_t)(trigger->trigger_pos / 100.0 * devc->limit_samples); setting.trig_glb = trigger->trigger_stages; @@ -882,7 +885,7 @@ static uint64_t dso_cmd_gen(struct sr_dev_inst *sdi, struct sr_channel* ch, int channel_cnt += probe->enabled; } cmd += 0x18; - uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(SR_MHZ(100) * 1.0 / devc->cur_samplerate); + uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(DSLOGIC_MAX_DSO_SAMPLERATE * 1.0 / devc->cur_samplerate / channel_cnt); cmd += divider << 8; break; case SR_CONF_HORIZ_TRIGGERPOS: @@ -1157,6 +1160,11 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi, return SR_ERR; *data = g_variant_new_uint64(ch->vdiv); break; + case SR_CONF_FACTOR: + if (!ch) + return SR_ERR; + *data = g_variant_new_uint64(ch->vfactor); + break; case SR_CONF_TIMEBASE: if (!sdi) return SR_ERR; @@ -1519,6 +1527,8 @@ static int config_set(int id, GVariant *data, struct sr_dev_inst *sdi, else sr_dbg("%s: setting VDIV of channel %d to %d mv failed", __func__, ch->index, ch->vdiv); + } else if (id == SR_CONF_FACTOR) { + ch->vfactor = g_variant_get_uint64(data); } else if (id == SR_CONF_TIMEBASE) { devc->timebase = g_variant_get_uint64(data); } else if (id == SR_CONF_COUPLING) { @@ -1936,11 +1946,13 @@ static void receive_transfer(struct libusb_transfer *transfer) mstatus.ch0_max = *((const uint8_t*)cur_buf + mstatus_offset*2 + 1*2); mstatus.ch0_min = *((const uint8_t*)cur_buf + mstatus_offset*2 + 3); mstatus.ch0_period = *((const uint32_t*)cur_buf + mstatus_offset/2 + 2/2); - mstatus.ch0_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 4/2); - mstatus.ch1_max = *((const uint8_t*)cur_buf + mstatus_offset*2 + 7*2); - mstatus.ch1_min = *((const uint8_t*)cur_buf + mstatus_offset*2 + 15); - mstatus.ch1_period = *((const uint32_t*)cur_buf + mstatus_offset/2 + 8/2); - mstatus.ch1_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 10/2); + mstatus.ch0_period += *((const uint32_t*)cur_buf + mstatus_offset/2 + 4/2) << 32; + mstatus.ch0_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 6/2); + mstatus.ch1_max = *((const uint8_t*)cur_buf + mstatus_offset*2 + 9*2); + mstatus.ch1_min = *((const uint8_t*)cur_buf + mstatus_offset*2 + 19); + mstatus.ch1_period = *((const uint32_t*)cur_buf + mstatus_offset/2 + 10/2); + mstatus.ch1_period += *((const uint32_t*)cur_buf + mstatus_offset/2 + 12/2) << 32; + mstatus.ch1_pcnt = *((const uint32_t*)cur_buf + mstatus_offset/2 + 14/2); mstatus.vlen = *((const uint32_t*)cur_buf + mstatus_offset/2 + 16/2) & 0x7fffffff; mstatus.stream_mode = *((const uint32_t*)cur_buf + mstatus_offset/2 + 16/2) & 0x80000000; mstatus.sample_divider = *((const uint32_t*)cur_buf + mstatus_offset/2 + 18/2); @@ -1955,7 +1967,7 @@ static void receive_transfer(struct libusb_transfer *transfer) } else { mstatus.vlen = instant_buffer_size; } - const uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(SR_MHZ(100) * 1.0 / devc->cur_samplerate); + const uint32_t divider = devc->zero ? 0x1 : (uint32_t)ceil(DSLOGIC_MAX_DSO_SAMPLERATE * 1.0 / devc->cur_samplerate / channel_en_cnt); if ((mstatus.sample_divider == divider && mstatus.vlen != 0 && mstatus.vlen <= (transfer->actual_length - 512) / sample_width) || diff --git a/libsigrok4DSL/hardware/demo/demo.c b/libsigrok4DSL/hardware/demo/demo.c index b31c1a08..861b38a0 100644 --- a/libsigrok4DSL/hardware/demo/demo.c +++ b/libsigrok4DSL/hardware/demo/demo.c @@ -344,6 +344,9 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi, case SR_CONF_VDIV: *data = g_variant_new_uint64(ch->vdiv); break; + case SR_CONF_FACTOR: + *data = g_variant_new_uint64(ch->vfactor); + break; case SR_CONF_TIMEBASE: *data = g_variant_new_uint64(devc->timebase); break; @@ -424,6 +427,7 @@ static int config_set(int id, GVariant *data, struct sr_dev_inst *sdi, ret = SR_ERR; else { probe->vdiv = 1000; + probe->vfactor = 1; probe->coupling = SR_DC_COUPLING; probe->trig_value = 0x80; sdi->channels = g_slist_append(sdi->channels, probe); @@ -472,6 +476,11 @@ static int config_set(int id, GVariant *data, struct sr_dev_inst *sdi, sr_dbg("%s: setting VDIV of channel %d to %" PRIu64, __func__, ch->index, ch->vdiv); ret = SR_OK; + } else if (id == SR_CONF_FACTOR) { + ch->vfactor = g_variant_get_uint64(data); + sr_dbg("%s: setting FACTOR of channel %d to %" PRIu64, __func__, + ch->index, ch->vfactor); + ret = SR_OK; } else if (id == SR_CONF_TIMEBASE) { devc->timebase = g_variant_get_uint64(data); sr_dbg("%s: setting TIMEBASE to %" PRIu64, __func__, diff --git a/libsigrok4DSL/hwdriver.c b/libsigrok4DSL/hwdriver.c index 239827eb..3b2af0ae 100644 --- a/libsigrok4DSL/hwdriver.c +++ b/libsigrok4DSL/hwdriver.c @@ -83,6 +83,8 @@ static struct sr_config_info sr_config_info_data[] = { "Filter Targets", NULL}, {SR_CONF_VDIV, SR_T_RATIONAL_VOLT, "vdiv", "Volts/div", NULL}, + {SR_CONF_VDIV, SR_T_RATIONAL_VOLT, "factor", + "Probe Factor", NULL}, {SR_CONF_COUPLING, SR_T_CHAR, "coupling", "Coupling", NULL}, {SR_CONF_DATALOG, SR_T_BOOL, "datalog", diff --git a/libsigrok4DSL/libsigrok.h b/libsigrok4DSL/libsigrok.h index 1836bf25..dac954c2 100644 --- a/libsigrok4DSL/libsigrok.h +++ b/libsigrok4DSL/libsigrok.h @@ -32,7 +32,7 @@ #define WINVER 0x0501 #define _WIN32_WINNT WINVER #include -#include +#include #endif #ifdef __cplusplus @@ -389,7 +389,7 @@ struct sr_input_format { /** * Load a file, parsing the input according to the file's format. - * + * * This function will send datafeed packets to the session bus, so * the calling frontend must have registered its session callbacks * beforehand. @@ -404,7 +404,7 @@ struct sr_input_format { * the responsibility of the caller to free it later. * @param filename The name (and path) of the file to use. * - * @return SR_OK upon success, a negative error code upon failure. + * @return SR_OK upon succcess, a negative error code upon failure. */ int (*loadfile) (struct sr_input *in, const char *filename); }; @@ -610,11 +610,11 @@ struct sr_status { uint8_t ch0_max; uint8_t ch0_min; - uint32_t ch0_period; + uint64_t ch0_period; uint32_t ch0_pcnt; uint8_t ch1_max; uint8_t ch1_min; - uint32_t ch1_period; + uint64_t ch1_period; uint32_t ch1_pcnt; uint32_t vlen; @@ -767,6 +767,9 @@ enum { /** Channel enable for dso channel. */ SR_CONF_EN_CH, + /** probe factor for dso channel. */ + SR_CONF_FACTOR, + /** Trigger types. */ SR_CONF_TRIGGER_TYPE,