Uwe Hermann
5f985df23c
Add support for the UNI-T UT61C multimeter.
2013-12-29 17:35:51 +01:00
Uwe Hermann
683fd16137
fx2lafw: Fix incorrect unitsize when a trigger fires.
...
The unitsize was always being set to 2, regardless of whether an fx2lafw
device with 8 or 16 probes was used.
This fixes bug #182 .
2013-12-29 14:18:51 +01:00
Uwe Hermann
87b545fba4
fx2lafw: Minor cleanups.
2013-12-29 14:18:51 +01:00
Martin Ling
0709197deb
rigol-ds: Correct usage of NUM_TIMEBASE and NUM_VDIV config keys.
2013-12-29 13:22:32 +01:00
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
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
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
79b9a237bd
uni-t-dmm: Drop unnecessary DMM count.
2013-11-23 15:24:40 +01:00
Bert Vermeulen
5e1f7c890d
uni-t-dmm: Add support for the Tenma 72-7745.
...
This is a rebadged UNI-T UT60E.
2013-11-23 12:50:33 +01:00
Uwe Hermann
a147c7b416
hantek-dso: config_list(): Only SR_CONF_BUFFERSIZE needs sdi.
2013-11-22 22:31:24 +01:00
Uwe Hermann
7c07a1783e
ols: config_list(): Handle SR_CONF_PATTERN_MODE.
...
SR_CONF_PATTERN_MODE was not handled in config_list(), yielding
non-working OLS support in PulseView (due to an assert), and a missing
pattern list in sigrok-cli's --show output.
This fixes bug #184 .
2013-11-22 22:31:08 +01:00
Matthias Heidbrink
f57924179d
gmc_mh_1x_2x: Completed driver for Metrahit 1x/2x
...
This driver supports devices with “RS232“ interface (Metrahit 16I,
18S, Siemens B1105 tested, 29S incomplete).
2013-11-22 02:42:04 +01:00
Matthias Heidbrink
a970522b6d
serial: Allow 5 and 6 data bits.
2013-11-22 02:31:17 +01:00
Matthias Heidbrink
7b4edcb654
gmc_mh_1x_2x: Inital driver skeleton.
2013-11-22 02:31:17 +01:00
Martin Ling
13cd8197eb
Update for libserialport v0.1 API.
2013-11-22 02:14:16 +01:00
Bert Vermeulen
c4650aca12
Suppress compile warning
2013-11-20 22:06:01 +01:00
Uwe Hermann
61bab807f4
DT4000ZC/TP4000ZC: Force DTR=1 on the serial port.
...
This fixes the driver e.g. on NetBSD.
2013-11-20 00:42:08 +01:00
Uwe Hermann
4403c39fe4
ols: Always open serial port in nonblocking mode.
...
The scan() function was opening the port in non-blocking mode, the dev_open()
function however was not using the SERIAL_NONBLOCK flag. This led to hangs
in certain situations.
This fixes the OLS e.g. on NetBSD.
2013-11-19 23:22:46 +01:00
Uwe Hermann
1a54044299
serial.c: Minor cosmetic fix.
2013-11-19 20:09:59 +01:00
Martin Ling
a82635f252
Use new sp_port_config fields.
2013-11-19 14:26:18 +01:00
Martin Ling
e385e2ed90
serial: Use new sp_set_config instead of sp_set_params.
2013-11-19 14:26:18 +01:00
poljar (Damir Jelić)
066d42b1c8
serial: Fix leak in serial_open.
...
A new sp_port is created every time we call serial_open (sp_get_port_by_name
implicitly creates one for us), so free it every time we call serial_close.
2013-11-19 10:29:24 +01:00
poljar (Damir Jelić)
1130e4229b
rigol-ds1xx2: Send a SR_DF_END packet before acquisition stop.
...
Without a SR_DF_END samples could be cached in the internal buffer of an output
module and never flushed, therefore they would be missing in the final output.
By sending a SR_DF_END packet we force the output to be flushed.
2013-11-15 17:00:07 +01:00
Uwe Hermann
449cc16bb2
serial.c: Temporary quickfix until a libserialport fix is done.
2013-11-15 12:23:09 +01:00
Uwe Hermann
26e0361cc6
uni-t-dmm: Drop unused packet_request callback.
2013-11-15 09:36:51 +01:00
Uwe Hermann
c4f2dfd0f0
configure.ac: libserialport is optional.
...
Disable drivers that need serial port support if libserialport is not found.
Also, disable building various other serial port related code in that case.
2013-11-15 09:36:51 +01:00
Uwe Hermann
6a76efebc1
serial.c: Fix a few return values.
2013-11-14 23:48:28 +01:00
Uwe Hermann
a0dfaa6c4c
serial.c: Cosmetics, coding-style.
2013-11-14 23:48:28 +01:00
Martin Ling
0d4405ce5e
Update for renamed libserialport header file.
2013-11-14 23:48:16 +01:00
Martin Ling
c9bc57b6bc
Update to new libserialport API.
2013-11-14 23:48:16 +01:00
Martin Ling
a9bce5a561
Use libserialport for serial port access.
2013-11-14 23:48:16 +01:00
Bert Vermeulen
58f4336963
rigol-ds1xx2: Unbreak listing of _VDIV and _COUPLING
2013-11-08 01:03:19 +01:00
Bert Vermeulen
5f77dffc02
rigol-ds1xx2: Unbreak listing of SR_CONF_DEVICE_OPTIONS
2013-11-08 01:03:19 +01:00
Bert Vermeulen
be60a9e4a9
rigol-ds1xx2: Better error reporting when probe groups are required
2013-11-08 01:03:19 +01:00
Bert Vermeulen
78bcc55afa
rigol-ds1xx2: Minor coding style fixes
2013-11-08 01:03:19 +01:00
Bert Vermeulen
d3c74a6fb0
probe_groups: API changes required to implement probe groups.
2013-11-08 01:03:18 +01:00
Bert Vermeulen
ba358ffd83
rigol-ds1xx2: fix bitrot in device cleanup code
2013-11-08 01:03:18 +01:00
Bert Vermeulen
e43fdd8d4f
rigol-ds1xx2: Don't assume valid sdi
2013-11-08 01:03:18 +01:00
Bert Vermeulen
45311368de
rigol-ds1xx2: Skip obsolete fields
2013-11-08 01:03:18 +01:00
Martin Ling
f48e0249b4
rigol-ds1xx2: implement probe group specific options.
2013-11-08 01:03:17 +01:00
Martin Ling
3d3a601e80
rigol-ds1xx2: create probe groups.
2013-11-08 01:03:17 +01:00
Martin Ling
8f996b8948
probe_groups: API changes required to implement probe groups.
2013-11-08 01:03:16 +01:00
Dan Horák
b775d753e3
rigol-ds1xx2: detect Rigol DS1xx2 with upgraded bandwith
...
The bandwith in Rigol DS1xx2D/E scopes can be upgraded to 150 MHz in software.
So detect also scopes with the upgraded bandwith.
using libsigrok-0.2.1 + this change + commit da970d24ec
(required for newer kernels):
[dan@eagle sigrok]$ sigrok-cli --scan -d rigol-ds1xx2 -l 5
sr: libsigrok loglevel set to 5.
sr: Sanity-checking all drivers.
sr: Sanity-checking all input modules.
sr: Sanity-checking all output modules.
srd: libsigrokdecode loglevel set to 5.
sr: hwdriver: Initializing driver 'rigol-ds1xx2'.
sr: serial: Opening serial port '/dev/usbtmc0' (flags 1).
sr: serial: Opened serial port '/dev/usbtmc0' (fd 7).
sr: serial: Wrote 5/5 bytes (fd 7).
sr: serial: Closing serial port /dev/usbtmc0 (fd 7).
sr: rigol-ds1xx2: response: /dev/usbtmc0 [Rigol Technologies,DS1152D,DS1EU150XXXXXX,00.04.01.00.02]
sr: hwdriver: Scan of 'rigol-ds1xx2' found 1 devices.
The following devices were found:
rigol-ds1xx2 - Rigol Technologies DS1152D 00.04.01.00.02 with 18 probes: CH1 CH2 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
2013-11-03 14:20:47 +01:00
Uwe Hermann
3a8cad9137
metex14: Handle a few missing cases for overflow.
2013-10-31 13:47:30 +01:00
Uwe Hermann
88f544f27e
Add support for the Metex M-4650CR.
...
(the Voltcraft M-4650CR is a rebadged Metex M-4650CR)
2013-10-30 14:44:44 +01:00
Uwe Hermann
2b83d7fee1
Add support for the Voltcraft M-4650CR.
2013-10-30 14:44:44 +01:00
Uwe Hermann
e790bd5cda
norma-dmm: Minor cosmetics, coding-style, consistency fixes.
...
Also, add a missing "%" in an sr_err() and a missing parameter in
another sr_err().
2013-10-25 21:25:26 +02:00
Matthias Heidbrink
f8e76e2e74
norma dmm: Implemented driver.
2013-10-25 21:25:26 +02:00
Matthias Heidbrink
bfd48770fc
norma dmm: Initial driver skeleton.
2013-10-25 21:25:26 +02:00
Matthias Heidbrink
50a9aba21b
serial: Removed flag OPOST (turn off all output processing).
2013-10-25 19:11:15 +02:00
Matthias Heidbrink
a510d55571
serial: Added flags CLOCAL (ignore modem status lines) and CREAD (start receiver).
2013-10-25 19:11:15 +02:00
Matthias Heidbrink
1b943b6d8b
serial: Added flag IXANY (any char will restart) to XON/XOFF handshaking.
2013-10-25 19:11:14 +02:00
Sean Young
0c30b35fce
saleae-logic16: claim device before using it
...
The kernel warns:
[ 7461.925685] usb 2-4: usbfs: process 11303 (sigrok-cli) did not claim interface 0 before use
2013-10-24 16:01:46 +01:00
Aurelien Jacobs
5542bee61b
teleinfo: actual parser implementation
2013-10-24 15:41:11 +01:00
Aurelien Jacobs
8e796cb438
teleinfo: Initial driver skeleton.
2013-10-24 15:41:11 +01:00
Uwe Hermann
c02dc3e261
metex14: Add support for pF (picofarad).
...
This is used on some Metex DMMs.
2013-10-23 18:41:13 +02:00
Uwe Hermann
ee6cb5a417
metex14: Use case-insensitive string compares.
...
This allows some other DMMs to be supported that use e.g. "kOhm" vs.
"KOhm", and so on.
2013-10-23 18:07:54 +02:00
Uwe Hermann
1a807c13fc
metex14: Support DMMs with slightly different protocol.
...
This adds support for DMMs with 5 digits in the protocol (instead of 4)
and some more whitespace variants.
2013-10-23 18:06:15 +02:00
Uwe Hermann
71f1302b4b
metex14: Support DMMs with whitespace differences.
...
Most Metex DMMs use e.g. " mV" as unit field, others use "mV ",
though. Support these (and other) whitespace variants by stripping all
spaces and only comparing non-space characters.
2013-10-23 17:31:14 +02:00
Matthias Heidbrink
b21d7eebe2
serial: Changed order of flags PARENB and PARODD in deletion to same order as in setting (cosmetic).
2013-10-18 16:58:33 +02:00
Aurelien Jacobs
df6b0f99af
ISO-TECH IDM103N: remove the useless -ser postfix
2013-10-13 14:54:54 +02:00
Aurelien Jacobs
94e9021b3e
es519xx: correct initialization of es519xx_info structure
2013-10-13 14:54:54 +02:00
Uwe Hermann
93d719cde6
es519xx: Fix incorrect packet size, and a typo.
2013-10-07 00:36:18 +02:00
Uwe Hermann
72e1672fc9
es519xx: Cosmetics, coding style, minor fixes.
2013-10-07 00:36:18 +02:00
Aurelien Jacobs
de737bfc11
add ISO-TECH IDM103N serial-dmm driver
2013-10-07 00:36:18 +02:00
Aurelien Jacobs
c01bdebc57
add cyrustek es519xx generic protocol parser
2013-10-07 00:36:18 +02:00
Uwe Hermann
2f9376117c
fx2lafw: Organize driver into api.c / protocol.[ch].
...
This now matches the naming conventions of the other drivers.
2013-10-06 22:28:45 +02:00
Daniel Thompson
fbf07e0209
agilent-dmm: Fix SEGV during incomplete reply from meter.
...
If buf contains exactly the string "Agilent Technologies" (for example if
there are bugs in the timeout logic or serial driver causing the reply from
the meter to be abridged) then this code will SEGV. This is because tokens[1]
is NULL but only tokens[2] and tokens[3] (both of which are undefined) are
NULL checked.
Can be trivially corrected by NULL checking tokens[1] as well.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2013-10-04 13:30:49 +02:00
Daniel Thompson
5715e84fe3
serial: Only sleep when no characters are received.
...
g_usleep(XX) sleeps for *at least* XX microseconds but may sleep for
longers (on older kernels the sleep will typically be 10000us). Thus
byte receive loops containing an unconditional sleep will perform
very poorly (for example it causes the scan in agilent-dmm to timeout
prematurely).
Even on modern kernels serial_readline() has a 2ms sleep per byte which
means it will read at a maximum rate of half a character per millisecond
(~4800baud).
This is fixed by only sleeping when read() returns no data.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2013-09-26 14:57:37 +02:00
Uwe Hermann
45c0841b25
uni-t-ut32x: Shorten dev_list().
2013-09-25 14:26:35 +02:00
Matt Ranostay
6ebe003985
ols: fixed demux mode disable noise filter
...
Demux flag wasn't getting set off if one non-demux sample was ran
beforehand.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-09-07 20:17:16 +02:00
Matt Ranostay
6a53bde671
ols: Moved FLAG_FILTER to demux check
...
Demux mode was having filter mode set which it doesn't
support per FPGA demon core docs.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-09-06 11:42:25 +02:00
Uwe Hermann
e52bb9be83
Voltcraft VC-830: Fix diode mode handling.
...
This DMM is not using the standard bits in the FS9922 protocol/structure
to indicate the "volt" and "diode mode" flags. Instead, it only sets the
user-defined bit "z1" to indicate both "diode mode" and "volt".
This fixes #142 .
2013-09-01 15:27:21 +02:00
Uwe Hermann
a6ed50f405
es51922/fs9721/fs9922/metex14: Use diode MQFLAG.
...
This fixes #141 .
2013-09-01 15:27:07 +02:00
Uwe Hermann
98494dc8a3
fs9922: Fix typo.
2013-09-01 13:41:13 +02:00
Uwe Hermann
045e9a9918
serial.c: Drop unneeded <glob.h>.
...
This is no longer used, and also it is not available on Android and thus
breaks cross-compilation for Android.
Thanks Marcus Comstedt <marcus@mc.pp.se> for reporting.
2013-08-30 16:35:56 +02:00
Matt Ranostay
b1de040700
ols: fixed channel limit check
...
For demux mode we half the channels. Previous check method broke
the OLS randomly and but it in a bad state.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-30 13:58:36 +02:00
Bert Vermeulen
da970d24ec
rigol-ds1xx2: newer Linux kernels have USBTMC in /sys/class/usbmisc
2013-08-30 13:57:45 +02:00
Matt Ranostay
f51acd69d7
ols: combine demux samples
...
demux mode allows DDR sampling which disables group 2 & 3
and thus samples group 0 & 1 to sample on rising and falling of
the clock.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-28 10:21:59 +02:00
Matt Ranostay
7b0a57fd1c
ols: add swap channels feature
...
Allow channel groups to be swapped. This is useful
for demux at 200mhz with the unbuffered channels.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-28 10:21:59 +02:00
Matt Ranostay
de52409982
ols: Display noise filter flag
...
Show if noise filter is on. This is important to be
sure is off for demux mode.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-28 10:21:59 +02:00
Bert Vermeulen
00d04d3b0e
ols: Fix RLE count handling
...
The high bit of the sample, denoting this is a count, was not getting
properly cleared. This resulted in an inevitably negative count, and
corruption of the sample buffer before it was transferred to the
frontend.
2013-08-27 00:33:20 +02:00
Bert Vermeulen
abb39e6b8c
ols: Properly initialize entire single-sample buffer before start
...
The single sample buffer, up to 4 bytes long, was not getting initialized
on (every) acquisition start, only after the first full sample was in.
This caused the first sample to potentially hold garbage.
2013-08-26 23:42:09 +02:00
Matt Ranostay
eb1b610b12
ols: add external clock support
...
Add external clock support that allows you to use the tracing
targets bus clock line for sampling.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-26 10:28:45 +02:00
Matt Ranostay
967760a893
ols: add test mode support
...
ols allows both external and internal test patterns at ~20khz
which are helpful for unit tests and demos.
pattern=internal -> route pattern internally to all 32 pins
(input otherwise disabled)
pattern=external -> generates pattern on unbuffered pins 16:31
(which can be looped back to the buffered pins 0:15)
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-26 09:52:24 +02:00
Matt Ranostay
503133bb5f
ols: fixed parallel stage triggers
...
Stage count was always getting incremented one more than
actual stages, and this caused a extra stage with zero'ed data
probe lines to have the start bit field.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2013-08-26 09:48:41 +02:00
Uwe Hermann
d0107565c1
saleae-logic16: Drop unneeded NUM_PROBES.
2013-08-21 11:41:21 +02:00
Uwe Hermann
87b537ced0
saleae-logic16: Shorten dev_list() implementation.
2013-08-21 11:37:40 +02:00
Uwe Hermann
96484e22b4
saleae-logic16: Whitespace fixes, cosmetics.
2013-08-21 11:33:37 +02:00
Marcus Comstedt
186dde8d72
saleae-logic16: Cleanup the prime_fpga function
...
The driver should now work on any Logic16.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
fec7aa6a44
saleae-logic16: Update copyright blurbs.
...
Copied copyright lines from fx2lafw driver, since much of the code is
taken from there.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
db11d7d2d0
saleae-logic16: Add voltage threshold conf.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
b117363ad7
saleae-logic16: Declare confs.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
7b5daad45c
saleae-logic16: Implemented acquisition.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
15abcf0f58
saleae-logic16: Initialize the FPGA.
...
The map_eeprom_data function is currently unknown. The map entries
provided were observed via bus-snooping of the vendor software on my
device. Other devices may need additional values.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
5eea4305ad
saleae-logic16: Reworked scan/open to handle FW upload.
...
The new code is based on code from the fx2lafw driver.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
f6a21fa50c
saleae-logic16: Detect the hardware.
2013-08-20 19:55:57 +02:00
Marcus Comstedt
c463dcf06c
saleae-logic16: Initial driver skeleton.
2013-08-20 19:55:22 +02:00
Bert Vermeulen
56e76981bc
uni-t-dmm: Require conn parameter for scan
...
Since the uni-t-ut32x series handles devices with the same USB VID.PID,
which is linked to the WCH CH9325 USB/HID-UART interface chip, this
driver can no longer assume it can handle anything with this VID.PID.
2013-08-11 10:52:43 +02:00
Bert Vermeulen
d6ff054ae5
uni-t-ut32x: Full acquisition support
2013-08-11 10:46:36 +02:00
Bert Vermeulen
6513f97fbe
uni-t-ut32x: Flesh out driver
2013-08-11 10:46:36 +02:00
Bert Vermeulen
3877dde43a
uni-t-ut32x: Initial driver skeleton.
2013-08-11 10:46:36 +02:00
Uwe Hermann
4a8bbed76d
center-3xx: Initial Center 309 / Voltcraft K204 support.
2013-08-08 19:59:49 +02:00
Uwe Hermann
4433145f48
center-3xx: Initial driver skeleton.
2013-08-08 19:58:48 +02:00
Uwe Hermann
ce95428cca
Consistent use of "IKALOGIC" spelling.
...
The company name is written all-caps pretty consistently on the
vendor website and docs, so use that spelling everywhere.
2013-08-07 16:21:57 +02:00
Uwe Hermann
b07b42f319
Cosmetics, typos.
2013-08-07 16:21:57 +02:00
Uwe Hermann
e11a1ebacc
alsa: Fix double-free issue.
...
This fixes bug #129 .
2013-08-07 16:21:56 +02:00
Uwe Hermann
4d7ddff75b
uni-t-dmm: Fix UT61E bug related to the UNI-T UD-D04 cable.
...
This fixes bug #136 .
2013-08-06 23:36:16 +02:00
Uwe Hermann
c51bbdec34
Drop nexus-osciprime skeleton for now.
...
This is mostly just a skeleton driver framework at the moment, we'll
bring it back when the driver is fully implemented.
2013-08-05 12:59:23 +02:00
Uwe Hermann
c93ebace30
uni-t-dmm: Drop DMM table (comment).
...
This info is in the wiki already, no need to duplicate in the code.
2013-08-02 01:02:03 +02:00
Bert Vermeulen
faf720246a
ols: Workaround for mac os X stray events
2013-08-01 19:48:07 +02:00
Uwe Hermann
ce4d26ddf9
Various cosmetics, whitespace, consistency fixes.
2013-07-31 13:09:48 +02:00
Uwe Hermann
2b691be806
serial-dmm/uni-t-dmm: Drop Tecpel DMM-8060.
...
The Tecpel DMM-8060 was added since we assumed it would be a rebadged
Voltcraft VC-820 (since we know the Tecpel DMM-8061 is a rebadged VC-840).
However, according to the vendor webpage it doesn't have PC connectivity
at all, so drop it for now (until someone can confirm that it does or does
not actually have RS232/USB connectivity).
2013-07-18 12:43:07 +02:00
Bert Vermeulen
e84e0096db
Fix build
2013-07-16 17:18:20 +02:00
Bert Vermeulen
b979d0c9cb
kecheng-kc-330b: Code cleanup
2013-07-16 17:17:54 +02:00
Bert Vermeulen
d406dccd6a
lascar-el-usb: Don't close device after acquisition
2013-07-16 16:08:38 +02:00
Bert Vermeulen
85ed4ab3ba
kecheng-kc-330b: Acquisition from stored logs
2013-07-16 16:08:38 +02:00
Bert Vermeulen
f336618c3d
kecheng-kc-330b: Check device status before acquisition
...
Can't really count on it either way though, the device is just
too flaky to conclude whether it's going to work or not, regardless
of the status returned.
2013-07-16 16:08:38 +02:00
Bert Vermeulen
df03552894
kecheng-kc-330b: Live SPL acquisition
2013-07-16 16:08:38 +02:00
Bert Vermeulen
bc7be4a9f4
kecheng-kc-330b: Implement all SR_CONF options
2013-07-16 16:08:38 +02:00
Bert Vermeulen
a8806f032c
kecheng-kc-330b: Flesh out driver, add scan functionality
2013-07-16 16:08:38 +02:00
Bert Vermeulen
ed759a0835
kecheng-kc-330b: Initial driver skeleton.
2013-07-16 16:08:38 +02:00
Uwe Hermann
ab4bb6eb7c
ikalogic-scanaplus: Initial driver implementation.
2013-07-16 01:01:11 +02:00
Uwe Hermann
fdf4a1f5a0
ikalogic-scanaplus: Initial driver skeleton.
2013-07-15 12:20:53 +02:00
Florian Knodt
a7a163a795
Support for UNI-T UT60A/E multimeters via RS232 or USB
2013-07-09 22:57:55 +02:00
Marc Schink
fb8d593cfe
Use GET_REPORT request for device to host transfer.
2013-07-05 14:01:06 +02:00
Uwe Hermann
c134574938
uni-t-dmm: Add support for the Voltcraft VC-830.
2013-06-23 10:23:21 +02:00
Uwe Hermann
6045b91aa4
serial-dmm: Add support for the Voltcraft VC-830.
2013-06-23 10:23:21 +02:00
Bert Vermeulen
cea26f6e9f
cem-dt-885x: Support for retrieving stored samples
2013-06-20 14:35:34 +02:00
Bert Vermeulen
662172d4f4
cem-dt-885x: Support for SR_CONF_DATA_SOURCE
...
This device can do both live and memory-based acquisition.
2013-06-19 12:23:30 +02:00
Bert Vermeulen
4c22355f04
cem-dt-885x: Support for powering off the device
2013-06-17 16:17:39 +02:00
Bert Vermeulen
f157b2eebb
cem-dt-885x: Support for sound pressure level measurement range
2013-06-17 16:17:39 +02:00
Bert Vermeulen
0cd9107dfb
cem-dt-885x: Fix datalog on/off setting in max/min hold mode
...
As it turns out, the device randomly decides to send no logging state
info when max hold or min hold mode is enabled.
2013-06-17 16:17:39 +02:00
Bert Vermeulen
a90e480cdc
cem-dt-885x: Support for max/min hold modes
2013-06-17 16:17:39 +02:00
Bert Vermeulen
1487ce4fbc
cem-dt-885x: Support for changing time weighting
2013-06-17 16:17:39 +02:00
Bert Vermeulen
be73391982
cem-dt-885x: Support for changing frequency weighting
2013-06-17 16:17:39 +02:00
Bert Vermeulen
e1af0e85b9
cem-dt-885x: Support for turning data logging on/off
2013-06-17 16:17:38 +02:00
Florian Steinhardt
5f2a4aff4b
added Voltcraft M-3650D Multimeter
2013-06-14 01:03:29 +02:00
Bert Vermeulen
14cf708fef
cem-dt-885x: Send last measurement at normal rate in hold mode
...
The device only sends the "hold" token otherwise, which clashes somewhat
with other devices. This makes the device more predictable for frontends.
2013-06-12 18:34:42 +02:00
Bert Vermeulen
bc1143280f
cem-dt-885x: Hold off measurements in max/min hold mode
2013-06-12 18:34:42 +02:00
Bert Vermeulen
e37c4b3959
cem-dt-885x: Live SPL acquisition
2013-06-12 18:34:42 +02:00
Bert Vermeulen
7fb8279c9b
cem-dt-885x: Flesh out driver, add scan functionality
2013-06-12 18:34:42 +02:00