Commit Graph

81 Commits

Author SHA1 Message Date
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
Aurelien Jacobs 9d3ae01b37 rigol-ds: use the new scpi scan API 2014-02-07 18:53:04 +01:00
Aurelien Jacobs 17bdda5868 scpi: add a struct drv_context parameter to scpi_dev_inst_new() 2014-02-07 18:53:04 +01:00
Aurelien Jacobs 6e94eb4142 rigol-ds: apply :KEY:LOCK DISABLE only to DS1K 2014-02-07 18:53:04 +01:00
Aurelien Jacobs 3918fbb0cf rigol-ds: properly end WAIT_TRIGGER event handling 2014-02-07 18:53:04 +01:00
Aurelien Jacobs 83dbd9f09c rigol-ds: properly deal with dev_close() getting called multiple times 2014-02-07 18:53:04 +01:00
Bert Vermeulen 464d49360a rigol-ds: Deal with dev_close() getting called multiple times. 2014-01-27 21:19:41 +01:00
Daniel Elstner ca9b9f4834 hwdriver: Change TRIGGER_SLOPE setting to string type.
Drivers interpreted the uint64 values to the SR_CONF_TRIGGER_SLOPE
configuration setting in different ways.  In order to orthogonalize
the API, change the type of the setting to a string with the same
format as uses for logic probes.
2014-01-27 20:55:01 +01:00
Martin Ling fe0d9caa88 rigol-ds: Fix a couple of compile warnings. 2014-01-23 23:12:37 +01:00
Martin Ling 4472867a9f rigol-ds: Don't run rigol_ds_block_wait() code unless supported. 2014-01-23 01:42:34 +01:00
Martin Ling aff00e4088 rigol-ds: Fix partial read handling in header parser. 2014-01-23 01:42:34 +01:00
Martin Ling 824eb2acfd rigol-ds: Fix divide by zero when no analog probes selected. 2014-01-23 01:42:34 +01:00
Martin Ling 7d63347e90 rigol-ds: Stop capture cleanly on read errors. 2014-01-23 01:42:33 +01:00
Martin Ling ae3a191366 rigol-ds: Improve protocol debugging output, abort on read errors. 2014-01-23 01:42:33 +01:00
Martin Ling 2b399703d1 rigol-ds: Only protocol v3 adds trailing linefeeds to data blocks. 2014-01-23 01:42:33 +01:00
Martin Ling 569d4dbd3e rigol-ds: Overhaul vendor/series/model info and protocol variants. 2014-01-23 01:42:33 +01:00
Martin Ling e086b750fa rigol-ds: Overhaul VS5000 and DS1000 support.
This change moves the handling of series differences out to the points in the
code where they actually matter, unifying the overall structure of the code.

It also adds new VS5000/DS1000 series equivalents for commands that were
previously only implemented on the later models.

After this change, trigger waiting and the 'Memory' data source are supported
on the VS5000/DS1000 series.
2014-01-23 01:42:33 +01:00
Martin Ling 38354d9d9e rigol-ds: Use common rigol_ds_config_set() function throughout. 2014-01-23 01:42:33 +01:00
Martin Ling 22c196883d rigol-ds: Disable key lock when closing device. 2014-01-21 17:52:23 +01:00
Martin Ling 10d309c8ab rigol-ds: DS1000 series still needs the stupid delay. 2014-01-21 13:10:29 +01:00
Bert Vermeulen 8dd0b290eb rigol-ds: On DS1000 with firmware < 0.2.4, use legacy protocol.
Apparently the ASCII header containing length was only added in version
0.2.4.
2014-01-21 13:05:06 +01:00
Bert Vermeulen fcdebbe89c rigol-ds: Shorten vendor name. 2014-01-20 19:08:10 +01:00
Aurelien Jacobs 2b0e4a468a rigol-ds: add support for more keys in config_get() 2014-01-20 00:34:57 +00:00
Aurelien Jacobs 72ecba02f4 rigol-ds: use appropriately defined NUM_VDIV constant 2014-01-20 00:34:57 +00:00
Aurelien Jacobs 8e06edf528 rigol-ds: add more valid timebases for DS2302 2014-01-20 00:34:57 +00:00
Aurelien Jacobs 889ef4a01c rigol-ds: fix set_cfg() calls with float parameters to avoid locale issues 2014-01-20 00:34:56 +00:00
Martin Ling f76c24f6fd rigol-ds: Send FRAME_BEGIN and FRAME_END per frame, not per channel. 2014-01-20 00:24:57 +00:00
Martin Ling bac11aeb1b rigol-ds: Cleanup and fix check for short data blocks. 2014-01-20 00:24:57 +00:00
Martin Ling 51bfe5363a rigol-ds: Use *OPC? command rather than delay to await completion. 2014-01-20 00:24:57 +00:00
Martin Ling 334fbc2ac0 rigol-ds: Use standard sr_scpi_get functions, remove internal versions. 2014-01-20 00:24:57 +00:00
Martin Ling 470140fc0d rigol-ds: DS1000 series actually use IEEE488.2 data block format. 2014-01-20 00:24:57 +00:00
Martin Ling d22250a96a rigol-ds: Correct digital waveform block sizes. 2014-01-20 00:24:14 +00:00
Martin Ling 3ed7a40c75 rigol-ds: Check SCPI read is complete after reading expected block length. 2014-01-20 00:24:14 +00:00
Martin Ling 904fd29b72 rigol-ds: Update which channels are enabled after making changes. 2014-01-20 00:24:14 +00:00
Uwe Hermann c2b394d562 rigol-ds: Minor whitespace fixes. 2014-01-17 02:03:09 +01:00
Martin Ling 04e8e01ec6 rigol-ds: Enable/disable LA pod when (de)selecting digital channels. 2014-01-17 01:52:29 +01:00
Martin Ling 51b294cd01 rigol-ds: Reset num_frames to zero in dev_acquisition_start. 2014-01-17 01:52:29 +01:00
Martin Ling b751cf7a82 rigol-ds: Make sure to always send SR_DF_END at end of capture. 2014-01-17 01:52:29 +01:00
Martin Ling 4914dd4b9a rigol-ds: Calculate effective samplerate. 2014-01-17 01:52:29 +01:00
Martin Ling 5415e60247 rigol-ds: Separate function to compute analog frame size. 2014-01-17 01:52:29 +01:00
Martin Ling c1bcb8cc63 rigol-ds: Advertise SR_CONF_LIMIT_FRAMES support. 2014-01-17 01:52:29 +01:00
Martin Ling 969edf6306 rigol-ds: Fix check for probe group validity. 2014-01-17 01:52:29 +01:00
Martin Ling bfaf112b68 rigol-ds: Use correct digital channel numbers when fetching config. 2014-01-14 18:28:19 +00:00
Aurelien Jacobs d993d8d39d rigol-ds: remove lonely break 2014-01-14 00:01:50 +01:00
Aurelien Jacobs a31b2ccbd8 rigol-ds: prevent config_list() to return empty g_variant
This fixes the following glib message:
$ ./sigrok-cli -d rigol-ds --show
[...]
g_variant_builder_end: assertion '!GVSB(builder)->uniform_item_types || GVSB(builder)->prev_item_type != NULL || g_variant_type_is_definite (GVSB(builder)->type)' failed
2014-01-14 00:01:50 +01:00
Aurelien Jacobs c3515cea44 scpi: factorize dev_inst_new calls out of individual drivers 2014-01-11 22:36:46 +01:00
Aurelien Jacobs d5876cfb4a scpi: add VXI transport support 2014-01-11 22:36:09 +01:00
Aurelien Jacobs a53278de01 rigol-ds: fix waveform reception on DS2000 series
The ":WAV:DATA?" scpi command must be sent before calling
sr_scpi_read_begin().
2014-01-03 17:54:47 +01:00
Aurelien Jacobs 036d378a62 rigol-ds: add a few more DS2000 models to the supported list 2014-01-03 17:54:47 +01:00
Martin Ling 0709197deb rigol-ds: Correct usage of NUM_TIMEBASE and NUM_VDIV config keys. 2013-12-29 13:22:32 +01:00