forked from Ivasoft/DSView
Fix math channel update issue when waiting trigger
This commit is contained in:
@@ -1016,16 +1016,22 @@ void SigSession::feed_in_dso(const sr_datafeed_dso &dso)
|
||||
}
|
||||
|
||||
if (dso.num_samples != 0) {
|
||||
// update current sample rate
|
||||
if (_dso_data)
|
||||
_dso_data->set_samplerate(_dev_inst->get_sample_rate());
|
||||
// reset measure of dso signal
|
||||
BOOST_FOREACH(const boost::shared_ptr<view::Signal> s, _signals)
|
||||
{
|
||||
assert(s);
|
||||
boost::shared_ptr<view::DsoSignal> dsoSig;
|
||||
if ((dsoSig = dynamic_pointer_cast<view::DsoSignal>(s)))
|
||||
dsoSig->set_mValid(false);
|
||||
}
|
||||
if (_math_trace && _math_trace->enabled())
|
||||
_math_trace->get_math_stack()->set_samplerate(_dev_inst->get_sample_rate());
|
||||
BOOST_FOREACH(const boost::shared_ptr<view::SpectrumTrace> m, _spectrum_traces)
|
||||
m->get_spectrum_stack()->set_samplerate(_cur_samplerate);
|
||||
|
||||
// // reset measure of dso signal
|
||||
// BOOST_FOREACH(const boost::shared_ptr<view::Signal> s, _signals)
|
||||
// {
|
||||
// assert(s);
|
||||
// boost::shared_ptr<view::DsoSignal> dsoSig;
|
||||
// if ((dsoSig = dynamic_pointer_cast<view::DsoSignal>(s)))
|
||||
// dsoSig->set_mValid(false);
|
||||
// }
|
||||
}
|
||||
|
||||
if (_cur_dso_snapshot->memory_failed()) {
|
||||
|
||||
@@ -218,7 +218,8 @@ void MathTrace::paint_mid(QPainter &p, int left, int right, QColor fore, QColor
|
||||
const int64_t offset = _view->offset();
|
||||
|
||||
const double pixels_offset = offset;
|
||||
const double samplerate = _view->session().cur_samplerate();
|
||||
//const double samplerate = _view->session().cur_samplerate();
|
||||
const double samplerate = _math_stack->samplerate();
|
||||
const int64_t last_sample = max((int64_t)(_math_stack->get_sample_num() - 1), (int64_t)0);
|
||||
const double samples_per_pixel = samplerate * scale;
|
||||
const double start = offset * samples_per_pixel;
|
||||
|
||||
Reference in New Issue
Block a user