projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix #1182 by only considering enabled channels
[pulseview.git]
/
pv
/
devices
/
device.cpp
diff --git
a/pv/devices/device.cpp
b/pv/devices/device.cpp
index 4027a1c2d820a35ba248e312f3d066af789df620..855a1d82fca65019952b1baf46f21aef60c859de 100644
(file)
--- a/
pv/devices/device.cpp
+++ b/
pv/devices/device.cpp
@@
-14,8
+14,7
@@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include <cassert>
*/
#include <cassert>
@@
-24,11
+23,10
@@
#include "device.hpp"
#include "device.hpp"
-using std::map;
-using std::set;
+using std::shared_ptr;
using sigrok::ConfigKey;
using sigrok::ConfigKey;
-using sigrok::
Error
;
+using sigrok::
Capability
;
using Glib::VariantBase;
using Glib::Variant;
using Glib::VariantBase;
using Glib::Variant;
@@
-36,19
+34,19
@@
using Glib::Variant;
namespace pv {
namespace devices {
namespace pv {
namespace devices {
-Device::Device() {
-}
-
-Device::~Device() {
+Device::~Device()
+{
if (session_)
session_->remove_datafeed_callbacks();
}
if (session_)
session_->remove_datafeed_callbacks();
}
-std::shared_ptr<sigrok::Session> Device::session() const {
+shared_ptr<sigrok::Session> Device::session() const
+{
return session_;
}
return session_;
}
-std::shared_ptr<sigrok::Device> Device::device() const {
+shared_ptr<sigrok::Device> Device::device() const
+{
return device_;
}
return device_;
}
@@
-60,38
+58,32
@@
template<typename T>
T Device::read_config(const ConfigKey *key, const T default_value)
{
assert(key);
T Device::read_config(const ConfigKey *key, const T default_value)
{
assert(key);
- map< const ConfigKey*, set<sigrok::Capability> > keys;
if (!device_)
return default_value;
if (!device_)
return default_value;
- try {
- keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS);
- } catch (const Error) {
+ if (!device_->config_check(key, Capability::GET))
return default_value;
return default_value;
- }
- const auto iter = keys.find(key);
- if (iter == keys.end() ||
- (*iter).second.find(sigrok::GET) != (*iter).second.end())
- return default_value;
-
- return VariantBase::cast_dynamic<Variant<T>>(
+ return VariantBase::cast_dynamic<Glib::Variant<guint64>>(
device_->config_get(ConfigKey::SAMPLERATE)).get();
}
device_->config_get(ConfigKey::SAMPLERATE)).get();
}
-void Device::start() {
+void Device::start()
+{
assert(session_);
session_->start();
}
assert(session_);
session_->start();
}
-void Device::run() {
+void Device::run()
+{
assert(device_);
assert(session_);
session_->run();
}
assert(device_);
assert(session_);
session_->run();
}
-void Device::stop() {
+void Device::stop()
+{
assert(session_);
session_->stop();
}
assert(session_);
session_->stop();
}