};
static const uint32_t devopts[] = {
+ SR_CONF_CONN | SR_CONF_GET,
SR_CONF_ENABLED | SR_CONF_SET,
};
sdi->conn = scpi;
sdi->driver = &hp_59306a_driver_info;
sdi->inst_type = SR_INST_SCPI;
+ if (sr_scpi_connection_id(scpi, &sdi->connection_id) != SR_OK) {
+ g_free(sdi->connection_id);
+ sdi->connection_id = NULL;
+ }
devc = g_malloc0(sizeof(*devc));
sdi->priv = devc;
return sr_scpi_close(sdi->conn);
}
+static int config_get(uint32_t key, GVariant **data,
+ const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
+{
+ (void)cg;
+
+ if (!sdi || !data)
+ return SR_ERR_ARG;
+
+ switch (key) {
+ case SR_CONF_CONN:
+ *data = g_variant_new_string(sdi->connection_id);
+ break;
+ default:
+ return SR_ERR_NA;
+ }
+
+ return SR_OK;
+}
+
static int config_set(uint32_t key, GVariant *data,
const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
{
.scan = scan,
.dev_list = std_dev_list,
.dev_clear = std_dev_clear,
- .config_get = NULL,
+ .config_get = config_get,
.config_set = config_set,
.config_list = config_list,
.dev_open = dev_open,