21 #ifndef PULSEVIEW_PV_DATA_LOGICSEGMENT_HPP
22 #define PULSEVIEW_PV_DATA_LOGICSEGMENT_HPP
66 uint64_t
samplerate, uint64_t expected_num_samples = 0);
73 int64_t start_sample, int64_t end_sample)
const;
97 uint64_t start, uint64_t end,
98 float min_length,
int sig_index);
103 static uint64_t
pow2_ceil(uint64_t x,
unsigned int power);
119 #endif // PULSEVIEW_PV_DATA_LOGICSEGMENT_HPP
void reallocate_mipmap_level(MipMapLevel &m)
uint64_t get_sample(uint64_t index) const
friend struct LogicSegmentTest::Basic
static const float LogMipMapScaleFactor
static const uint64_t MipMapDataUnit
static const int MipMapScalePower
friend struct LogicSegmentTest::LongPulses
friend struct LogicSegmentTest::Pulses
void get_subsampled_edges(std::vector< EdgePair > &edges, uint64_t start, uint64_t end, float min_length, int sig_index)
double samplerate() const
uint64_t get_subsample(int level, uint64_t offset) const
std::pair< int64_t, bool > EdgePair
LogicSegment(std::shared_ptr< sigrok::Logic > logic, uint64_t samplerate, uint64_t expected_num_samples=0)
static const int MipMapScaleFactor
void append_payload_to_mipmap()
static uint64_t pow2_ceil(uint64_t x, unsigned int power)
friend struct LogicSegmentTest::LargeData
struct MipMapLevel mip_map_[ScaleStepCount]
void get_samples(uint8_t *const data, int64_t start_sample, int64_t end_sample) const
void pack_sample(uint8_t *ptr, uint64_t value)
friend struct LogicSegmentTest::Pow2
uint64_t last_append_sample_
static const unsigned int ScaleStepCount
void append_payload(std::shared_ptr< sigrok::Logic > logic)
uint64_t unpack_sample(const uint8_t *ptr) const