X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Ftesto%2Fprotocol.c;h=89f5bc9c2ff063383acb5c4f91285ae01d2f8a5e;hb=dd5c48a6d567a3cac62c4b0058588273bbeea171;hp=1505e5bc9b4ebbbe2dbceabf036b789dba5f3068;hpb=5e23fcab889c62864b92aa3ad6902ce3e9f5be49;p=libsigrok.git diff --git a/src/hardware/testo/protocol.c b/src/hardware/testo/protocol.c index 1505e5bc..89f5bc9c 100644 --- a/src/hardware/testo/protocol.c +++ b/src/hardware/testo/protocol.c @@ -17,6 +17,7 @@ * along with this program. If not, see . */ +#include #include #include "protocol.h" @@ -24,25 +25,25 @@ SR_PRIV int testo_set_serial_params(struct sr_usb_dev_inst *usb) { int ret; - if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_BAUDRATE, + if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_BAUDRATE, FTDI_BAUDRATE_115200, FTDI_INDEX, NULL, 0, 10)) < 0) { sr_err("Failed to set baudrate: %s", libusb_error_name(ret)); return SR_ERR; } - if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_PARAMS, + if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_PARAMS, FTDI_PARAMS_8N1, FTDI_INDEX, NULL, 0, 10)) < 0) { sr_err("Failed to set comm parameters: %s", libusb_error_name(ret)); return SR_ERR; } - if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_FLOWCTRL, + if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_FLOWCTRL, FTDI_FLOW_NONE, FTDI_INDEX, NULL, 0, 10)) < 0) { sr_err("Failed to set flow control: %s", libusb_error_name(ret)); return SR_ERR; } - if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_MODEMCTRL, + if ((ret = libusb_control_transfer(usb->devhdl, 0x40, FTDI_SET_MODEMCTRL, FTDI_MODEM_ALLHIGH, FTDI_INDEX, NULL, 0, 10)) < 0) { sr_err("Failed to set modem control: %s", libusb_error_name(ret)); return SR_ERR; @@ -51,7 +52,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. */ @@ -61,7 +61,7 @@ SR_PRIV int testo_probe_channels(struct sr_dev_inst *sdi) struct sr_usb_dev_inst *usb; int unit, packet_len, len, i; unsigned char packet[MAX_REPLY_SIZE], buf[MAX_REPLY_SIZE]; - char *probe_name; + const char *probe_name; devc = sdi->priv; usb = sdi->conn; @@ -77,12 +77,12 @@ 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; packet_len = 0; - while(TRUE) { + while (TRUE) { if (libusb_bulk_transfer(usb->devhdl, EP_IN, buf, MAX_REPLY_SIZE, &len, 250) < 0) return SR_ERR; @@ -154,12 +154,11 @@ 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)); - sdi->driver->dev_acquisition_stop((struct sr_dev_inst *)sdi, - devc->cb_data); + sdi->driver->dev_acquisition_stop((struct sr_dev_inst *)sdi); return SR_ERR; } sr_dbg("Requested new packet."); @@ -223,7 +222,7 @@ SR_PRIV void testo_receive_packet(const struct sr_dev_inst *sdi) { struct dev_context *devc; struct sr_datafeed_packet packet; - struct sr_datafeed_analog analog; + struct sr_datafeed_analog_old analog; struct sr_channel *ch; GString *dbg; float value; @@ -242,7 +241,7 @@ SR_PRIV void testo_receive_packet(const struct sr_dev_inst *sdi) g_string_free(dbg, TRUE); } - packet.type = SR_DF_ANALOG; + packet.type = SR_DF_ANALOG_OLD; packet.payload = &analog; analog.num_samples = 1; analog.mqflags = 0; @@ -289,4 +288,3 @@ SR_PRIV void testo_receive_packet(const struct sr_dev_inst *sdi) g_slist_free(analog.channels); } } -