Commit Graph

1923 Commits

Author SHA1 Message Date
Martin Ling 0f4a435057 scpi_tcp: must define _WIN32_WINNT to 0x0501 or higher to get getaddrinfo(). 2013-12-06 03:24:30 +00:00
Martin Ling 1c6736ab86 Link against the ws2_32 library on Windows. 2013-12-06 02:26:58 +00:00
Martin Ling 789840741c rigol-ds: Enable for non-Linux, as it now supports other transports. 2013-12-06 03:00:12 +01:00
Martin Ling 987a053084 scpi_tcp: Fix building on Windows. 2013-12-06 02:33:05 +01:00
Russ Dill b9a5614dbf zeroplus: Rework triggerbar/trigger address logic
This reworks the triggerbar/trigger address logic to match the values sent
by the windows app for all models (The zerominus tool was used to reprogram
the USB device ID on a single device). Additionally, the DONT_CARE_TRIGGERBAR
register is always set by the windows app and does not seem to indicate that
these registers are "don't care"'s.
2013-12-05 01:09:51 +01:00
Russ Dill c38e64c742 zeroplus: Clip sampling sizes larger that our sample memory
Otherwise, we'll return a non-sensical result for our memory_size
enumeration.
2013-12-05 01:09:51 +01:00
Russ Dill 3e43da1f70 zeroplus: Add support for additional memory sizes
The zeroplus can have up to a 8M SRAM. Avoid some extensive if/else
blocks by noting that all sizes except the first are related by their power
of 2.
2013-12-05 01:09:51 +01:00
Russ Dill e93fb98b8a zeroplus: Rename max_memory_size to max_sample_depth
This private variable is measured in samples, not bytes. Avoid confusion
by renaming it.
2013-12-05 01:09:51 +01:00
Russ Dill d20844e28b zeroplus: Just wait until not busy on data capture
While captures using a trigger do set the STATUS_READY bit, immediate
captures do not set the STATUS_READY bit, they just clear the STATUS_BUSY
bit. This was confirmed with packet captures using the "official" driver/app.
2013-12-05 00:41:22 +01:00
Russ Dill 60cc6f8579 zeroplus: Add usb IDs for 32 channel models, but only use 16 channels
The code needs some work to support 32 channels. Until then, support
the 32 channel models, but only allow the use of 16 channels.
2013-12-05 00:41:22 +01:00
Bert Vermeulen 7cf1a98d73 rigol-ds: Minor error reporting fix. 2013-12-05 00:21:15 +01:00
Bert Vermeulen 91e406b921 scpi/usbtmc: Prototype fixes. 2013-12-05 00:16:11 +01:00
Bert Vermeulen bc03a7cc2c scpi/serial: Use stubs for all SCPI functions.
Avoids some gcc warnings, since the SCPI prototypes don't exactly
match serial_*.
2013-12-05 00:09:34 +01:00
Martin Ling 962af1a379 rigol-ds: Support VS5000 series devices. 2013-12-04 21:38:05 +00:00
Martin Ling b8705e99e4 scpi_tcp: Adjust to observed protocol for Rigol VS5000 series. 2013-12-04 21:32:47 +00:00
Martin Ling 3520422fc7 rigol-ds: Support TCP connection. 2013-12-04 20:59:24 +00:00
Martin Ling 08a359138b Add implementation for SCPI over TCP. 2013-12-04 20:59:20 +00:00
Martin Ling 56868b5d6b rigol-ds: Handle partial analog frame reads.
Reading a frame over the DS1xx2 RS232 connection now sometimes works,
but most of the time stalls part way through with g_poll showing the
fd as not ready.
2013-12-04 13:31:42 +00:00
Martin Ling 9dfeb81b09 scpi_serial: Flush buffers after opening port. 2013-12-04 13:03:23 +00:00
Martin Ling 0dc7b43eb7 rigol-ds: Support RS232 connection.
Probing tested OK over RS232 for DS1052E and DS1102D. Capture needs work.
2013-12-04 12:50:12 +00:00
Martin Ling 4d7a9a14a3 rigol-ds: Eliminate fixed-size buffer in set_cfg. 2013-12-04 10:56:09 +00:00
Martin Ling 87c410830d Add sr_scpi_send_variadic() function. 2013-12-04 10:53:51 +00:00
Martin Ling 17b5b20264 Replace rigol_ds_send() function with sr_scpi_send(). 2013-12-04 10:30:46 +00:00
Martin Ling 504f40a574 Make sr_scpi_send() take printf-style arguments. 2013-12-04 10:30:43 +00:00
Martin Ling 1ef5138071 Only scpi_serial.c functions need HAVE_LIBSERIALPORT, not scpi.c. 2013-12-03 23:31:32 +00:00
Martin Ling 4b4474ed6a Remove SR_INST_USBTMC which is no longer used. 2013-12-03 23:29:20 +00:00
Martin Ling ae1bc1cc26 Port rigol-ds driver to use common SCPI functions. 2013-12-03 23:19:40 +00:00
Martin Ling a1ff9c1897 Add sr_scpi_read() operation for reading arbitrary data. 2013-12-03 23:18:37 +00:00
Martin Ling 31034792da Implement SCPI over USBTMC. 2013-12-03 22:25:33 +00:00
Martin Ling 23f43dff15 Make SCPI functions device independent, with separate serial backend. 2013-12-03 22:00:31 +00:00
Uwe Hermann 8d558c7a9f strutil.c: Don't expose sr_atox() as API calls for now. 2013-12-03 17:16:59 +01:00
Uwe Hermann 082972e8c5 hameg-hmo: Reduce unnecessarily high nesting level. 2013-12-03 17:13:50 +01:00
Uwe Hermann 719eff68ad hameg-hmo: Use hmo_ prefix for driver-local SR_PRIV functions. 2013-12-03 16:58:34 +01:00
Uwe Hermann 89280b1a4c hameg-hmo: Minor cosmetics, coding-style fixes. 2013-12-03 16:48:21 +01:00
Uwe Hermann d5976d8be5 scpi.c: Minor cleanups, cosmetics. 2013-12-03 16:08:59 +01:00
Uwe Hermann c6e35004cb configure.ac: Don't build hameg-hmo if libserialport is not found. 2013-12-03 15:48:02 +01:00
Uwe Hermann 582b3d21d3 configure.ac: Move Hameg HMO AM_CONDITIONAL to the correct place. 2013-12-03 15:37:36 +01:00
poljar (Damir Jelić) 13f2b9d789 hameg-hmo: Add initial working driver version.
This patch adds initial support for Hameg's HMO oscilloscopes. It currently
supports only the HMO compact series (70MHz-200MHz).
2013-12-03 15:13:30 +01:00
poljar (Damir Jelić) 06a3e78adb hameg-hmo: Initial driver skeleton. 2013-12-03 15:13:30 +01:00
poljar (Damir Jelić) 1bd9e678ac serial: Add function to extract serial options.
This patch adds a function for a common operation of all serial based drivers.
It extracts the serial options from the options linked list that is passed down
to every hardware driver.
2013-12-03 15:10:01 +01:00
poljar (Damir Jelić) 1a323dd887 scpi: Add function to fetch uint8_t.
This patch adds a function to read and parse a SCPI response which contains a
comma separated list of unsignet 8-bit integer numbers (e.g "1,0,64").

This is particularly useful if the instrument sends digital measurement data
in this format.
2013-12-03 15:10:01 +01:00
poljar (Damir Jelić) 8acbb89a1d scpi: Add function to get an array of floats.
This patch adds a function to read and parse a SCPI response which contains a
comma-separated list of floating-point numbers (e.g. "1.0e-5,2.0e-4,3.0e-3").

This is particularly useful if the instrument sends analog measurement
data in this format.
2013-12-03 15:10:01 +01:00
poljar (Damir Jelić) f5922adef5 scpi: Add a function to read and wait on a *OPC? reply.
The SCPI standard specifies the "*OPC?" command (Operation complete query) which
queries the instrument for its operative state. When all pending operations are
complete, the instrument responds with a "1".

Some manufacturers block before completing all operations and don't respond
with anything and some of them respond with a "0". This function handles both
cases uniformly.
2013-12-03 15:10:01 +01:00
poljar (Damir Jelić) d730f70e06 scpi: Add more functions (getting int/bool/float/double).
This patch adds helper functions to read an SCPI response and parse the response
as an integer, boolean, floating-point or double-precision floating-point number.
2013-12-03 15:10:01 +01:00
poljar (Damir Jelić) aa1e3b400b scpi: Add function to strictly parse bool strings.
This patch adds a function that is similar to sr_parse_boolstring but its
matching rules are more strict.
2013-12-03 15:10:00 +01:00
poljar (Damir Jelić) 7b9d732031 scpi: Add helper functions for SCPI communication.
The Standard Commands for Programmable Instruments (SCPI) defines a standard
for syntax and commands to use in controlling programmable test and measurement
devices.

SCPI documentation:
	http://www.ivifoundation.org/docs/scpi-99.pdf

This patch adds helper functions for sending SCPI commands, reading a SCPI
response and reading and parsing a SCPI "*IDN?" response.
2013-12-03 15:10:00 +01:00
poljar (Damir Jelić) 9e4f8cf93b strutil: Add helper functions: string to number.
This patch adds helper functions for converting a string to different number
formats (double, long, float, int).

These functions are exposed in the public API.
2013-12-03 15:10:00 +01:00
Dan Horák 3ba7b61ab2 define correct variable for the unified Rigol driver 2013-12-01 22:28:07 +01:00
Uwe Hermann 66a4357667 serial-dmm: No error message upon 0 new bytes. 2013-12-01 19:30:35 +01:00
Martin Ling 9647ce694b Use new libserialport blocking/nonblocking API calls. 2013-12-01 18:51:24 +01:00