Commit Graph

1478 Commits

Author SHA1 Message Date
Bert Vermeulen bc1c2f001a Use GVariant for sr_config_*() functions
sr_config_get() provides a GVariant owned by the caller, so it must be
released with g_variant_unref() when done.

sr_config_set() takes a GVariant from the caller which may be floating;
it will be properly sunk and release after use by this function. Thus
the output of g_variant_new_*() may be used as an argument.

sr_config_list() also provides a GVariant owned by the caller, to be
unreferenced when done.

sr_config_make() can take a floating reference.
2013-04-11 18:32:06 +02:00
Bert Vermeulen 13d8e03c4f Bump copyright year 2013-04-11 18:32: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 bbe6e336b3 vcd output: Build fix for Windows/MinGW.
On Windows/MinGW 'recv' seems to be already defined in windows.h/winsock2.h.

Use 'receive' instead, for now, otherwise we get an error:

vcd.c:147:17: error: conflicting types for 'recv'
2013-04-09 18:57:20 +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 3f98bf7017 Fix kernel driver attached check
The check is really only broken on darwin, but useful on all other
platforms, even if only Linux can actually detach a driver.
2013-04-07 14:14:16 +02:00
Bert Vermeulen 8c971b6e5c hantek-dso: cosmetics 2013-04-07 14:01:03 +02:00
Uwe Hermann 67b5fba8ca Doxygen: Exclude std.c and tests/*.
These don't contain any public API functions or macros and thus should
not appear in the ("public API" version of) the Doxygen docs.
2013-04-06 19:29:13 +02:00
Uwe Hermann c27e5f1e82 Doxygen: Properly document and handle version.h. 2013-04-06 19:25:29 +02:00
Uwe Hermann ca0938c50b Doxygen: Fix a few warnings. 2013-04-06 19:25:23 +02:00
Bert Vermeulen 7b78b2f78f hantek-dso: use per-device firmware filenames 2013-04-02 14:20:29 +02:00
Uwe Hermann 3ebce226a2 s/sr_config_make/sr_config_new/.
This matches the naming of other/similar functions better.
2013-03-23 14:16:00 +01:00
Uwe Hermann 333bf022e3 rigol-ds1xx2: Use ARRAY_SIZE. 2013-03-23 14:14:58 +01:00
Alexandru Gagniuc 3864648bb6 serial-dmm: Add support for RadioShack 22-805
Protocol-wise, this is identical to the 22-168, except that it communicates at
600 baud instead of 1200 baud.
2013-03-20 20:36:56 -05: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 cc840ab618 serial.c: FreeBSD and OpenBSD don't have OFILL either. 2013-03-17 15:07:50 +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 9d67e248ca Don't make README.devices executable. 2013-03-17 13:16:04 +01:00
Uwe Hermann ba642e8678 README: Refer to INSTALL and new Building wiki page. 2013-03-17 13:16:03 +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
Bert Vermeulen 8e77bc20b9 lascar-el-usb: push samplerate before data log 2013-03-16 21:52:02 +01:00
Bert Vermeulen 7231a14590 add SR_CONF_SAMPLE_INTERVAL
Expresses the time between samples, in milliseconds. This can be used
for devices with a samplerate > 1 second, such as dataloggers, which
cannot be expressed with SR_CONF_SAMPLERATE.
2013-03-16 21:52:02 +01:00
Uwe Hermann c77ed446f2 Add initial README.devices file. 2013-03-14 19:49:33 +01:00
Uwe Hermann bb203cde9d configure.ac: Add missing AM_PROG_CC_C_O. 2013-03-12 23:00:58 +01:00
Bert Vermeulen 361d15110c lascar-el-usb: support for SR_CONF_DATALOG 2013-03-11 16:37:02 +01:00
Bert Vermeulen e6551ea640 add SR_CONF_DATALOG 2013-03-11 16:37:02 +01:00
Bert Vermeulen 9857276261 ols: use ptr to int dereference for SR_T_BOOL
This mad ptr to int casting has to go.
2013-03-11 16:37:02 +01:00
Uwe Hermann 218e629fa4 sr_init(): Sanity-check input/output modules. 2013-03-10 18:27:19 +01:00
Uwe Hermann 0b4b41eed8 Add missing ULL suffixes to SR_MHZ() et al.
This fixes bug #72.
2013-03-09 12:20:17 +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
Bert Vermeulen d5585e32dd output/vcd: use new API 2013-03-06 23:14:00 +01:00
Bert Vermeulen 2474d87e8c demo: sync get/set options 2013-03-03 21:21:08 +01:00
Uwe Hermann a819da9c25 Drop deprecated sr_session_halt().
This has been deprecated in favor of sr_session_stop() since a while.

None of the current frontends use sr_session_halt() anymore, neither
does libsigrok.
2013-03-03 18:02:24 +01:00
lelazary 365f04d61f mso-19: Initial analog probe support (unfinished).
- Added the analog probe (unfinished).

 - Reset trigger to state to 0 before capture, just incase the scope is in
   the middle of a capture.
2013-03-03 17:59:06 +01:00
lelazary 5952553f56 mso-19: Fixed warning. 2013-03-03 17:58:46 +01:00
Uwe Hermann 07e1aad5c4 doxygen: Add more output format docs.
This is largely taken from the respective wiki page (with some updates
and improvements), which will be removed in favor of the doxygen docs.
2013-02-24 14:31:15 +01:00
Uwe Hermann 8368734386 doxygen: Add more input format docs.
This is largely taken from the respective wiki page (with some updates
and improvements), which will be removed in favor of the doxygen docs.
2013-02-24 14:31:15 +01:00
Bert Vermeulen 1d36b4d27f input: new WAV file module 2013-02-21 15:21:20 +01:00
Bert Vermeulen 543d45c581 input: feed the filename to the module's init() function
This is essential if a format contains e.g. the number of probes; the
init() function needs to initialize the sr_dev_inst struct, but needs
access to the file to properly add the probes to it.
2013-02-21 15:21:20 +01:00
Uwe Hermann ff17e6ba50 mic985xx: Add missing memset(). 2013-02-11 18:23:17 +01:00
Uwe Hermann 6f3e5335ad mic-985xx: Add support for the MIC 98581.
This device only supports temperature measurements, no humidity.
2013-02-11 16:53:28 +01:00
Bert Vermeulen be6db330f8 hantek-dso: minor fixes 2013-02-10 17:06:56 +01:00