unsigned int i;
const struct fluke_scpi_dmm_model *model = NULL;
gchar *channel_name;
- char *response;
-
- sdi = g_malloc0(sizeof(struct sr_dev_inst));
- sdi->conn = scpi;
-
- /* Test for serial port ECHO enabled. */
- response = NULL;
- sr_scpi_get_string(scpi, "ECHO-TEST", &response);
- if (response && strcmp(response, "ECHO-TEST") == 0) {
- sr_err("Serial port ECHO is ON. Please turn it OFF!");
- return NULL;
- }
/* Get device IDN. */
if (sr_scpi_get_hw_id(scpi, &hw_info) != SR_OK) {
+ sr_scpi_hw_info_free(hw_info);
sr_info("Couldn't get IDN response, retrying.");
sr_scpi_close(scpi);
sr_scpi_open(scpi);
if (sr_scpi_get_hw_id(scpi, &hw_info) != SR_OK) {
+ sr_scpi_hw_info_free(hw_info);
sr_info("Couldn't get IDN response.");
return NULL;
}
}
/* Set up device parameters. */
+ sdi = g_malloc0(sizeof(struct sr_dev_inst));
sdi->vendor = g_strdup(model->vendor);
sdi->model = g_strdup(model->model);
sdi->version = g_strdup(hw_info->firmware_version);
sdi->conn = scpi;
sdi->driver = &fluke_45_driver_info;
sdi->inst_type = SR_INST_SCPI;
+ sr_scpi_hw_info_free(hw_info);
devc = g_malloc0(sizeof(struct dev_context));
devc->num_channels = model->num_channels;
devc->cmdset = cmdset;
+ sdi->priv = devc;
/* Create channels. */
for (i = 0; i < devc->num_channels; i++) {
sr_channel_new(sdi, 0, SR_CHANNEL_ANALOG, TRUE, channel_name);
}
- sdi->priv = devc;
-
return sdi;
}