X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdata%2Flogicsnapshot.cpp;h=f203e8b674fb57fb37c556edc593c5e1798873a8;hb=175d6573de78a10cc4ff461147d26c99ab3847b4;hp=f2fa81bcdde675fa9811977a32261be129687b75;hpb=819f4c25391a9c74d3d2f528d462142d5c4aad4d;p=pulseview.git diff --git a/pv/data/logicsnapshot.cpp b/pv/data/logicsnapshot.cpp index f2fa81b..f203e8b 100644 --- a/pv/data/logicsnapshot.cpp +++ b/pv/data/logicsnapshot.cpp @@ -78,9 +78,9 @@ void LogicSnapshot::get_samples(uint8_t *const data, { assert(data); assert(start_sample >= 0); - assert(start_sample < (int64_t)_sample_count); + assert(start_sample <= (int64_t)_sample_count); assert(end_sample >= 0); - assert(end_sample < (int64_t)_sample_count); + assert(end_sample <= (int64_t)_sample_count); assert(start_sample <= end_sample); lock_guard lock(_mutex); @@ -366,8 +366,10 @@ void LogicSnapshot::get_subsampled_edges( } // Add the final state - edges.push_back(pair(end, - get_sample(end) & sig_mask)); + const bool end_sample = get_sample(end) & sig_mask; + if (last_sample != end_sample) + edges.push_back(pair(end, end_sample)); + edges.push_back(pair(end + 1, end_sample)); } uint64_t LogicSnapshot::get_subsample(int level, uint64_t offset) const