]> sigrok.org Git - pulseview.git/blobdiff - pv/data/logicsnapshot.h
Rename 'probe' to 'channel' (libsigrokdecode change).
[pulseview.git] / pv / data / logicsnapshot.h
index 8a851ac203539e92d93fb971b499960afe0d4d7e..0f6f410c962487dd8828bda493e86fe33670e050 100644 (file)
 #include <vector>
 
 namespace LogicSnapshotTest {
-       class Pow2;
-       class Basic;
-       class LargeData;
-       class Pulses;
-       class LongPulses;
+class Pow2;
+class Basic;
+class LargeData;
+class Pulses;
+class LongPulses;
 }
 
 namespace pv {
@@ -58,14 +58,21 @@ public:
        typedef std::pair<int64_t, bool> EdgePair;
 
 public:
-       LogicSnapshot(const sr_datafeed_logic &logic);
+       LogicSnapshot(const sr_datafeed_logic &logic,
+                     uint64_t expected_num_samples = 0);
 
        virtual ~LogicSnapshot();
 
        void append_payload(const sr_datafeed_logic &logic);
 
+       void get_samples(uint8_t *const data,
+               int64_t start_sample, int64_t end_sample) const;
+
 private:
-       void reallocate_mip_map(MipMapLevel &m);
+       uint64_t unpack_sample(const uint8_t *ptr) const;
+       void pack_sample(uint8_t *ptr, uint64_t value);
+       
+       void reallocate_mipmap_level(MipMapLevel &m);
 
        void append_payload_to_mipmap();