libsigrok/src
Gerhard Sittig 18426d1c0e scpi-dmm: add short measurement delay for 34465A
With Keysight 34465A the VOLT:AC and FREQ functions keep suffering from
USB timeouts and pipe errors. Add a 10ms delay between initiating the
acquisition and checking for completion before fetching the result.

The weird thing is that when successful responses are seen after
temporary failure, enlarging the delay does not make them go away.
Instead the USB errors keep moving to a different spot. Measurements do
arrive though, so this is just annyoing but not a blocker.

  sr: [00:00.134038] scpi_usbtmc: Successfully sent SCPI command: 'CONF?'.
  sr: [00:00.136043] scpi: Got response: '"FREQ +3.00000000E+00,+3.00000000E-06"', length 38.
  sr: [00:00.136119] scpi-dmm: dev_acquisition_start: Precision: '"FREQ +3.00000000E+00,+3.00000000E-06"'
  sr: [00:00.136251] scpi_usbtmc: Successfully sent SCPI command: '*OPC?'.
  sr: [00:00.184211] scpi: Got response: '1', length 1.
  sr: [00:00.184481] scpi_usbtmc: Successfully sent SCPI command: 'INIT'.
  sr: [00:00.234800] session: bus: Received SR_DF_HEADER packet.
  cli: Received SR_DF_HEADER.
  sr: [00:00.245597] scpi_usbtmc: Successfully sent SCPI command: '*OPC?'.
  sr: [00:01.246050] scpi_usbtmc: USBTMC bulk in transfer error: LIBUSB_ERROR_TIMEOUT.
  sr: [00:01.256495] scpi_usbtmc: Successfully sent SCPI command: '*OPC?'.
  sr: [00:01.291871] scpi_usbtmc: USBTMC invalid bulk in header.
  sr: [00:01.302392] scpi_usbtmc: Successfully sent SCPI command: '*OPC?'.
  sr: [00:01.401959] scpi: Got response: '1', length 1.
  sr: [00:01.402135] scpi_usbtmc: Successfully sent SCPI command: '*OPC?'.
  sr: [00:01.403392] scpi: Got response: '1', length 1.
  sr: [00:01.403566] scpi_usbtmc: Successfully sent SCPI command: 'CONF?'.
  sr: [00:01.405769] scpi: Got response: '"FREQ +3.00000000E+00,+3.00000000E-06"', length 38.
  sr: [00:01.406020] scpi_usbtmc: Successfully sent SCPI command: '*OPC?'.
  sr: [00:01.407500] scpi: Got response: '1', length 1.
  sr: [00:01.407674] scpi_usbtmc: Successfully sent SCPI command: 'FETCH?'.
  sr: [00:01.409107] scpi: Got response: '+9.00555531E+01', length 15.

Experimentation suggests that 200ms timeouts reduce the probability of
these USB communication errors. But if functions tend to respond that
differently, are delay time specs per MQ required? The implementation of
the driver currently assumes a single delay spec.
2021-06-01 08:20:59 +02:00
..
bt bt: drop bt_put_le16() dependency (not universally available) 2020-07-26 10:47:59 +02:00
dmm dmm/mm38xr: introduce DMM packet parser for Meterman 38XR 2021-01-05 08:13:23 +01:00
hardware scpi-dmm: add short measurement delay for 34465A 2021-06-01 08:20:59 +02:00
input input/csv: trim surrounding whitespace from header line channel names 2021-04-25 12:51:33 +02:00
lcr lcr/vc4080: introduce LCR packet parser for Voltcraft 4080 (and PeakTech 2165) 2019-07-31 22:40:44 +02:00
modbus serial: flush() after open() in the serial core. 2020-07-26 16:06:42 +02:00
output output/csv: always generate text for analog/logic data packets 2020-08-22 19:04:31 +02:00
scale license: remove FSF postal address from boiler plate license text 2017-01-07 16:05:39 +01:00
scpi scpi: style nits in sr_scpi_scan(), prefer common helper 2021-06-01 08:20:59 +02:00
transform Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
analog.c analog.c: rephrase analog feed to float conversion routine 2020-09-18 16:42:37 +02:00
backend.c build: prepare serial over Bluetooth, search for optional BlueZ lib 2019-06-02 20:39:02 +02:00
binary_helpers.c binary_helpers: Drop unnecessary malloc check. 2020-06-05 00:25:26 +02:00
conversion.c Doxygen: Fix various warnings. 2020-03-25 20:27:57 +01:00
crc.c src/crc.c: Add missing file. 2020-06-05 00:25:26 +02:00
device.c Doxygen: Fix various warnings. 2020-03-25 20:27:57 +01:00
driver_list_start.c driver_list: unbreak list of builtin drivers for LTO configurations 2020-11-05 05:20:42 +01:00
driver_list_stop.c driver_list: unbreak list of builtin drivers for LTO configurations 2020-11-05 05:20:42 +01:00
drivers.c Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
error.c license: remove FSF postal address from boiler plate license text 2017-01-07 16:05:39 +01:00
ezusb.c drivers: Load firmware via new resource API 2015-10-01 15:44:55 +02:00
fallback.c serial: introduce more general "have serial comm" feature flag 2019-06-02 20:39:02 +02:00
hwdriver.c Add device type SR_CONF_MULTIPLEXER. 2021-04-24 16:47:06 +02:00
libsigrok-internal.h libsigrok-internal.h: add 48bit endianess aware byte stream helpers 2021-03-16 21:26:35 +01:00
log.c Add a new sr_log_callback_get() API call. 2018-08-30 19:11:30 +02:00
resource.c Doxygen: Fix various warnings. 2020-03-25 20:27:57 +01:00
scpi.h scpi-dmm: Gracefully handle meters that lack OPC command. 2021-03-06 19:04:19 +01:00
serial.c serial: extend semantics of connection and comm params extraction helper 2021-06-01 08:20:16 +02:00
serial_bt.c serial: add routine to manipulate handshake state (RTS, DTR) 2020-09-20 10:44:20 +02:00
serial_hid.c serial: add routine to manipulate handshake state (RTS, DTR) 2020-09-20 10:44:20 +02:00
serial_hid.h serial_hid: add iokit= prefix for the Mac IOKit special case 2020-08-09 16:09:04 +02:00
serial_hid_bu86x.c Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
serial_hid_ch9325.c Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
serial_hid_cp2110.c serial: make failed flush() in open() non-fatal, CP2110 flush() return 2020-08-01 14:55:20 +02:00
serial_hid_victor.c Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
serial_libsp.c serial_libsp: extend diag in code path which opens serial ports 2021-05-22 07:59:18 +02:00
session.c Fix compiler warnings related to -Wcast-function-type. 2020-05-02 17:01:39 +02:00
session_driver.c Fix various gcc 8 compiler warnings related to ARRAY_SIZE. 2018-10-06 19:13:39 +02:00
session_file.c Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
soft-trigger.c Use std_session_send_df_trigger() where possible. 2020-04-08 23:21:39 +02:00
std.c serial: add routine to manipulate handshake state (RTS, DTR) 2020-09-20 10:44:20 +02:00
strutil.c strutil: introduce sr_atoul_base() conversion helper (non-decimal) 2020-11-17 17:51:02 +01:00
sw_limits.c sw_limits: add const for limits param for config_get 2020-08-03 17:53:11 +02:00
trigger.c Doxygen: Properly mark a few symbols as private. 2020-03-25 20:10:24 +01:00
usb.c Fix compiler warnings related to -Wcast-function-type. 2020-05-02 17:01:39 +02:00
version.c license: remove FSF postal address from boiler plate license text 2017-01-07 16:05:39 +01:00