Commit Graph

91 Commits

Author SHA1 Message Date
Aurelien Jacobs 99af83b738 rigol-ds: fix long memory depth setting on DS1000 2014-04-06 22:47:44 +02:00
Bert Vermeulen 0bcfc9dcd8 rigol-ds: Don't close SCPI handle we didn't open. 2014-03-27 15:13:24 +01:00
Aurelien Jacobs 5d336f1130 rigol-ds: Add the TRIGGER_SLOPE entry to config_get() and config_list() 2014-03-25 23:11:31 +01:00
Uwe Hermann 3f239f0803 Rename various *PROBE* macros to *CHANNEL*.
This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann 56d0d24535 Rename sr_probe_new() to sr_channel_new().
This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann ba7dd8bbb8 Replace 'probe' with 'channel' in most places.
Also, consistently use 'ch' for channel variables. This matches how we
consistently use sdi, devc, and so on all over the code-base.

This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann 91aea754aa Rename 'struct sr_probe' to 'struct sr_channel' everywhere.
This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann 53b4680fce Consistently use 'cg' for channel group variables.
This matches how we consistently use sdi, devc, and so on all over
the code-base.

This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann a68bf88e3a Replace channel_group.probes with channel_group.channels.
This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
Uwe Hermann 660e398fe9 Replace 'probe group' with 'channel group' everywhere.
The name 'probe' (and thus 'probe group') is a relic from the times when
sigrok was mostly about logic analyzers. Nowadays we support a lot more
device types where 'probe' is not really a good term and 'channel' is
much better suited.

This fixes parts of bug #259.
2014-03-25 20:58:54 +01:00
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