Commit Graph

97 Commits

Author SHA1 Message Date
Uwe Hermann 4172352914 Add a small set of unit tests for session handling. 2014-08-11 13:04:07 +02:00
Uwe Hermann 071b93d9ed Makefile.am: Silence some more Doxygen output.
This silences stuff like this (among others), depending on the
Doxygen version used:

  Warning: Tag `XML_SCHEMA' at line 1814 of file `Doxyfile' has become
  obsolete. To avoid this warning please remove this line from your
  configuration file or upgrade it using "doxygen -u"
2014-08-10 18:57:58 +02:00
Martin Ling 8a314e90ff java: Add documentation generation. 2014-08-10 15:47:14 +02:00
Martin Ling 6a8c1d6879 python: Add documentation generation. 2014-08-10 15:47:13 +02:00
Martin Ling bd4fda2407 bindings: Transfer C++ documentation strings to Python and Java wrappers. 2014-08-10 15:47:13 +02:00
Martin Ling 3532ed0125 C++ bindings: Reimplement enums.py using doxygen XML output instead of gccxml. 2014-08-10 15:47:13 +02:00
Janne Huttunen a24c3f4a89 Implement Brymen BM25x series as a serial DMM.
The Brymen BM25x series supports the BC-20X that is an opto-isolated
serial cable. The link seems to be unidirectional i.e. when activated
the DMM periodically sends updates to the host while the host cannot
control the DMM in any way.

The protocol is documented in "6000-count-digital-multimeters-r1.pdf"
that is available from the manufacturer. Every 15 byte packet consists
of a bitmap where the bits correspond to segments or symbols on the
LCD display i.e. the DMM essentially sends the contents of its screen
to the host in every update. This driver then decodes the measured
quantity, unit and its value from the bitmap.
2014-08-01 20:31:26 +02:00
Bert Vermeulen afaa75b98c output/wav: Initial module skeleton. 2014-07-29 02:47:10 +02:00
Martin Ling 90bd765640 Java: Move interfaces into org.sigrok.core.interfaces, tidy build system. 2014-07-26 20:41:08 +01:00
Martin Ling ca5fdd96ba Add bindings/swig/classes.i to Python binding dependencies. 2014-07-26 18:34:40 +01:00
Martin Ling 4711ec660d Fix python-quietclean Makefile target. 2014-07-26 18:34:20 +01:00
Uwe Hermann 3db4b08b2d Makefile.am: Add beaglelogic.h so it ends up in the tarball. 2014-07-22 23:18:37 +02:00
Bert Vermeulen 155b680da4 Reorganize project tree. 2014-07-22 18:19:29 +02:00
Bert Vermeulen c26162ffe0 python: Fix build dependency.
This also makes it more portable, notably to non-bash shells.
2014-07-22 04:31:54 +02:00
Kumar Abhishek bb99379761 beaglelogic: Initial driver skeleton. 2014-07-22 01:47:02 +02:00
Bert Vermeulen 8eb10b625e python: Silence irrelevant build warnings. 2014-07-20 22:37:32 +02:00
Uwe Hermann 6592c36995 Fix 'make check' invocation wrt new libsigrok.h location. 2014-07-20 12:03:29 +02:00
Bert Vermeulen f2a189f0a7 build: Silence language bindings building. 2014-07-19 22:25:11 +02:00
Martin Ling 580ed4005b Additional build system fixes for C++/Python/Java bindings. 2014-07-19 18:06:52 +02:00
Martin Ling d1785122c7 Assorted build system fixes for C++/Python/Java bindings. 2014-07-19 17:25:37 +02:00
Martin Ling 815a6b95f4 Pass configured prefix to python setup.py install step. 2014-07-19 16:44:05 +02:00
Martin Ling 9fcf4d0b5b Add Java bindings. 2014-07-18 21:34:57 +01:00
Martin Ling f774095496 Reimplement high-level Python bindings on top of SWIG/C++ bindings. 2014-07-18 20:47:10 +01:00
Martin Ling c23c8659b8 Add C++ bindings. 2014-07-18 20:47:10 +01:00
Martin Ling 63d0fb7528 Move public headers into include/libsigrok.
This is needed so that the C++ bindings, the header for which
references "libsigrok/libsigrok.h", can have a valid include
directory passed to build them before the headers are installed.
2014-07-17 18:30:49 +01:00
Bert Vermeulen 5d8c55f9ee Move conditional driver cruft to separate source file. 2014-07-11 16:47:06 +02:00
Bert Vermeulen d4b3874828 autoconf: Use DRIVER macro to declare drivers. 2014-07-10 20:44:32 +02:00
Bert Vermeulen 0acdd79357 testo: Initial driver skeleton. 2014-07-05 21:56:46 +02:00
Uwe Hermann 8f4e922f43 manson-hcs-3xxx: Initial driver skeleton. 2014-06-23 00:59:17 +02:00
Bert Vermeulen ac136b574a Add new software trigger as a library-wide facility.
This is strictly an internal feature, for use by drivers for hardware
that doesn't have its own trigger mechanism.
2014-05-28 15:53:27 +02:00
Bert Vermeulen 7b5e6d2978 Add new triggering framework.
The new triggers consist of a set of structs and an API to manipulate
them.  Both logic and analog triggers are supported, in an unlimited
number of stages.

A single struct sr_trigger containing its stages and triggers is then
added to the session.

In case of a driver where the hardware supports triggering, the struct
is then converted and used to arm the hardware trigger. Drivers without
hardware trigger support, such as fx2lafw or multimeter drivers, use it
as the basis for a software-based trigger implementation instead.
2014-05-27 23:53:27 +02:00
Matthias Heidbrink 41b7bd01c1 motech-lps-30x: Initial driver framework. 2014-05-19 19:23:30 +02:00
Uwe Hermann 8c21897f59 Unhook the Link Instruments MSO-19 from the build for now.
This driver is neither working nor has it been in a compiling state for
a long time, so unhook it from the build until it is fixed and works.

The files (api.c and protocol.[ch]) are still in git, but won't end up in
released tarballs and they don't get built (neither git nor tarballs).

This also allows us to drop the otherwise unneeded dependency on libudev.
When the MSO-19 driver comes back, it should be in a form that doesn't
require the inherently Linux-only libudev anyway. See also:
http://sigrok.org/bugzilla/show_bug.cgi?id=65
2014-05-04 17:44:05 +02:00
Uwe Hermann 2fa222c78b Drop obsolete Linux-only usbtmc backend.
We're now using a portable libusb-based (userspace) backend which should
in theory work on any OS with libusb support.
2014-05-04 17:38:09 +02:00
Bert Vermeulen dba3e6826e output: Introduce output module API wrappers. 2014-04-21 01:50:43 +02:00
Bert Vermeulen 7e7b7fb7d3 Removed ALSA driver.
This driver has been unmaintained for years, and was never good code
to begin with. It's also questionable whether it was ever useful,
particularly with the demo driver now supporting various analog
signalling.
2014-04-19 13:37:53 +02:00
Bert Vermeulen 3b15586812 Removed obsolete sr_filter_channels(). 2014-04-19 13:34:46 +02:00
Bert Vermeulen 44559b2c3b Remove obsolete output API. 2014-04-19 13:28:17 +02:00
Bert Vermeulen 6f64ebb223 output/ascii: Rewrite for new output API. 2014-04-19 12:34:51 +02:00
Bert Vermeulen 8d3af2e868 output/hex: Rewrite for new output API. 2014-04-19 12:31:50 +02:00
Bert Vermeulen dbd0aeff35 output/bits: Rewrite for new output API.
This also fixes the performance problems in the old module.
2014-04-19 12:25:02 +02:00
Uwe Hermann 7b3567126c Rename 'chronovu-la8' driver to 'chronovu-la'.
The driver now also supports the LA16 device (and possibly others in the
future).
2014-04-02 17:20:09 +02:00
Uwe Hermann 36cf5b5445 Makefile.am: Add missing vxi.h.
If it's not listed as SOURCE, it won't end up in the tarball and a build
from tarball would thus break.
2014-03-20 13:10:53 +01:00
Uwe Hermann 67bd805523 Switch to a non-recursive automake setup.
Instead of >= 44 Makefile.am's we now only have one top-level
Makefile.am, and use the 'subdir-objects' automake option to
handle the build via non-recursive (auto)make.

This has the advantage of fewer (boilerplate or other) files and less
clutter in general, as well as performance advantages since the new
setup can build many files in parallel (with 'make -j'), not only 2 or 3
files within the same (e.g. hardware/xxxx/* subdirectory) and also since
we no longer need to build intermediate libtool helper libs per subdirectory.

A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
yields a build time reduction from 35s to 19s.

All autotools features that worked before are still intact without any
regressions, including the Make targets 'install', 'uninstall', 'check',
'dist', 'clean', 'distclean' and so on, as well as all the usual portability
handling (build works on any OS, with any Make implementation such as
GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
and features such as out-of-tree build support, cross-compile support,
testsuite support (also with colored output), "silent make rules", etc. etc.
2014-03-20 13:10:05 +01:00
Uwe Hermann 1ca48e29d4 Makefile.am: Add missing HACKING file. 2013-09-25 14:26:35 +02:00
Uwe Hermann 50985c2019 GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
Uwe Hermann c77ed446f2 Add initial README.devices file. 2013-03-14 19:49:33 +01:00
Uwe Hermann 79bb0e97d5 Add a testsuite for libsigrok.
This adds a suite of unit tests for libsigrok. It uses the 'Check'
tool/library (apt-get install check) to run the tests.

The configure tool tries to find libcheck. If it succeeds, a
"make check" will run all tests. Otherwise, none of the tests will
be built and "make check" will not run any tests.

This also means that users who don't have 'check' installed will still
be able to build and install libsigrok just fine.
2013-03-09 11:55:43 +01:00
Uwe Hermann 063e7aef6d Factor out common hw_init() driver code.
Most drivers do pretty much the same things in their hw_init()
right now, so factor out that code to std_hw_init() in std.c.
2013-01-29 12:56:02 +01:00
Uwe Hermann bd58d8f3ec Makefile.am: Fix typo in 'ChangeLog' target. 2013-01-14 11:13:58 +01:00