Uwe Hermann [Tue, 7 Apr 2015 00:35:08 +0000 (02:35 +0200)]
autogen.sh: Drop obsolete MinGW/MSYS items.
For Windows builds (which require MinGW-w64) we currently support:
- cross-builds using MXE (mxe.cc) and possibly other cross-compile setups
- native builds using MSYS2 (sf.net/projects/msys2/)
Neither of those require explicitly specifying ACLOCAL_DIR.
Uwe Hermann [Tue, 7 Apr 2015 00:29:09 +0000 (02:29 +0200)]
cxx: Makefile.am: Use libtool's -no-undefined option.
Martin Ling [Wed, 18 Mar 2015 12:30:26 +0000 (12:30 +0000)]
windows: Fix building shared library on MinGW.
Uwe Hermann [Sat, 4 Apr 2015 18:57:22 +0000 (20:57 +0200)]
sr_driver_list() now takes a context pointer.
This requires sr_hw_cleanup_all() and sanity_check_all_drivers()
to also take a context.
The (runtime) generation of the driver list now happens in sr_init()
and sr_driver_list() always returns that pre-generated list. This fixes
a segfault when (correctly) invoking multiple sr_init() and sr_exit()
calls with different contexts (caught by the unit tests).
This fixes bug #565.
Uwe Hermann [Sat, 4 Apr 2015 17:28:19 +0000 (19:28 +0200)]
link-mso: Eliminate unneeded NUM_CHANNELS.
Uwe Hermann [Fri, 3 Apr 2015 19:05:02 +0000 (21:05 +0200)]
fx2lafw: Use libusb_error_name() for reporting transfer status.
Uwe Hermann [Tue, 31 Mar 2015 23:53:50 +0000 (01:53 +0200)]
Replace some magic numbers with a #define.
Uwe Hermann [Sat, 28 Mar 2015 18:36:47 +0000 (19:36 +0100)]
Reduce unnecessarily high indentation level in some places.
Uwe Hermann [Fri, 27 Mar 2015 07:43:45 +0000 (08:43 +0100)]
Minor cosmetics and consistency fixes.
Uwe Hermann [Fri, 27 Mar 2015 07:39:49 +0000 (08:39 +0100)]
Don't check g_free() arguments for NULL.
The g_free() call is guaranteed to not segfault when NULL is passed.
Uwe Hermann [Tue, 31 Mar 2015 21:14:41 +0000 (23:14 +0200)]
cem-dt-885x: Add a missing break statement.
Uwe Hermann [Tue, 31 Mar 2015 21:14:24 +0000 (23:14 +0200)]
zeroplus: Add a missing break statement.
This fixes a bug when trying to trigger on a channel being 0/low.
Uwe Hermann [Tue, 31 Mar 2015 20:58:50 +0000 (22:58 +0200)]
Fix a typo in a for loop (wrong variable).
Uwe Hermann [Thu, 26 Mar 2015 20:57:56 +0000 (21:57 +0100)]
sysclk-lwla: Use ARRAY_SIZE instead of G_N_ELEMENTS.
Both do exactly the same, but we consistently use ARRAY_SIZE
in the rest of the code-base.
Martin Ling [Thu, 26 Mar 2015 18:20:31 +0000 (18:20 +0000)]
uni-t-dmm: Declare each meter type in only one place.
Uwe Hermann [Thu, 26 Mar 2015 22:49:35 +0000 (23:49 +0100)]
unit tests: Update for sr_session_new() API change.
Uwe Hermann [Wed, 25 Mar 2015 17:25:57 +0000 (18:25 +0100)]
bindings/cxx/classes.cpp: Fix sr_session_load() invocation.
Uwe Hermann [Wed, 25 Mar 2015 16:37:01 +0000 (17:37 +0100)]
bindings/cxx/classes.cpp: Fix a typo.
Martin Ling [Wed, 25 Mar 2015 05:16:06 +0000 (05:16 +0000)]
Call libusb_get_next_timeout() to get minimum timeout for g_poll().
We should have been doing this all along, but we get away with it
on Linux where libusb can do everything with fds, and we get away
with it for many drivers that have a short timeout on their events.
On Windows though, handling this correctly is essential.
Fixes bug #343.
Martin Ling [Wed, 25 Mar 2015 01:43:30 +0000 (01:43 +0000)]
Store a context pointer in struct sr_session.
Martin Ling [Wed, 25 Mar 2015 01:41:10 +0000 (01:41 +0000)]
Make sr_session_new() and sr_session_load() require a context.
Uwe Hermann [Tue, 24 Mar 2015 22:35:29 +0000 (23:35 +0100)]
Revert "session_file.c: Use config_*() wrappers."
This temporarily reverts commit
421bc3eba02f060319c752a26461148fc93563ec.
We cannot yet use the sr_config_*() wrappers, otherwise loading *.sr
files is broken. A fix is being worked on.
Martin Ling [Tue, 24 Mar 2015 19:06:17 +0000 (20:06 +0100)]
Initial fix attempt for a thread-related issue on Windows.
This is a partial fix for bug #343, which lead to a large amount of
handles being created, and eventually to a frontend "hang".
It's not yet a "full" fix as some issues are still observable,
but it successfully improves the situation on Windows to the extent
that frontend hangs due to large amounts of handles no longer seem
to happen.
Thanks to Boris Gjenero <redacted> for the debugging
efforts, testing, and updating of this patch!
Additionally, this seems to also fix a "SysClk LWLA hanging" bug
and apparently not receiving any samples during an acquisition
(tested on an LWLA1034).
This closes bug #328.
Uwe Hermann [Mon, 23 Mar 2015 19:18:39 +0000 (20:18 +0100)]
Various #include file cosmetic fixes.
Generally include system headers before local headers, unless there's
a technical reason to use another order.
Uwe Hermann [Mon, 23 Mar 2015 19:09:08 +0000 (20:09 +0100)]
Various NULL-check consistency fixes.
Uwe Hermann [Mon, 23 Mar 2015 18:54:53 +0000 (19:54 +0100)]
Some more g_try_*alloc() fixes.
As per documented rules in HACKING, we don't check "small" allocations.
Uwe Hermann [Sun, 22 Mar 2015 22:07:30 +0000 (23:07 +0100)]
Improve readability and clarity of some numbers.
Uwe Hermann [Sun, 22 Mar 2015 15:04:18 +0000 (16:04 +0100)]
Fix a bunch of typos.
Mike Walters [Tue, 24 Mar 2015 15:54:53 +0000 (15:54 +0000)]
Add udev rule for Rigol 1000Z series
Uwe Hermann [Sat, 21 Mar 2015 23:17:07 +0000 (00:17 +0100)]
demo: Fix SR_CONF_DEVICE_OPTIONS variant type.
Uwe Hermann [Sat, 21 Mar 2015 19:12:50 +0000 (20:12 +0100)]
Channel names consistency fixes and simplifications.
Uwe Hermann [Sat, 21 Mar 2015 18:35:30 +0000 (19:35 +0100)]
Remove unneeded #endif comments.
Uwe Hermann [Fri, 20 Mar 2015 19:14:39 +0000 (20:14 +0100)]
Consistency and whitespace fixes for switch statements.
Uwe Hermann [Sat, 14 Mar 2015 02:09:40 +0000 (03:09 +0100)]
Make memset() invocations consistent across all files.
Uwe Hermann [Wed, 11 Mar 2015 22:32:39 +0000 (23:32 +0100)]
Random whitespace and other minor fixes.
Uwe Hermann [Wed, 11 Mar 2015 19:21:34 +0000 (20:21 +0100)]
session_file.c: Use config_*() wrappers.
Uwe Hermann [Sat, 7 Mar 2015 23:28:17 +0000 (00:28 +0100)]
Simplify a few config_set() callbacks.
Also, extended logging and random whitespace fixes.
Uwe Hermann [Fri, 20 Mar 2015 13:48:20 +0000 (14:48 +0100)]
Constify a few arrays and variables.
Uwe Hermann [Fri, 20 Mar 2015 13:39:24 +0000 (14:39 +0100)]
Remove unneeded explicit array size specification.
Uwe Hermann [Fri, 20 Mar 2015 13:36:47 +0000 (14:36 +0100)]
Various minor whitespace fixes.
Uwe Hermann [Fri, 20 Mar 2015 13:34:18 +0000 (14:34 +0100)]
tondaj-sl-814: Add missing SR_PRIV.
Uwe Hermann [Sat, 21 Mar 2015 17:46:00 +0000 (18:46 +0100)]
serial-dmm: Use g_malloc()/g_free().
Uwe Hermann [Sat, 21 Mar 2015 17:43:17 +0000 (18:43 +0100)]
vc870: Fix a compiler warning.
src/dmm/vc870.c: In function 'flags_valid':
src/dmm/vc870.c:380:54: warning: unused parameter 'info'
[-Wunused-parameter]
static gboolean flags_valid(const struct vc870_info *info)
Uwe Hermann [Sat, 21 Mar 2015 17:26:52 +0000 (18:26 +0100)]
Minor cosmetics, cleanups.
Uwe Hermann [Sat, 21 Mar 2015 12:17:51 +0000 (13:17 +0100)]
serial-dmm: Drop obsolete extern declaration.
Martin Ling [Sat, 21 Mar 2015 09:07:49 +0000 (09:07 +0000)]
serial-dmm: Declare each meter type in only one place.
Martin Ling [Sat, 21 Mar 2015 00:47:31 +0000 (00:47 +0000)]
Pass driver struct pointer to driver callbacks.
This lays the groundwork for subdrivers to share callbacks without
needing a separate wrapper function for each subdriver.
Martin Ling [Fri, 20 Mar 2015 20:39:29 +0000 (20:39 +0000)]
Construct driver array at runtime, from an array of per-file arrays.
This lays the groundwork for drivers to define their own array of
subdrivers, rather than having to list each subdriver here.
Martin Ling [Thu, 19 Mar 2015 16:15:52 +0000 (16:15 +0000)]
rigol-ds: Add DS1000Z series support.
Tested on an MSO1104Z with firmware 00.04.02.SP4.
The analog channels are captured correctly. For the MSO series, with digital
channels, there are two outstanding issues:
1. Logic data is retrieved per-channel, one byte per sample, with the value
in the LSB of each byte. The current datafeed logic format doesn't allow
this format to be passed on directly. I suggest we resolve that rather than
making the driver buffer and interleave the data.
As stands, the code will retrieve data for all channels and pass it onto
the datafeed with unitsize=1. Channel D0 can used correctly if selected
alone. For other channels, data is passed to the frontend but the API does
not provide a way to associate it with the correct channel.
2. Channels CH3 and CH4 are multiplexed with D0-7 and D8-15 respectively, so
enabling these is mutually exclusive. We don't currently have a way to
express this constraint to the frontend.
Uwe Hermann [Mon, 29 Dec 2014 22:30:41 +0000 (23:30 +0100)]
Add initial Voltcraft VC-870 support.
There are a few details that have yet to be implemented or
reverse engineered and tested.
Uwe Hermann [Fri, 20 Mar 2015 19:35:07 +0000 (20:35 +0100)]
libsigrok.h: Add SR_MQ_POWER_FACTOR and SR_MQ_APPARENT_POWER.
Bartosz Golaszewski [Wed, 18 Mar 2015 13:26:43 +0000 (14:26 +0100)]
baylibre-acme: Fix a double free in bl_acme_set_shunt().
Signed-off-by: Bartosz Golaszewski <redacted>
Martin Ling [Wed, 18 Mar 2015 18:10:56 +0000 (18:10 +0000)]
scpi-pps: Add profile for Rigol DP821A.
Martin Ling [Wed, 18 Mar 2015 18:02:06 +0000 (18:02 +0000)]
scpi-pps: Initialise sdi with status SR_ST_INACTIVE.
Without this change a segfault occurs at exit after scan, because
dev_close() is called and the device is believed to be open.
Martin Ling [Thu, 19 Mar 2015 19:22:04 +0000 (19:22 +0000)]
rigol-ds: Fix broken channel group check in config_list().
Martin Ling [Thu, 19 Mar 2015 17:50:24 +0000 (17:50 +0000)]
rigol-ds: Data source is a device option, not per channel group.
Martin Ling [Wed, 18 Mar 2015 15:14:29 +0000 (15:14 +0000)]
rigol-ds: Use sr_scpi_get_bool().
Martin Ling [Wed, 18 Mar 2015 16:35:39 +0000 (16:35 +0000)]
rigol-ds: Fix double free.
std_dev_clear() frees all channel groups, so this one is not required.
Martin Ling [Wed, 18 Mar 2015 16:35:08 +0000 (16:35 +0000)]
rigol-ds: Fix wrong channel group malloc size.
Martin Ling [Thu, 19 Mar 2015 21:55:48 +0000 (21:55 +0000)]
Change API of channel accessor functions to take struct sr_channel *.
Martin Ling [Thu, 19 Mar 2015 21:41:51 +0000 (21:41 +0000)]
Add sdi pointer to struct sr_channel.
Martin Ling [Thu, 19 Mar 2015 21:37:33 +0000 (21:37 +0000)]
Simplify channel creation.
We always follow sr_channel_new() with a call to add the channel to the sdi.
Tidy up a bit by adding this functionality to sr_channel_new() instead.
Uwe Hermann [Wed, 18 Mar 2015 22:08:26 +0000 (23:08 +0100)]
fx2lafw: Replace obsoleted strncmp() calls.
The fixed lengths for strncmp() can no longer be used since strings of
various lengths can be passed to match_manuf_prod(). Use strcmp() instead.
eightdot [Mon, 16 Mar 2015 09:34:08 +0000 (10:34 +0100)]
Various fixes/updates to make the driver compile.
This patchset was originally done by eightdot <redacted> by
manually forward-porting parts of the changes done by Bert Vermeulen (see
previous commits), but then heavily modified by Uwe Hermann to be based on
top off the (git-)rebased patches from Bert Vermeulen instead.
Note: This initial DSLogic code is *not* yet in a working or usable
state. It should be considered as a basis for further work only, for now.
Bert Vermeulen [Fri, 16 May 2014 21:04:14 +0000 (23:04 +0200)]
fx2lafw: Basic acquisition support for DSLogic.
Bert Vermeulen [Thu, 15 May 2014 20:01:34 +0000 (22:01 +0200)]
Add udev rule for DSLogic.
Bert Vermeulen [Sat, 3 May 2014 16:37:00 +0000 (09:37 -0700)]
fx2lafw: scan/firmware support for DSLogic.
Bartosz Golaszewski [Thu, 5 Mar 2015 17:28:10 +0000 (18:28 +0100)]
output: Accept analog packets in csv output module.
Signed-off-by: Bartosz Golaszewski <redacted>
Uwe Hermann [Fri, 13 Mar 2015 18:12:47 +0000 (19:12 +0100)]
ols: Fix a compiler warning (unused variable).
CC src/hardware/openbench-logic-sniffer/api.lo
../src/hardware/openbench-logic-sniffer/api.c: In function 'scan':
../src/hardware/openbench-logic-sniffer/api.c:103:10: warning: unused
variable 'probefd' [-Wunused-variable]
GPollFD probefd;
^
Uwe Hermann [Fri, 13 Mar 2015 07:33:22 +0000 (08:33 +0100)]
ols: Fix detection and acquisition on Windows.
Use the more portable sp_input_waiting() instead of g_poll() with FDs.
Thanks to Martin Ling for the hints. This is tested on Linux and Win7
using an OLS; scanning for the device and starting an acquisition works.
Also, add some more debug output.
This fixes bug #562.
Bartosz Golaszewski [Fri, 27 Feb 2015 15:48:17 +0000 (16:48 +0100)]
baylibre-acme: correctly handle channel group options
Split device options into general and channel group settings, and
adjust config_list() callback appropriately.
Signed-off-by: Bartosz Golaszewski <redacted>
Martin Ling [Sun, 1 Mar 2015 14:26:54 +0000 (14:26 +0000)]
Rename SR_CONF_NUM_TIMEBASE to SR_CONF_NUM_HDIV.
Uwe Hermann [Mon, 2 Mar 2015 11:23:32 +0000 (12:23 +0100)]
ut372: Minor cosmetics.
Martin Ling [Sun, 1 Mar 2015 23:20:21 +0000 (23:20 +0000)]
ut372: Support count mode.
Martin Ling [Sun, 1 Mar 2015 23:14:58 +0000 (23:14 +0000)]
Add SR_MQ_COUNT for event count measurements.
Martin Ling [Sun, 1 Mar 2015 23:07:11 +0000 (23:07 +0000)]
ut372: Handle flags correctly.
Packets will now be rejected if the device is not displaying RPM.
Martin Ling [Sun, 1 Mar 2015 22:52:52 +0000 (22:52 +0000)]
ut372: Break out character-pair decoding to a separate function.
Martin Ling [Sun, 1 Mar 2015 22:26:21 +0000 (22:26 +0000)]
ut372: Implement initial protocol parser.
For now this only works correctly if the device is in the default
state showing current RPM. The flags are not checked.
Martin Ling [Sun, 1 Mar 2015 21:13:30 +0000 (21:13 +0000)]
ut372: Initial sub-driver skeleton.
Baruch Even [Fri, 27 Feb 2015 13:15:26 +0000 (15:15 +0200)]
serial-dmm: Add MASTECH MS8250B as a supported DMM.
It is an alias and uses the FS9721 driver.
Uwe Hermann [Thu, 26 Feb 2015 17:55:17 +0000 (18:55 +0100)]
configure.ac: Two more fixes for the baylibre-acme detection.
Uwe Hermann [Sat, 21 Feb 2015 19:57:27 +0000 (20:57 +0100)]
asix-sigma: Use the more portable g_usleep().
Vladislav Ivanov [Thu, 26 Feb 2015 07:32:59 +0000 (08:32 +0100)]
configure.ac: Fix baylibre-acme OS check.
Bartosz Golaszewski [Tue, 17 Feb 2015 17:27:04 +0000 (18:27 +0100)]
baylibre-acme: don't report ACME as detected if no probes are present
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Wed, 18 Feb 2015 12:21:18 +0000 (13:21 +0100)]
Doxyfile: Make exclude patterns more specific.
Current exclude patterns lead to unwanted exclusion of all paths
containing common directory names like output, bindings etc. even
if those names occur higher in the directory structure.
Make exclude patterns more specific by prefixing them with src/.
Signed-off-by: Bartosz Golaszewski <redacted>
Uwe Hermann [Tue, 17 Feb 2015 15:10:33 +0000 (16:10 +0100)]
baylibre-acme: Fix vendor/device name.
Uwe Hermann [Tue, 17 Feb 2015 14:55:37 +0000 (15:55 +0100)]
Various Doxygen updates.
Uwe Hermann [Mon, 16 Feb 2015 21:39:19 +0000 (22:39 +0100)]
unit tests: Drop unneeded check_ filename prefix.
Uwe Hermann [Mon, 16 Feb 2015 00:53:15 +0000 (01:53 +0100)]
baylibre-acme: Drop unneeded comment.
There's indeed no g_fclose() unfortunately. The g_*() wrappers for file
handling are mainly there to deal with portability issues in file names
(encoding, character sets, etc) on different platforms.
Uwe Hermann [Mon, 16 Feb 2015 00:51:53 +0000 (01:51 +0100)]
baylibre-acme: Fix a compiler warning.
Use PRIu64 to avoid the following compiler warning:
CC src/hardware/baylibre-acme/gpio.lo
protocol.c: In function 'bl_acme_set_shunt':
protocol.c:341:2: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'uint64_t' [-Wformat=]
g_fprintf(fd, "%llu\n", MOHM_TO_UOHM(shunt));
^
Uwe Hermann [Mon, 16 Feb 2015 00:49:47 +0000 (01:49 +0100)]
baylibre-acme: Minor coding-style, cosmetics.
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:55 +0000 (14:53 +0100)]
baylibre-acme: Add support for SR_CONF_POWER_OFF.
Allow to remotely cut the power at ACME probe level.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:54 +0000 (14:53 +0100)]
baylibre-acme: Add Linux-specific GPIO helpers.
These functions allow to export, read and set GPIOs using Linux
sysfs interface.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:53 +0000 (14:53 +0100)]
baylibre-acme: Add support for probe factor setting.
Implement support for SR_CONF_PROBE_FACTOR setting in BayLibre ACME
driver. Given the channel-group parameter this allows to set the
shunt resistance for each probe.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:52 +0000 (14:53 +0100)]
SR_CONF_PROBE_FACTOR: New option.
Add new configuration option allowing to modify the probe factor
for oscilloscopes and power-monitors.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:51 +0000 (14:53 +0100)]
configure.ac: Compile baylibre-acme driver for Linux only.
The driver for BayLibre ACME depends on Linux-specific sysfs
interfaces to ina226 and tmp435 devices. Exclude it for different
targets.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:50 +0000 (14:53 +0100)]
baylibre-acme: Driver implementation.
Implement basic functionalities for baylibre-acme. Add support
for common config options, device detection and sample reading.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:49 +0000 (14:53 +0100)]
baylibre-acme: Initial driver skeleton.
Signed-off-by: Bartosz Golaszewski <redacted>
Aurelien Jacobs [Sat, 14 Feb 2015 22:54:13 +0000 (23:54 +0100)]
rigol-ds: fix the smallest supported vdiv for the DS2000 series.
Aurelien Jacobs [Sat, 14 Feb 2015 22:52:33 +0000 (23:52 +0100)]
rigol-ds: return the actual hardware num_vdiv and vdiv list.