Uwe Hermann [Sun, 29 Sep 2013 15:43:28 +0000 (17:43 +0200)]
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.
Uwe Hermann [Wed, 16 Oct 2013 16:10:29 +0000 (18:10 +0200)]
Bump libzip requirement to >= 0.10.
We now use zip_int64_t and zip_get_num_entries() for example, which
requires at least libzip 0.10. This version was released in 03/2012,
which is old enough that we don't necessarily have to do a work-around
for older versions. Thus, simply bump the requirement to >= 0.10.
Daniel Thompson [Fri, 4 Oct 2013 07:34:05 +0000 (08:34 +0100)]
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.
Daniel Thompson [Thu, 19 Sep 2013 15:39:24 +0000 (16:39 +0100)]
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.
Add sr_session_append(): add captured data to an existing session file
This extends the session file format to contain logic data files named
either "logic-1" as before, or "logic-1-1", "logic-1-2", ...
representing chronologically ordered chunks of captured data.
The chunks are transparently concatenated together by sr_session_load().
This exposes the list of devices added to the session. In the case of
loading a session from file, these struct sr_dev_inst are otherwise
not exposed to the frontend. See bug 145.
Uwe Hermann [Sun, 1 Sep 2013 11:10:54 +0000 (13:10 +0200)]
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".
Bert Vermeulen [Mon, 26 Aug 2013 22:33:20 +0000 (00:33 +0200)]
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.
Bert Vermeulen [Mon, 26 Aug 2013 21:42:09 +0000 (23:42 +0200)]
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.
Matt Ranostay [Sat, 24 Aug 2013 04:42:51 +0000 (21:42 -0700)]
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.
Marcus Comstedt [Fri, 2 Aug 2013 22:35:44 +0000 (00:35 +0200)]
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.
Bert Vermeulen [Sun, 11 Aug 2013 08:52:43 +0000 (10:52 +0200)]
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.
Uwe Hermann [Tue, 6 Aug 2013 23:08:37 +0000 (01:08 +0200)]
Bump package version to 0.2.1, libtool version to 1:1:0.
The last release (0.2.0) had the libtool version (current:revision:age)
set to 1:0:0. Since this release doesn't add/change/remove any
interfaces, only 'revision' is increased, resulting in 1:1:0.
Uwe Hermann [Tue, 6 Aug 2013 22:03:14 +0000 (00:03 +0200)]
unittests: Comment out a testcase.
The boundary test-case with SR_GHZ(18446744073ULL) currently fails, but
that is not practically relevant so comment it out for now, until we add
a proper fix.
Peter Stuge [Tue, 4 Jun 2013 00:20:57 +0000 (02:20 +0200)]
Format decimals correctly in sr_si_string_u64()
The function previously formatted 1004 as 1.4 k and 1004000 as 1.4 M.
The function now formats 1004 as 1.004 k, 1004000 as 1.004 M and 1004000000 as 1.004 G.
Uwe Hermann [Wed, 31 Jul 2013 10:31:47 +0000 (12:31 +0200)]
udev rules file: Only list supported devices.
The udev rules file should only list devices that are actually supported
by a driver in the current libsigrok version. Thus, drop all entries for
devices which will get support later on (at which point the respective udev
rule will be re-added again).
Uwe Hermann [Wed, 17 Jul 2013 20:17:17 +0000 (22:17 +0200)]
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).
Bert Vermeulen [Tue, 25 Jun 2013 20:00:29 +0000 (22:00 +0200)]
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.