Commit Graph

193 Commits

Author SHA1 Message Date
Aurelien Jacobs 81a9ab725f appa-55ii: driver implementation with Live and Memory data source support 2013-12-23 01:21:52 +01:00
Aurelien Jacobs 5e7a8e57d4 appa-55ii: Initial driver skeleton. 2013-12-23 01:21:51 +01:00
Bert Vermeulen 17e9317b24 Bump minimum libusb version to 1.0.16
This gets us the libusb version checking mechanism itself, hopefully
making this sort of thing easier in future.

Also hotplug, device tree traversal, and lots of fixes.
2013-12-19 10:45:36 +01:00
Martin Ling 37fa80b4be Disable OLS driver on Windows. 2013-12-07 19:43:47 +00:00
Martin Ling 1c6736ab86 Link against the ws2_32 library on Windows. 2013-12-06 02:26:58 +00:00
Martin Ling 789840741c rigol-ds: Enable for non-Linux, as it now supports other transports. 2013-12-06 03:00:12 +01:00
Uwe Hermann c6e35004cb configure.ac: Don't build hameg-hmo if libserialport is not found. 2013-12-03 15:48:02 +01:00
Uwe Hermann 582b3d21d3 configure.ac: Move Hameg HMO AM_CONDITIONAL to the correct place. 2013-12-03 15:37:36 +01:00
poljar (Damir Jelić) 06a3e78adb hameg-hmo: Initial driver skeleton. 2013-12-03 15:13:30 +01:00
Dan Horák 3ba7b61ab2 define correct variable for the unified Rigol driver 2013-12-01 22:28:07 +01:00
Martin Ling 3086efdd73 Rename rigol-ds1xx2 driver to rigol-ds. 2013-11-29 00:50:59 +00:00
Bert Vermeulen 067b3836b2 gmc-mh-1x-2x driver depends on libserialport 2013-11-26 01:50:21 +01:00
Uwe Hermann 330af0ec89 Update to 3-digit libserialport package version format. 2013-11-22 16:29:58 +01:00
Matthias Heidbrink 7b4edcb654 gmc_mh_1x_2x: Inital driver skeleton. 2013-11-22 02:31:17 +01:00
Uwe Hermann c4f2dfd0f0 configure.ac: libserialport is optional.
Disable drivers that need serial port support if libserialport is not found.

Also, disable building various other serial port related code in that case.
2013-11-15 09:36:51 +01:00
Martin Ling f2b830f71d Fix silly copy-paste error. 2013-11-14 23:48:16 +01:00
Martin Ling a9bce5a561 Use libserialport for serial port access. 2013-11-14 23:48:16 +01:00
Uwe Hermann 360079e78e configure.ac: Bump libtool/library version from 1:1:0 to 1:2:0.
The libtool current:revision:age numbers change from 1:1:0 to 1:2:0
(i.e., revision is increased) since the library source code has changed,
but no interfaces were added or changed or removed.

Details:
http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info

This changes the library filename (e.g. on Linux) from libsigrok.so.1.0.1
to libsigrok.so.1.0.2, but the SONAME (+symlink) remains the same
(libsigrok.so.1) since this release is API- and ABI-compatible with the last.
2013-11-04 01:28:12 +01:00
Uwe Hermann 3f6549307b configure.ac: Bump package version to 0.2.2. 2013-11-04 01:24:49 +01:00
Uwe Hermann 5724a20af7 configure.ac: Fix list sorting (cosmetic). 2013-11-04 01:14:57 +01:00
Uwe Hermann 122d33d47d configure.ac: Move a teleinfo snippet to the correct place.
This breaks some configure use-cases otherwise.
2013-11-04 01:14:57 +01:00
Uwe Hermann e790bd5cda norma-dmm: Minor cosmetics, coding-style, consistency fixes.
Also, add a missing "%" in an sr_err() and a missing parameter in
another sr_err().
2013-10-25 21:25:26 +02:00
Matthias Heidbrink bfd48770fc norma dmm: Initial driver skeleton. 2013-10-25 21:25:26 +02:00
Aurelien Jacobs 8e796cb438 teleinfo: Initial driver skeleton. 2013-10-24 15:41:11 +01:00
Uwe Hermann 8819bf5a96 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.
2013-10-16 18:10:29 +02:00
Uwe Hermann ba26f45d1d configure.ac: Don't build uni-t-ut32x if libusb-1.0 is not found. 2013-09-25 14:26:35 +02:00
Uwe Hermann 4ac4595ad0 configure.ac: Properly use $HW_ENABLED_DEFAULT everywhere.
Otherwise --enable-all-drivers / --disable-all-drivers doesn't work
correctly.
2013-09-04 12:05:45 +02:00
Marcus Comstedt 7b5daad45c saleae-logic16: Implemented acquisition. 2013-08-20 19:55:57 +02:00
Marcus Comstedt 6383365795 configure.ac: Fix build when libusb-1.0 not available.
The Saleae Logic16 needs libusb-1.0, thus disable this driver when
libusb-1.0 cannot be found.
2013-08-20 19:55:57 +02:00
Marcus Comstedt c463dcf06c saleae-logic16: Initial driver skeleton. 2013-08-20 19:55:22 +02:00
Bert Vermeulen 3877dde43a uni-t-ut32x: Initial driver skeleton. 2013-08-11 10:46:36 +02:00
Uwe Hermann 4433145f48 center-3xx: Initial driver skeleton. 2013-08-08 19:58:48 +02:00
Uwe Hermann f6b5969014 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.

http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info

Frontends using libsigrok don't need to be recompiled or relinked.
2013-08-07 16:21:58 +02:00
Uwe Hermann ce95428cca Consistent use of "IKALOGIC" spelling.
The company name is written all-caps pretty consistently on the
vendor website and docs, so use that spelling everywhere.
2013-08-07 16:21:57 +02:00
Uwe Hermann ee2cc2d4dc ikalogic-scanaplus: Don't build if libftdi was not found. 2013-08-05 14:52:44 +02:00
Uwe Hermann 37d80736ab kecheng-kc-330b: Don't build if libusb-1.0 was not found. 2013-08-05 13:34:10 +02:00
Uwe Hermann 59142ae177 Disable mso-19 per default, mark experimental.
This driver is not yet in a really usable or working state, it'll be
re-enabled by default when we're sure it works properly.
2013-08-05 13:16:31 +02:00
Uwe Hermann c51bbdec34 Drop nexus-osciprime skeleton for now.
This is mostly just a skeleton driver framework at the moment, we'll
bring it back when the driver is fully implemented.
2013-08-05 12:59:23 +02:00
Bert Vermeulen ed759a0835 kecheng-kc-330b: Initial driver skeleton. 2013-07-16 16:08:38 +02:00
Uwe Hermann fdf4a1f5a0 ikalogic-scanaplus: Initial driver skeleton. 2013-07-15 12:20:53 +02:00
Uwe Hermann 32be5b2246 configure.ac: Move an AM_CONDITIONAL to the correct location. 2013-06-21 15:18:33 +02:00
Uwe Hermann 1f36a6c685 configure.ac: Fix build when libusb-1.0 not available.
The IKALOGIC Scanalogic2 needs libusb-1.0, thus disable this driver when
libusb-1.0 cannot be found.
2013-06-21 15:11:36 +02:00
Bert Vermeulen 8fa9368eb4 cem-dt-885x: Initial driver skeleton. 2013-06-12 18:34:42 +02:00
Marc Schink 16e76baec9 ikalogic-scanalogic2: Initial driver skeleton. 2013-06-11 18:39:54 +02:00
Uwe Hermann ee8ddd8f5a Always link against the math library.
This fixes bug #115.
2013-05-10 21:46:30 +02:00
Uwe Hermann 9e165e742f Use consistent HW_ name prefixes everywhere.
Older drivers used LA_* previously, we now use HW_* everywhere though.
2013-05-10 17:18:42 +02:00
Uwe Hermann 7ab89f4827 Re-enable link-mso19 and nexus-osciprime drivers. 2013-05-08 16:40:45 +02:00
Uwe Hermann 26aec7fdc4 Drop link-mso19/nexus-osciprime in preparation for release.
These two drivers are currently unfinished and don't work, so disable
and "unhook" them for now in preparation of the next libsigrok release.

They're still in the git repository, but not hooked up to the build
system, so that they won't get detected or built, and also don't end up
in the release tarball.

Since link-mso19 is the only driver that currently requires libudev,
drop any reference to that, too.

It should be relatively easy to apply this patch in reverse after the
release to bring back both drivers.
2013-05-04 15:59:40 +02:00
Uwe Hermann 6941f84568 Fix libsigrok lib version (current:revision:age).
The last release (libsigrok 0.1.1) had a lib version of 0:0:0.

This release thus gets 1:0:0 according to the libtool manual guidelines.
2013-05-04 15:12:20 +02:00
Uwe Hermann 695f32d89d Bring back link-mso19/nexus-osciprime for now.
This patch will be re-introduced later.
2013-04-26 10:47:34 +02:00
Uwe Hermann 9d1164f9a1 Drop link-mso19/nexus-osciprime in preparation for release.
These two drivers are currently unfinished and don't work, so disable
and "unhook" them for now in preparation of the next libsigrok release.

They're still in the git repository, but not hooked up to the build
system, so that they won't get detected or built, and also don't end up
in the release tarball.

Since link-mso19 is the only driver that currently requires libudev,
drop any reference to that, too.

It should be relatively easy to apply this patch in reverse after the
release to bring back both drivers.
2013-04-25 19:16:13 +02:00
Uwe Hermann 50985c2019 GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
Uwe Hermann 406569ddea Bump glib requirement to >= 2.32.0.
This is now required, e.g. due to the usage of g_variant_new_fixed_array().
2013-04-12 18:47:06 +02:00
Uwe Hermann 2e542814cb configure.ac: Fix checks for cross-compiles.
When checking architecture-specific things, always check $host, i.e. the
architecture we're building _for_, not the one we happen to build _on_.

E.g. when cross-compiling _for_ Android (or Windows or others) it's important
to check for Android in $host; whether we happen to cross-compile _on_ a Linux
or Windows or OpenBSD or FreeBSD machine ($build) doesn't matter, only the
fact that we compile _for_ Android is important for most checks.
2013-04-09 19:52:38 +02:00
Uwe Hermann 6bad848724 configure.ac: Print $host and $build.
In the configure summary at the end also print the architecture we're
building on ($build) and the target host we build for ($host). The two are
not necessarily the same, e.g. in the case of cross-compiles.
2013-04-09 18:56:53 +02:00
Uwe Hermann 6e772cbe80 configure.ac: Mention required lib versions.
In the summary output at the end of a configure run, explicitly mention
which versions of which libraries are required, and also the version which
pkg-config has found.
2013-04-09 18:39:41 +02:00
Uwe Hermann 63cbeaeb59 configure.ac: Only enable rigol-ds1xx2 on Linux. 2013-04-09 17:59:47 +02:00
Uwe Hermann e4fad80b85 configure.ac: Cosmetics for the list of drivers.
Use the canonical driver name (all-lowercase, e.g. "serial-dmm") in the
list of enabled/disabled drivers that configure prints after a run.

It's common to many drivers that they support multiple devices, so
printing one device name (e.g. "ChronoVu LA8") is seldom really correct.
E.g. the agilent-dmm, asix-sigma, brymen-dmm, colead-slm, fluke-dmm,
fx2lafw, hantek-dso, lascar-el-usb, mic-985xx, openbench-logic-sniffer,
rigol-ds1xx2, uni-t-dmm, victor-dmm, and zeroplus-logic-cube drivers
all support more than just one device.

So, just print the driver name instead which is more correct anyway
since it's specifically a list of enabled/disabled drivers.
2013-04-09 17:49:14 +02:00
Uwe Hermann ccf35720c0 configure.ac: Improve a libusb-1.0 related check.
Don't rely on the "heuristic" that 'libusb_CFLAGS' will be non-empty if
libusb-1.0 was found, but rather use the proper method of checking the
variable 'have_libusb1_0' which pkg-config will set to "yes"/"no"
depending on whether it finds the library.
2013-04-09 17:49:14 +02:00
Uwe Hermann 3fd1d0ee1c configure.ac: Improve USB/EZUSB/serial checks.
- If libusb-1.0 is not found, do not compile in ezusb.c and usb.c since
   they require libusb.h. The respective hardware drivers that use
   libusb-1.0, and usb.c and/or ezusb.c will be excluded from the build
   elsewhere in configure.ac. Rename NEED_EZUSB to NEED_USB.

 - Drop the NEED_SERIAL check and always compile in serial.c. This is a
   very small chunk of code, it does not depend on any external
   libraries that might be missing, and it compiles on all architectures.
   Thus there's no need to conditionally include or exclude it.
2013-04-09 17:49:13 +02:00
Uwe Hermann ae4c3d0431 configure.ac: Fix the order of some entries.
In order for lib autodetection and disabling of drivers (which require
libs that cannot be found) to work, the order of AC_ARG_ENABLEs,
AM_CONDITIONALs, and AC_DEFINEs needs to be changed.

All drivers start out enabled or disabled (depending on whether
the --disable-drivers option was supplied or not). Then, any driver can
be enabled or disabled explicitly via --enable-<drivername> or the
resp. --disable-<drivername> option. Finally, pkg-config checks for all
libraries are performed, and all drivers which require a library that
cannot be found are disabled explicitly (regardless of any
--enable-<drivername> option that might have been supplied).
2013-04-09 17:49:13 +02:00
Uwe Hermann aba6926245 configure.ac: Improve pkg-config related checks.
Until now, we checked for certain (optional) libraries via pkg-config and
the configure script would abort if any of them was not found, even
though they were optional. It was up to the user to then figure out which
combination of --disable-<drivername> switches were required for his
specific OS (and set of installed libs) to get a working configure run.

Only if the user already specified enough --disable-<drivername>
switches beforehand, so that all drivers which require a missing library
were disabled, would the configure run not check for that specific lib
(and would thus not fail).

With this change, we now always unconditionally check for all libs
(required and optional) via pkg-config. However, whether an (optional) lib
is found or not, configure will not abort. Instead, it'll just disable
all drivers which need a lib that cannot be found.

The user will no longer have to supply --disable-<drivername> parameters
in order to get a working build.
2013-04-09 17:46:33 +02:00
Bert Vermeulen 5a7587cd03 set proper build defaults for brymen-dmm and mic-985xx drivers 2013-03-19 22:08:44 +01:00
Uwe Hermann 22ca5aa68b configure.ac: Add 'color-tests' (colorized 'make check'). 2013-03-17 13:22:22 +01:00
Uwe Hermann 57981a0716 configure.ac: Drop std-options, unneeded.
The automake 'std-options' option checks whether all installed tools
and scripts have a --help and --version CLI option. This check is not
needed for libsigrok though, since it doesn't install any tools.
2013-03-17 13:19:57 +01:00
Uwe Hermann 898c562fd3 autotools: Don't use "foreign" option.
This adds INSTALL and allows for a few more sanity checks being done.
2013-03-17 13:15:56 +01:00
Uwe Hermann bb203cde9d configure.ac: Add missing AM_PROG_CC_C_O. 2013-03-12 23:00:58 +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
Alexandru Gagniuc 20cbc7854d brymen-dmm: Initial driver skeleton. 2013-02-02 11:19:27 +01:00
Uwe Hermann 7ec5b54955 mic-985xx: Initial driver skeleton. 2013-02-01 23:52:57 +01:00
Uwe Hermann 7d39e2105f configure.ac: Drop AC_PROG_CXX.
We don't need a C++ compiler for libsigrok, so don't check for one.

This would cause a build failure on all systems where there is a C compiler
but no C++ compiler installed.
2013-01-19 21:20:56 +01:00
Uwe Hermann 262dd3e47d configure.ac: Drop gthread check, no longer used.
We no longer use gthread (its only user was the 'demo' driver), so drop
the 'configure' check for it.

The libsigrok.pc pkg-config file is still correct, since the 'configure'
result propagates there automatically.
2013-01-16 01:31:46 +01:00
Bert Vermeulen 8a22e8c0ff cosmetics 2013-01-14 00:59:46 +01:00
Bert Vermeulen dbf2482ec1 add --disable-all-drivers option
Can be overridden by driver --enable options to build only those drivers.
2013-01-14 00:52:55 +01:00
Uwe Hermann 8472ae868e configure.ac: Enable Link Instruments MSO-19.
This driver now compiles again and (partially) seems to work, so enable it.
2013-01-08 01:27:11 +01:00
Martin Ling f4816ac6cc rigol-ds1xx2: Initial driver skeleton. 2013-01-03 18:41:28 +01:00
Uwe Hermann bdd7618cd1 configure.ac: Fix CFLAGS settings.
Don't override/overwrite CFLAGS in configure.ac, but rather amend it
with (currently) "-Wall -Wextra -fvisibility=hidden".

This properly allows users/packagers to do things like:

 ./configure (this will default to using "-g -O2" additionally)

 CFLAGS="-g -O2" ./configure (same as above)

 CFLAGS="" ./configure (no additional flags)

 CFLAGS="-g -O0" ./configure (disable optimization, e.g. for valgrind use)

 etc. etc.
2012-12-28 12:10:01 +01:00
Bert Vermeulen 35a078bce5 nexus-osciprime: Initial driver skeleton. 2012-12-24 20:55:23 +01:00
Uwe Hermann 17dfb2c32c configure.ac: Improve check for libusb-1.0.
PKG_CHECK_MODULES() checks for libusb-1.0 via pkg-config already, no
need to use a "manual" additional check via AC_CHECK_LIB() just to set
HAVE_LIBUSB_1_0 in config.h.

This helps with cross-compiling setups, among other things.
2012-12-22 01:33:03 +01:00
Uwe Hermann 0254651dcb alsa: Update to latest APIs/conventions.
The alsa driver was out of date wrt APIs and libsigrok conventions in
general, and wasn't compiling.

This fixes the compile and updates it to _basically_ work with the current
state of analog support in libsigrok.

This is not finished/full support for ALSA analog sampling yet, though,
various TODOs remain that will be addressed later.
2012-12-20 14:42:15 +01:00
Bert Vermeulen 521a0cd357 cosmetics 2012-12-15 11:07:18 +01:00
Peter Stuge 44fc870c9c Add a struct sr_context * parameter to sr_driver_init()
Since the public API is changed, this commit also bumps the libtool
version component SR_LIB_VERSION_CURRENT in configure.ac.
2012-12-03 12:07:40 +01:00
Bert Vermeulen 46697e38b2 lascar-el-usb: Initial driver skeleton. 2012-12-03 03:53:44 +01:00
Uwe Hermann 162b735218 Remove some radioshack-dmm leftovers. 2012-12-02 22:22:07 +01:00
Uwe Hermann 7f64e88fa9 Reduce glib minimum version to 2.28.0 again.
We no longer use g_thread_try_new() which is only available since 2.32.0.
2012-12-02 16:09:31 +01:00
Uwe Hermann 21a7f2692e Rename tekpower-dmm to serial-dmm.
This is now a generic driver for multiple DMM "subdrivers" that use simple
serial port protocols.
2012-12-02 14:21:18 +01:00
Uwe Hermann e42b82a66f configure.ac: Update NEED_SERIAL list. 2012-11-14 18:29:27 +01:00
Uwe Hermann bda8fc98b1 Drop obsolete genericdmm driver. 2012-11-14 15:26:11 +01:00
Uwe Hermann aa2af32432 tondaj-sl-814: Initial driver skeleton. 2012-11-10 01:01:28 +01:00
Bert Vermeulen ac3898d2d0 victor-dmm: Initial driver skeleton. 2012-11-06 15:16:22 +01:00
Bert Vermeulen 4d729ddcaf colead-slm: Initial driver skeleton. 2012-11-02 15:24:30 +01:00
Bert Vermeulen 7445ed9158 require glib version >= 2.32
This allows us to do away with a few deprecated g_thread functions
in demo.c which throw deprecation warnings since glib 2.32.0.
2012-10-29 22:08:34 +01:00
Uwe Hermann 79081ec80c Initial support for UNI-T DMMs.
This is not yet fully finished, but works for most use-cases.

Tested with a UNI-T UT61D using the UT-D04 USB/HID cable (new version).
2012-10-27 23:17:30 +02:00
Uwe Hermann 9eb2bb9601 configure.ac: Cosmetics. 2012-10-27 22:25:04 +02:00
Uwe Hermann bbabddbd64 tekpower-dmm: Cosmetics, coding-style, consistency fixes. 2012-10-27 22:25:04 +02:00
Alexandru Gagniuc 7dc55d930f Add support for the TekPower TP4000ZC DMM.
Also known as Digitek DT4000ZC.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-10-27 22:25:04 +02:00
Uwe Hermann 6f669a68e7 configure.ac: Small consistency fixes. 2012-10-24 02:51:17 +02:00
Bert Vermeulen 589a10135a clean up autoconf/autobuild scripts 2012-10-22 01:48:39 +02:00
Uwe Hermann d11d606626 We now require libusb >= 1.0.9.
This is due to the use of libusb_error_name().
2012-10-21 22:44:00 +02:00
Bert Vermeulen 7b0a85c81c radioshack-dmm: build fixes 2012-10-15 18:25:48 +02:00