X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=hardware%2Frigol-ds%2Fapi.c;h=31342c23321280add9dd87be37ff033009ae713b;hb=ae67644fe5340d9c6e450fb0443178af356e0647;hp=0f997ebb01da02734b4a83b614c7ac6d15641aca;hpb=babab6225b44eeeb73aa62e281d50636ec170bd5;p=libsigrok.git diff --git a/hardware/rigol-ds/api.c b/hardware/rigol-ds/api.c index 0f997ebb..31342c23 100644 --- a/hardware/rigol-ds/api.c +++ b/hardware/rigol-ds/api.c @@ -217,7 +217,7 @@ static int probe_port(const char *port, GSList **devices) { struct dev_context *devc; struct sr_dev_inst *sdi; - struct sr_serial_dev_inst *serial; + struct sr_usbtmc_dev_inst *usbtmc; struct sr_probe *probe; unsigned int i; int len, num_tokens; @@ -227,17 +227,17 @@ static int probe_port(const char *port, GSList **devices) gchar **tokens, *channel_name; *devices = NULL; - if (!(serial = sr_serial_dev_inst_new(port, NULL))) + if (!(usbtmc = sr_usbtmc_dev_inst_new(port))) return SR_ERR_MALLOC; - if (serial_open(serial, SERIAL_RDWR) != SR_OK) + if ((usbtmc->fd = open(usbtmc->device, O_RDWR)) < 0) return SR_ERR; - len = serial_write(serial, "*IDN?", 5); - len = serial_read(serial, buf, sizeof(buf)); - if (serial_close(serial) != SR_OK) + len = write(usbtmc->fd, "*IDN?", 5); + len = read(usbtmc->fd, buf, sizeof(buf)); + if (close(usbtmc->fd) < 0) return SR_ERR; - sr_serial_dev_inst_free(serial); + sr_usbtmc_dev_inst_free(usbtmc); if (len == 0) return SR_ERR_NA; @@ -277,10 +277,10 @@ static int probe_port(const char *port, GSList **devices) g_strfreev(tokens); - if (!(sdi->conn = sr_serial_dev_inst_new(port, NULL))) + if (!(sdi->conn = sr_usbtmc_dev_inst_new(port))) return SR_ERR_MALLOC; sdi->driver = di; - sdi->inst_type = SR_INST_SERIAL; + sdi->inst_type = SR_INST_USBTMC; if (!(devc = g_try_malloc0(sizeof(struct dev_context)))) return SR_ERR_MALLOC; @@ -399,8 +399,9 @@ static GSList *dev_list(void) static int dev_open(struct sr_dev_inst *sdi) { + struct sr_usbtmc_dev_inst *usbtmc = sdi->conn; - if (serial_open(sdi->conn, SERIAL_RDWR) != SR_OK) + if ((usbtmc->fd = open(usbtmc->device, O_RDWR)) < 0) return SR_ERR; if (rigol_ds_get_dev_cfg(sdi) != SR_OK) @@ -413,11 +414,12 @@ static int dev_open(struct sr_dev_inst *sdi) static int dev_close(struct sr_dev_inst *sdi) { - struct sr_serial_dev_inst *serial; + struct sr_usbtmc_dev_inst *usbtmc; - serial = sdi->conn; - if (serial && serial->fd != -1) { - serial_close(serial); + usbtmc = sdi->conn; + if (usbtmc && usbtmc->fd != -1) { + close(usbtmc->fd); + usbtmc->fd = -1; sdi->status = SR_ST_INACTIVE; } @@ -737,7 +739,7 @@ static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi, static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) { - struct sr_serial_dev_inst *serial; + struct sr_usbtmc_dev_inst *usbtmc; struct dev_context *devc; struct sr_probe *probe; GSList *l; @@ -746,7 +748,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) if (sdi->status != SR_ST_ACTIVE) return SR_ERR_DEV_CLOSED; - serial = sdi->conn; + usbtmc = sdi->conn; devc = sdi->priv; if (devc->data_source == DATA_SOURCE_LIVE) { @@ -792,7 +794,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) if (!devc->enabled_analog_probes && !devc->enabled_digital_probes) return SR_ERR; - sr_source_add(serial->fd, G_IO_IN, 50, rigol_ds_receive, (void *)sdi); + sr_source_add(usbtmc->fd, G_IO_IN, 50, rigol_ds_receive, (void *)sdi); /* Send header packet to the session bus. */ std_session_send_df_header(cb_data, LOG_PREFIX); @@ -843,7 +845,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) { struct dev_context *devc; - struct sr_serial_dev_inst *serial; + struct sr_usbtmc_dev_inst *usbtmc; (void)cb_data; @@ -858,8 +860,8 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) g_slist_free(devc->enabled_digital_probes); devc->enabled_analog_probes = NULL; devc->enabled_digital_probes = NULL; - serial = sdi->conn; - sr_source_remove(serial->fd); + usbtmc = sdi->conn; + sr_source_remove(usbtmc->fd); return SR_OK; }