Commit Graph

199 Commits

Author SHA1 Message Date
Martin Ling bbff0fe0d2 manson-hcs-3xxx: Mark serial read call as blocking.
This driver opens the port without the SERIAL_NONBLOCK flag, so this call is
already a blocking one.
2014-09-24 23:18:20 +02:00
Martin Ling bf505eed6b serial_readline: Implement using sp_blocking_read. 2014-09-24 23:18:20 +02:00
Martin Ling 18e4d5bc45 serial_stream_detect: Make read nonblocking.
This code implements its own waiting based on baudrate, so the read itself
should be nonblocking. In general it will have been already, since drivers
almost universally use the SERIAL_NONBLOCK flag.
2014-09-24 23:18:20 +02:00
Soeren Apel 2fe6210af6 Add serial_num and connection_id fields to sr_dev_inst 2014-09-24 00:40:03 +02:00
Soeren Apel db156e5409 Add usb_get_port_path() helper function
There is currently no way to uniquely identify USB devices in
libsigrok. It uses the "bus.address" scheme which is only
constant as long as the device remains attached to the bus.
In order to allow USB device persistence in PulseView, devices
need to provide a unique identifier even in absence of a
serial number. This function is the first step as it provides
the ability to query the physical location of a USB device.
2014-09-24 00:40:03 +02:00
Bert Vermeulen f12d997948 demo: Fix pattern mode and amplitude option publishing. 2014-09-23 22:40:47 +02:00
Bert Vermeulen 9a10ce65d6 colead-slm: Properly check acquisition sample limit. 2014-09-23 22:27:34 +02:00
Bert Vermeulen 79f92686c6 session: Don't try to send packets if no session has been set.
This indicates a bug, but let's not segfault if it happens.
2014-09-22 00:47:22 +02:00
Bert Vermeulen 04c2f202f2 input/chronovu_la8: Fix broken I/O loop. 2014-09-22 00:47:22 +02:00
Uwe Hermann af945a6625 Typos and consistency fixes. 2014-09-19 01:03:32 +02:00
Bert Vermeulen d4ccb6bd8f yokogawa-dlm: Don't implement dummy scan options. 2014-09-17 17:41:41 +02:00
Bert Vermeulen 5827f61b64 Publish config key capabilities.
Every driver now publishes its device option config keys, i.e. the
list fetched with sr_config_list(SR_CONF_DEVICE_OPTIONS), with a
set of flags indicating which methods are implemented by the driver
for that key.

The config keys are OR'ed with any combination of SR_CONF_GET,
SR_CONF_SET and SR_CONF_LIST. These are defined as the high bits
of the uint32_t config key. Clients can OR config keys with
SR_CONF_MASK to strip out these bits. This mask will be kept up to
date if other bits are added to the capabilities list; clients MUST
therefore use SR_CONF_MASK for this.

Some keys don't have capability bits added, such as the informative
device type keys (SR_CONF_MULTIMETER, SR_CONF_OSCILLOSCOPE, ...) and
SR_CONF_CONTINUOUS.

Scan options do not have capabilities bits.
2014-09-17 15:36:11 +02:00
Bert Vermeulen 138589b02e beaglelogic: Add missing scan options, and cleanup. 2014-09-16 23:51:38 +02:00
Bert Vermeulen a0e0bb4149 Consistently use 'scanopts' variable across all drivers. 2014-09-16 22:19:02 +02:00
Bert Vermeulen f254bc4bba Consistently use 'devopts' variable across all drivers. 2014-09-16 22:11:39 +02:00
Bert Vermeulen 584560f142 Change type of SR_CONF keys to uint32_t. 2014-09-16 21:22:41 +02:00
Martin Ling 13fef1ed24 hwdriver: Validate types of GVariants passed by user. 2014-09-14 04:47:12 +01:00
Martin Ling edbd09250b scpi: Remove trailing carriage returns. 2014-09-11 17:20:28 +02:00
Bert Vermeulen 25f20faf0d input: Add debug output. 2014-09-10 22:55:50 +02:00
Bert Vermeulen 88189019ac input/binary: Fix broken I/O loop. 2014-09-10 22:53:28 +02:00
Bert Vermeulen 013ec84b83 Don't start session with 0-channel devices.
Drivers aren't really able to deal with that in some cases, and it
denotes a frontend bug.
2014-09-10 18:21:51 +02:00
Bert Vermeulen cfd8ec53ab scpi: Don't return NULL device from unsuccessful scan. 2014-09-09 19:53:55 +02:00
Bert Vermeulen bfc8679937 scpi-pps: Clean up HP 6632B profile. 2014-09-09 13:24:30 +02:00
Bert Vermeulen 331f56543a scpi-pps: Fix compile warning. 2014-09-08 23:31:54 +02:00
Bert Vermeulen fdedbfcdef scpi-pps: Fix config_set checks. 2014-09-08 23:30:21 +02:00
Aurelien Jacobs effb9dd1c2 rigol-ds: replace some magic numbers by appropriate constant or variable
This fixes bug #406.
2014-09-08 12:58:30 +02:00
Bert Vermeulen bc4a2a46ed Add support for HP 6632B. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 01b0257aef scpi-pps: Create one channel per MQ/output combination.
This allows frontends to trivially select which MQs on which channels
they want to see; others won't even be fetched.
2014-09-08 12:45:21 +02:00
Bert Vermeulen 379d260965 Add private storage pointer to struct sr_channel. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 478c8d923e scpi-pps: Simplify SCPI command handling. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 3222ee103d scpi-pps: Add support for Rigol DP831A/DP832A. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 58b77c41ff scpi-pps: Use regex to match model names. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 22c18b0370 scpi-pps: Generalize vendor name cleanup. 2014-09-08 12:45:21 +02:00
Bert Vermeulen d4eabea847 scpi-pps: Add support for Rigol DP832. 2014-09-08 12:45:21 +02:00
Bert Vermeulen 9e45cd41fd scpi-pps: Add basic cross-vendor PPS functionality. 2014-09-08 12:45:21 +02:00
Bert Vermeulen a1eaa9e066 Revamp PPS-related config keys. 2014-09-08 12:45:21 +02:00
Bert Vermeulen ca1a7cb56f scpi-pps: Initial driver skeleton. 2014-09-08 12:45:21 +02:00
Aurelien Jacobs af1e487e3f brymen-bm86x: Add current loop sensor support. 2014-09-06 17:22:03 +02:00
Bert Vermeulen 7343ad1ec7 scpi/gpib: Rename backend to scpi_libgpib.
libgpib is the userspace component to linux-gpib's kernel modules that
implement low-level interface drivers.

When libsigrok gets userspace GPIB interface drivers, that backend will
be the "official" scpi_gpib.
2014-09-05 18:33:48 +02:00
Martin Ling bb2a4ed407 Add GPIB SCPI backend using linux-gpib and libgpib. 2014-09-05 10:34:04 +01:00
Bert Vermeulen e8779db70c input/wav: Now really correctly check supported sample size. 2014-09-02 22:09:17 +02:00
Bert Vermeulen 110fe1b4a2 agilent-dmm: U124xx/U125xx: Add current loop sensor support.
Also fixes frequency support.
2014-09-02 21:55:52 +02:00
Bert Vermeulen e82d34a9c2 scpi/usbtmc: Minor debug output changes. 2014-09-02 21:27:16 +02:00
Bert Vermeulen 73145219c0 input/wav: Correctly check supported sample size. 2014-09-02 21:26:15 +02:00
Marcus Comstedt 28d9df7292 input/wav: Fix broken handling of float32 samples on big endian
Also, make sure that floats are 32 bit even in the case of an
extensible header.
2014-09-02 19:14:25 +02:00
Bert Vermeulen c7f5219e62 agilent-dmm: Add temperature regex to U125xx parser. 2014-09-02 01:01:56 +02:00
Bert Vermeulen a965748ae2 agilent-dmm: U124xx/U125xx: support 5 more modes.
This adds support for resistance, capacitance, frequency, continuity,
and temperature.
2014-09-02 00:55:41 +02:00
Matthias Heidbrink 5791bdf604 gmc-mh-1x-2x-rs232: Completed energy measurement ranges (V, A, W) for Metrahit 29S. 2014-09-01 23:14:56 +02:00
Bert Vermeulen ee2bcdfc44 agilent-dmm: U124x/U125x fixes. 2014-09-01 21:44:37 +02:00
Uwe Hermann 129d5bc961 error.c: Add missing entries. 2014-09-01 00:08:53 +02:00
Soeren Apel ac10a927b5 yokogawa-dlm: Replace g_try_malloc() calls and fix coding style 2014-08-31 00:42:10 +02:00
Soeren Apel 0028d5a1ee yokogawa-dlm: Lower timeout to increase throughput and fix data acq bug 2014-08-31 00:42:10 +02:00
Soeren Apel af3487ec28 yokogawa-dlm: Do not block when receiving and save frame length in scope state 2014-08-31 00:42:10 +02:00
Soeren Apel 8ab929d614 yokogawa-dlm: Flesh out driver with current state of development 2014-08-31 00:42:10 +02:00
Soeren Apel 107639373d yokogawa-dlm: Integrate driver skeleton 2014-08-31 00:42:10 +02:00
Bert Vermeulen 6e8d95a50c input/csv: Use uint64 for samplerate option. 2014-08-30 20:16:45 +02:00
Bert Vermeulen edd28877cc input/chronovu_la8: Use uint64 for samplerate option. 2014-08-30 20:15:30 +02:00
Bert Vermeulen 10288172be input/binary: Use uint64 for samplerate option. 2014-08-30 20:13:13 +02:00
Bert Vermeulen 4edba404b0 agilent-dmm: Add U124xx device IDs. 2014-08-30 19:32:15 +02:00
Bert Vermeulen 173378f0f5 agilent-dmm: Add provisional support for the U124xx. 2014-08-29 23:42:06 +02:00
Bert Vermeulen f857bd928d agilent-dmm: Assume all A and B models are identical on the wire. 2014-08-29 23:42:06 +02:00
Bert Vermeulen 51b92b7da4 agilent-dmm: Add RMS flag to AC voltage modes. 2014-08-29 23:42:06 +02:00
Bert Vermeulen f216eb8699 agilent-dmm: Correctly parse negative overload. 2014-08-29 23:42:06 +02:00
Uwe Hermann e6284bf09f Remove unneeded subdriver debug messages. 2014-08-29 23:02:22 +02:00
Bert Vermeulen 7c03b56443 agilent-dmm: Fix value parser.
This considered 0.0 to be an invalid result for no good reason.
2014-08-28 17:44:24 +02:00
Peter Zotov 6f479a0a72 Add support for mcupro Logic16, a Saleae Logic16 clone.
From sigrok's point of view, this analyzer has two differences:

  * It does not require uploading the firmware.
  * It returns garbage in some registers used for sanity checks.
    Saleae's software ignores that garbage; sigrok only does if it
    specifically detects the mcupro clone.
2014-08-28 14:03:21 +02:00
Bert Vermeulen 4f979115a4 input: sr_input_scan_*() now return a status code.
SR_OK: a match was found.
SR_ERR: no match.
SR_ERR_DATA: a match was found but the module cannot handle the input.
SR_OK_CONTINUE: some module didn't have enough data to be sure.
2014-08-28 00:22:13 +02:00
Bert Vermeulen aad21bd866 Add error string for SR_OK_CONTINUE. 2014-08-28 00:19:36 +02:00
Bert Vermeulen b7f446051c Add SR_ERR_DATA. 2014-08-28 00:19:21 +02:00
Bert Vermeulen cbd9e6e987 input/wav: Support for WAVE_FORMAT_EXTENSIBLE.
This is needed for supporting > 16-bit PCM samples.
2014-08-27 15:55:52 +02:00
Bert Vermeulen 962d43440a input/wav: use our own endian macros.
These should work better on non-aligned memory locations.
2014-08-26 22:48:12 +02:00
Bert Vermeulen 5bf0dd6aff Add RB16S and RB32S (signed) macros.
Also note signedness of all the endian macros.
2014-08-26 22:45:38 +02:00
Bert Vermeulen 06ad20bebf input: Avoid warnings on all-zero static struct entries. 2014-08-26 12:38:41 +02:00
Bert Vermeulen b84cba4dbf input: Convert binary module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 75cb428f9f input: format_match() is not required in an input module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 02e24c0ce0 input: Convert chronovu-la8 module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 5e83cd741f input/vcd: Minor code cleanup. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 33e4303baa input: Only feed scanned header to streams, not scanned files. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 115fbe9410 input: Only use header buffer for modules that need it.
The buffer was leaking into modules that didn't ask for it.
2014-08-26 01:55:41 +02:00
Bert Vermeulen 0a4d68f74b input/wav: Send END packet on cleanup. 2014-08-26 01:55:41 +02:00
Bert Vermeulen c10ef17c23 input/vcd: Send END packet on cleanup. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 41d214f61a input: Convert CSV module. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 57486a7528 input: sr_input_new() always allocates the instance buffer. 2014-08-26 01:55:41 +02:00
Bert Vermeulen fe4fe25bf5 input: Fix option enumeration. 2014-08-26 01:55:41 +02:00
Bert Vermeulen d65fcbcd41 input: Fix internal API docs. 2014-08-26 01:55:41 +02:00
Bert Vermeulen bd0bfaafd8 input: Actually return a NULL-terminated array. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 20e8882106 input: Frontends don't need to see SR_INPUT_META_*. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 7db0639495 input: Fixes and VCD. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 0f3dbc9530 input: Fix up API documentation. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 17bfaca62a input: Introduce new input module API.
This is a work in progress.
2014-08-26 01:55:41 +02:00
Bert Vermeulen d514d35dab input: make sr_input{_module} opaque to clients. 2014-08-26 01:55:41 +02:00
Bert Vermeulen d4c937749a input: s/format/module in all naming. 2014-08-26 01:55:41 +02:00
Bert Vermeulen 81a3497655 fx2lafw: Code cleanup. 2014-08-26 01:49:00 +02:00
Bert Vermeulen 1685c27619 Avoid warnings on all-zero static struct entries. 2014-08-26 01:48:27 +02:00
Bert Vermeulen 84cbaf77b4 pipistrello-ols: Disable unused trigger stages.
Thanks to Magnus Karlsson for this fix.
2014-08-25 01:00:55 +02:00
Bert Vermeulen acc885c755 pipistrello-ols: Preliminary port to current API. 2014-08-25 01:00:55 +02:00
magnuskarlsson b94cff407f DEMUX and RLE fixes 2014-08-25 01:00:55 +02:00
magnuskarlsson 1e0de84608 added edge triggers 2014-08-25 01:00:55 +02:00
magnuskarlsson 1f9bcd0f94 fixed typos 2014-08-25 01:00:55 +02:00
magnuskarlsson 72716f15be fixed a problem with USB defines 2014-08-25 01:00:55 +02:00