projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SignalData: Moved samplerate into Snapshot
[pulseview.git]
/
pv
/
session.cpp
diff --git
a/pv/session.cpp
b/pv/session.cpp
index 5e3b492c1ae018c1fe390d7f1f010eb104209203..46af90cc0fa68141e1fe48782d56dc9a2a8a6771 100644
(file)
--- a/
pv/session.cpp
+++ b/
pv/session.cpp
@@
-85,7
+85,8
@@
namespace pv {
Session::Session(DeviceManager &device_manager) :
device_manager_(device_manager),
session_(device_manager.context()->create_session()),
Session::Session(DeviceManager &device_manager) :
device_manager_(device_manager),
session_(device_manager.context()->create_session()),
- capture_state_(Stopped)
+ capture_state_(Stopped),
+ cur_samplerate_(0)
{
set_default_device();
}
{
set_default_device();
}
@@
-431,17
+432,10
@@
void Session::read_sample_rate(shared_ptr<Device> device)
{
const auto keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS);
const auto iter = keys.find(ConfigKey::SAMPLERATE);
{
const auto keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS);
const auto iter = keys.find(ConfigKey::SAMPLERATE);
- c
onst uint64_t sample_rate
= (iter != keys.end() &&
+ c
ur_samplerate_
= (iter != keys.end() &&
(*iter).second.find(sigrok::GET) != (*iter).second.end()) ?
VariantBase::cast_dynamic<Variant<guint64>>(
device->config_get(ConfigKey::SAMPLERATE)).get() : 0;
(*iter).second.find(sigrok::GET) != (*iter).second.end()) ?
VariantBase::cast_dynamic<Variant<guint64>>(
device->config_get(ConfigKey::SAMPLERATE)).get() : 0;
-
- // Set the sample rate of all data
- const set< shared_ptr<data::SignalData> > data_set = get_data();
- for (shared_ptr<data::SignalData> data : data_set) {
- assert(data);
- data->set_samplerate(sample_rate);
- }
}
void Session::sample_thread_proc(shared_ptr<Device> device,
}
void Session::sample_thread_proc(shared_ptr<Device> device,
@@
-530,7
+524,8
@@
void Session::feed_in_logic(shared_ptr<Logic> logic)
// Create a new data snapshot
cur_logic_snapshot_ = shared_ptr<data::LogicSnapshot>(
// Create a new data snapshot
cur_logic_snapshot_ = shared_ptr<data::LogicSnapshot>(
- new data::LogicSnapshot(logic, sample_limit));
+ new data::LogicSnapshot(
+ logic, cur_samplerate_, sample_limit));
logic_data_->push_snapshot(cur_logic_snapshot_);
// @todo Putting this here means that only listeners querying
logic_data_->push_snapshot(cur_logic_snapshot_);
// @todo Putting this here means that only listeners querying
@@
-585,7
+580,8
@@
void Session::feed_in_analog(shared_ptr<Analog> analog)
// Create a snapshot, keep it in the maps of channels
snapshot = shared_ptr<data::AnalogSnapshot>(
// Create a snapshot, keep it in the maps of channels
snapshot = shared_ptr<data::AnalogSnapshot>(
- new data::AnalogSnapshot(sample_limit));
+ new data::AnalogSnapshot(
+ cur_samplerate_, sample_limit));
cur_analog_snapshots_[channel] = snapshot;
// Find the annalog data associated with the channel
cur_analog_snapshots_[channel] = snapshot;
// Find the annalog data associated with the channel