Aurelien Jacobs [Sun, 26 Apr 2015 22:13:23 +0000 (00:13 +0200)]
wav: Stricter check for valid chunk ID.
isascii() is a superset of isalpha() and isblank() so the current
code doesn't really make sense.
Moreover, isascii(x) is just a funky and non standard way to
write x < 128.
Martin Ling [Mon, 20 Apr 2015 09:02:34 +0000 (10:02 +0100)]
C++: Change arguments of Input::send() from std::string to data+length.
Uwe Hermann [Sun, 19 Apr 2015 16:39:35 +0000 (18:39 +0200)]
Lower libserialport requirement to 0.1.1.
Uwe Hermann [Thu, 16 Apr 2015 20:33:29 +0000 (22:33 +0200)]
Fix various warnings when building without libusb.
../src/backend.c: In function 'sr_init':
../src/backend.c:435:1: warning: label 'done' defined but not used [-Wunused-label]
done:
^
../src/device.c: In function 'sr_dev_inst_connid_get':
../src/device.c:525:7: warning: unused variable 'connection_id' [-Wunused-variable]
char connection_id[64];
^
../src/device.c:524:20: warning: unused variable 'b' [-Wunused-variable]
int r, cnt, i, a, b;
^
../src/device.c:524:17: warning: unused variable 'a' [-Wunused-variable]
int r, cnt, i, a, b;
^
../src/device.c:524:14: warning: unused variable 'i' [-Wunused-variable]
int r, cnt, i, a, b;
^
../src/device.c:524:9: warning: unused variable 'cnt' [-Wunused-variable]
int r, cnt, i, a, b;
^
../src/device.c:524:6: warning: unused variable 'r' [-Wunused-variable]
int r, cnt, i, a, b;
^
../src/device.c:523:22: warning: unused variable 'drvc' [-Wunused-variable]
struct drv_context *drvc;
^
Uwe Hermann [Wed, 15 Apr 2015 19:08:13 +0000 (21:08 +0200)]
ols: Whitespace fixes.
Uwe Hermann [Fri, 17 Apr 2015 15:17:53 +0000 (17:17 +0200)]
.gitignore: Add tests/main.
Bartosz Golaszewski [Mon, 13 Apr 2015 09:44:14 +0000 (11:44 +0200)]
baylibre-acme: Add a missing return value check.
Check the return value of sr_gpio_setval_export() in bl_acme_set_power_off()
and return an appropriate error if the call fails.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Mon, 13 Apr 2015 09:44:13 +0000 (11:44 +0200)]
Revert "baylibre-acme: Fix a compiler warning."
This reverts commit
4cd97e5ad7bb63cb90d209506464fafd9f9eef8a.
We should actually check the return value of sr_gpio_setval_export().
Signed-off-by: Bartosz Golaszewski <redacted>
Uwe Hermann [Sun, 12 Apr 2015 17:28:03 +0000 (19:28 +0200)]
windows: Fix various compiler warnings.
Add LIBUSB_CALL where needed to avoid warnings such as the following:
In file included from src/hardware/hantek-dso/api.c:34:0:
src/hardware/hantek-dso/dso.h:212:13:
note: expected 'libusb_transfer_cb_fn' but argument is of type 'void (*)(struct libusb_transfer *)'
SR_PRIV int dso_get_channeldata(const struct sr_dev_inst *sdi,
^
Uwe Hermann [Sun, 12 Apr 2015 16:54:43 +0000 (18:54 +0200)]
input/wav: windows: Fix a compiler warning.
src/input/wav.c:41:0: warning: "WAVE_FORMAT_PCM" redefined
#define WAVE_FORMAT_PCM 0x0001
^
In file included from [...]/include/windows.h:86:0,
from [...]/include/libusb-1.0/libusb.h:70,
from ./src/libsigrok-internal.h:31,
from src/input/wav.c:28:
[...]/include/mmsystem.h:482:0: note: this is the location of the previous definition
#define WAVE_FORMAT_PCM 1
^
Uwe Hermann [Sun, 12 Apr 2015 15:26:48 +0000 (17:26 +0200)]
baylibre-acme: Fix a compiler warning.
CC src/hardware/baylibre-acme/protocol.lo
../src/hardware/baylibre-acme/protocol.c: In function 'bl_acme_set_power_off':
../src/hardware/baylibre-acme/protocol.c:417:6: warning: variable 'val' set but not used [-Wunused-but-set-variable]
int val;
^
Bartosz Golaszewski [Tue, 7 Apr 2015 14:55:24 +0000 (16:55 +0200)]
baylibre-acme: Set update_interval when modifing samplerate.
Both ina2xx and tmp401 linux drivers used by baylibre-acme expose
the standard hwmon update_interval attribute, which affects the internal
update interval of the chip.
When setting samplerate for data acquisition try to modify this
attribute accordingly.
Signed-off-by: Bartosz Golaszewski <redacted>
Bartosz Golaszewski [Fri, 3 Apr 2015 12:58:11 +0000 (14:58 +0200)]
baylibre-acme: Dynamically check per probe config options.
PROBE_FACTOR and POWER_OFF options are advertised for all ACME probes
(channel groups) regardless of whether they actually have given capability.
Check these options in config_list() at runtime and only advertise them
for probes which support them.
Signed-off-by: Bartosz Golaszewski <redacted>
Uwe Hermann [Sun, 12 Apr 2015 14:34:26 +0000 (16:34 +0200)]
Fix a USB timeout related issue in sr_session_iteration().
This issue could lead to e.g. crashes when an OLS was used.
This fixes bug #571.
Uwe Hermann [Thu, 9 Apr 2015 21:13:30 +0000 (23:13 +0200)]
uni-t-dmm: Add a missing NULL (fixes a crash on Android).
This caused an non-terminated driver list, which lead to a crash
on Android (at least on ARM).
Uwe Hermann [Thu, 9 Apr 2015 18:02:17 +0000 (20:02 +0200)]
dslogic: Fix FPGA bitstream upload.
Uwe Hermann [Thu, 9 Apr 2015 17:55:08 +0000 (19:55 +0200)]
dslogic: Add #defines for timeouts and delays.
Uwe Hermann [Wed, 8 Apr 2015 17:14:05 +0000 (19:14 +0200)]
rigol-ds: Drop unneeded check of g_strdup_printf() result.
Uwe Hermann [Wed, 8 Apr 2015 16:50:07 +0000 (18:50 +0200)]
configure.ac: Drop unneeded AC_CANONICAL_SYSTEM.
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.