Aurelien Jacobs
41caa31909
Add a sr_analog_init() API to initialize sr_datafeed_analog2 struct.
...
It fills the fields with reasonable default values that should suit
most of the drivers. Drivers are obviously free to override the fields
they want after initializing.
2014-11-17 22:04:24 +01:00
Aurelien Jacobs
62f155f0c7
demo: Fix analog output at low samplerate.
2014-11-17 13:39:53 +01:00
Aurelien Jacobs
3772c04990
demo: Fix square pattern output shorter than other patterns.
2014-11-17 13:39:53 +01:00
Bert Vermeulen
c6dde8125a
Check driver capabilities before sr_config_get/set/list.
2014-11-17 13:20:32 +01:00
Bert Vermeulen
adfba7368a
Refactor scan options check.
2014-11-14 20:25:12 +01:00
Bert Vermeulen
071151b578
sr_driver_scan: Enforce options passed in by client.
2014-11-14 12:22:54 +01:00
Bert Vermeulen
4b664cd6ce
demo: Use allocation for model string.
2014-11-14 11:37:11 +01:00
Uwe Hermann
676877f6ce
mic-985xx: Convert to use SR_DF_ANALOG2.
2014-11-13 22:51:39 +01:00
Uwe Hermann
a84a26d98a
victor-dmm: Convert to use SR_DF_ANALOG2.
2014-11-13 22:51:39 +01:00
Bert Vermeulen
e02e9e6a1c
output/analog: Add SR_DF_ANALOG2 support.
2014-11-13 22:51:39 +01:00
Bert Vermeulen
fb019a0e4d
Add sr_analog_to_float().
2014-11-13 22:51:39 +01:00
Uwe Hermann
0af636bed9
Change sr_dev_inst_new() to take no parameters.
...
Change all callers to set the fields manually as needed.
2014-11-12 17:18:46 +01:00
Bert Vermeulen
3250d8c7e0
output: Add srzip, the session file format.
...
The 'filename' option is required: this module creates the zip file
itself, and never actually outputs anything back to the calling frontend.
2014-11-12 00:12:59 +01:00
Uwe Hermann
e705ce3bf6
Add sr_dev_inst_user_new(), sr_dev_inst_channel_add().
2014-11-11 22:16:12 +01:00
Uwe Hermann
2f5f97056a
Constify the sdi parameter of all sr_dev_inst_*() getters.
2014-11-11 12:44:37 +01:00
Uwe Hermann
96727ef016
Make 'struct sr_dev_inst' opaque.
2014-11-11 12:24:08 +01:00
Uwe Hermann
e437da2b86
Add sr_dev_inst_channels_get() and sr_dev_inst_channel_groups_get().
2014-11-11 11:59:23 +01:00
Uwe Hermann
3f2cd87f36
session_driver.c: Allow querying of SR_CONF_CAPTURE_UNITSIZE.
2014-11-09 20:04:09 +01:00
Uwe Hermann
6508992d04
Brymen BM25x: Drop unneeded _ser/_SER suffix.
...
There's only one cable for this DMM, thus there's no need for a
_ser/_SER suffix or for specifying the cable name.
2014-11-02 16:40:40 +01:00
Uffe Jakobsen
bce75f947d
ols: Fix a serial port related issue on FreeBSD.
...
Add sp_drain() to ensure bytes have actually been transmitted
over the wire.
This fixes bug #414 .
2014-11-01 19:44:36 +01:00
Bert Vermeulen
7aebe22d10
Only sr_dev_inst_free() should free channel groups.
2014-11-01 13:20:00 +01:00
Uwe Hermann
aab4b8cb70
fx2lafw: Fix wide (16bit) sampling case.
...
This fixes bug #373 .
2014-10-29 22:46:57 +01:00
Bert Vermeulen
e3594306a9
zeroplus-logic-cube: Add support for AKIP-9101.
...
Thanks to Nikita Nazarenko for the patch.
2014-10-29 13:26:57 +01:00
Soeren Apel
9c6a2913fd
Make sr_dev_inst_connid_get() available without libusb
2014-10-27 21:22:31 +01:00
Bert Vermeulen
933defaa03
hantek-dso: Fix driver/global/channel group config keys.
...
This was way behind and did not yet support channel groups.
2014-10-27 17:09:57 +01:00
Bert Vermeulen
6fad08e6ab
Change SR_CONF_FILTER key to a boolean type.
...
This was an ill-defined string before, now it's simply something
you turn on or off on a channel.
2014-10-27 17:09:57 +01:00
Bert Vermeulen
e7ba5a994b
asix-sigma: Publish driver options.
2014-10-27 17:09:47 +01:00
Bert Vermeulen
a258204e00
scpi-pps: Publish driver options.
2014-10-27 17:09:47 +01:00
Bert Vermeulen
390795c099
demo: Rearrange driver and device options.
2014-10-27 17:09:47 +01:00
Bert Vermeulen
d7125bfa1e
cem-dt-885x: Publish driver options.
2014-10-27 17:09:47 +01:00
Bert Vermeulen
d6fa8ace94
atten-pps3xxx: Publish driver options.
2014-10-27 17:09:47 +01:00
Bert Vermeulen
a700a3a4bf
More robust searching for config keys.
2014-10-27 17:09:27 +01:00
Bert Vermeulen
51b1b95edb
Add config info for device type and limit config keys.
2014-10-27 17:09:07 +01:00
Uwe Hermann
8769478c07
Add support for the UNI-T UT71x series (aka Voltcraft VC-920/940/960).
...
Tested on the Voltcraft VC-920 and VC-940 (both UT-D02 and UT-D04
cables), but it should work for all devices in this series without
any changes.
2014-10-25 17:14:30 +02:00
Uwe Hermann
626027df0f
Add UNI-T UT71x DMM parser.
2014-10-25 16:53:32 +02:00
Bert Vermeulen
ce48b174da
sr_dev_inst_connid_get() requires libusb.
2014-10-23 00:22:07 +02:00
Bert Vermeulen
cf49d66bc6
hantek-dso: Properly zero out MQ flags.
2014-10-22 22:19:41 +02:00
Bert Vermeulen
61b0292217
Accept subtype of expected GVariant values.
2014-10-22 22:18:52 +02:00
Janne Huttunen
a42a39ac37
Export LCR meter 'auto' bits as config keys instead of mqflags.
...
The automatic selections of the measured quantity and equivalent circuit
model are more part of the configuration of the meter than attributes
of the measurement result. To reflect this, model them as config keys
instead of mqflags. This allows a driver that supports remote control to
implement 'set' method for them and has the additional benefit of saveing
two flag bits.
2014-10-21 12:23:20 +02:00
Jens Steinhauser
160691b900
input/csv: Skip header line.
2014-10-19 23:23:58 +02:00
Bert Vermeulen
c3eadb0760
scpi-pps: Add support for Fluke/Philips PM2800 series.
2014-10-18 23:21:37 +02:00
Bert Vermeulen
c1d56d2013
scpi-pps: Move non-standard data type processing to SCPI parser.
2014-10-18 23:21:37 +02:00
Bert Vermeulen
4a471029c2
scpi-pps: Add channel probe facility to scan.
...
If the number and specs of the device's channels are not static, i.e.
need to be probed, this facility is needed.
Initially this will be used for the Philips PM2800 series, where only
the model returned by *IDN? is needed. However this could also be used
to do actual discovery with vendor-specific SCPI commands.
2014-10-18 23:21:37 +02:00
Bert Vermeulen
99d090d8e5
Fix typos.
2014-10-18 23:21:37 +02:00
Bert Vermeulen
b1b1944e19
Free channel group private storage when clearing device instance.
2014-10-18 23:21:37 +02:00
Janne Huttunen
c7c8994c20
Rename "SERIAL" -> "SERIES".
...
Use the more correct term "SERIES" for the corresponding equivalent
circuit model.
2014-10-17 12:13:51 +02:00
Soeren Apel
e8cbb22314
Auto-set sdi->connection_id for serial devices in the getter
2014-10-17 03:02:52 +02:00
Soeren Apel
d1314831e4
yokogawa-dlm: Populate sdi->serial_num and sdi->version
2014-10-17 03:02:52 +02:00
Soeren Apel
b3fccc851b
rigol-ds: Populate sdi->serial_num
2014-10-17 03:02:52 +02:00
Soeren Apel
b33db61c48
hameg-hmo: Populate sdi->serial_num
2014-10-17 03:02:52 +02:00
Soeren Apel
d08667c53b
scpi-pps: Populate sdi->serial_num and fix hw_info mem leak
2014-10-17 03:02:52 +02:00
Soeren Apel
b2c02b0747
scpi: Populate sdi->connection_id
2014-10-17 03:02:52 +02:00
Soeren Apel
0699ccdd92
sysclk-lwla: Let the sdi getter populate sdi->connection_id
...
This fixes bug #441 .
2014-10-17 03:02:52 +02:00
Soeren Apel
c962d07cba
ikalogic-scanalogic2: Let the sdi getter popuplage sdi->connection_id
...
This fixes bug #440 .
2014-10-17 03:02:52 +02:00
Soeren Apel
0157fdce99
Provide getters for sr_dev_inst member access
2014-10-17 03:02:52 +02:00
Bert Vermeulen
984e4b0db8
scpi-pps: Start acquisition on the first enabled channel.
2014-10-17 03:00:55 +02:00
Bert Vermeulen
624503ae90
scpi-pps: Optimize channel selection.
...
This avoids sending a channel selection command to the device if
the channel we're working on is already on the same underlying
output channel.
2014-10-17 03:00:05 +02:00
Bert Vermeulen
ee2860ee11
scpi-pps: Disable beeper during session.
...
At least the Rigol DP800 series trigger the beeper when changing
channels remotely. Which gets rather annoying when doing acquisition
on three channels as fast as you can.
2014-10-16 15:24:27 +02:00
Bert Vermeulen
bf48ccebee
scpi-pps: Properly clean up acquisition session.
2014-10-16 14:55:56 +02:00
Bert Vermeulen
60475cd788
scpi-pps: Use only standard SCPI for Rigol DP800 series.
2014-10-16 13:23:21 +02:00
Bert Vermeulen
ae431bc8d6
Fix short names for SR_CONF_OUTPUT_VOLTAGE_TARGET/_CURRENT_LIMIT.
2014-10-16 13:22:51 +02:00
Martin Ling
1de3ccede9
Track sdis created by sr_session_load(), and free in sr_session_destroy().
2014-10-15 13:44:25 +02:00
Martin Ling
c0e3ba4b79
Correct description of sr_session.devs.
2014-10-15 13:44:25 +02:00
Bert Vermeulen
ca95e90fb3
Use SR_CONF_OUTPUT_VOLTAGE_TARGET and _CURRENT_LIMIT.
...
These describe them better; the two are fundamentally different
things to set.
2014-10-15 12:03:00 +02:00
Bert Vermeulen
53a81803e4
scpi-pps: Split boolean set options into enable/disable.
...
This makes it easier to support devices that need something else
than "ON" or "OFF".
2014-10-13 12:50:28 +02:00
Uwe Hermann
b9a348f56c
Rename SR_CONF_LCR_METER to SR_CONF_LCRMETER.
...
(to be consistent with some other key names)
2014-10-13 11:39:15 +02:00
Uwe Hermann
3ea46116de
libsigrok-internal.h: Fix some outdated comments.
2014-10-13 01:06:09 +02:00
Janne Huttunen
b50891952d
Add driver for DER EE DE-5000 LCR meter.
...
Add a driver for the DER EE DE-5000 LCR meter. This meter is based on
the Cyrustek ES51919/ES51920 chipset and communicates with the host
computer via an optional connectivity kit.
The kit uses an optoisolated unidirectional link to connect to the
meter and an USB cable on the host side. Internally the connection is
using the FTDI FT232R USB UART chip i.e. from the host computer point
of view the meter is connected into an RS-232 serial port.
This driver implements just a thin shim layer for registering the
driver and uses the es51919 module for all the actual work.
2014-10-13 00:56:11 +02:00
Janne Huttunen
6bcb3ee876
Add protocol decoder for Cyrustek ES51919 LCR meter chip.
...
Add a protocol decoder for the Cyrustek ES51919 LCR meter chip.
This chipset (together with ES51920 front-end) is supposedly used
by multiple different portable LCR meters including at least
DER EE DE-5000, Yihua V&A VA520, Mastech MS5308, Uni-T UT612,
CEM DT-9935 and various OEM rebadges of them.
The communication protocol seems to be implemented on the Cyrustek
chip itself so all the different models are expected to use the
same protocol if they implement a host connection. Unfortunately
the protocol is not available in the public documentation of the
chipset, so this implementation is based on reverse engineering it
from traffic captures.
The actual connection between the meter and the host computer may be
different from meter to meter even when based on the same chip. This
module implements a decoder for the protocol and some common helper
functions for interfacing with the meter via an RS-232 serial port.
2014-10-13 00:56:11 +02:00
Janne Huttunen
02c7c482a6
Add pretty-printer for new units and flags.
...
Add support for printing henries and degrees as well as the new
reference and auto flags.
2014-10-12 23:19:05 +02:00
Aurelien Jacobs
76bc5f6376
usb: Simplify usb_get_port_path() and fix writing into a const char *.
2014-10-12 19:36:11 +02:00
Bert Vermeulen
d099d88021
Fix sr_dev_has_option().
...
This wasn't taking the SR_CONF_GET/_SET/_LIST flags into account.
Thanks to Janne Huttunen for spotting this.
2014-10-09 23:42:24 +02:00
Bert Vermeulen
f4d3a4fb9a
ols: Fix serial port timeout.
2014-10-08 03:00:47 +02:00
Bert Vermeulen
9e6d9bee2a
colead-slm: Fix serial port timeout.
2014-10-08 02:23:20 +02:00
Bert Vermeulen
2eb1612d46
atten-pps3xxx: Use serial_timeout().
2014-10-06 12:12:13 +02:00
Bert Vermeulen
c5cfc735e5
serial: Add serial_timeout().
...
This calculates a proper timeout value for blocking writes on the
given serial port, for the given number of bytes. Timeout is based
on a fixed 10ms OS overhead, baud rate, data bits and stop bits.
2014-10-06 12:10:25 +02:00
Bert Vermeulen
945cfd4fdd
atten-pps3xxx: Fix serial port timeout.
2014-10-05 12:29:28 +02:00
Bert Vermeulen
204014007f
fluke-dmm: Fix blocking serial write timeout.
2014-10-04 10:39:11 +02:00
Bert Vermeulen
95779b43b8
agilent-dmm: Fix blocking serial write timeout.
2014-10-04 10:39:11 +02:00
Bert Vermeulen
4ab01c3564
input/csv: Fix size_t printing.
2014-10-04 10:39:11 +02:00
Martin Ling
9092e66888
Add a configurable read timeout to blocking SCPI reads, default 1s.
2014-10-03 13:40:41 +02:00
Martin Ling
eead278242
Add a timeout parameter to blocking serial calls.
...
Set this new parameter to 0 (no timeout) at every call site. This is
consistent with previous behaviour, so cannot cause any regressions.
Waiting forever for a serial operation is clearly always wrong. Without
specific knowledge of each device and driver however, I can't choose
appropriate timeouts for each call. The maintainers of these drivers
will need to do so, and also add appropriate handling of timeouts.
When this commit is merged, a bug should be entered for each driver
that is touched by it.
2014-10-02 22:06:16 +02:00
Bert Vermeulen
7ce59a3133
Avoid serial_write_blocking() warnings.
2014-10-02 16:01:27 +02:00
Martin Ling
081c214eac
Fix similar broken error handling on several serial calls.
2014-10-02 15:57:02 +02:00
Bert Vermeulen
7f22cd9554
kecheng-kc-330b: Fix missing time/frequency weighting.
2014-10-02 15:06:36 +02:00
Bert Vermeulen
8219214ff0
hantek-dso: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 15:03:18 +02:00
Bert Vermeulen
385cb66058
demo: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 15:02:14 +02:00
Bert Vermeulen
f4d0020ec6
fluke-dmm: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 15:00:37 +02:00
Bert Vermeulen
65c8d48f14
chronovu-la8: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 14:58:57 +02:00
Bert Vermeulen
382cb19f29
asix-sigma: Trigger code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 14:53:20 +02:00
Bert Vermeulen
90486ba835
agilent-dmm: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 14:11:35 +02:00
Bert Vermeulen
f3616a0857
scpi/vxc: Avoid NULL dereference.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 14:07:31 +02:00
Bert Vermeulen
18078d0532
input/csv: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 13:59:44 +02:00
Bert Vermeulen
74e1f6f53c
input/chronovu_la8: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 13:55:37 +02:00
Bert Vermeulen
577a9fe423
input/binary: Code cleanup.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 13:55:21 +02:00
Bert Vermeulen
6409821143
input: Avoid NULL dereference.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 13:51:19 +02:00
Bert Vermeulen
19e43ab21b
sr_parse_sizestring: Deal with invalid strings better.
...
This cleans up a warning generated by clang's static analyzer.
2014-10-02 12:57:19 +02:00
Bert Vermeulen
d386a52f64
Clean up sr_session_load().
...
This cleans up some warnings generated by clang's static analyzer.
The function now also returns SR_ERR to signify the specified filename
does not point to a valid session file.
Other SR_ERR_* returns indicate a session file was found, but loading
failed.
2014-10-02 11:32:52 +02:00
Bert Vermeulen
753793eff5
Clean up internal input API docs.
2014-09-30 01:49:58 +02:00
Bert Vermeulen
60107497fe
input: Use SR_ERR_NA instead of SR_OK_CONTINUE.
2014-09-30 01:49:58 +02:00