From 618f7c92e4cbf81e053de45cbbfd9f9aa5613b68 Mon Sep 17 00:00:00 2001 From: DreamSourceLab Date: Thu, 18 Jun 2015 01:19:59 +0800 Subject: [PATCH] fix instant sample issue when no start operations @ DSO module --- DSView/DSView.qrc | 4 ++++ DSView/icons/instant_dis.png | Bin 0 -> 1263 bytes DSView/icons/instant_dis_cn.png | Bin 0 -> 1352 bytes DSView/icons/start_dis.png | Bin 0 -> 1351 bytes DSView/icons/start_dis_cn.png | Bin 0 -> 1495 bytes DSView/pv/sigsession.cpp | 9 +++++++++ DSView/pv/toolbars/samplingbar.cpp | 11 +++++++++-- DSView/pv/toolbars/samplingbar.h | 2 ++ DSView/pv/view/dsosignal.cpp | 3 --- 9 files changed, 24 insertions(+), 5 deletions(-) create mode 100755 DSView/icons/instant_dis.png create mode 100755 DSView/icons/instant_dis_cn.png create mode 100755 DSView/icons/start_dis.png create mode 100755 DSView/icons/start_dis_cn.png diff --git a/DSView/DSView.qrc b/DSView/DSView.qrc index 00b550b7..f93bad84 100644 --- a/DSView/DSView.qrc +++ b/DSView/DSView.qrc @@ -51,5 +51,9 @@ icons/trigger_cn.png icons/trigger_dis_cn.png icons/protocol_cn.png + icons/instant_dis.png + icons/instant_dis_cn.png + icons/start_dis.png + icons/start_dis_cn.png diff --git a/DSView/icons/instant_dis.png b/DSView/icons/instant_dis.png new file mode 100755 index 0000000000000000000000000000000000000000..e3f8adfc678b1a81865d20df78c325f7b88cdb67 GIT binary patch literal 1263 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?4jBOuH;Rhv&5D9B#o z>FdgVpG}ZojBkgk+*`1aYeb1-X-P(Y5yQ%LXFPyHJS9LOm(=3qqRfJl%=|nCVNOM5 zpg0#u+&RCXvM4h>ql94%{~0TwC?8m~C^ZqJRG}m@H-L1 z5L@scq?{XUcxG{OP9jig5ySQaTl#^*93bKF#G<^+ymW>G($7F%V29{0ElN&h`1-&3 zHB6aver|4RUJ1juGt>41#n?c~LNZHoQW;jfyQI#*z`V=T#W5tK@ol(oMog%L?eUZ) zscM&BaCH4#dAd@piAyWAMMv0Z-6wCAjS;hSgj!8}Ic6T6-FL**$+2K+LRqZGE`d!a zoK76-kW@5YuyAMjwcHhVU2?=PIbD9Nlz(c4=d79Ek8QMI*Sk|$eE#RY&-;F#o$Kvc zG3{f_R^bobvl_D&r!Ba(VtvbtJ9q9xG88hD-dk*aGUd~AuOm%M9Nep`t$PjUOC`Sp zqRPj=&Ybayy|7UwbO{rS0z={?!S|{ctK}@_{ghiFxx(y}*@Y`tLh^emi_6NsEiL*X zD=Vv*d?xzt-MjizW-~uH%y9C#XPk_b)GixS)6!KT`(E#opH$+xFD8$#VZW{lgCK+O z;lqc+gI8YZR#)WZ;hA&pX_2^;wDf+K4_(WH&1(MlOtJ}$kGH>e|Gs=wM8prK1Nq0- zmdAbaP!bSfV5Lo9Dn(r%#jQn19F~V3xQ1Ve~=ZfH}jx zsbAPmI@#CuFf$+R{ma-;HtA^XrrBrH_Mb}ITwe2p;n&`vzMh^V$B!QucV2kmx5{e< zhj|*FVs_$Zzcc3K=j8bG^!3%f*S27?I5BP7v`^jL-Qf&5RVN$exU##RGt@=K$ImZ} z{qDYhVs%_r3&CJ@;@~3kGqwPnB;}0G@*cqeueXZfMgb`uw!#ijX>0 ztqV*Fzw$r!+niXl^(=!KqfT}5osHc7!a0pW+6B&+Bt6+0v@@N8wB-6P7tUGT_xKIdi|HlNm#X7FqHgvGdXr7XG&(!~>F3Ia3;6c| zUB;Yn{5GGq%6aApwV6tlpIa{Z|M*$6?|Wu<_J6n4y|5euOz{6$qHCvAYAlbA1LkW6 MPgg&ebxsLQ01Lt@I{*Lx literal 0 HcmV?d00001 diff --git a/DSView/icons/instant_dis_cn.png b/DSView/icons/instant_dis_cn.png new file mode 100755 index 0000000000000000000000000000000000000000..4477a5449749763ae6aa12712b7dbb0cf0d05286 GIT binary patch literal 1352 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 E3;m{Eng9R* literal 0 HcmV?d00001 diff --git a/DSView/icons/start_dis_cn.png b/DSView/icons/start_dis_cn.png new file mode 100755 index 0000000000000000000000000000000000000000..86531127d52e8fdac86fe3b8fe1ef02facabfa41 GIT binary patch literal 1495 zcmXw(dop5u@?Sb7nmgF=GZZW5 zdN-cU!E7cfs>w4%AiH0j{DFXoDt}ZBF zNw$!NqP*nvm)&AYl2V*YU_1b-LTSj{G*v}NpaSH2##!OL{B||XJ;=r1V!k2g0O(W# zM4(W?!|EOv2~vS12!)G}pc3OCB83bzl=SyWxU!TxQQ~M+ViW-am1;e<5~})*QgPu@ zRSzPPaNy{Mnv$fVB(3;S@X&>DDh`~D6HE2)z6~eFN5qCpR4Ql^)L)ZeMJe_Vr;>@} zC?G)0NUxyqUw;BM0teQ_mlpoloG2s`jtqhIo`QA>lb323A{2`Q0n)_NCfOzWoH@oudu>-_o(92C_1xSz)i-G7Og98b}b-)fa> zD_SlVi%V8hHu#0CJ>n=gWix@XGc4l)p;WXJ{&sO)hpDDJj>}|)SahVV3bQrtG&D4% zKwmdkqODMK;kVy_g`t|JfT}_Hih;j6m&W)cGcz-Pc?AWEaB{`IN4n1w|C>*kPZST<^6VP=U%ZYJ!`(@w@@@*yFYGr{}kN$xR#GkG^u}Xg#VdouaH4KTyU) z=$}Moq(g-j;xBW3v*zd8wA*N_4~PTLxar(uZtm_E`uqC>OiWGB@rGmVX?7(gE(S<7 zIQ+z6?RP2}756GDEB`pd?F;0`&w8RsB+{MH#U)i{M>|64ae;ivpHDL3i1ATgl-F2+ zS#WevP*4&YO~)?3Ye}I;M@RcmY8`h=p0)Pn$GBq1MjM^?{2?W!t;Sa7${ZY1&QlK` zmP_j~{jmZ^$KH(W-tS#z0uC0rczSpwZfu+rr-qeMA}2d}H$1rst&`usa7ao`ZF|4G zLEqQ?Su`~@HYF6^_BfP2I3jp5F>xMKFx^HtqNOZk9Q4D+4R9l~CzoJz6`Nq6-7T8kw>RWi;#>$1%#)P2*x z3)w{sb)6iJHcX`YAw^$!6nJA3j$5HYTGn`;!Ca#1h|H(TH1&yF>Kqk^qgGs2OK_e+ zo?S*FzP>CthjR}w zvOksLn-v6yK-4bhVIu}>pvZ_4Ze==DOk2{eFYZD6H)1V&&C6^fPVh zi(c|0gp7?5!{+`~oqb4qt7Kkhn;s{>$8KBcPQfu?jkIOyTx07ZV+wnns?9JBx2iCT zKjpBCvYv6^YqG$K3oud3p)H(bO<&1E(q1?42l*p36y`-wA+Qtnd6{&+!AkddnCF2q zk7!9L38q#JjIe18wmpc`ad0c5yJNA2NcyY!vi1yB;DX!OQog7XrY$(BFTCKG1p`a$ kVaKO^gt7x##z(~9*((`4ADvMx$^Qjhojp<2j$yz23pgpDRR910 literal 0 HcmV?d00001 diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index 6f9d9592..acc4e427 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -942,6 +942,15 @@ void SigSession::feed_in_dso(const sr_datafeed_dso &dso) if (!_cur_dso_snapshot) { + // reset scale of dso signal + BOOST_FOREACH(const boost::shared_ptr s, _signals) + { + assert(s); + boost::shared_ptr dsoSig; + if (dsoSig = dynamic_pointer_cast(s)) + dsoSig->set_scale(dsoSig->get_view_rect().height() / 256.0f); + } + // Create a new data snapshot _cur_dso_snapshot = boost::shared_ptr( new data::DsoSnapshot(dso, _dev_inst->get_sample_limit(), get_ch_num(SR_CHANNEL_DSO), _instant)); diff --git a/DSView/pv/toolbars/samplingbar.cpp b/DSView/pv/toolbars/samplingbar.cpp index 4e4957de..64213885 100644 --- a/DSView/pv/toolbars/samplingbar.cpp +++ b/DSView/pv/toolbars/samplingbar.cpp @@ -92,10 +92,14 @@ SamplingBar::SamplingBar(SigSession &session, QWidget *parent) : _icon_stop(":/icons/stop_cn.png"), _icon_start(":/icons/start_cn.png"), _icon_instant(":/icons/instant_cn.png"), + _icon_start_dis(":/icons/start_dis_cn.png"), + _icon_instant_dis(":/icons/instant_dis_cn.png"), #else _icon_stop(":/icons/stop.png"), _icon_start(":/icons/start.png"), _icon_instant(":/icons/instant.png"), + _icon_start_dis(":/icons/start_dis.png"), + _icon_instant_dis(":/icons/instant_dis.png"), #endif _run_stop_button(this), _instant_button(this), @@ -295,10 +299,13 @@ void SamplingBar::update_sample_rate() void SamplingBar::set_sampling(bool sampling) { - if (_instant) + if (_instant) { _instant_button.setIcon(sampling ? _icon_stop : _icon_instant); - else + _run_stop_button.setIcon(sampling ? _icon_start_dis : _icon_start); + } else { _run_stop_button.setIcon(sampling ? _icon_stop : _icon_start); + _instant_button.setIcon(sampling ? _icon_instant_dis : _icon_instant); + } if (!sampling) { g_usleep(100000); diff --git a/DSView/pv/toolbars/samplingbar.h b/DSView/pv/toolbars/samplingbar.h index 52d9f748..1414ceca 100644 --- a/DSView/pv/toolbars/samplingbar.h +++ b/DSView/pv/toolbars/samplingbar.h @@ -140,6 +140,8 @@ private: QIcon _icon_stop; QIcon _icon_start; QIcon _icon_instant; + QIcon _icon_start_dis; + QIcon _icon_instant_dis; QToolButton _run_stop_button; QToolButton _instant_button; diff --git a/DSView/pv/view/dsosignal.cpp b/DSView/pv/view/dsosignal.cpp index fe814713..aaa52270 100644 --- a/DSView/pv/view/dsosignal.cpp +++ b/DSView/pv/view/dsosignal.cpp @@ -738,9 +738,6 @@ void DsoSignal::paint_mid(QPainter &p, int left, int right) _data->get_snapshots(); if (snapshots.empty()) return; - - if (_view->session().get_capture_state() == SigSession::Running) - _scale = height * 1.0f / 256; const boost::shared_ptr &snapshot = snapshots.front();