X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fyokogawa-dlm%2Fapi.c;h=48e9a0ced109be33d1537bb4565c79da6acc2cdb;hb=0af636bed97c174bea46e61e961eaa1b0b162e0f;hp=070c6bd0979e111504942d237273dc4f733b0e09;hpb=ac10a927b5141f0f1e163d05a5c43e397c6ce9d2;p=libsigrok.git diff --git a/src/hardware/yokogawa-dlm/api.c b/src/hardware/yokogawa-dlm/api.c index 070c6bd0..48e9a0ce 100644 --- a/src/hardware/yokogawa-dlm/api.c +++ b/src/hardware/yokogawa-dlm/api.c @@ -62,9 +62,13 @@ static struct sr_dev_inst *probe_usbtmc_device(struct sr_scpi_dev_inst *scpi) if (dlm_model_get(hw_info->model, &model_name, &model_index) != SR_OK) goto fail; - if (!(sdi = sr_dev_inst_new(0, SR_ST_ACTIVE, MANUFACTURER_NAME, - model_name, NULL))) - goto fail; + sdi = sr_dev_inst_new(); + sdi->status = SR_ST_ACTIVE; + sdi->vendor = g_strdup(MANUFACTURER_NAME); + sdi->model = g_strdup(model_name); + sdi->version = g_strdup(hw_info->firmware_version); + + sdi->serial_num = g_strdup(hw_info->serial_number); sr_scpi_hw_info_free(hw_info); hw_info = NULL; @@ -189,7 +193,7 @@ static int check_channel_group(struct dev_context *devc, return CG_INVALID; } -static int config_get(int key, GVariant **data, const struct sr_dev_inst *sdi, +static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { int ret, cg_type; @@ -307,7 +311,7 @@ static GVariant *build_tuples(const uint64_t (*array)[][2], unsigned int n) return g_variant_builder_end(&gvb); } -static int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi, +static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { int ret, cg_type; @@ -461,7 +465,7 @@ static int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi, return ret; } -static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi, +static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { int cg_type; @@ -477,19 +481,16 @@ static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi, model = devc->model_config; switch (key) { - case SR_CONF_SCAN_OPTIONS: - *data = NULL; - break; case SR_CONF_DEVICE_OPTIONS: if (cg_type == CG_NONE) { - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, - model->hw_caps, model->num_hwcaps, sizeof(int32_t)); + *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, + model->devopts, model->num_devopts, sizeof(uint32_t)); } else if (cg_type == CG_ANALOG) { - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, - model->analog_hwcaps, model->num_analog_hwcaps, sizeof(int32_t)); + *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, + model->analog_devopts, model->num_analog_devopts, sizeof(uint32_t)); } else { - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, - NULL, 0, sizeof(int32_t)); + *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, + NULL, 0, sizeof(uint32_t)); } break; case SR_CONF_COUPLING: