- cmd.sample_delay = delay;
-
- /* Send the control message */
- const int res = libusb_control_transfer(devhdl,
- LIBUSB_REQUEST_TYPE_VENDOR |
- LIBUSB_ENDPOINT_OUT, CMD_START, 0x0000,
- 0x0000, (unsigned char*)&cmd,
- sizeof(cmd), 100);
- if (res < 0) {
- sr_err("fx2lafw: Unable to send start command: %d",
- res);
+ cmd.sample_delay_h = (delay >> 8) & 0xff;
+ cmd.sample_delay_l = delay & 0xff;
+
+ /* Select the sampling width */
+ cmd.flags |= samplewide ? CMD_START_FLAGS_SAMPLE_16BIT :
+ CMD_START_FLAGS_SAMPLE_8BIT;
+
+ /* Send the control message. */
+ ret = libusb_control_transfer(devhdl, LIBUSB_REQUEST_TYPE_VENDOR |
+ LIBUSB_ENDPOINT_OUT, CMD_START, 0x0000, 0x0000,
+ (unsigned char *)&cmd, sizeof(cmd), 100);
+ if (ret < 0) {
+ sr_err("fx2lafw: Unable to send start command: %s.",
+ libusb_error_name(ret));