Commit Graph

139 Commits

Author SHA1 Message Date
Uwe Hermann 8677e4e7be transform: Add a few basic unit tests. 2015-02-11 15:24:38 +01:00
Uwe Hermann d74d30bb14 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).
2015-02-11 15:24:34 +01:00
Uwe Hermann 43caa46623 transform: Add a "scale" transform module. 2015-02-11 15:24:30 +01:00
Uwe Hermann 39f1752eff transform: Add a "nop" transform module.
This doesn't do anything, just passes input packets on unmodified.
2015-02-11 12:23:02 +01:00
Uwe Hermann 988357ca2f transform: Add a basic set of API calls. 2015-02-11 12:23:02 +01:00
Uffe Jakobsen b595a45876 Fix problem building with BSD make
This fixes bug #556:

Bug 556 - libsigrok fails to build with BSD Make
2015-02-10 15:14:08 +01:00
Uwe Hermann d378f10099 Makefile.am: Add NEED_SERIAL condition. 2015-01-31 22:42:32 +01:00
Uwe Hermann 2182e77511 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.
2015-01-31 22:29:07 +01:00
Uwe Hermann 0959ed3d02 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.
2015-01-17 21:31:56 +01:00
Uwe Hermann 161dc24d84 cxx: Rename include/libsigrok/ to include/libsigrokcxx/. 2015-01-17 20:26:14 +01:00
Uwe Hermann 1b40fdb881 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.
2015-01-17 20:15:38 +01:00
Uwe Hermann 52ff4f6a04 Rename libsigrokxx to the more common libsigrokcxx. 2015-01-17 18:52:43 +01:00
Uwe Hermann f3256bb706 Makefile.am: Use $(MKDIR_P) everywhere. 2015-01-12 01:19:12 +01:00
Jiří Pinkava 6ae5362589 Python bindings: respect DESTDIR.
Thanks Aurelien Jacobs <aurel@gnuage.org> for a suggested
fix/improvement.
2015-01-09 16:17:36 +01:00
Aurelien Jacobs 24287ea9e3 Add a public API to list available serial ports. 2015-01-03 17:51:51 +01:00
Uwe Hermann c8412d6c69 Add a few unit tests for sr_trigger_*(). 2014-11-22 21:03:13 +01:00
Bert Vermeulen fb019a0e4d Add sr_analog_to_float(). 2014-11-13 22:51:39 +01:00
Bert Vermeulen 3250d8c7e0 output: Add srzip, the session file format.
The 'filename' option is required: this module creates the zip file
itself, and never actually outputs anything back to the calling frontend.
2014-11-12 00:12:59 +01:00
Uwe Hermann 6b1adfaa86 unit tests: Add a test case for sr_dev_inst_user_new(). 2014-11-11 22:16:12 +01:00
Uwe Hermann 626027df0f Add UNI-T UT71x DMM parser. 2014-10-25 16:53:32 +02:00
Janne Huttunen 34d117afb4 Allow building libsigrok without libserialport.
Since the DER EE DE-5000 driver is currently the only user of
the es51919 module and it depends on the libserialport, compile
the module only if the DER EE DE-5000 driver is enabled. This
allows libsigrok to be built without libserialport again.
2014-10-17 12:13:50 +02:00
Janne Huttunen b50891952d Add driver for DER EE DE-5000 LCR meter.
Add a driver for the DER EE DE-5000 LCR meter. This meter is based on
the Cyrustek ES51919/ES51920 chipset and communicates with the host
computer via an optional connectivity kit.

The kit uses an optoisolated unidirectional link to connect to the
meter and an USB cable on the host side. Internally the connection is
using the FTDI FT232R USB UART chip i.e. from the host computer point
of view the meter is connected into an RS-232 serial port.

This driver implements just a thin shim layer for registering the
driver and uses the es51919 module for all the actual work.
2014-10-13 00:56:11 +02:00
Janne Huttunen 6bcb3ee876 Add protocol decoder for Cyrustek ES51919 LCR meter chip.
Add a protocol decoder for the Cyrustek ES51919 LCR meter chip.
This chipset (together with ES51920 front-end) is supposedly used
by multiple different portable LCR meters including at least
DER EE DE-5000, Yihua V&A VA520, Mastech MS5308, Uni-T UT612,
CEM DT-9935 and various OEM rebadges of them.

The communication protocol seems to be implemented on the Cyrustek
chip itself so all the different models are expected to use the
same protocol if they implement a host connection. Unfortunately
the protocol is not available in the public documentation of the
chipset, so this implementation is based on reverse engineering it
from traffic captures.

The actual connection between the meter and the host computer may be
different from meter to meter even when based on the same chip. This
module implements a decoder for the protocol and some common helper
functions for interfacing with the meter via an RS-232 serial port.
2014-10-13 00:56:11 +02:00
Martin Ling da89e23a28 Use AM_PATH_PYTHON macro to find Python binary.
A specific interpreter can now be passed to configure e.g:

./configure PYTHON=python3
2014-09-14 02:32:49 +01:00
Bert Vermeulen d4eabea847 scpi-pps: Add support for Rigol DP832. 2014-09-08 12:45:21 +02:00
Bert Vermeulen ca1a7cb56f scpi-pps: Initial driver skeleton. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 7343ad1ec7 scpi/gpib: Rename backend to scpi_libgpib.
libgpib is the userspace component to linux-gpib's kernel modules that
implement low-level interface drivers.

When libsigrok gets userspace GPIB interface drivers, that backend will
be the "official" scpi_gpib.
2014-09-05 18:33:48 +02:00
Martin Ling bb2a4ed407 Add GPIB SCPI backend using linux-gpib and libgpib. 2014-09-05 10:34:04 +01:00
Bert Vermeulen 2fe07d3fb5 build: Silence java-clean. 2014-08-31 13:46:45 +02:00
Marcus Comstedt d1a5f73781 Makefile.am: Use $(CXXCOMPILE) to compile C++ code
When compiling the SWIG wrappers for the Java bindings, use the correct
automake macro so that all compiler flags are honoured.
2014-08-31 13:26:47 +02:00
Soeren Apel 107639373d yokogawa-dlm: Integrate driver skeleton 2014-08-31 00:42:10 +02:00
Martin Ling f1830b225d Clean Java files on any change that needs re-running SWIG. 2014-08-29 13:56:40 +01:00
Bert Vermeulen b84cba4dbf input: Convert binary module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 02e24c0ce0 input: Convert chronovu-la8 module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 41d214f61a input: Convert CSV module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 7db0639495 input: Fixes and VCD. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 17bfaca62a input: Introduce new input module API.
This is a work in progress.
2014-08-26 01:55:41 +02:00
magnuskarlsson 4bd80e1228 added pipistrello-ols
Conflicts:
	configure.ac
	src/hwdriver.c
2014-08-25 01:00:55 +02:00
Marcus Comstedt 0e1a7fe91a Makefile.am: Fix out-of-tree build for Python bindings 2014-08-17 16:05:46 +02:00
Marcus Comstedt 33c84e8197 Makefile.am: Fix out-of-tree build for C++ and Java bindings 2014-08-17 12:58:39 +02:00
Marcus Comstedt 7f82ec4d72 Makefile.am: Fix doxygen invocation in out-of-tree build 2014-08-17 12:58:39 +02:00
Marcus Comstedt 55e55a3f92 Fix include paths for out-of-tree builds 2014-08-17 12:58:38 +02:00
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