X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Ftesto%2Fprotocol.c;h=46e9ae62baf6071233c1df660853e14081b8eefd;hb=329733d92c5004f0fe308eff26b9537fded2cdf3;hp=bdfaf1fd3103cf9340c686adaa05c39b538166bb;hpb=155b680da482cea2381becb73c51cfb838bff31e;p=libsigrok.git diff --git a/src/hardware/testo/protocol.c b/src/hardware/testo/protocol.c index bdfaf1fd..46e9ae62 100644 --- a/src/hardware/testo/protocol.c +++ b/src/hardware/testo/protocol.c @@ -51,7 +51,6 @@ SR_PRIV int testo_set_serial_params(struct sr_usb_dev_inst *usb) return SR_OK; } - /* Due to the modular nature of the Testo hardware, you can't assume * which measurements the device will supply. Fetch a single result * set synchronously to see which measurements it has. */ @@ -59,7 +58,6 @@ SR_PRIV int testo_probe_channels(struct sr_dev_inst *sdi) { struct dev_context *devc; struct sr_usb_dev_inst *usb; - struct sr_channel *ch; int unit, packet_len, len, i; unsigned char packet[MAX_REPLY_SIZE], buf[MAX_REPLY_SIZE]; char *probe_name; @@ -78,7 +76,7 @@ SR_PRIV int testo_probe_channels(struct sr_dev_inst *sdi) libusb_bulk_transfer(usb->devhdl, EP_IN, buf, MAX_REPLY_SIZE, &len, 10); } while (len > 2); - if (libusb_bulk_transfer(usb->devhdl, EP_OUT, devc->model->request, + if (libusb_bulk_transfer(usb->devhdl, EP_OUT, (unsigned char *)devc->model->request, devc->model->request_size, &devc->reply_size, 10) < 0) return SR_ERR; @@ -136,8 +134,7 @@ SR_PRIV int testo_probe_channels(struct sr_dev_inst *sdi) sr_dbg("Unsupported measurement unit %d", unit); return SR_ERR; } - ch = sr_channel_new(i, SR_CHANNEL_ANALOG, TRUE, probe_name); - sdi->channels = g_slist_append(sdi->channels, ch); + sr_channel_new(sdi, i, SR_CHANNEL_ANALOG, TRUE, probe_name); } devc->num_channels = packet[6]; sr_dbg("Found %d channel%s.", devc->num_channels, @@ -156,7 +153,7 @@ SR_PRIV int testo_request_packet(const struct sr_dev_inst *sdi) usb = sdi->conn; libusb_fill_bulk_transfer(devc->out_transfer, usb->devhdl, EP_OUT, - devc->model->request, devc->model->request_size, + (unsigned char *)devc->model->request, devc->model->request_size, receive_transfer, (void *)sdi, 100); if ((ret = libusb_submit_transfer(devc->out_transfer) != 0)) { sr_err("Failed to request packet: %s.", libusb_error_name(ret)); @@ -291,4 +288,3 @@ SR_PRIV void testo_receive_packet(const struct sr_dev_inst *sdi) g_slist_free(analog.channels); } } -