Commit Graph

2878 Commits

Author SHA1 Message Date
Martin Ling 4277ac349c serial-dmm: Mark serial read/write calls as nonblocking.
This driver opens the port with the SERIAL_NONBLOCK flag so these calls were
already non-blocking.
2014-09-24 23:18:20 +02:00
Martin Ling 02bd1d0298 colead-slm: Mark serial write call as blocking.
This driver opens the port without the SERIAL_NONBLOCK flag,
so this call was already blocking.
2014-09-24 23:18:20 +02:00
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 a4e4745458 C++: Make hardware device instances user owned. 2014-09-14 05:33:24 +01:00
Martin Ling 8fa3fc7c60 bindings: Make documentation script work under python 3.x. 2014-09-14 05:32:00 +01:00
Martin Ling f90ed2d1af python: fix conversion to string variants. 2014-09-14 04:53:06 +01:00
Martin Ling 13fef1ed24 hwdriver: Validate types of GVariants passed by user. 2014-09-14 04:47:12 +01:00
Martin Ling da89e23a28 Use AM_PATH_PYTHON macro to find Python binary.
A specific interpreter can now be passed to configure e.g:

./configure PYTHON=python3
2014-09-14 02:32:49 +01:00
Martin Ling db560903d1 C++: use constructors for default argument declarations. 2014-09-13 20:23:46 +01:00
Martin Ling 35114c3394 C++: include <cmath> for NAN. 2014-09-13 20:23:23 +01:00
Martin Ling 3b16108573 bindings: Remove 'get_' prefix from all accessors. 2014-09-11 21:27:32 +01:00
Martin Ling edbd09250b scpi: Remove trailing carriage returns. 2014-09-11 17:20:28 +02:00
Uwe Hermann 25f94dfebc tests: Fix binary input test. 2014-09-10 23:55:15 +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
Uwe Hermann 0d14e30ba0 configure.ac: Add and use DRIVER2() to shorten file. 2014-09-08 23:53:42 +02:00
Uwe Hermann d3619a9b63 configure.ac: Shorten per-driver lines a bit. 2014-09-08 23:53:42 +02:00
Uwe Hermann 416de3ba05 configure.ac: Don't duplicate driver name.
The AC_DEFINEs don't need any driver names really, those only end up
as code comments in config.h and are otherwise useless. Thus, don't
duplicate them, we already have the driver names in DRIVER().
2014-09-08 23:53:42 +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
Uwe Hermann a0ca437de3 configure.ac: Show SCPI backends that'll be compiled. 2014-09-08 22:58:14 +02:00
Uwe Hermann 62ea3ef552 configure.ac: Whitespace, cosmetics, sorting, etc. 2014-09-08 22:42:26 +02:00
Martin Ling d4cf45e516 C++: Whitespace fix. 2014-09-08 19:27:38 +02:00
Martin Ling cac58676e9 C++: Add SessionDevice class for devices owned by loaded sessions. 2014-09-08 19:27:38 +02:00
Martin Ling be43d5d584 C++: Preserve original channel ordering. 2014-09-08 19:27:38 +02:00
Martin Ling d9eed47d5b C++: Add Configurable::config_check() method. 2014-09-08 19:27:38 +02:00
Martin Ling d54190a363 C++: Add Configurable::config_keys() method. 2014-09-08 19:27:38 +02:00
Martin Ling 59b74d28c9 C++: Make Driver inherit Configurable. 2014-09-08 19:27:38 +02:00
Martin Ling 4f7bcf0ec3 C++: Fix recursion loop in PacketPayload::get_shared_pointer(). 2014-09-08 19:27:37 +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