Commit Graph

357 Commits

Author SHA1 Message Date
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
Alexandru Gagniuc d375b3c3ec radioshack-dmm: Add support for Radioshack 22-812 DMM
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-10-15 17:32:58 +02:00
Bert Vermeulen 883a2e9e71 fluke-dmm: initial driver skeleton 2012-09-25 19:53:05 +02:00
Bert Vermeulen 7c1cb432b8 sr: enable genericdmm and agilent-dmm drivers by default 2012-09-10 22:14:37 +02:00
Bert Vermeulen 6ac0db19f3 sr: add new agilent-dmm driver (Agilent U12xxA multimeters) 2012-09-02 15:42:56 +02:00
Bert Vermeulen ef2345bc29 sr: build: hantek-dso driver requires libusb as well 2012-08-03 11:29:00 +02:00
Uwe Hermann 615183ea16 sr: Drop mastech-va18b, code will be in genericdmm. 2012-07-11 12:57:15 +02:00
Bert Vermeulen 28b9dd1861 sr: fix conditional build for ezusb and serial helpers 2012-07-11 12:36:49 +02:00
Bert Vermeulen 45c59c8bdd sr: moved sigrok.h so libsigrok/libsigrok.h
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.

The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
2012-07-05 01:17:28 +02:00
Bert Vermeulen ca3d84cca1 sr: add genericdmm driver 2012-07-01 22:37:15 +02:00
Bert Vermeulen 5d4fb4fc0d fx2lafw: enable driver build by default 2012-07-01 15:29:57 +02:00
Uwe Hermann 163f0523f6 sr: Mastech VA18B: Partial protocol supports (WIP).
Disable the driver for now, as it's not usable for the general public, yet.
2012-06-28 22:57:03 +02:00
Bert Vermeulen e21e846330 sr/srd/cli: require glib version >= 2.28
Needed for g_get_monotonic_time(). Thanks to Tomaž Šolc.
2012-06-23 01:26:20 +02:00
Uwe Hermann eb1f1eb407 sr: Unfinished Mastech VA18B (DMM) support. 2012-06-21 23:56:24 +02:00
Uwe Hermann 63298404df sr: Increase pkg version to 0.2.0, increase lib version. 2012-06-01 00:36:52 +02:00
Bert Vermeulen 3b533202c8 sr: initial support for Hantek 2xxx/5200 USB oscilloscopes 2012-05-30 23:56:12 +02:00
Uwe Hermann 8fdecced96 sr: Consistently use ZEROPLUS spelling.
This is the version used throughout their website, let's use it.
2012-05-30 23:23:14 +02:00
Uwe Hermann 2f3a6df8e4 sr: Increase version number to 0.1.1. 2012-05-30 09:35:13 +02:00
Uwe Hermann fb6f1978ed sr: New default firmware dir: $prefix/share/sigrok-firmware.
We no longer expect firmware files to be in the
$prefix/share/libsigrok/firmware directory, as that would require an
additional (distro) package 'sigrok-firmware' or the like to install
files into another package's (libsigrok) path, which can be problematic.

The current 'sigrok-firmware' repo's "make install" will already install
all files into $prefix/share/sigrok-firmware.
2012-05-30 00:00:33 +02:00
Pekka Nikander 432e5e95f5 sr/srd/cli: Fix compiling with Homebrew.
Add ACLOCAL_DIR setting and AM_PROG_AR macro for compiling with Homebrew
under Mac OS X.

Applies essentially the same change to
{libsigrok,libsigrokdecode,sigrok-cli}/{autogen.sh,configure.ac}

It may be that the same fix is needed for the other autogen.sh and/or
configure.ac files, but that hasn't been tested and therefore not in
this commit.
2012-05-15 20:58:20 +02:00
Uwe Hermann 6352d030df sr: We support both SIGMA and SIGMA2.
Also, a few minor coding-style fixes etc.
2012-05-03 01:41:02 +02:00
Håvard Espeland e210c6c090 sr: Remove zlib dependency.
No longer needed by Sigma driver.
2012-04-22 14:59:10 +02:00
Joel Holdsworth 824b1a8f5c sr: Deleted the saleae-logic driver, fx2lafw has superceded it. 2012-04-19 00:12:22 +02:00
Joel Holdsworth d56ee26599 sr: Disable saleae-logic driver by default and enable fx2lafw 2012-04-19 00:12:22 +02:00
Uwe Hermann 2e26e0aa0b sr: Disable fx2lafw driver again (for now).
After some more testing, it will probably be enabled by default and will
replace/deprecate the Saleae Logic driver at some point.
2012-03-31 11:57:46 +02:00
Uwe Hermann 6dddd90224 sr: SR_PACKAGE_VERSION_* for consistency.
No need to use the LIBSIGROK_ prefix here when we use SR_ everywhere
else. Also, better distinction between package version and lib version.
2012-03-31 11:35:47 +02:00
Uwe Hermann 85a77720c6 sr: sigrok.h: Add version macros. 2012-03-24 21:54:57 +01:00
Uwe Hermann 4937b23551 sr: Rename sigrok.h. to sigrok.h.in, needed soon. 2012-03-24 21:54:56 +01:00
Uwe Hermann b5750520bb sr: Enable fx2lafw driver per default. 2012-03-21 23:20:09 +01:00
Uwe Hermann a4d3985678 sr/cli/gtk/qt: Fix package version numbers / docs.
The next (and first) libsigrok release will be called 0.1.0.

The next (and first) libsigrokdecode release will be called 0.1.0.

The next sigrok-cli release will be called 0.3.0 (as we already had a 0.1
and 0.2 release of sigrok-cli; those did not yet use the libs, though).

sigrok-gtk and sigrok-qt didn't have any releases yet, so their version
numbers are set to 0.1.0.

Also, consistently use three numbers/digits for our version numbers.
2012-03-21 23:20:08 +01:00
Joel Holdsworth f302a08256 fx2lafw: Added empty hardware module for fx2lafw 2012-02-25 09:11:53 +00:00
Bert Vermeulen c73d2ea421 sr: adjust copyright year 2012-02-13 14:31:51 +01:00
Bert Vermeulen 040ae8be94 sr: sigrok.h is no longer generated 2012-02-12 20:43:20 +01:00
Uwe Hermann 44b6aafdb7 sr: FreeBSD has zlib, but no pkg-config file for it. 2012-02-11 00:34:16 +01:00
Uwe Hermann 1a081ca67d sr: Mark API functions with SR_API/SR_PRIV.
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.

Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.

This uses the 'visibility' feature of gcc (requires gcc >= 4.0).

Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Uwe Hermann ef7228ba49 Update/enforce/document our build requirements. 2012-01-28 21:26:56 +01:00
Uwe Hermann 8e43129c10 A few more fixes for configure.ac files.
Add missing checks and quotes, remove superfluous checks, etc.
2012-01-04 15:42:24 +01:00
Uwe Hermann 4abf8dd0a5 srd: Show config summary, libs, and Python info. 2012-01-04 02:41:33 +01:00
Uwe Hermann 45aed0721c sr: configure.ac: Print more summary info.
- Package version (major.minor.micro)

 - Library version (current:revision:age)

 - Installation prefix (usually /usr/local)

 - Detected libraries and their versions (only for pkg-config libs)
2012-01-04 02:22:17 +01:00
Uwe Hermann 3af71f0da6 sr: configure.ac: Fix version number magic. 2012-01-04 00:36:53 +01:00
Uwe Hermann d8521c939f Put most autotools files into autostuff/.
This yields a slightly more "tidy" top-level directory.
2012-01-03 23:34:31 +01:00
Uwe Hermann 8e190238d7 sr: Put files into .../share/libsigrok. 2012-01-03 20:06:36 +01:00
Uwe Hermann db8ae7b941 sr/srd: Remove/fix non-applicable autotools stuff. 2011-12-30 11:14:24 +01:00
Uwe Hermann 826938d81e sr/srd: Move some files to their resp. dirs. 2011-12-30 11:14:05 +01:00