#include <libsigrokdecode/libsigrokdecode.h>
#endif
-#include "sigsession.h"
+#include "sigsession.hpp"
-#include "devicemanager.h"
+#include "devicemanager.hpp"
-#include "data/analog.h"
-#include "data/analogsnapshot.h"
-#include "data/decoderstack.h"
-#include "data/logic.h"
-#include "data/logicsnapshot.h"
-#include "data/decode/decoder.h"
+#include "data/analog.hpp"
+#include "data/analogsnapshot.hpp"
+#include "data/decoderstack.hpp"
+#include "data/logic.hpp"
+#include "data/logicsnapshot.hpp"
+#include "data/decode/decoder.hpp"
-#include "view/analogsignal.h"
-#include "view/decodetrace.h"
-#include "view/logicsignal.h"
+#include "view/analogsignal.hpp"
+#include "view/decodetrace.hpp"
+#include "view/logicsignal.hpp"
#include <cassert>
#include <mutex>
});
update_signals(device);
}
+
+ device_selected();
}
void SigSession::set_file(const string &name)
});
device_manager_.update_display_name(device_);
update_signals(device_);
+ device_selected();
}
void SigSession::set_default_device()
void SigSession::read_sample_rate(shared_ptr<Device> device)
{
- uint64_t sample_rate = VariantBase::cast_dynamic<Variant<guint64>>(
- device->config_get(ConfigKey::SAMPLERATE)).get();
+ const auto keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS);
+ const auto iter = keys.find(ConfigKey::SAMPLERATE);
+ const uint64_t sample_rate = (iter != keys.end() &&
+ (*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();
set_capture_state(Running);
// Get sample limit.
- uint64_t sample_limit;
- try {
- sample_limit = VariantBase::cast_dynamic<Variant<guint64>>(
- device_->config_get(ConfigKey::LIMIT_SAMPLES)).get();
- } catch (Error) {
- sample_limit = 0;
- }
+ const auto keys = device_->config_keys(
+ ConfigKey::DEVICE_OPTIONS);
+ const auto iter = keys.find(ConfigKey::LIMIT_SAMPLES);
+ const uint64_t sample_limit = (iter != keys.end() &&
+ (*iter).second.find(sigrok::GET) !=
+ (*iter).second.end()) ?
+ VariantBase::cast_dynamic<Variant<guint64>>(
+ device_->config_get(ConfigKey::LIMIT_SAMPLES)).get() : 0;
// Create a new data snapshot
cur_logic_snapshot_ = shared_ptr<data::LogicSnapshot>(