Janne Huttunen
787ec9dbd9
Limit frames instead of samples.
...
Since every individual measurement is represented by a single frame
and a "sample" isn't all that meaningful concept in this context,
it makes more sense to define possible limit in number of frames.
Make the es51919 driver to support setting a frame limit instead of
a sample limit.
2015-01-06 20:10:17 +01:00
Janne Huttunen
a6413fa58e
Use frames to group a single measurement result together.
...
In most, but not all, modes the ES51919 reports two separate
analog values for each measurement sample. These values are
mapped to two separate channels and sent in two separate
packets.
A client program needs a way to determine which results are
parts of the same measurement and also know when a complete
measurement is received so it can process the sample. Use
the frame begin and end packets to separate groups that each
represent a single complete measurement.
2015-01-06 20:10:17 +01:00
Janne Huttunen
bb983c666a
Fix the channel indexes of the es51919 driver.
...
Set the channel indexes to unique values instead of setting
them all zero.
2015-01-06 20:10:17 +01:00
Uffe Jakobsen
15eea61a47
Fix compile error on FreeBSD
2015-01-05 22:16:48 +01:00
Uwe Hermann
b1a7ca3b60
serial.c: Cosmetics/consistency/documentation fixes.
2015-01-03 18:03:50 +01:00
Aurelien Jacobs
24287ea9e3
Add a public API to list available serial ports.
2015-01-03 17:51:51 +01:00
Aurelien Jacobs
5e1b68c6e7
Only save enabled channels to a session file.
...
This reverts bc96d5f08f
which is not
needed anymore since we have a better fix for #410 and #495 .
2014-12-05 01:14:22 +01:00
Aurelien Jacobs
a160a0c344
session_file: Enable only the probes that are actually listed in metadata.
...
This is a better fix for #410 and #495 .
2014-12-05 01:14:22 +01:00
Bert Vermeulen
974fb0fffa
saleae-logic16: Show libusb transfer status name instead of code.
2014-11-28 00:21:56 +01:00
Uwe Hermann
a11e10ec91
saleae-logic16: Change two errors into warnings.
...
Related to #466 , convert two more sanity checks from errors into warnings.
This may allow more devices to work with libsigrok.
2014-11-27 23:22:05 +01:00
Bert Vermeulen
5cfcab6603
saleae-logic16: Clearer error message.
2014-11-27 01:01:13 +01:00
Aurelien Jacobs
e743a47d6d
beaglelogic: Add SR_CONF_CAPTURE_RATIO support.
2014-11-25 22:13:36 +01:00
Aurelien Jacobs
5a971f66a3
saleae-logic16: Add SR_CONF_CAPTURE_RATIO support.
2014-11-25 22:13:36 +01:00
Aurelien Jacobs
7bfcb25cf1
fx2lafw: Add SR_CONF_CAPTURE_RATIO support.
2014-11-25 16:56:34 +01:00
Aurelien Jacobs
fe5a735553
soft-trigger: Add support for pre-triggering.
2014-11-25 16:56:34 +01:00
Bert Vermeulen
bc96d5f08f
Always save all channels to a session file.
...
This works around limitations of the current API that screw up saving
only enabled channels. See bug 410. And bug 495.
2014-11-24 02:21:52 +01:00
Uwe Hermann
9f42e2e6be
sr_session_trigger_{get,set}: Document, add error checks.
2014-11-24 00:50:11 +01:00
Uwe Hermann
b6085eb179
manson-hcs-3xxx: Fix incorrect SR_CONF_SCAN_OPTIONS handling.
...
The SR_CONF_SCAN_OPTIONS key must be listable with or without sdi,
otherwise the device will not be detected by frontends.
2014-11-23 21:13:16 +01:00
Vincent Palatin
2f004b4bc1
usb_get_port_path(): fix libusb error checking
...
When libusb cannot access a device, libusb_get_port_numbers() will return
an error. Check the return code rather than doing invalid pointer
operations (out-of-bound read).
Avoid segfaults at sigrok-cli startup on my setup where some USB devices are
not accessible and also make Valgrind happier.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
2014-11-23 17:58:21 +01:00
Bert Vermeulen
68ac991dba
Publish config key capabilities on session driver.
2014-11-23 17:48:29 +01:00
Bert Vermeulen
90cefe0cc7
Add sr_rational_set() convenience function.
2014-11-23 17:48:29 +01:00
Tim Hatch
cd3c4df35a
saleae-logic16: Downgrade error during capture to a message.
...
Some clone doesn't set this to the exact same value, and both bits in 0x48 are
marked as unknown at
http://sigrok.org/wiki/Saleae_Logic16/Firmware#FPGA_variables
This fixes bug #466 .
2014-11-23 13:47:45 +01:00
Uwe Hermann
cc8be68f22
trigger: Add some more error handling.
...
All of these error conditions are checked via the unit tests.
Also, add the following missing entries (analog trigger types):
- SR_TRIGGER_RISING
- SR_TRIGGER_EDGE
2014-11-22 21:03:39 +01:00
Uwe Hermann
a445f8aa08
trigger: Add API documentation.
2014-11-22 19:32:28 +01:00
Uwe Hermann
54ab1dcdc4
Add missing entries to sr_config_info_data[].
...
Newly added keys:
- SR_CONF_SAMPLE_INTERVAL
- SR_CONF_NUM_TIMEBASE
- SR_CONF_NUM_VDIV
- SR_CONF_CENTER_FREQUENCY
- SR_CONF_DEVICE_MODE
- SR_CONF_SCAN_OPTIONS
- SR_CONF_DEVICE_OPTIONS
- SR_CONF_DEVICE_MODE
- SR_CONF_TEST_MODE
Also, keep the same ordering and grouping as in libsigrok.h.
2014-11-22 17:02:57 +01:00
Uwe Hermann
91219afc75
Use g_malloc0() consistently, simplify error handling.
...
Use g_malloc0() for small allocations and assume they always
succeed. Simplify error handling in a few places accordingly.
Don't always sanity-check parameters for non-public (SR_PRIV)
functions, we require the developers to invoke them correctly.
This allows further error handling simplifications.
2014-11-22 17:02:57 +01:00
Uwe Hermann
c368e6f3d2
Don't check sr_channel_new() return value (always succeeds).
...
We now use g_malloc0() for the allocation and assume the allocation
will always succeed, thus sr_channel_new() will always return a
valid new channel.
2014-11-21 12:10:05 +01:00
Uwe Hermann
f57d8ffe66
Consistently use g_malloc0() for allocating devc.
...
We assume the allocation will always succeed, hence no need for
checking the returned value.
2014-11-21 12:09:01 +01:00
Uwe Hermann
aac29cc192
Eliminate sr_dev_inst_new().
2014-11-21 02:01:36 +01:00
Bert Vermeulen
a9b2283fd0
Fix invalid pointer dereference.
2014-11-20 03:08:55 +01:00
Aurelien Jacobs
cf0280fa1b
yokogawa-dlm: Publish driver options.
2014-11-19 23:54:01 +01:00
Aurelien Jacobs
413f1944d1
motech-lps-30x: Publish driver options.
2014-11-19 23:53:35 +01:00
Aurelien Jacobs
f3ba3c119c
manson-hcs-3xxx: Publish driver options.
2014-11-19 23:53:10 +01:00
Aurelien Jacobs
6ec3ef9b92
hameg-hmo: Publish driver options.
2014-11-19 23:52:51 +01:00
Aurelien Jacobs
8a58419d37
Finish fixing broken sr_config_list() logic.
2014-11-19 17:34:19 +01:00
Martin Ling
a24da9a813
Make sr_analog_*_to_string() functions allocate the necessary buffers.
2014-11-19 17:34:19 +01:00
Uwe Hermann
e07edc83d6
mic-985xx: Correctly report SR_CONF_THERMOMETER/_HYGROMETER.
...
Some models only log temperature, others log temperature and humidity
(so they need different drvopts).
2014-11-18 23:43:38 +01:00
Uwe Hermann
20a7cd07c9
mic-985xx: Drop unneeded #define.
2014-11-18 23:26:10 +01:00
Uwe Hermann
d6e1e6c4e1
mic-985xx: Publish driver options.
2014-11-18 23:26:10 +01:00
Uwe Hermann
489c338884
center-3xx: Drop unneeded #define.
2014-11-18 23:20:09 +01:00
Uwe Hermann
6685e9a6b3
center-3xx: Publish driver options.
2014-11-18 23:20:09 +01:00
Bert Vermeulen
5c868fef43
Revert "victor-dmm: Set spec digits to 3, matching the display."
...
This reverts commit 28b4243493
.
2014-11-18 18:10:19 +01:00
Bert Vermeulen
63ea6141b6
ols: Publish driver options.
2014-11-18 17:41:36 +01:00
Bert Vermeulen
f9dada0b60
agilent-dmm: Now really fix driver options.
2014-11-18 17:31:58 +01:00
Bert Vermeulen
42a47a9a4b
appa-55ii: Publish driver options.
2014-11-18 16:50:47 +01:00
Bert Vermeulen
5ecd9049e5
hantek-dso: Fix driver options.
2014-11-18 16:46:39 +01:00
Bert Vermeulen
1f889afd61
atten-pps3xxx: Fix driver options.
2014-11-18 16:44:58 +01:00
Bert Vermeulen
023c73ae05
cem-dt-885x: Fix driver options.
2014-11-18 16:44:14 +01:00
Bert Vermeulen
9d9cf1c4b9
scpi-pps: Fix driver options.
2014-11-18 16:44:14 +01:00
Bert Vermeulen
2ff11e50a5
asix-sigma: Fix driver options.
2014-11-18 16:30:47 +01:00
Bert Vermeulen
820c48f8c2
output/analog: Add option to restrict number of decimal digits printed.
...
This is a feature restricted to the new analog struct.
By default all the digits available in the encoding struct are printed.
The option "digits", when set to "spec", changes this to print the
number given in the spec struct.
2014-11-18 15:51:38 +01:00
Bert Vermeulen
db6fa867a4
Add debug spew to all sr_config_(get|set|list) calls.
2014-11-18 15:46:59 +01:00
Bert Vermeulen
cf3db38193
Fix broken sr_config_list() logic.
2014-11-18 15:46:24 +01:00
Bert Vermeulen
1e4a7cace2
demo: Fix driver options.
2014-11-18 15:39:46 +01:00
Bert Vermeulen
ff6b76a145
fx2lafw: Publish driver options.
2014-11-18 15:35:30 +01:00
Bert Vermeulen
ce4bd05256
agilent-dmm: Publish driver options.
2014-11-18 15:34:52 +01:00
Bert Vermeulen
5533392828
victor-dmm: Publish driver options.
2014-11-18 14:34:02 +01:00
Bert Vermeulen
a5892391b0
Add analog helper sr_analog_unit_to_string().
2014-11-18 01:16:27 +01:00
Bert Vermeulen
c2a25ebb8f
Add analog helper sr_analog_float_to_string().
2014-11-18 01:15:41 +01:00
Bert Vermeulen
1954dfa963
Show SR_DF_ANALOG2 packets in debug output.
2014-11-18 00:24:37 +01:00
Bert Vermeulen
28b4243493
victor-dmm: Set spec digits to 3, matching the display.
2014-11-18 00:24:08 +01:00
Bert Vermeulen
4b4fdeea94
analog: Fix analog_to_float typos, and cleanup.
...
This was adding 1 to every measurement being converted.
2014-11-17 23:08:49 +01:00
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