Commit Graph

2006 Commits

Author SHA1 Message Date
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
Bert Vermeulen 016f2e005d Fix memory leak when loading session files. 2013-11-29 17:32:55 +01:00
Martin Ling b3916147a5 rigol-ds: Fix duplicated "LA" probe group. 2013-11-29 01:40:50 +00:00
Martin Ling ae67644fe5 Create & use new sr_usbtmc_dev_inst for Rigol DS driver. 2013-11-29 01:13:22 +00:00
Martin Ling babab6225b DS2000 sample memory capture patches from Mathias Grimmberger. 2013-11-29 00:57:55 +00:00
Martin Ling 355de5a110 Fix handling second channel on DS2000 series.
Patch from Mathias Grimmberger.
2013-11-29 00:55:21 +00:00
Martin Ling 6ff1394ed1 rigol-ds: brown paper bag, using timebases instead of vdivs. 2013-11-29 00:55:20 +00:00
Martin Ling 7cc1a55091 rigol-ds: fix calls to config_list with NULL sdi/devc. 2013-11-29 00:55:20 +00:00
Martin Ling bafd489094 rigol-ds: Add support for DS2xx2 series.
Based on patch by Mathias Grimmberger <mgri@zaphod.sax.de>.
2013-11-29 00:53:34 +00:00
Martin Ling 3086efdd73 Rename rigol-ds1xx2 driver to rigol-ds. 2013-11-29 00:50:59 +00:00
Bert Vermeulen 6c57446d41 Don't accept over 64 probes.
The code is limited to 64 probes for now, so don't accept setting
the probe limit to higher than that.

See bug 194.
2013-11-26 22:23:38 +01:00
Bert Vermeulen e4c8a4d7cb input/vcd: Coding style fixes. 2013-11-26 22:23:37 +01:00
Bert Vermeulen 3453970079 output/csv: Fix wrong cast. 2013-11-26 22:23:37 +01:00
Uwe Hermann c4d85a4026 serial.c: Re-enable serial_read() error reporting.
libserialport now returns 0 (not SP_ERR_FAIL) as return value when a
non-blocking read would return EAGAIN.

This fixes bug #188.
2013-11-26 16:29:43 +01:00
Martin Ling 25b66c3c61 Use new libserialport opaque configuration structure. 2013-11-26 15:53:40 +01:00
Martin Ling 3182932d36 Use accessor for new libserialport opaque port structure. 2013-11-26 15:53:40 +01:00
Bert Vermeulen 067b3836b2 gmc-mh-1x-2x driver depends on libserialport 2013-11-26 01:50:21 +01:00
Bert Vermeulen 79b9a237bd uni-t-dmm: Drop unnecessary DMM count. 2013-11-23 15:24:40 +01:00