Martin Ling
bc7b7eb196
scpi: Strip trailing newline from *IDN response if present.
2013-12-29 13:22:31 +01:00
Uwe Hermann
b178c79d35
victor-dmm: Fix MIN/MAX always being reported.
...
This fixes bug #228 .
2013-12-29 12:33:10 +01:00
Bert Vermeulen
8b2d41edb3
demo: Analog probe support.
2013-12-29 10:58:56 +01:00
Bert Vermeulen
c07f60e73d
demo: User-configurable number of probes.
...
The sigrok and incremental patterns repeat every 8 probes, shifted by
one probe.
2013-12-29 10:58:56 +01:00
Martin Ling
05c644ea08
Revise SCPI read API to allow backend-independent data handling.
2013-12-29 04:26:36 +01:00
Martin Ling
227a0981c0
rigol-ds: Support the rest of the DSO1000 range.
2013-12-29 01:39:49 +01:00
Martin Ling
821fbcadcc
rigol-ds: Support 4 analog channels.
2013-12-29 01:34:58 +01:00
Martin Ling
0d9f5a12cb
rigol-ds: Use correct live waveform size for Agilent DSO1000 series.
2013-12-29 00:35:09 +01:00
Martin Ling
10afee13a3
rigol-ds: Add support for Agilent DSO1014A.
2013-12-29 00:27:11 +01:00
Martin Ling
77c16c0463
scpi: Log IDN? result.
2013-12-29 00:26:54 +01:00
Martin Ling
07ccb2b3f1
rigol-ds: Fix rigol_ds_channel_start() for digital channels.
2013-12-28 14:05:56 +01:00
Martin Ling
9e4b7d9833
rigol-ds: Use correct analog frame size for VS5000 series.
2013-12-28 14:05:56 +01:00
Martin Ling
6396b0a76b
rigol-ds: Use set_cfg wrapper for capture setup commands.
2013-12-28 14:05:56 +01:00
Martin Ling
1fed20cb38
rigol-ds: Select channels before issuing RUN command.
2013-12-28 14:05:55 +01:00
Martin Ling
48460c6f3e
rigol-ds: Unify partial read handling.
2013-12-27 22:47:42 +01:00
Martin Ling
f80a0bf232
rigol-ds: Unify code for counting expected incoming bytes.
2013-12-27 22:47:42 +01:00
Martin Ling
677f85d00b
rigol-ds: Use rigol_ds_channel_start() function for legacy protocol too.
2013-12-27 22:47:42 +01:00
Martin Ling
0d87bd93eb
rigol-ds: Rename and document some confusingly named variables.
2013-12-27 22:47:42 +01:00
Aurelien Jacobs
c36923b03b
asix-sigma: fix incorrect pointer cast (non-aligned memory and endiannes issue)
...
This fixes the following warning:
asix-sigma.c: In function 'receive_data':
asix-sigma.c:1064:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
devc->state.lastts = *(uint16_t *) buf - 1;
^
2013-12-27 17:36:08 +01:00
Uwe Hermann
9ee78f2347
appa-55ii: Don't use _t suffix for a typedef.
...
Names ending with _t are reserved for POSIX.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html
(last line in table 2)
2013-12-27 17:27:52 +01:00
Bert Vermeulen
53cd1c78f5
hameg-hmo: Support DC LINE coupling.
2013-12-27 16:28:42 +01:00
Uwe Hermann
b95dd7619d
log prefixes: Cosmetics, consistency fixes, typo fixes.
2013-12-27 13:17:20 +01:00
Martin Ling
3544f848e0
Centralise duplicated logging helper defines.
2013-12-27 12:54:05 +01:00
Uwe Hermann
dafafb0e94
teleinfo: Minor cleanups.
2013-12-27 12:27:52 +01:00
Uwe Hermann
76b4d4f422
appa-55ii: Minor cosmetics, whitespace fixes.
2013-12-27 12:27:52 +01:00
Uwe Hermann
27fd2eaacb
gmc-mh-1x-2x: Use standard API callback names for now.
...
If multiple functions need to be differentiated later, we can bring
back more specific names.
2013-12-27 12:27:49 +01:00
Uwe Hermann
873e0c1295
gmc-mh-1x-2x: Don't put driver-specific things in sr/SR namespace.
2013-12-27 12:27:49 +01:00
Uwe Hermann
3a6095d005
gmc-mh-1x-2x: Use 'di' variable to match other drivers.
2013-12-27 12:27:49 +01:00
Uwe Hermann
ec29a878e0
gmc-mh-1x-2x: Fix two compiler warnings.
2013-12-27 12:27:49 +01:00
Uwe Hermann
fc348b770a
gmc-mh-1x-2x: Cosmetics, whitespace, cleanups.
2013-12-27 12:27:49 +01:00
Bert Vermeulen
7574e58c1a
appa-55ii: Coding style fixes.
2013-12-23 01:53:30 +01:00
Aurelien Jacobs
81a9ab725f
appa-55ii: driver implementation with Live and Memory data source support
2013-12-23 01:21:52 +01:00
Aurelien Jacobs
5e7a8e57d4
appa-55ii: Initial driver skeleton.
2013-12-23 01:21:51 +01:00
Bert Vermeulen
61c39f54bb
demo: Code cleanup.
2013-12-22 23:47:50 +01:00
Martin Ling
34ea7f9695
Windows usb: don't try to resume thread if shut down in callback.
2013-12-22 17:38:24 +00:00
Martin Ling
6640324f7f
usb: Enforce that there can only be one USB event source for now.
2013-12-22 17:27:13 +00:00
Martin Ling
b5328e1dfa
Windows usb: Unlock mutex when shutting down wait thread.
2013-12-22 17:10:57 +00:00
Martin Ling
589edd9b81
Winsock2.h must be included before anything that includes Winsock.h.
2013-12-22 14:59:43 +00:00
Martin Ling
5321ac6b52
Implement usb_source_add and usb_source_remove for Windows.
2013-12-22 07:16:56 +00:00
Martin Ling
6c60facc19
Use common usb_source_add and usb_source_remove functions.
2013-12-21 23:09:23 +00:00
Martin Ling
ba1949f583
Use new libserialport event set API to make GPollFDs for serial sources.
2013-12-21 19:38:45 +00:00
Uwe Hermann
95ecc76546
bbcgm-m2110: Minor cosmetics.
2013-12-19 00:40:31 +01:00
Matthias Heidbrink
825da8b20f
serial-dmm: Add BBC Goerz Metrawatt M2110 DMM driver.
2013-12-19 00:40:31 +01:00
Matthias Heidbrink
5d03743096
serial-dmm: Commented struct dmm_info.
2013-12-19 00:40:31 +01:00
poljar (Damir Jelić)
e9a6213976
hameg-hmo: Move the declaration of the driver info out of protocol.h
...
This fixes duplicate symbol error on Mac OS X.
BugLink: http://sigrok.org/bugzilla/show_bug.cgi?id=216
2013-12-18 22:17:30 +01:00
Uwe Hermann
cb7b165b3d
serial.c: Show both error code and error message.
...
This is helpful in many cases, e.g. when trying to identify which of the
16000 system error codes from
http://msdn.microsoft.com/en-us/library/ms681381%28VS.85%29.aspx
has been encountered (which is not trivial if you only have an,
e.g. German, string message alone).
2013-12-17 17:46:24 +01:00
Matthias Heidbrink
04cb915716
Improved doxygen docs.
2013-12-09 15:17:17 +01:00
Bert Vermeulen
854434de0b
Use std_serial_dev_open().
2013-12-07 21:54:08 +01:00
Bert Vermeulen
d43b090816
std: Standardize function name.
...
std_dev_acquisition_stop_serial() is now std_serial_dev_acquisition_stop().
2013-12-07 21:23:39 +01:00
Martin Ling
b6eb8252e5
Remove now-unused fd field from struct sr_serial_dev_inst.
2013-12-07 19:43:47 +00:00
Martin Ling
bf72f64999
ols: Get fd from sp_get_port_handle() rather than serial struct.
2013-12-07 19:43:47 +00:00
Martin Ling
64ecf7ee52
Eliminate internal usage of serial->fd in serial.c.
2013-12-07 19:43:47 +00:00
Martin Ling
a0a4c0fb09
Use sp_get_port_handle to get an fd for adding/removing serial sources.
2013-12-07 19:43:47 +00:00
Martin Ling
af473e0eb2
brymen-dmm: Use port name instead of fd in debug message.
2013-12-07 19:43:47 +00:00
Martin Ling
bf2c987fde
Use std_serial_dev_close() to replace matching dev_close functions.
2013-12-07 19:43:47 +00:00
Martin Ling
7faa3e8821
Route sr_source_remove for all serial devices through a wrapper.
2013-12-07 19:43:47 +00:00
Martin Ling
abc4b3356d
Route sr_source_add for all serial devices through a serial_source_add wrapper.
2013-12-07 19:43:47 +00:00
Martin Ling
b4936bae0a
rigol-ds: close SCPI device after using for scan.
2013-12-07 19:43:47 +00:00
Martin Ling
721fc2272e
scpi_serial: Iterate serial_write as necessary to send full commands.
2013-12-07 19:43:47 +00:00
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
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
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
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
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
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