projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move meta type declaration out of MainWindow
[pulseview.git]
/
pv
/
data
/
logic.cpp
diff --git
a/pv/data/logic.cpp
b/pv/data/logic.cpp
index cd80ac99de13ca54384e9a7013239d68076f7823..516060a0aec9013c139f8597dc0bf9bfd70de6aa 100644
(file)
--- a/
pv/data/logic.cpp
+++ b/
pv/data/logic.cpp
@@
-42,10
+42,9
@@
unsigned int Logic::num_channels() const
return num_channels_;
}
return num_channels_;
}
-void Logic::push_segment(
- shared_ptr<LogicSegment> &segment)
+void Logic::push_segment(shared_ptr<LogicSegment> &segment)
{
{
- segments_.push_
front
(segment);
+ segments_.push_
back
(segment);
}
const deque< shared_ptr<LogicSegment> >& Logic::logic_segments() const
}
const deque< shared_ptr<LogicSegment> >& Logic::logic_segments() const
@@
-55,8
+54,12
@@
const deque< shared_ptr<LogicSegment> >& Logic::logic_segments() const
vector< shared_ptr<Segment> > Logic::segments() const
{
vector< shared_ptr<Segment> > Logic::segments() const
{
- return vector< shared_ptr<Segment> >(
- segments_.begin(), segments_.end());
+ return vector< shared_ptr<Segment> >(segments_.begin(), segments_.end());
+}
+
+uint32_t Logic::get_segment_count() const
+{
+ return (uint32_t)segments_.size();
}
void Logic::clear()
}
void Logic::clear()
@@
-66,10
+69,18
@@
void Logic::clear()
samples_cleared();
}
samples_cleared();
}
+double Logic::get_samplerate() const
+{
+ if (segments_.empty())
+ return 1.0;
+
+ return segments_.front()->samplerate();
+}
+
uint64_t Logic::max_sample_count() const
{
uint64_t l = 0;
uint64_t Logic::max_sample_count() const
{
uint64_t l = 0;
- for (
std::shared_ptr<LogicSegment>
s : segments_) {
+ for (
const shared_ptr<LogicSegment>&
s : segments_) {
assert(s);
l = max(l, s->get_sample_count());
}
assert(s);
l = max(l, s->get_sample_count());
}