projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set LIMIT_FRAMES to 1 if supported.
[pulseview.git]
/
pv
/
data
/
analogsnapshot.h
diff --git
a/pv/data/analogsnapshot.h
b/pv/data/analogsnapshot.h
index 59c43187788e4c231dc85d652f0cb849ed5f7a91..9c7f4d51ae982bc76cad204995cbcbbc380ec241 100644
(file)
--- a/
pv/data/analogsnapshot.h
+++ b/
pv/data/analogsnapshot.h
@@
-35,13
+35,22
@@
namespace data {
class AnalogSnapshot : public Snapshot
{
class AnalogSnapshot : public Snapshot
{
-p
rivate
:
+p
ublic
:
struct EnvelopeSample
{
float min;
float max;
};
struct EnvelopeSample
{
float min;
float max;
};
+ struct EnvelopeSection
+ {
+ uint64_t start;
+ unsigned int scale;
+ uint64_t length;
+ EnvelopeSample *samples;
+ };
+
+private:
struct Envelope
{
uint64_t length;
struct Envelope
{
uint64_t length;
@@
-57,15
+66,19
@@
private:
static const uint64_t EnvelopeDataUnit;
public:
static const uint64_t EnvelopeDataUnit;
public:
- AnalogSnapshot(
const sr_datafeed_analog &analog
);
+ AnalogSnapshot();
virtual ~AnalogSnapshot();
virtual ~AnalogSnapshot();
- void append_payload(const sr_datafeed_analog &analog);
+ void append_interleaved_samples(const float *data,
+ size_t sample_count, size_t stride);
const float* get_samples(int64_t start_sample,
int64_t end_sample) const;
const float* get_samples(int64_t start_sample,
int64_t end_sample) const;
+ void get_envelope_section(EnvelopeSection &s,
+ uint64_t start, uint64_t end, float min_length) const;
+
private:
void reallocate_envelope(Envelope &l);
private:
void reallocate_envelope(Envelope &l);