]> sigrok.org Git - libsigrok.git/log
libsigrok.git
9 years agobaylibre-acme: Add Linux-specific GPIO helpers.
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>
9 years agobaylibre-acme: Add support for probe factor setting.
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>
9 years agoSR_CONF_PROBE_FACTOR: New option.
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>
9 years agoconfigure.ac: Compile baylibre-acme driver for Linux only.
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>
9 years agobaylibre-acme: Driver implementation.
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>
9 years agobaylibre-acme: Initial driver skeleton.
Bartosz Golaszewski [Thu, 12 Feb 2015 13:53:49 +0000 (14:53 +0100)]
baylibre-acme: Initial driver skeleton.

Signed-off-by: Bartosz Golaszewski <redacted>
9 years agorigol-ds: fix the smallest supported vdiv for the DS2000 series.
Aurelien Jacobs [Sat, 14 Feb 2015 22:54:13 +0000 (23:54 +0100)]
rigol-ds: fix the smallest supported vdiv for the DS2000 series.

9 years agorigol-ds: return the actual hardware num_vdiv and vdiv list.
Aurelien Jacobs [Sat, 14 Feb 2015 22:52:33 +0000 (23:52 +0100)]
rigol-ds: return the actual hardware num_vdiv and vdiv list.

9 years agorigol-ds: fix search for the closest vdiv.
Aurelien Jacobs [Sat, 14 Feb 2015 22:48:36 +0000 (23:48 +0100)]
rigol-ds: fix search for the closest vdiv.

We try to find the smallest diff by comparing each diff with
the previously known smallest diff, so initially, this smallest diff
should be INFINITY so that we are sure to find a smaller one.

This fixes the following exception:
sr: rigol-ds: Negative vdiv index: -1.
Caught exception: not applicable

9 years agorigol-ds: Add missing "break" statements.
Uwe Hermann [Sat, 14 Feb 2015 18:23:34 +0000 (19:23 +0100)]
rigol-ds: Add missing "break" statements.

9 years agorigol-ds: Add missing 20/50/100V vdiv entries.
Uwe Hermann [Sat, 14 Feb 2015 18:08:39 +0000 (19:08 +0100)]
rigol-ds: Add missing 20/50/100V vdiv entries.

These are available on e.g. Rigol DS1102E (or "upgraded" DS1052E).

Without this, if one of the channels happens to have been set to
one of the missing vdiv settings frontends (e.g. PulseView) will
have some trouble using the scope:

  sr: hwdriver: sr_config_get(): key 30012 (vdiv) sdi 0x11bcb70 cg CH1
  sr: rigol-ds: Negative vdiv index: -1.
  std::exception

9 years agorigol-ds: Add more debug output.
Uwe Hermann [Sat, 14 Feb 2015 17:34:04 +0000 (18:34 +0100)]
rigol-ds: Add more debug output.

9 years agorigol-ds: handle full word trigger slope in config_get().
Aurelien Jacobs [Fri, 13 Feb 2015 15:37:24 +0000 (16:37 +0100)]
rigol-ds: handle full word trigger slope in config_get().

Some scope can return POSITIVE/NEGATIVE instead of POS/NEG,
so accept this as well.

This closes bug #558.

9 years agorigol-ds: SR_CONF_TRIGGER_SLOPE is actually listable.
Aurelien Jacobs [Thu, 12 Feb 2015 14:56:58 +0000 (15:56 +0100)]
rigol-ds: SR_CONF_TRIGGER_SLOPE is actually listable.

9 years agoinput/vcd: fix parse_header() return value check.
Aurelien Jacobs [Thu, 12 Feb 2015 10:30:52 +0000 (11:30 +0100)]
input/vcd: fix parse_header() return value check.

Mixing tests for both a boolean and an SR_ERR at the same time is not
really a good idea.
parse_header() actually returns a boolean so only check if it returns FALSE.

This fixes the following gcc-5 warning:

src/input/vcd.c: In function 'receive':
src/input/vcd.c:506:34: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   if (!parse_header(in, in->buf) != SR_OK)
                                  ^

9 years agoRemove the inline qualification from sr_rational_set().
Aurelien Jacobs [Thu, 12 Feb 2015 10:24:11 +0000 (11:24 +0100)]
Remove the inline qualification from sr_rational_set().

Inlining can only happen in the same compilation unit where the
function was defined, so there is no sense declaring an inline
function in a header if this function is not defined in this
same header.

This fixes the following gcc-5 warning:

In file included from include/libsigrok/libsigrok.h:1066:0,
                 from src/version.c:21:
include/libsigrok/proto.h:36:20: warning: inline function 'sr_rational_set' declared but never defined
 SR_API inline void sr_rational_set(struct sr_rational *r, uint64_t p, uint64_t q);
                    ^

9 years agoCorrectly copy sr_datafeed_meta in sr_packet_copy().
Aurelien Jacobs [Thu, 12 Feb 2015 10:14:37 +0000 (11:14 +0100)]
Correctly copy sr_datafeed_meta in sr_packet_copy().

Commit 5801d558 replaced g_slist_copy_deep() by some incorrect code
that actually leaks the newly allocated memory, instead of doing
a deep copy.

This new version should be more correct, more concise, and it fixes
the following warning:

src/session.c: In function 'sr_packet_copy':
src/session.c:1025:38: warning: passing argument 2 of 'g_slist_foreach' from incompatible pointer type [-Wincompatible-pointer-types]
   g_slist_foreach(meta_copy->config, (GCopyFunc)copy_src, NULL);
                                         ^
In file included from /usr/include/glib-2.0/glib/gmain.h:26:0,
                 from /usr/include/glib-2.0/glib/giochannel.h:33,
                 from /usr/include/glib-2.0/glib.h:54,
                 from src/session.c:24:
/usr/include/glib-2.0/glib/gslist.h:125:10: note: expected 'GFunc {aka void (*)(void *, void *)}' but argument is of type 'void * (*)(const void *, void *)'
void     g_slist_foreach                 (GSList           *list,
         ^

9 years agosr_strerror_name(): Add missing SR_ERR_IO entry.
Uwe Hermann [Wed, 11 Feb 2015 15:26:12 +0000 (16:26 +0100)]
sr_strerror_name(): Add missing SR_ERR_IO entry.

9 years agoSR_ERR_IO: new error code
Bartosz Golaszewski [Mon, 9 Feb 2015 17:31:14 +0000 (18:31 +0100)]
SR_ERR_IO: new error code

Add new error code which can be used to notify the user about
general input/output errors.

Signed-off-by: Bartosz Golaszewski <redacted>
9 years agoconfigure.ac: Add AC_CANONICAL_SYSTEM macro.
Bartosz Golaszewski [Mon, 9 Feb 2015 17:31:09 +0000 (18:31 +0100)]
configure.ac: Add AC_CANONICAL_SYSTEM macro.

In order to determine the target OS when cross-compiling libsigrok
we need autotools to set the 'target_os' variable. This macro
determines the system type and sets output variables to the names
of the canonical system types.

Signed-off-by: Bartosz Golaszewski <redacted>
9 years agobackend: Add basic transform module sanity checks.
Uwe Hermann [Tue, 10 Feb 2015 21:55:41 +0000 (22:55 +0100)]
backend: Add basic transform module sanity checks.

9 years agotransform: Add a few basic unit tests.
Uwe Hermann [Tue, 10 Feb 2015 21:47:36 +0000 (22:47 +0100)]
transform: Add a few basic unit tests.

9 years agotransform: Add an "invert" transform module.
Uwe Hermann [Wed, 11 Feb 2015 08:34:38 +0000 (09:34 +0100)]
transform: Add an "invert" transform module.

This inverts the data values:

 - An analog value of x becomes 1/x.

 - A digital value of 0 becomes 1 (and vice versa).

9 years agotransform: Add a "scale" transform module.
Uwe Hermann [Tue, 10 Feb 2015 21:25:52 +0000 (22:25 +0100)]
transform: Add a "scale" transform module.

9 years agotransform: Add a "nop" transform module.
Uwe Hermann [Tue, 10 Feb 2015 20:38:21 +0000 (21:38 +0100)]
transform: Add a "nop" transform module.

This doesn't do anything, just passes input packets on unmodified.

9 years agotransform: Hook up transforms.
Uwe Hermann [Tue, 10 Feb 2015 20:24:23 +0000 (21:24 +0100)]
transform: Hook up transforms.

9 years agotransform: Add a basic set of API calls.
Uwe Hermann [Tue, 10 Feb 2015 19:49:46 +0000 (20:49 +0100)]
transform: Add a basic set of API calls.

9 years agotransform: Add struct sr_transform and struct sr_transform_module.
Uwe Hermann [Tue, 10 Feb 2015 19:42:50 +0000 (20:42 +0100)]
transform: Add struct sr_transform and struct sr_transform_module.

9 years agoFix problem building with BSD make
Uffe Jakobsen [Tue, 10 Feb 2015 13:09:28 +0000 (14:09 +0100)]
Fix problem building with BSD make

This fixes bug #556:

Bug 556 - libsigrok fails to build with BSD Make

9 years agoMakefile.am: Add NEED_SERIAL condition.
Uwe Hermann [Sat, 31 Jan 2015 21:41:04 +0000 (22:41 +0100)]
Makefile.am: Add NEED_SERIAL condition.

9 years agoMakefile.am: Unconditionally build src/lcr/es51919.c.
Uwe Hermann [Sat, 31 Jan 2015 21:29:07 +0000 (22:29 +0100)]
Makefile.am: Unconditionally build src/lcr/es51919.c.

We do the same with DMM parsers currently, and this change also
fixes an issue in sigrok-util's 'new-driver' script.

This fixes bug #545.

9 years agoUpdate list of files ignored by git
Daniel Elstner [Sat, 31 Jan 2015 20:08:14 +0000 (21:08 +0100)]
Update list of files ignored by git

9 years agoconfigure: Avoid bashism breaking the C++ bindings
Daniel Elstner [Sat, 31 Jan 2015 20:07:28 +0000 (21:07 +0100)]
configure: Avoid bashism breaking the C++ bindings

9 years agosysclk-lwla: Widen constant to 64 bit before shifting
Daniel Elstner [Sat, 31 Jan 2015 20:04:14 +0000 (21:04 +0100)]
sysclk-lwla: Widen constant to 64 bit before shifting

(lwla_convert_trigger): Fix trigger mask computation bug introduced
by recent change:  Widen constant to 64 bit before shifting so that
channel nunmbers beyond 32 are processed correctly.

9 years agoLower dependency to glib 2.32.
Uwe Hermann [Thu, 29 Jan 2015 07:51:31 +0000 (08:51 +0100)]
Lower dependency to glib 2.32.

By avoiding g_slist_copy_deep() for now, we can easily allow libsigrok
to build against glib 2.32 (less hassle for users of stable/older
distros or OSes).

9 years agooutput/gnuplot: Use .dat as suggested file extension.
Uwe Hermann [Tue, 27 Jan 2015 08:00:34 +0000 (09:00 +0100)]
output/gnuplot: Use .dat as suggested file extension.

Gnuplot doesn't have any "official" file name extension(s). It uses
(at least) two different types of files basically:

 - "control files": These can have many different somewhat commonly
   used extensions such as .gpi, .gnu, .gnuplot, .gp, .plt, .gih,
   others. These files don't contain data, only Gnuplot commands such
   as 'set yrange [75:105]', 'set ylabel "foo" offset 1', and so on.

 - "data files": This is what libsigrok reads and writes. These files
   contain actual data to be graphed by Gnuplot (with the help of a
   specially-crafted control file, see above). The data is usually in
   a tab-separated format. The common file extension is usually .dat,
   though many others are possible as well.

9 years agoin/out: Minor consistency renames.
Uwe Hermann [Tue, 27 Jan 2015 07:33:51 +0000 (08:33 +0100)]
in/out: Minor consistency renames.

 - 'struct sr_input *' variables are consistently named 'in'.
 - 'struct sr_input_module *' variables are consistently named 'imod'.

 - 'struct sr_output *' variables are consistently named 'o'.
 - 'struct sr_output_module *' variables are consistently named 'omod'.

9 years agooutput/wav: Improved description
Joel Holdsworth [Wed, 21 Jan 2015 06:02:37 +0000 (01:02 -0500)]
output/wav: Improved description

9 years agooutput: Added preferred file extension field
Joel Holdsworth [Wed, 21 Jan 2015 06:02:14 +0000 (01:02 -0500)]
output: Added preferred file extension field

This fixes parts of bug #541.

9 years agoinput: Added preferred file extension field
Joel Holdsworth [Wed, 21 Jan 2015 05:56:51 +0000 (00:56 -0500)]
input: Added preferred file extension field

This fixes parts of bug #541.

9 years agocxx: Fix a linking issue.
Uwe Hermann [Mon, 26 Jan 2015 14:26:15 +0000 (15:26 +0100)]
cxx: Fix a linking issue.

Fix "undefined reference to `sigrok::EnumValue<sigrok::LogLevel,
sr_loglevel>::_values'", which happens at least when using clang(++),
e.g. on Linux, Mac OS X, or FreeBSD.

This fixes bug #534.

Thanks to Uffe Jakobsen and Martin Ling for reporting and investigating!

9 years agoFix FreeBSD issue with libusb_get_port_numbers()
Uffe Jakobsen [Thu, 22 Jan 2015 00:11:22 +0000 (01:11 +0100)]
Fix FreeBSD issue with libusb_get_port_numbers()

Currently (as of date 20150122) an ioctl problem within the
FreeBSD kernel is preventing libusb_get_port_numbers() from working.
Hence calls to libusb_get_port_numbers() will always return 0.
This makes it impossible to establish a physical path the the usb device.

This problem has existed "forever" -
meaning that libusb_get_port_numbers() has never worked.

A fix is committed to FreeBSD "current" head  -
and will later be merged (MFC'ed) to maintenance branches.
See: https://svnweb.freebsd.org/base?view=revision&revision=277417

Additionally FreeBSD requires that devices prior to calling
libusb_get_port_numbers() have been opened with libusb_open().

The patch is "forwards-compatible".
Currently it acts specificly to libusb_get_port_numbers()
currently returning 0 on FreeBSD.
In these situations it constructs an artificial path to the device.
When FreeBSD kernels appears with proper working ioctl
supporting libusb_get_port_numbers() the code will construct
proper physical paths for newer kernels - while still generating
artificial physical paths for older defective kernels.

9 years agodemo: implement averaging support
Bartosz Golaszewski [Thu, 22 Jan 2015 09:22:59 +0000 (10:22 +0100)]
demo: implement averaging support

Add support for averaging and avg_samples option to the demo device.

Signed-off-by: Bartosz Golaszewski <redacted>
9 years agonew config options: averaging
Bartosz Golaszewski [Thu, 22 Jan 2015 09:22:58 +0000 (10:22 +0100)]
new config options: averaging

Add new config options to libsigrok - 'averaging', which allows to
enable averaging of samples and 'avg_samples' for setting the number
of samples to be averaged over in each cycle.

Signed-off-by: Bartosz Golaszewski <redacted>
9 years agoCheck for librevisa >= 0.0.20130412 - the latest official release
Uffe Jakobsen [Fri, 23 Jan 2015 22:55:14 +0000 (23:55 +0100)]
Check for librevisa >= 0.0.20130412 - the latest official release

9 years agosr_input_new(): Add missing @param comment.
Uwe Hermann [Sun, 18 Jan 2015 15:02:54 +0000 (16:02 +0100)]
sr_input_new(): Add missing @param comment.

This fixes a Doxygen warning:

  src/input/input.c:209: warning: The following parameters of sr_input_new(const struct sr_input_module *imod, GHashTable *options) are not documented:
    parameter 'imod'

9 years agoC++: Fix segfault where input/output options are NULL.
Martin Ling [Sun, 18 Jan 2015 22:43:02 +0000 (22:43 +0000)]
C++: Fix segfault where input/output options are NULL.

9 years agoFix two warnings when libserialport is not used.
Uwe Hermann [Sat, 17 Jan 2015 20:47:59 +0000 (21:47 +0100)]
Fix two warnings when libserialport is not used.

    CC       src/fallback.lo
  src/fallback.c: In function 'sr_serial_list':
  src/fallback.c:26:59: warning: unused parameter 'driver' [-Wunused-parameter]
   SR_API GSList *sr_serial_list(const struct sr_dev_driver *driver)
                                                             ^
  src/fallback.c: In function 'sr_serial_free':
  src/fallback.c:31:51: warning: unused parameter 'serial' [-Wunused-parameter]
   SR_API void sr_serial_free(struct sr_serial_port *serial)

9 years agoInstall libsigrokcxx headers in separate directory.
Uwe Hermann [Sat, 17 Jan 2015 19:29:05 +0000 (20:29 +0100)]
Install libsigrokcxx headers in separate directory.

Don't mix libsigrokcxx header files into the $prefix/include/libsigrok
directory. Use a separate $prefix/include/libsigrokcxx instead.

9 years agocxx: Rename include/libsigrok/ to include/libsigrokcxx/.
Uwe Hermann [Sat, 17 Jan 2015 19:11:53 +0000 (20:11 +0100)]
cxx: Rename include/libsigrok/ to include/libsigrokcxx/.

9 years agoRename libsigrok.hpp to libsigrokcxx.hpp.
Uwe Hermann [Sat, 17 Jan 2015 19:05:15 +0000 (20:05 +0100)]
Rename libsigrok.hpp to libsigrokcxx.hpp.

This avoids confusion of libsigrok.h vs. libsigrok.hpp and makes it
clearer that this is the main libsigrokcxx header.

9 years agolibsigrok.hpp: Fix incorrect glibmm.h #include.
Uwe Hermann [Sat, 17 Jan 2015 18:59:44 +0000 (19:59 +0100)]
libsigrok.hpp: Fix incorrect glibmm.h #include.

As per upstream docs "#include <glibmm.h>" is the correct usage,
the "glibmm-2.4" directory is handled correctly via pkg-config:

 $ pkg-config --cflags glibmm-2.4
 -I/usr/include/glibmm-2.4 [...]

9 years agolibsigrokcxx: Drop Requires.private entry.
Uwe Hermann [Sat, 17 Jan 2015 18:53:44 +0000 (19:53 +0100)]
libsigrokcxx: Drop Requires.private entry.

libsigrokcxx.pc has a "Requires" field listing "libsigrok" which
will cause libsigrok's "Requires.private" entries to be used/inherited
when 'pkg-config --libs --static libsigrokcxx' is used.

9 years agoRename libsigrokxx to the more common libsigrokcxx.
Uwe Hermann [Sat, 17 Jan 2015 17:49:04 +0000 (18:49 +0100)]
Rename libsigrokxx to the more common libsigrokcxx.

9 years agoMakefile.am: Use $(MKDIR_P) everywhere.
Uwe Hermann [Mon, 12 Jan 2015 00:19:12 +0000 (01:19 +0100)]
Makefile.am: Use $(MKDIR_P) everywhere.

9 years agoscpi: Fix incomplete data issue for e.g. Hameg HMO1024.
Mathias Katzer [Sun, 11 Jan 2015 00:40:28 +0000 (01:40 +0100)]
scpi: Fix incomplete data issue for e.g. Hameg HMO1024.

On a Hameg HMO1024 you get incomplete data because the USB transfer takes
longer than the scpi->read_timeout_ms of 1 second that is defined in
scpi_dev_inst_new(). Therefore reset the timeout in sr_scpi_get_string()
whenever the device sends a partial response.

9 years agohameg-hmo: Fix double-free issue.
Mathias Katzer [Sun, 11 Jan 2015 00:39:41 +0000 (01:39 +0100)]
hameg-hmo: Fix double-free issue.

9 years agohameg-hmo: Set SR_CONF_GET | SR_CONF_SET for frame limit.
Mathias Katzer [Sun, 11 Jan 2015 00:38:20 +0000 (01:38 +0100)]
hameg-hmo: Set SR_CONF_GET | SR_CONF_SET for frame limit.

Reading analog data from an HMO1024 (Firmware 04.527) failed because the
frame limit could not be set.

9 years agoPython bindings: respect DESTDIR.
Jiří Pinkava [Thu, 8 Jan 2015 23:45:48 +0000 (00:45 +0100)]
Python bindings: respect DESTDIR.

Thanks Aurelien Jacobs <redacted> for a suggested
fix/improvement.

9 years agoLimit frames instead of samples.
Janne Huttunen [Sat, 20 Dec 2014 15:33:24 +0000 (17:33 +0200)]
Limit frames instead of samples.

Since every individual measurement is represented by a single frame
and a "sample" isn't all that meaningful concept in this context,
it makes more sense to define possible limit in number of frames.
Make the es51919 driver to support setting a frame limit instead of
a sample limit.

9 years agoUse frames to group a single measurement result together.
Janne Huttunen [Sat, 20 Dec 2014 15:32:26 +0000 (17:32 +0200)]
Use frames to group a single measurement result together.

In most, but not all, modes the ES51919 reports two separate
analog values for each measurement sample. These values are
mapped to two separate channels and sent in two separate
packets.

A client program needs a way to determine which results are
parts of the same measurement and also know when a complete
measurement is received so it can process the sample. Use
the frame begin and end packets to separate groups that each
represent a single complete measurement.

9 years agoFix the channel indexes of the es51919 driver.
Janne Huttunen [Fri, 19 Dec 2014 19:45:56 +0000 (21:45 +0200)]
Fix the channel indexes of the es51919 driver.

Set the channel indexes to unique values instead of setting
them all zero.

9 years agofix autogen.sh on OS X. This fixes bug #516.
Rene Hopf [Tue, 6 Jan 2015 01:31:52 +0000 (02:31 +0100)]
fix autogen.sh on OS X. This fixes bug #516.

9 years agoFix compile error on FreeBSD
Uffe Jakobsen [Tue, 30 Dec 2014 23:32:44 +0000 (00:32 +0100)]
Fix compile error on FreeBSD

9 years agoserial.c: Cosmetics/consistency/documentation fixes.
Uwe Hermann [Sat, 3 Jan 2015 17:03:50 +0000 (18:03 +0100)]
serial.c: Cosmetics/consistency/documentation fixes.

9 years agoAdd a public API to list available serial ports.
Aurelien Jacobs [Sat, 6 Dec 2014 23:56:22 +0000 (00:56 +0100)]
Add a public API to list available serial ports.

9 years agoMention the Building#FAQ wiki page for common issues.
Uwe Hermann [Sat, 3 Jan 2015 16:38:06 +0000 (17:38 +0100)]
Mention the Building#FAQ wiki page for common issues.

9 years agofix numpy include path
Jiří Pinkava [Sat, 22 Nov 2014 03:52:58 +0000 (04:52 +0100)]
fix numpy include path

9 years agoREADME: Require SWIG >= 2.0.0.
Uwe Hermann [Sat, 6 Dec 2014 21:27:47 +0000 (22:27 +0100)]
README: Require SWIG >= 2.0.0.

We use %shared_ptr for example, which was introduced in SWIG 2.0.0.

9 years agoOnly save enabled channels to a session file.
Aurelien Jacobs [Tue, 25 Nov 2014 21:49:39 +0000 (22:49 +0100)]
Only save enabled channels to a session file.

This reverts bc96d5f08fe59ea7c51799b148946f5003c90927 which is not
needed anymore since we have a better fix for #410 and #495.

9 years agosession_file: Enable only the probes that are actually listed in metadata.
Aurelien Jacobs [Tue, 25 Nov 2014 21:44:30 +0000 (22:44 +0100)]
session_file: Enable only the probes that are actually listed in metadata.

This is a better fix for #410 and #495.

9 years agoREADME: Improve and update the requirements list.
Uwe Hermann [Wed, 3 Dec 2014 08:09:31 +0000 (09:09 +0100)]
README: Improve and update the requirements list.

10 years agosaleae-logic16: Show libusb transfer status name instead of code.
Bert Vermeulen [Thu, 27 Nov 2014 23:21:10 +0000 (00:21 +0100)]
saleae-logic16: Show libusb transfer status name instead of code.

10 years agosaleae-logic16: Change two errors into warnings.
Uwe Hermann [Thu, 27 Nov 2014 22:22:05 +0000 (23:22 +0100)]
saleae-logic16: Change two errors into warnings.

Related to #466, convert two more sanity checks from errors into warnings.
This may allow more devices to work with libsigrok.

10 years agosaleae-logic16: Clearer error message.
Bert Vermeulen [Thu, 27 Nov 2014 00:00:40 +0000 (01:00 +0100)]
saleae-logic16: Clearer error message.

10 years agobeaglelogic: Add SR_CONF_CAPTURE_RATIO support.
Aurelien Jacobs [Tue, 25 Nov 2014 21:12:33 +0000 (22:12 +0100)]
beaglelogic: Add SR_CONF_CAPTURE_RATIO support.

10 years agosaleae-logic16: Add SR_CONF_CAPTURE_RATIO support.
Aurelien Jacobs [Tue, 25 Nov 2014 21:11:44 +0000 (22:11 +0100)]
saleae-logic16: Add SR_CONF_CAPTURE_RATIO support.

10 years agofx2lafw: Add SR_CONF_CAPTURE_RATIO support.
Aurelien Jacobs [Tue, 25 Nov 2014 11:28:36 +0000 (12:28 +0100)]
fx2lafw: Add SR_CONF_CAPTURE_RATIO support.

10 years agosoft-trigger: Add support for pre-triggering.
Aurelien Jacobs [Tue, 25 Nov 2014 11:23:34 +0000 (12:23 +0100)]
soft-trigger: Add support for pre-triggering.

10 years agoAlways save all channels to a session file.
Bert Vermeulen [Mon, 24 Nov 2014 01:21:15 +0000 (02:21 +0100)]
Always save all channels to a session file.

This works around limitations of the current API that screw up saving
only enabled channels. See bug 410. And bug 495.

10 years agobindings: Session::set_trigger(): Fix segfault condition.
Uwe Hermann [Mon, 24 Nov 2014 00:11:17 +0000 (01:11 +0100)]
bindings: Session::set_trigger(): Fix segfault condition.

sr_session_trigger_set(sess, NULL) is a valid thing to do, meaning that
any trigger shall be removed from the session.

This closes bugs #491 and #496.

10 years agosr_session_trigger_{get,set}: Document, add error checks.
Uwe Hermann [Sun, 23 Nov 2014 23:50:11 +0000 (00:50 +0100)]
sr_session_trigger_{get,set}: Document, add error checks.

10 years agoAdd a few unit tests for sr_session_trigger_{get,set}.
Uwe Hermann [Sun, 23 Nov 2014 23:49:38 +0000 (00:49 +0100)]
Add a few unit tests for sr_session_trigger_{get,set}.

10 years agomanson-hcs-3xxx: Fix incorrect SR_CONF_SCAN_OPTIONS handling.
Uwe Hermann [Sun, 23 Nov 2014 20:09:37 +0000 (21:09 +0100)]
manson-hcs-3xxx: Fix incorrect SR_CONF_SCAN_OPTIONS handling.

The SR_CONF_SCAN_OPTIONS key must be listable with or without sdi,
otherwise the device will not be detected by frontends.

10 years agoDo not check for JDK headers if Java bindings are disabled.
Jiří Pinkava [Sun, 23 Nov 2014 16:38:28 +0000 (17:38 +0100)]
Do not check for JDK headers if Java bindings are disabled.

This removes an unnecessary build dependency on JDK and fixes
build troubles on systems where javac is present but JDK is not
installed and Java bindings are disabled by ./configure --disable-java.

10 years agousb_get_port_path(): fix libusb error checking
Vincent Palatin [Mon, 10 Nov 2014 16:17:07 +0000 (08:17 -0800)]
usb_get_port_path(): fix libusb error checking

When libusb cannot access a device, libusb_get_port_numbers() will return
an error. Check the return code rather than doing invalid pointer
operations (out-of-bound read).

Avoid segfaults at sigrok-cli startup on my setup where some USB devices are
not accessible and also make Valgrind happier.

Signed-off-by: Vincent Palatin <redacted>
10 years agoPublish config key capabilities on session driver.
Bert Vermeulen [Sun, 23 Nov 2014 16:47:58 +0000 (17:47 +0100)]
Publish config key capabilities on session driver.

10 years agoAdd sr_rational_set() convenience function.
Bert Vermeulen [Thu, 20 Nov 2014 02:11:14 +0000 (03:11 +0100)]
Add sr_rational_set() convenience function.

10 years agosaleae-logic16: Downgrade error during capture to a message.
Tim Hatch [Sun, 2 Nov 2014 23:29:38 +0000 (15:29 -0800)]
saleae-logic16: Downgrade error during capture to a message.

Some clone doesn't set this to the exact same value, and both bits in 0x48 are
marked as unknown at
http://sigrok.org/wiki/Saleae_Logic16/Firmware#FPGA_variables

This fixes bug #466.

10 years agounit tests: Disable timeout for one of the test cases.
Uwe Hermann [Sun, 23 Nov 2014 12:10:32 +0000 (13:10 +0100)]
unit tests: Disable timeout for one of the test cases.

This one can take a while, thus disable the timeout.

10 years agopython: Silence some warnings via -Wno-uninitialized.
Uwe Hermann [Sat, 22 Nov 2014 21:06:02 +0000 (22:06 +0100)]
python: Silence some warnings via -Wno-uninitialized.

Silence some warnings when building the Python bindings:

  sigrok/core/classes_wrap.cpp: In function ‘PyObject* _wrap_new_OutputFormatMap(PyObject*, PyObject*)’:
  sigrok/core/classes_wrap.cpp:5232:4: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      res = SWIG_ConvertPtr(obj,(void**)&p,swig::type_info<map_type>(),0);
      ^
  sigrok/core/classes_wrap.cpp:14383:13: note: ‘argv[0]’ was declared here
     PyObject *argv[2];
               ^
  sigrok/core/classes_wrap.cpp: In function ‘PyObject* _wrap_new_ChannelGroupMap(PyObject*, PyObject*)’:
  sigrok/core/classes_wrap.cpp:5232:4: warning: ‘argv[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      res = SWIG_ConvertPtr(obj,(void**)&p,swig::type_info<map_type>(),0);
      ^
  sigrok/core/classes_wrap.cpp:23356:13: note: ‘argv[0]’ was declared here
     PyObject *argv[2];
               ^

We add -Wno-uninitialized since the warnings are harmless and we really
don't care about them in the generated classes_wrap.cpp.

This fixes parts of #417.

10 years agoFix a bug causing one of the unit tests not being run.
Uwe Hermann [Sat, 22 Nov 2014 20:07:48 +0000 (21:07 +0100)]
Fix a bug causing one of the unit tests not being run.

10 years agotrigger: Add some more error handling.
Uwe Hermann [Sat, 22 Nov 2014 20:03:39 +0000 (21:03 +0100)]
trigger: Add some more error handling.

All of these error conditions are checked via the unit tests.

Also, add the following missing entries (analog trigger types):

 - SR_TRIGGER_RISING
 - SR_TRIGGER_EDGE

10 years agoAdd a few unit tests for sr_trigger_*().
Uwe Hermann [Sat, 22 Nov 2014 19:13:37 +0000 (20:13 +0100)]
Add a few unit tests for sr_trigger_*().

10 years agotrigger: Add API documentation.
Uwe Hermann [Sat, 22 Nov 2014 18:32:28 +0000 (19:32 +0100)]
trigger: Add API documentation.

10 years agoAdd missing entries to sr_config_info_data[].
Uwe Hermann [Sat, 22 Nov 2014 15:53:02 +0000 (16:53 +0100)]
Add missing entries to sr_config_info_data[].

Newly added keys:

 - SR_CONF_SAMPLE_INTERVAL
 - SR_CONF_NUM_TIMEBASE
 - SR_CONF_NUM_VDIV
 - SR_CONF_CENTER_FREQUENCY
 - SR_CONF_DEVICE_MODE
 - SR_CONF_SCAN_OPTIONS
 - SR_CONF_DEVICE_OPTIONS
 - SR_CONF_DEVICE_MODE
 - SR_CONF_TEST_MODE

Also, keep the same ordering and grouping as in libsigrok.h.

10 years agoUse g_malloc0() consistently, simplify error handling.
Uwe Hermann [Fri, 21 Nov 2014 18:02:10 +0000 (19:02 +0100)]
Use g_malloc0() consistently, simplify error handling.

Use g_malloc0() for small allocations and assume they always
succeed. Simplify error handling in a few places accordingly.

Don't always sanity-check parameters for non-public (SR_PRIV)
functions, we require the developers to invoke them correctly.
This allows further error handling simplifications.

10 years agoDon't check sr_channel_new() return value (always succeeds).
Uwe Hermann [Fri, 21 Nov 2014 08:07:04 +0000 (09:07 +0100)]
Don't check sr_channel_new() return value (always succeeds).

We now use g_malloc0() for the allocation and assume the allocation
will always succeed, thus sr_channel_new() will always return a
valid new channel.

10 years agoConsistently use g_malloc0() for allocating devc.
Uwe Hermann [Fri, 21 Nov 2014 01:26:24 +0000 (02:26 +0100)]
Consistently use g_malloc0() for allocating devc.

We assume the allocation will always succeed, hence no need for
checking the returned value.

10 years agoEliminate sr_dev_inst_new().
Uwe Hermann [Fri, 21 Nov 2014 01:01:36 +0000 (02:01 +0100)]
Eliminate sr_dev_inst_new().