X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdata%2Flogicsnapshot.cpp;h=d32274b3322cb4b02808343dad61f92afee57774;hb=e92cd4e4cddac2639c1a5e278124b5bb22ace10f;hp=e6fd26e33b68f742a8547894487ddf7f719a5bd3;hpb=023887ca1d8a104b4bef287b7cea8d403044a41b;p=pulseview.git diff --git a/pv/data/logicsnapshot.cpp b/pv/data/logicsnapshot.cpp index e6fd26e3..d32274b3 100644 --- a/pv/data/logicsnapshot.cpp +++ b/pv/data/logicsnapshot.cpp @@ -70,6 +70,22 @@ void LogicSnapshot::append_payload( append_payload_to_mipmap(); } +void LogicSnapshot::get_samples(uint8_t *const data, + int64_t start_sample, int64_t end_sample) const +{ + assert(data); + assert(start_sample >= 0); + assert(start_sample < (int64_t)_sample_count); + assert(end_sample >= 0); + assert(end_sample < (int64_t)_sample_count); + assert(start_sample <= end_sample); + + lock_guard lock(_mutex); + + const size_t size = (end_sample - start_sample) * _unit_size; + memcpy(data, (const uint8_t*)_data + start_sample, size); +} + void LogicSnapshot::reallocate_mipmap_level(MipMapLevel &m) { const uint64_t new_data_length = ((m.length + MipMapDataUnit - 1) / @@ -188,7 +204,7 @@ void LogicSnapshot::get_subsampled_edges( assert(start <= end); assert(min_length > 0); assert(sig_index >= 0); - assert(sig_index < SR_MAX_NUM_PROBES); + assert(sig_index < 64); lock_guard lock(_mutex);