void Session::start_capture(function<void (const QString)> error_handler)
{
+ if (!device_) {
+ error_handler(tr("No active device set, can't start acquisition."));
+ return;
+ }
+
stop_capture();
// Check that at least one channel is enabled
- assert(device_);
const shared_ptr<sigrok::Device> sr_dev = device_->device();
if (sr_dev) {
const auto channels = sr_dev->channels();
// Begin the session
sampling_thread_ = std::thread(
- &Session::sample_thread_proc, this, device_,
- error_handler);
+ &Session::sample_thread_proc, this, error_handler);
}
void Session::stop_capture()
return shared_ptr<view::Signal>();
}
-void Session::sample_thread_proc(shared_ptr<devices::Device> device,
- function<void (const QString)> error_handler)
+void Session::sample_thread_proc(function<void (const QString)> error_handler)
{
- assert(device);
assert(error_handler);
- (void)device;
+ if (!device_)
+ return;
cur_samplerate_ = device_->read_config<uint64_t>(ConfigKey::SAMPLERATE);