Commit Graph

4379 Commits

Author SHA1 Message Date
Gerhard Sittig a44b3b3f16 asix-sigma: Fixed RLE decoder
When "tsdiff < EVENTS_PER_CLUSTER" we don't want "tsdiff - EVENTS_PER_CLUSTER"
(a negative number) to be treated as (int).

Submitted-By: jry <jrysig@gmail.com>
[ gsi: massaged for mainline submission ]
2017-05-26 22:47:45 +02:00
Uwe Hermann 42be2adb5a Add APIs to query libsigrok build information. 2017-05-26 18:00:58 +02:00
Uwe Hermann 9d12555fba serial-dmm: Use a custom dummy struct for m2110.
This DMM/parser is not related to metex14, don't use that struct.
2017-05-24 19:04:17 +02:00
Uwe Hermann decc199654 uni-t-dmm: Fix incorrect Tenma 72-7745 list entry.
This is a regression from f05406117d.
2017-05-24 01:34:06 +02:00
Uwe Hermann 06f0872ea9 uni-t-dmm: Add missing special cases for some ES519xx protocols. 2017-05-24 01:29:28 +02:00
Angus Gratton 8a68f96eae fx2lafw: Always enable wide sampling for dslogic firmware
Fixes regression in 8399f68a3.

Ref: https://sourceforge.net/p/sigrok/mailman/message/35780588/

Signed-off-by: Angus Gratton <gus@projectgus.com>
2017-05-23 20:00:57 +02:00
Uwe Hermann 45fcaf2cca ut71x: Fix incorrect resistance values on some DMMs.
The resistance values of some DMMs were incorrectly reported due to a
missing factor of 10 in the calculations.

Tested on Voltcraft VC-920/VC-940 and Tenma 72-9380A/72-7730/72-7732.
2017-05-23 19:38:19 +02:00
Uwe Hermann 7db9027985 demo: Retain the default of 8 digital channels for now. 2017-05-21 18:35:21 +02:00
Gerhard Sittig b1e6eec6f5 demo: support up to 128 logic channels, enable the lower 8 by default
Bump the number of supported logic channels from 8 to 128. This is
mostly motivated to test the 64 channels limit which some of the
components/subprojects of the sigrok project might have (input/output
modules, user interfaces).

Only automatically enable the first 8 of the 128 total logic channels,
i.e. default to the previous behaviour. Prepare to only enable part of
the set of analog channels, but stick with their being active by default
as well.

Factor out the choice for the default logic pattern, too. This allows
for easier adjustment of the default configuration, when settings are
concentrated in a single spot.
2017-05-21 18:35:01 +02:00
Gerhard Sittig 81d53a29d6 demo: add "cable squid" logic waveform (works-with logo, many channels)
Extend the demo driver, add another waveform choice for logic channels.
Create a "cable squid" logo representation which occupies a large number
of channels.

This pattern occupies 128x128 pixels. Unlike the 'sigrok' pattern it
gets repeated when more channels are involved, but is not shifted in the
repetition.
2017-05-21 18:35:01 +02:00
Uwe Hermann 2b17aeb874 ut71x: Fix float printing issue in a debug message.
Old:
ut71x: Applying exponent -12, new value is 0.000000.
P1: 1.500 nF AUTO
P1: 1.500 nF AUTO

New:
ut71x: Applying exponent -12, new value is 1.5e-09.
P1: 1.500 nF AUTO
P1: 1.500 nF AUTO

This fixes bug #700.
2017-05-21 18:17:58 +02:00
Soeren Apel 16a1d50a63 Virtual session: Workaround for SR_CONF_CAPTUREFILE (#944)
This is a (hopefully temporary) workaround for the
SR_CONF_CAPTUREFILE mechanism. The value for
vdev->capturefile is set by this, however only once
via stream_session_data().
During stream processing in stream_session_data(),
capturefile may receive new values - e.g. when there
are multiple logic files or if there is analog data.
With that, the initially set capturefile is overwritten.

When re-loading the file, we are then running into
issues because we don't know what the initial value was.
As all .sr files use "logic-1" by default and, we
simulate the behavior of stream_session_data() and
assign this name to capturefile if there are logic
channels present.

With this change, all three kinds of files reload
as expected: logic only, analog only and mixed signal.
For this reason, it's a short-term fix for #944.
2017-05-21 17:10:38 +02:00
Soeren Apel 6fb5570b15 Virtual session: rename num_channels to num_logic_channels 2017-05-21 17:10:16 +02:00
Uwe Hermann 64f628bf8a hantek-6xxx: Only list DC coupling once.
Avoid incorrect indexing and the follow-up segfault.

This fixes bug #822.
2017-05-17 01:46:50 +02:00
Martin Ling 01dd7a4cc7 rigol-ds: Handle digital channels correctly for MSO2000A series.
The handling of the digital channels for this series is somewhere
between that of the DS1000D series (PROTOCOL_V2) and the MSO1000Z
(PROTOCOL_V4).

The :LA command set is similar to that of V4, but the LA data has to be
requested with :WAV:SOUR:LA and arrives in interleaved form like V2.

None of these changes should affect other models. They only affect the
case of PROTOCOL_V3 with digital channels, which occurs only for the
MSO2000A series.
2017-05-17 00:20:29 +01:00
Uwe Hermann 364b09c2a9 hantek-6xxx: Fix coupling selection.
Due to an uninitialized variable, switching to/from AC/DC coupling
(on models that support this) was not working.

This fixes bug #836.
2017-05-16 22:23:24 +02:00
Martin Ling 09f24ef2a9 rigol-ds: Add model entries for MSO2000A series.
This should be sufficient to fully support these models, unless there
are protocol differences for the digital channels.

This fixes bug #778.
2017-05-15 17:42:03 +02:00
Wolfram Sang 10892c5b8a output/csv: get proper index for input channels
'j' is the loop variable for channels, not 'ch'.

This fixes parts of bug #844.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2017-05-13 22:34:17 +02:00
Wolfram Sang 7e7d7bc074 output/csv: fix a minor leak
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2017-05-13 22:34:16 +02:00
Wolfram Sang d3cc09a612 output/csv: fix segfault with logic channels
'i' was iterating in steps of unitsize. However, the destination array
was also indexed with it, but it is of u8 type. Let 'i' run bytewise and
only multiply with unitsize when we need it.

This fixes parts of bug #844.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2017-05-13 22:34:13 +02:00
Wolfram Sang 6a235225b3 output/csv: fix segfault when naming logic channels
'j' is the loop variable for channels, not 'i'.

This fixes parts of bug #844.

Reported-by: Maxim Sloyko <m.sloyko@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2017-05-13 22:33:54 +02:00
Uwe Hermann 8005151b87 output/csv: Fix a compiler warning.
src/output/csv.c: In function 'dump_saved_values':
src/output/csv.c:461:6: warning: format '%lu' expects argument of
type 'long unsigned int', but argument 3 has type 'uint64_t' [-Wformat=]
      ctx->sample_time, ctx->value);
      ^
2017-05-10 15:36:33 +02:00
Martin Ling ef7fb1abff rigol-ds: Send *OPC? after commands that don't return a value.
Fixes #933.

We'd already had this problem elsewhere and thus have this wrapper function
that does this where necessary. It just wasn't in use on these two call sites,
which was causing timing problems when used over tcp-raw or VXI transports.
2017-05-10 00:33:58 +01:00
Johannes Römer bf8a02b633 hameg-hmo: Add support for Hameg HMO3524 2017-05-09 12:29:15 +02:00
Gerhard Sittig adee480c02 output/vcd: minor nit, remove unused variable 2017-05-05 18:25:15 +02:00
Gerhard Sittig fe3004f5a0 minor nit, fixup whitespace in libsigrok.h 2017-05-05 18:25:10 +02:00
Soeren Apel b7939d7cac De-init vdev->capturefile when done
Without doing this, re-reading the input file
results in a segfault as the internal state
machine becomes confused.
2017-05-04 18:40:39 +02:00
Gwenhael Goavec-Merou b853eb76fb openbench-logic-sniffer: fix acquisition restart with trigger enabled
With trigger enabled, and with PulseView, a second (or more) acquisition
starts immediately instead of blocking. It's mandatory to try several times
to have a correct behavior.

According to http://mygizmos.org/ols/Logic-Sniffer-FPGA-Spec.pdf section 2.3.1
p.8, the Openbench Logic Sniffer must be reset before each arm command.

This fixes bug #809.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
2017-05-02 22:06:58 +02:00
Gwenhael Goavec-Merou 244995a2e3 openbench-logic-sniffer: add a function to handle reset command
Openbench Logic Sniffer reset is a little more complex than a simple send.
To avoid code duplication, this patch adds a new function dedicated to
this task.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
2017-05-02 22:06:51 +02:00
Uwe Hermann 07d4e86316 README: Fix incorrect gcc/clang minimum versions.
https://gcc.gnu.org/projects/cxx-status.html#cxx11
https://clang.llvm.org/cxx_status.html
2017-03-31 19:47:18 +02:00
Marc Schink 81eb36d640 scpi-pps: Add initial support for R&S HMC8043 2017-03-31 11:55:22 +02:00
Uwe Hermann 3474ec2361 contrib/z60_libsigrok.rules: Use 660 permissions.
It doesn't really make sense to allow anyone to read (but not write)
USB devices.

This fixes parts of bug #665.
2017-03-27 17:05:01 +02:00
Karl Palsson 68fefbd75c contrib/udev: add note on required name for systemd
Systemd needs the file to be numbered the right way, document this
properly.

See also:
https://lists.debian.org/debian-devel-announce/2016/11/msg00008.html
http://openocd.zylin.com/2804

This fixes parts of bug #665.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2017-03-27 17:03:59 +02:00
Karl Palsson 7a97743336 contrib/udev: add TAG+="uaccess" for systemd
Instead of replacing the group=plugdev, simply add the TAG as well.
This allows (in most cases) the same file to be used happily on systemd
and older group based systems. Some systems may produce warnings about
non-existant groups, but it remains functional. Approach inspired by
that taken by the OpenOCD project.

This fixes parts of bug #665.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
2017-03-27 17:03:41 +02:00
Bert Vermeulen 40bbf635fa uni-t-ut32x: Accept SR_CONF_CONN, fixing scan. 2017-03-21 20:45:46 +01:00
Uwe Hermann df3e608a20 session_driver.c: Increase chunk size for slightly better performance.
Increasing the chunk size from 512ksamples to 4Msamples leads to
slightly faster session file loading from sigrok session (*.sr) files
in frontends, while not looking too "chunky".

The performance increase is not really massive, but still noticeable.
A further increase to, say, 10 or 100Msamples shows no further
noticeable improvements.
2017-03-16 23:59:58 +01:00
Uwe Hermann f9592d65e9 fx2lafw: Only sample/send analog data if analog channels are enabled. 2017-03-15 03:30:11 +01:00
Uwe Hermann 5db45cc55d fx2lafw: Drop unused devc->ch_enabled. 2017-03-15 01:45:27 +01:00
Jan Losinski 8399f68a3f fx2lafw: Use wide_sampling only if necessary.
This changes the fx2lafw code to only enable the wide_sampling (16bit)
method, if at least one of the higher eight channels is enabled. This
has the benefit, that we can use higher samplerates on 16bit LA
devices if we use only the first eight channels.

The wide sampling is also enabled if we have one or more analog
channels.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2017-03-15 00:26:49 +01:00
Sven Schnelle b6be55ce95 SCPI: add sr_scpi_write_data()
Can be used to send raw data on a SCPI connection.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
2017-03-11 13:47:39 +01:00
Uwe Hermann 9a512113ca Fix obsolete code comments.
"Probe groups" are called "channel groups" now.
2017-03-10 11:41:34 +01:00
Uwe Hermann 815685462f sr_scpi_free(): Allow NULL as argument. 2017-03-10 11:41:34 +01:00
Uwe Hermann 7b365c4719 sr_scpi_hw_info_free(): Allow NULL as argument. 2017-03-10 11:41:34 +01:00
Uwe Hermann ce375f2a39 sr_usbtmc_dev_inst_free(): Allow NULL as argument. 2017-03-10 11:41:34 +01:00
Uwe Hermann 5801ce7840 sr_usb_dev_inst_new(): Allow NULL as argument.
(documentation fix, the function always handled NULL fine)
2017-03-10 11:41:34 +01:00
Uwe Hermann 04891a997c sr_serial_dev_inst_free(): Allow NULL as argument. 2017-03-10 11:41:34 +01:00
Uwe Hermann 4bf9398802 sr_dev_inst_free(): Allow NULL as argument. 2017-03-10 11:38:12 +01:00
Uwe Hermann 8662130615 scope drivers: More consistent config key ordering. 2017-03-08 01:10:40 +01:00
Soeren Apel d73aacf12a rigol-ds: Fix capabilities listing in config_list() 2017-03-08 01:10:40 +01:00
Soeren Apel 90230cfa7f lecroy-xstream: Fix capabilities listing in config_list()
This fixes bug #913.
2017-03-08 01:10:39 +01:00