PulseView  0.3.0
A Qt-based sigrok GUI
pv::data::AnalogSegment Class Reference

#include <analogsegment.hpp>

Inheritance diagram for pv::data::AnalogSegment:
Collaboration diagram for pv::data::AnalogSegment:

Classes

struct  Envelope
 
struct  EnvelopeSample
 
struct  EnvelopeSection
 

Public Member Functions

 AnalogSegment (uint64_t samplerate, uint64_t expected_num_samples=0)
 
virtual ~AnalogSegment ()
 
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
 
void get_envelope_section (EnvelopeSection &s, uint64_t start, uint64_t end, float min_length) const
 
- Public Member Functions inherited from pv::data::Segment
 Segment (uint64_t samplerate, unsigned int unit_size)
 
virtual ~Segment ()
 
uint64_t get_sample_count () const
 
const pv::util::Timestampstart_time () const
 
double samplerate () const
 
void set_samplerate (double samplerate)
 
unsigned int unit_size () const
 
void set_capacity (uint64_t new_capacity)
 Increase the capacity of the segment. More...
 
uint64_t capacity () const
 Get the current capacity of the segment. More...
 

Private Member Functions

void reallocate_envelope (Envelope &l)
 
void append_payload_to_envelope_levels ()
 

Private Attributes

struct Envelope envelope_levels_ [ScaleStepCount]
 

Static Private Attributes

static const unsigned int ScaleStepCount = 10
 
static const int EnvelopeScalePower = 4
 
static const int EnvelopeScaleFactor = 1 << EnvelopeScalePower
 
static const float LogEnvelopeScaleFactor
 
static const uint64_t EnvelopeDataUnit = 64*1024
 

Friends

struct AnalogSegmentTest::Basic
 

Additional Inherited Members

- Protected Member Functions inherited from pv::data::Segment
void append_data (void *data, uint64_t samples)
 
- Protected Attributes inherited from pv::data::Segment
std::recursive_mutex mutex_
 
std::vector< uint8_t > data_
 
uint64_t sample_count_
 
pv::util::Timestamp start_time_
 
double samplerate_
 
uint64_t capacity_
 
unsigned int unit_size_
 

Detailed Description

Definition at line 36 of file analogsegment.hpp.


Class Documentation

struct pv::data::AnalogSegment::Envelope

Definition at line 54 of file analogsegment.hpp.

Collaboration diagram for pv::data::AnalogSegment::Envelope:
Class Members
uint64_t data_length
uint64_t length
EnvelopeSample * samples
struct pv::data::AnalogSegment::EnvelopeSample

Definition at line 39 of file analogsegment.hpp.

Collaboration diagram for pv::data::AnalogSegment::EnvelopeSample:
Class Members
float max
float min
struct pv::data::AnalogSegment::EnvelopeSection

Definition at line 45 of file analogsegment.hpp.

Collaboration diagram for pv::data::AnalogSegment::EnvelopeSection:
Class Members
uint64_t length
EnvelopeSample * samples
unsigned int scale
uint64_t start

Constructor & Destructor Documentation

pv::data::AnalogSegment::AnalogSegment ( uint64_t  samplerate,
uint64_t  expected_num_samples = 0 
)

Definition at line 48 of file analogsegment.cpp.

Here is the call graph for this function:

pv::data::AnalogSegment::~AnalogSegment ( )
virtual

Definition at line 58 of file analogsegment.cpp.

Member Function Documentation

void pv::data::AnalogSegment::append_interleaved_samples ( const float *  data,
size_t  sample_count,
size_t  stride 
)

Definition at line 65 of file analogsegment.cpp.

Here is the call graph for this function:

void pv::data::AnalogSegment::append_payload_to_envelope_levels ( )
private

Definition at line 140 of file analogsegment.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::AnalogSegment::get_envelope_section ( EnvelopeSection s,
uint64_t  start,
uint64_t  end,
float  min_length 
) const

Definition at line 105 of file analogsegment.cpp.

Here is the call graph for this function:

const float * pv::data::AnalogSegment::get_samples ( int64_t  start_sample,
int64_t  end_sample 
) const

Definition at line 88 of file analogsegment.cpp.

void pv::data::AnalogSegment::reallocate_envelope ( Envelope l)
private

Definition at line 129 of file analogsegment.cpp.

Here is the caller graph for this function:

Friends And Related Function Documentation

friend struct AnalogSegmentTest::Basic
friend

Definition at line 90 of file analogsegment.hpp.

Member Data Documentation

struct Envelope pv::data::AnalogSegment::envelope_levels_[ScaleStepCount]
private

Definition at line 88 of file analogsegment.hpp.

const uint64_t pv::data::AnalogSegment::EnvelopeDataUnit = 64*1024
staticprivate

Definition at line 66 of file analogsegment.hpp.

const int pv::data::AnalogSegment::EnvelopeScaleFactor = 1 << EnvelopeScalePower
staticprivate

Definition at line 64 of file analogsegment.hpp.

const int pv::data::AnalogSegment::EnvelopeScalePower = 4
staticprivate

Definition at line 63 of file analogsegment.hpp.

const float pv::data::AnalogSegment::LogEnvelopeScaleFactor
staticprivate
Initial value:

Definition at line 65 of file analogsegment.hpp.

const unsigned int pv::data::AnalogSegment::ScaleStepCount = 10
staticprivate

Definition at line 62 of file analogsegment.hpp.


The documentation for this class was generated from the following files: