aboutsummaryrefslogtreecommitdiffstats
path: root/gr-iio/lib/device_source_impl.cc
diff options
context:
space:
mode:
authorJosh Morman <jmorman@gnuradio.org>2021-10-27 13:08:50 -0400
committermormj <34754695+mormj@users.noreply.github.com>2021-10-28 13:17:06 -0400
commit6af36c3c20b82efcf0bd0fe80f3f03de9752d0c0 (patch)
tree638df380752188eb545988035728d1f96785baed /gr-iio/lib/device_source_impl.cc
parentruntime: remove unused d_mutex from custom_lock to remove warnings (diff)
downloadgnuradio-6af36c3c20b82efcf0bd0fe80f3f03de9752d0c0.tar.xz
gnuradio-6af36c3c20b82efcf0bd0fe80f3f03de9752d0c0.zip
iio: iio_param_t for parameter setting
Signed-off-by: Josh Morman <jmorman@gnuradio.org>
Diffstat (limited to 'gr-iio/lib/device_source_impl.cc')
-rw-r--r--gr-iio/lib/device_source_impl.cc26
1 files changed, 8 insertions, 18 deletions
diff --git a/gr-iio/lib/device_source_impl.cc b/gr-iio/lib/device_source_impl.cc
index 27268536e..a2d137d1c 100644
--- a/gr-iio/lib/device_source_impl.cc
+++ b/gr-iio/lib/device_source_impl.cc
@@ -29,7 +29,7 @@ device_source::sptr device_source::make(const std::string& uri,
const std::string& device,
const std::vector<std::string>& channels,
const std::string& device_phy,
- const std::vector<std::string>& params,
+ const iio_param_vec_t& params,
unsigned int buffer_size,
unsigned int decimation)
{
@@ -48,7 +48,7 @@ device_source::sptr device_source::make_from(iio_context* ctx,
const std::string& device,
const std::vector<std::string>& channels,
const std::string& device_phy,
- const std::vector<std::string>& params,
+ const iio_param_vec_t& params,
unsigned int buffer_size,
unsigned int decimation)
{
@@ -56,27 +56,17 @@ device_source::sptr device_source::make_from(iio_context* ctx,
ctx, false, device, channels, device_phy, params, buffer_size, decimation);
}
-void device_source_impl::set_params(iio_device* phy,
- const std::vector<std::string>& params)
+void device_source_impl::set_params(iio_device* phy, const iio_param_vec_t& params)
{
static GR_LOG_GET_CONFIGURED_LOGGER(logger, "iio::device::set_params");
- for (std::vector<std::string>::const_iterator it = params.begin(); it != params.end();
- ++it) {
+ for (auto& param : params) {
iio_channel* chn = NULL;
const char* attr = NULL;
- size_t pos;
int ret;
- pos = it->find('=');
- if (pos == std::string::npos) {
- GR_LOG_WARN(logger,
- boost::format("Malformed parameter update line: %s") % *it);
- continue;
- }
-
- std::string key = it->substr(0, pos);
- std::string val = it->substr(pos + 1, std::string::npos);
+ std::string key = param.first;
+ std::string val = param.second;
ret = iio_device_identify_filename(phy, key.c_str(), &chn, &attr);
if (ret) {
@@ -98,7 +88,7 @@ void device_source_impl::set_params(iio_device* phy,
}
}
-void device_source_impl::set_params(const std::vector<std::string>& params)
+void device_source_impl::set_params(const iio_param_vec_t& params)
{
set_params(this->phy, params);
}
@@ -173,7 +163,7 @@ device_source_impl::device_source_impl(iio_context* ctx,
const std::string& device,
const std::vector<std::string>& channels,
const std::string& device_phy,
- const std::vector<std::string>& params,
+ const iio_param_vec_t& params,
unsigned int buffer_size,
unsigned int decimation)
: gr::sync_block("device_source",