]> sigrok.org Git - libsigrok.git/log
libsigrok.git
6 years agodemo: Implement logic triggering.
luftek [Tue, 9 Oct 2018 17:20:56 +0000 (19:20 +0200)]
demo: Implement logic triggering.

Analog triggers and other items still need more work.

6 years agodemo: Port trigger configuration from fx2lafw.
luftek [Tue, 9 Oct 2018 10:04:54 +0000 (12:04 +0200)]
demo: Port trigger configuration from fx2lafw.

6 years agoRandom whitespace/cosmetic/typo fixes.
Uwe Hermann [Sun, 27 May 2018 15:07:26 +0000 (17:07 +0200)]
Random whitespace/cosmetic/typo fixes.

6 years agoserial-dmm: add EEVblog 121GW device entry (-d eevblog-121gw:conn=<uart>)
Gerhard Sittig [Fri, 28 Sep 2018 17:38:23 +0000 (19:38 +0200)]
serial-dmm: add EEVblog 121GW device entry (-d eevblog-121gw:conn=<uart>)

Add an "eevblog-121gw" subdriver entry for the EEVblog 121GW multimeter.
Use device dependent channel names instead of the default "P1" etc names.

It's assumed that the device's binary packet data is available at a COM
port. This means that an external BT to UART gateway is required until
BLE communication will be one of libsigrok's native connection types.

6 years agodmm/eev121gw: introduce parser for EEVblog 121GW 19-byte binary packets
Gerhard Sittig [Fri, 28 Sep 2018 16:39:23 +0000 (18:39 +0200)]
dmm/eev121gw: introduce parser for EEVblog 121GW 19-byte binary packets

Introduce the dmm/eev121gw.c source file with parse routines for the
EEVblog 121GW meter's 19-bytes binary packets. Get the values and MQ
properties of the device's several displays (main, sub, bar) in several
individual parse calls.

This commit introduces initial support for the device. Some of the modes
and features are untested, as are some of the device's ranges.

6 years agoNewer versions of Victor DMMs (at least for 86) contain a direct
Thomas Weißschuh [Sun, 14 Oct 2018 15:43:34 +0000 (17:43 +0200)]
Newer versions of Victor DMMs (at least for 86) contain a direct
Mini-USB port. This port speaks the FS9922 protocol.

Picture of Mini-USB version:
http://roastlogger.co.uk/coffee/roastlogger/victor86.html

Signed-off-by: Thomas Weißschuh <redacted>
6 years agosiglent-sds: Fix SR_CONF_AVERAGING/SR_CONF_AVG_SAMPLES handling.
Uwe Hermann [Sat, 13 Oct 2018 22:27:24 +0000 (00:27 +0200)]
siglent-sds: Fix SR_CONF_AVERAGING/SR_CONF_AVG_SAMPLES handling.

6 years agosiglent-sds: Add ESERIES device support.
marchelh [Sun, 9 Sep 2018 14:11:59 +0000 (16:11 +0200)]
siglent-sds: Add ESERIES device support.

Due to some SCPI command changes that Siglent made, the connection
failed due to the wrong commands being send to the device.

This might fix parts of bug #1242, though initial tests show that
further changes might be needed.

[Note: This commit consists of multiple squashed commits from
marchelh <redacted> and various fixups and rebasing
operations by Uwe Hermann <redacted>]

6 years agokorad-kaxxxxp: Add Tenma 72-2540 V2.0/V2.1 support (untested).
Uwe Hermann [Sat, 13 Oct 2018 15:21:56 +0000 (17:21 +0200)]
korad-kaxxxxp: Add Tenma 72-2540 V2.0/V2.1 support (untested).

The IDN strings were mentioned here:
https://github.com/kxtells/tenma-serial/issues/2

6 years agoserial: dump DMM packets during stream detection
Gerhard Sittig [Mon, 8 Oct 2018 15:07:07 +0000 (17:07 +0200)]
serial: dump DMM packets during stream detection

Regular operation of serial DMM drivers optionally can dump packet bytes
after the intialization phase has synchronized to the stream. Failure to
synchronize to the stream left developers without a dump, which complicates
research what went wrong.

Do dump packet content while the serial_stream_detect() routine tries to
synchronize to the stream. Use the spew level since the dump occurs upon
every attempt, which translates to: every received byte until a valid
packet was seen (or the synchronization phase expired).

6 years agoserial-dmm: print data bytes according to specific meter's packet length
Gerhard Sittig [Sat, 29 Sep 2018 18:46:45 +0000 (20:46 +0200)]
serial-dmm: print data bytes according to specific meter's packet length

The previous implementation always dumped 23 data bytes for received
packets. This could result in truncated diagnostics information, and/or
access to invalid buffer content.

Rephrase the packet dump routine such that the specific meter's exact
packet length gets dumped, and use the common hex dump support code.

6 years agouni-t-dmm: use common hex dump helper routine
Gerhard Sittig [Sat, 6 Oct 2018 17:17:27 +0000 (19:17 +0200)]
uni-t-dmm: use common hex dump helper routine

6 years agostrutil: introduce hex dump routines (allocate a text buffer)
Gerhard Sittig [Sat, 6 Oct 2018 17:02:03 +0000 (19:02 +0200)]
strutil: introduce hex dump routines (allocate a text buffer)

Introduce common support for hex dumps in the string util collection.
There are explicit allocation and release routines for the textual
representation of the data bytes, so that callers are free to chose
whether and how to decorate the dump and where to send the message.

6 years agoinput/vcd: add channel list checks for file re-read
Gerhard Sittig [Sat, 13 Oct 2018 09:06:16 +0000 (11:06 +0200)]
input/vcd: add channel list checks for file re-read

Keep (part of) previous results around when the VCD input module gets
reset, and check the header of the next import against previous runs to
avoid issues in applications. This addresses the VCD specific part of
bug #1241, and resolves the remaining part of bug #1306.

6 years agodevice: introduce routines to compare channels and channel lists
Gerhard Sittig [Sat, 13 Oct 2018 06:19:00 +0000 (08:19 +0200)]
device: introduce routines to compare channels and channel lists

Applications are not prepared to handle changes in the channel list
between multiple acquisitions from the same source (device drivers
or input modules). Introduce common helpers to compare channels and
channel lists.

6 years agodevice: introduce common sr_channel_free() support code
Gerhard Sittig [Sat, 13 Oct 2018 06:16:18 +0000 (08:16 +0200)]
device: introduce common sr_channel_free() support code

There was the sr_channel_new() allocation routine, but releasing that
allocation was open-coded in call sites. Add the sr_channel_free()
routine for code re-use and consistency.

6 years agoinput/vcd: Expand the reset() logic
Gerhard Sittig [Fri, 12 Oct 2018 09:07:12 +0000 (11:07 +0200)]
input/vcd: Expand the reset() logic

This addresses part of bug #1306. The reset() method of the VCD input
module was incomplete, and did not process new data upon second read.
Improve robustness and add missing reset instructions. Void invalid
pointers and avoid NULL dereferences in cleanup paths.

6 years agokorad-kaxxxxp: add yet another KD3005P identification string
Gerhard Sittig [Fri, 12 Oct 2018 08:49:12 +0000 (10:49 +0200)]
korad-kaxxxxp: add yet another KD3005P identification string

Apparently there are devices which identify as "KORADKD3005PV2.0" (no
whitespace, no trailing 0x01). Add another model entry.

Reported-By: Lars Pötter
6 years agozeroplus-logic-cube: Only emit log message upon unexpected number of bytes.
Uwe Hermann [Sat, 6 Oct 2018 15:14:24 +0000 (17:14 +0200)]
zeroplus-logic-cube: Only emit log message upon unexpected number of bytes.

6 years agoFix various gcc 8 compiler warnings related to ARRAY_SIZE.
Uwe Hermann [Tue, 18 Sep 2018 21:21:40 +0000 (23:21 +0200)]
Fix various gcc 8 compiler warnings related to ARRAY_SIZE.

Example:

  In file included from src/hardware/kecheng-kc-330b/protocol.h:26,
                   from src/hardware/kecheng-kc-330b/api.c:22:
  src/hardware/kecheng-kc-330b/api.c: In function ‘config_list’:
  src/libsigrok-internal.h:51:34: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
   #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
                                    ^
  src/libsigrok-internal.h:55:32: note: in expansion of macro ‘ARRAY_SIZE’
   #define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a)
                                  ^~~~~~~~~~
  src/libsigrok-internal.h:964:43: note: in expansion of macro ‘ARRAY_AND_SIZE’
    std_opts_config_list(key, data, sdi, cg, ARRAY_AND_SIZE(scanopts), \
                                             ^~~~~~~~~~~~~~
  src/hardware/kecheng-kc-330b/api.c:296:10: note: in expansion of macro ‘STD_CONFIG_LIST’
     return STD_CONFIG_LIST(key, data, sdi, cg, NULL, drvopts, devopts);
            ^~~~~~~~~~~~~~~

6 years agofx2lafw: Add new VID:PID for usb-c-grok
Peetz0r [Tue, 11 Sep 2018 15:20:20 +0000 (17:20 +0200)]
fx2lafw: Add new VID:PID for usb-c-grok

6 years agoserial-dmm: introduce support for subdriver specific channel names
Gerhard Sittig [Sun, 30 Sep 2018 02:45:27 +0000 (04:45 +0200)]
serial-dmm: introduce support for subdriver specific channel names

Default to the existing "P1" etc naming scheme for analog channels of
serial-dmm subdrivers. Add support for subdriver specific channel names
(which can reference the channel number if they desire). This is useful
for devices with multiple displays, or special purpose devices where
other names than P1 can better reflect the channel's nature.

6 years agoserial-dmm: only send acquisition data for enabled channels
Gerhard Sittig [Sun, 30 Sep 2018 20:16:52 +0000 (22:16 +0200)]
serial-dmm: only send acquisition data for enabled channels

Respect the user's "channel enabled" status. Do not feed the session bus
when data for disabled channels was received.

6 years agoserial-dmm: count analog DMM channels starting at 1
Gerhard Sittig [Sun, 30 Sep 2018 02:36:39 +0000 (04:36 +0200)]
serial-dmm: count analog DMM channels starting at 1

Commit 556a926d432dd introduced support for multiple displays in
subdrivers of serial-dmm, but also changed user visible channel numbers
to start from 0. Restore the previous behaviour, start counting from 1
which users may perceive as more natural (serial-dmm used to start at P1
in the past, scopes start with CH1 as well).

6 years agobrymen-bm86x: avoid NULL deref when usb->devhdl does not exist
Gerhard Sittig [Sun, 30 Sep 2018 19:52:21 +0000 (21:52 +0200)]
brymen-bm86x: avoid NULL deref when usb->devhdl does not exist

There are code paths where dev_close() tries to access a USB handle
which does not exist. This was observed with this command:

  $ sigrok-cli -d brymen-bm86x --scan

6 years agoMakefile: cosmetics, alpha-sort src/dmm/ entries
Gerhard Sittig [Fri, 28 Sep 2018 17:45:28 +0000 (19:45 +0200)]
Makefile: cosmetics, alpha-sort src/dmm/ entries

6 years agohantek-6xxx: Hantek 6022BL: Add VID/PID 04b5:602a support.
Uwe Hermann [Tue, 2 Oct 2018 13:15:27 +0000 (15:15 +0200)]
hantek-6xxx: Hantek 6022BL: Add VID/PID 04b5:602a support.

On Windows, this device can either enumerate as 04b4:602a or 04b5:602a,
depending on which vendor driver is currently being used, so we have to
support both in the hantek-6xxx driver as well.

This fixes bug #1295.

6 years agoraw_analog: Set appropriate precision digits for sample format.
Martin Ling [Thu, 20 Sep 2018 01:04:12 +0000 (02:04 +0100)]
raw_analog: Set appropriate precision digits for sample format.

This fixes parts of bug #950.

6 years agoanalog output: convert binary to digital digits of precision.
Martin Ling [Thu, 20 Sep 2018 01:40:06 +0000 (02:40 +0100)]
analog output: convert binary to digital digits of precision.

This fixes parts of bug #950.

6 years agoFix read past end of array in sr_analog_si_prefix_friendly.
Martin Ling [Thu, 20 Sep 2018 00:45:22 +0000 (01:45 +0100)]
Fix read past end of array in sr_analog_si_prefix_friendly.

In the case where the input unit was not in the array, the for loop would
complete, but the following test would then read past the end of the array
since 'i' would already have been incremented to the array size.

Spotted because unitless data was getting SI prefixes with no unit, though
this would not have been deterministically reproducible.

This fixes parts of bug #950.

6 years agoscpi-pps: Add a missing "break" in config_get().
Uwe Hermann [Tue, 18 Sep 2018 21:42:24 +0000 (23:42 +0200)]
scpi-pps: Add a missing "break" in config_get().

6 years agoMake sr_packet_{copy,free} API calls public.
Uwe Hermann [Tue, 18 Sep 2018 21:39:56 +0000 (23:39 +0200)]
Make sr_packet_{copy,free} API calls public.

This fixes bug #1277.

6 years agoscpi-pps: Fix broken channel selection code.
Martin Ling [Tue, 11 Sep 2018 12:08:12 +0000 (13:08 +0100)]
scpi-pps: Fix broken channel selection code.

Fixes bug #1279.

6 years agoscpi-pps: Use software sample and time limits.
Martin Ling [Mon, 10 Sep 2018 14:06:25 +0000 (15:06 +0100)]
scpi-pps: Use software sample and time limits.

6 years agoscpi-pps: Don't block waiting for a value on capture stop.
Martin Ling [Mon, 10 Sep 2018 15:10:31 +0000 (16:10 +0100)]
scpi-pps: Don't block waiting for a value on capture stop.

The comment says "A requested value is certainly on the way", but the code no
longer works this way. The receive handler requests a value and blocks until
it is received. There is no value pending between receive handler calls, so
this code now only leads to a timeout.

6 years agoAdd udev rules for Rigol DP800 series.
Martin Ling [Mon, 10 Sep 2018 12:51:17 +0000 (13:51 +0100)]
Add udev rules for Rigol DP800 series.

6 years agooutput/csv: Disable the dedup option by default.
Uwe Hermann [Wed, 5 Sep 2018 19:50:02 +0000 (21:50 +0200)]
output/csv: Disable the dedup option by default.

Having this on by default is surprising to most users, since csv is
not usually associated with having a VCD-like dedup property/feature.

6 years agostd: Drop unneeded/duplicate log messages.
Uwe Hermann [Wed, 5 Sep 2018 18:31:48 +0000 (20:31 +0200)]
std: Drop unneeded/duplicate log messages.

The sr_session_send() function will already log all of those anyway.

6 years agohantek-4032l: Fix default threshold value selection (FP workaround).
Andrej Valek [Thu, 23 Aug 2018 18:48:43 +0000 (20:48 +0200)]
hantek-4032l: Fix default threshold value selection (FP workaround).

Take value from generated array of range instead of using a hard-coded value.

Signed-off-by: Andrej Valek <redacted>
6 years agostd: Fix up non-zero FP value generation
Soeren Apel [Tue, 14 Aug 2018 08:03:35 +0000 (10:03 +0200)]
std: Fix up non-zero FP value generation

6 years agoinput: improve robustness, avoid NULL dereference in sr_input_send()
Gerhard Sittig [Mon, 4 Jun 2018 21:21:01 +0000 (23:21 +0200)]
input: improve robustness, avoid NULL dereference in sr_input_send()

Applications might pass NULL for the buffer, and input modules might
accept it (or just cope). Eliminate a potential NULL dereference in
the emission of diagnostics messages.

6 years agoproto.h: move routine declaration to its respective group
Gerhard Sittig [Mon, 4 Jun 2018 21:44:30 +0000 (23:44 +0200)]
proto.h: move routine declaration to its respective group

6 years agosr_resourcepaths_get(): Drop confusing log message.
Uwe Hermann [Mon, 3 Sep 2018 20:18:28 +0000 (22:18 +0200)]
sr_resourcepaths_get(): Drop confusing log message.

This is not really needed and can sometimes confuse users.

6 years agohantek-6xxx: Hantek 6022BE: Add VID/PID 04b5:6022 support.
Uwe Hermann [Mon, 3 Sep 2018 20:01:32 +0000 (22:01 +0200)]
hantek-6xxx: Hantek 6022BE: Add VID/PID 04b5:6022 support.

On Windows, this device can either enumerate as 04b4:6022 or 04b5:6022,
depending on which vendor driver is currently being used, so we have to
support both in the hantek-6xxx driver as well.

This fixes bug #918.

6 years agoConsistently use the _WIN32 #define.
Uwe Hermann [Sat, 1 Sep 2018 19:11:45 +0000 (21:11 +0200)]
Consistently use the _WIN32 #define.

The _WIN32 variant is available pretty much on all compilers, others
might not be. G_OS_WIN32 would probably be an equally well-suited
alternative, but for now we standardize on _WIN32.

  http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowswithCygwinPOSIX

6 years agoipdbg-la: Fix two compiler warnings on Windows.
Uwe Hermann [Sat, 1 Sep 2018 19:02:35 +0000 (21:02 +0200)]
ipdbg-la: Fix two compiler warnings on Windows.

This is happening because the send() and recv() functions
have different prototypes on POSIX and Windows. Using the casts
is required on Windows and doesn't hurt on POSIX systems.

  [...]/protocol.c: In function 'tcp_send':
  [...]/protocol.c:161:26: warning: pointer targets in passing argument 2 of 'send' differ in signedness [-Wpointer-sign]
    out = send(tcp->socket, buf, len, 0);
                            ^
  In file included from [...]/protocol.c:24:0:
  [...]/include/winsock2.h:997:34: note: expected 'const char *' but argument is of type 'const uint8_t * {aka const unsigned char *}'
     WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags);
                                    ^
  [...]/protocol.c: In function 'ipdbg_la_tcp_receive':
  [...]/protocol.c:201:32: warning: pointer targets in passing argument 2 of 'recv' differ in signedness [-Wpointer-sign]
      int len = recv(tcp->socket, buf, 1, 0);
                                  ^
  In file included from [...]/protocol.c:24:0:
  [...]/include/winsock2.h:992:34: note: expected 'char *' but argument is of type 'uint8_t * {aka unsigned char *}'
     WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);
                                    ^

6 years agoipdbg-la: Fix data_available() implementation on Windows.
Uwe Hermann [Sat, 1 Sep 2018 19:01:43 +0000 (21:01 +0200)]
ipdbg-la: Fix data_available() implementation on Windows.

  [...]/protocol.c: In function 'data_available':
  [...]/protocol.c:73:38: error: 'bytes_available' undeclared (first use in this function)
    ioctlsocket(tcp->socket, FIONREAD, &bytes_available);
                                        ^
  [...]/protocol.c:73:38: note: each undeclared identifier is reported only once for each function it appears in
  [...]/protocol.c:84:1: warning: no return statement in function returning non-void [-Wreturn-type]
   }
   ^

6 years agoipdbg-la: Fix a build issue on Windows.
Uwe Hermann [Sat, 1 Sep 2018 19:00:31 +0000 (21:00 +0200)]
ipdbg-la: Fix a build issue on Windows.

  [...]/protocol.c:41:23: fatal error: sys/ioctl.h: No such file or directory

6 years agofx2lafw: silence error message in query for channel group's device options
Gerhard Sittig [Tue, 28 Aug 2018 16:18:37 +0000 (18:18 +0200)]
fx2lafw: silence error message in query for channel group's device options

The fx2lafw(4) driver supports mere logic analyzers as well as mixed
signal devices, but does not support channel group specific device
options. Avoid an error message when channel group device options get
queried, the condition is perfectly legal and non-fatal.

How to reproduce:
  $ pulseview -d fx2lafw
  $ sigrok-cli -d fx2lafw -g Logic --show

This fixes bug #1267.

6 years agosaleae and other FX2: show firmware name when loading fails
Gerhard Sittig [Sat, 18 Aug 2018 13:31:09 +0000 (15:31 +0200)]
saleae and other FX2: show firmware name when loading fails

The "firmware load failed" message would be even more helpful if users
could learn which firmware file failed to load. Add those filenames to
various FX2-based drivers.

This addresses bug #1262.

6 years agoAdd a new sr_log_callback_get() API call.
Uwe Hermann [Sun, 1 Jul 2018 14:46:47 +0000 (16:46 +0200)]
Add a new sr_log_callback_get() API call.

6 years agoipdbg-la: scan(): Use g_strdup_printf().
Uwe Hermann [Thu, 30 Aug 2018 00:02:51 +0000 (02:02 +0200)]
ipdbg-la: scan(): Use g_strdup_printf().

6 years agoipdbg-la: Make some functions static.
Uwe Hermann [Wed, 29 Aug 2018 23:46:20 +0000 (01:46 +0200)]
ipdbg-la: Make some functions static.

6 years agoipdbg-la: Avoid CamelCaps and ALLCAPS variable names.
Uwe Hermann [Wed, 29 Aug 2018 23:35:48 +0000 (01:35 +0200)]
ipdbg-la: Avoid CamelCaps and ALLCAPS variable names.

6 years agoipdbg-la: Drop some unneeded casts.
Uwe Hermann [Wed, 29 Aug 2018 23:11:03 +0000 (01:11 +0200)]
ipdbg-la: Drop some unneeded casts.

6 years agoipdbg-la: data_available(): Return gboolean.
Uwe Hermann [Wed, 29 Aug 2018 23:02:32 +0000 (01:02 +0200)]
ipdbg-la: data_available(): Return gboolean.

6 years agoipdbg-la: Use std_init() and std_dev_list().
Uwe Hermann [Wed, 29 Aug 2018 22:58:57 +0000 (00:58 +0200)]
ipdbg-la: Use std_init() and std_dev_list().

6 years agoipdbg-la: Consistently use g_strerror().
Uwe Hermann [Wed, 29 Aug 2018 22:53:18 +0000 (00:53 +0200)]
ipdbg-la: Consistently use g_strerror().

6 years agoipdbg-la: Drop unneeded g_malloc0() checks for small allocations.
Uwe Hermann [Wed, 29 Aug 2018 22:52:19 +0000 (00:52 +0200)]
ipdbg-la: Drop unneeded g_malloc0() checks for small allocations.

6 years agoipdbg-la: Drop unneeded sdi->status handling.
Uwe Hermann [Wed, 29 Aug 2018 22:50:35 +0000 (00:50 +0200)]
ipdbg-la: Drop unneeded sdi->status handling.

This is already done by the backend wrapper functions.

6 years agoipdbg-la: Simplify config_get/_set/_list.
Uwe Hermann [Wed, 29 Aug 2018 22:47:03 +0000 (00:47 +0200)]
ipdbg-la: Simplify config_get/_set/_list.

6 years agoipdbg-la: Fix devopts[] contents.
Uwe Hermann [Wed, 29 Aug 2018 22:39:40 +0000 (00:39 +0200)]
ipdbg-la: Fix devopts[] contents.

6 years agoipdbg-la: Drop various unneeded name prefixes.
Uwe Hermann [Wed, 29 Aug 2018 22:12:12 +0000 (00:12 +0200)]
ipdbg-la: Drop various unneeded name prefixes.

6 years agoipdbg-la: Fix incorrect copyright headers.
Uwe Hermann [Wed, 29 Aug 2018 22:13:26 +0000 (00:13 +0200)]
ipdbg-la: Fix incorrect copyright headers.

As per Daniel Anselmi <redacted> in an email conversation, the
code was actually written by Eva Kissling <redacted>
(as indicated in the commit logs as well). Fix the headers accordingly.

6 years agoipdbg-la: Consistently use the same naming everywhere.
Uwe Hermann [Wed, 29 Aug 2018 22:02:16 +0000 (00:02 +0200)]
ipdbg-la: Consistently use the same naming everywhere.

Use "ipdbg-la" everywhere to refer to the driver, including
in function name prefixes etc. There's no need to encode
website details (.org) into the driver/function name(s).

6 years agoipdbg-la: Allow rx to time out and handle invalid data properly
Soeren Apel [Tue, 21 Aug 2018 09:12:12 +0000 (11:12 +0200)]
ipdbg-la: Allow rx to time out and handle invalid data properly

This is required for when we connect to invalid devices, e.g.
port 4243 of the IPDBG host instead of 4242.

6 years agoipdbg-la: Remove SR_CONF_SERIALCOMM
Soeren Apel [Mon, 20 Aug 2018 21:26:46 +0000 (23:26 +0200)]
ipdbg-la: Remove SR_CONF_SERIALCOMM

6 years agoipdbg-la: Adjust to sigrok indentation style
Soeren Apel [Mon, 20 Aug 2018 21:16:14 +0000 (23:16 +0200)]
ipdbg-la: Adjust to sigrok indentation style

6 years agoipdbg-la: More style fixes
Soeren Apel [Mon, 20 Aug 2018 20:51:32 +0000 (22:51 +0200)]
ipdbg-la: More style fixes

6 years agoipdbg-la: Style fixes
Soeren Apel [Sun, 12 Aug 2018 08:12:06 +0000 (10:12 +0200)]
ipdbg-la: Style fixes

6 years agoipdbg-la: stop-command
Eva Kissling [Mon, 2 Oct 2017 15:17:09 +0000 (17:17 +0200)]
ipdbg-la: stop-command

6 years agoipdbg-la: stop-function pulseview
Eva Kissling [Thu, 28 Sep 2017 11:32:32 +0000 (13:32 +0200)]
ipdbg-la: stop-function pulseview

6 years agoipdbg-la: add edge trigger option
Eva Kissling [Mon, 25 Sep 2017 19:32:13 +0000 (21:32 +0200)]
ipdbg-la: add edge trigger option

6 years agoipdbg-la: revers order of trigger settings
Eva Kissling [Wed, 13 Sep 2017 17:40:31 +0000 (19:40 +0200)]
ipdbg-la: revers order of trigger settings

6 years agoipdbg-la: return correct samples limit
Eva Kissling [Mon, 11 Sep 2017 15:30:53 +0000 (17:30 +0200)]
ipdbg-la: return correct samples limit

6 years agoipdbg-la: add "loggs"
Eva Kissling [Fri, 8 Sep 2017 14:46:32 +0000 (16:46 +0200)]
ipdbg-la: add "loggs"

6 years agoipdbg-la: get rid of crash on shutdown
Eva Kissling [Thu, 24 Aug 2017 16:37:45 +0000 (18:37 +0200)]
ipdbg-la: get rid of crash on shutdown

6 years agoipdbg-la: reduce warnings (added explicit casts)
Eva Kissling [Thu, 25 May 2017 22:25:05 +0000 (00:25 +0200)]
ipdbg-la: reduce warnings (added explicit casts)

6 years agoipdbg-la: Add changes for IPDBG project
Eva Kissling [Tue, 16 May 2017 20:13:53 +0000 (22:13 +0200)]
ipdbg-la: Add changes for IPDBG project

6 years agosr_buildinfo_libs_get(): Also support LIBUSBX_API_VERSION.
Uwe Hermann [Sun, 22 Jul 2018 15:57:34 +0000 (17:57 +0200)]
sr_buildinfo_libs_get(): Also support LIBUSBX_API_VERSION.

This fixes a build issue on some distros / libusb versions.

6 years agoFix multiple C++ bindings warnings with gcc 8.
Uwe Hermann [Sun, 22 Jul 2018 15:07:26 +0000 (17:07 +0200)]
Fix multiple C++ bindings warnings with gcc 8.

  bindings/cxx/classes.cpp: In function ‘int sigrok::call_log_callback(void*, int, const char*, __va_list_tag*)’:
  bindings/cxx/classes.cpp:242:17: warning: catching polymorphic type ‘class sigrok::Error’ by value [-Wcatch-value=]
    } catch (Error e) {
                   ^
  In file included from bindings/cxx/classes.cpp:1667:
  bindings/cxx/enums.cpp: In static member function ‘static Glib::VariantBase sigrok::ConfigKey::parse_string(std::__cxx11::string, sr_datatype)’:
  bindings/cxx/enums.cpp:789:13: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
      } catch (invalid_argument) {
               ^~~~~~~~~~~~~~~~
  bindings/cxx/enums.cpp:804:13: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
      } catch (invalid_argument) {
               ^~~~~~~~~~~~~~~~

6 years agoinput/wav: Fix potential buffer overflow (and compiler warning).
Uwe Hermann [Sun, 22 Jul 2018 14:59:38 +0000 (16:59 +0200)]
input/wav: Fix potential buffer overflow (and compiler warning).

With gcc 8 this yielded:

  src/input/wav.c: In function ‘receive’:
  src/input/wav.c:345:51: warning: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 6 [-Wformat-truncation=]
       snprintf(channelname, sizeof(channelname), "CH%d", i + 1);
                                                     ^~
  src/input/wav.c:345:48: note: directive argument in the range [1, 2147483647]
       snprintf(channelname, sizeof(channelname), "CH%d", i + 1);
                                                  ^~~~~~
  src/input/wav.c:345:5: note: ‘snprintf’ output between 4 and 13 bytes into a destination of size 8
       snprintf(channelname, sizeof(channelname), "CH%d", i + 1);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6 years agostrutil.c: Use gboolean in favor of bool for consistency.
Uwe Hermann [Sun, 22 Jul 2018 14:37:58 +0000 (16:37 +0200)]
strutil.c: Use gboolean in favor of bool for consistency.

6 years agotests: add (negative) "." test case for rational conversion
Gerhard Sittig [Thu, 19 Jul 2018 19:45:10 +0000 (21:45 +0200)]
tests: add (negative) "." test case for rational conversion

A naive implementation of the parse rational conversion helper could
have accepted invalid input. Check for the expected conversion failure.

6 years agotests: add more cases for text to rational number conversion
Gerhard Sittig [Mon, 16 Jul 2018 19:19:36 +0000 (21:19 +0200)]
tests: add more cases for text to rational number conversion

Test the ".1" and "1." cases which are assumed to be problematic on
MacOS (or may not have been supported before a recent update). Add more
tests with leading signs as well as whitespace instead of a sign.

6 years agostrutil: insist in some mantissa for parse rational
Gerhard Sittig [Thu, 19 Jul 2018 20:12:15 +0000 (22:12 +0200)]
strutil: insist in some mantissa for parse rational

The previous implementation accepted either empty integer or empty
fractional parts of a floating point number, but also when both parts
were missing ("." input). Insist in at least one of the parts to be
present.

6 years agostrutil: accept leading whitespace in parse rational
Gerhard Sittig [Thu, 19 Jul 2018 19:10:15 +0000 (21:10 +0200)]
strutil: accept leading whitespace in parse rational

Programmatic output of floating point numbers might choose to print
spaces instead of an explicit '+' sign, to align the output with the
result of formatting negative numbers yet achieve a screen appearance
similar to what humans would have written. Skip leading whitespace
before insisting in seeing either signs or digits or decimals.

6 years agostrutil: handle empty fractional in parse rational
Gerhard Sittig [Thu, 19 Jul 2018 19:05:54 +0000 (21:05 +0200)]
strutil: handle empty fractional in parse rational

Accept numbers like "123." where the period (dot) is present yet the
fractional part is empty. Adding a period but no additional digits is a
popular method of turning an otherwise integer literal into a float.
Compilers and strtod() routines accept this notation, too, so we have to
expect seeing such input.

6 years agostrutil: cosmetics, fixup minor style nits
Gerhard Sittig [Thu, 19 Jul 2018 18:59:37 +0000 (20:59 +0200)]
strutil: cosmetics, fixup minor style nits

6 years agotests: echo text input when rational conversion fails
Gerhard Sittig [Mon, 16 Jul 2018 19:00:06 +0000 (21:00 +0200)]
tests: echo text input when rational conversion fails

The previous implementation only echoed the p/q conversion results _if_
the return code signalled success but the result was unexpected. Although
the errno value for failed conversion attempts (non-zero return codes)
is not too helpful, seeing which text input failed the test is desirable.

6 years agoinput/vcd: abort VCD import when timestamp counts backwards
Gerhard Sittig [Sat, 21 Jul 2018 20:30:05 +0000 (22:30 +0200)]
input/vcd: abort VCD import when timestamp counts backwards

The VCD specification requests that timestamps will strictly increase as
one advances through the file. Add another check where the previous
implementation resulted in a tight loop and made the application stall.
Do print an error message and abort file processing in that case.

This fixes bug #1250.

6 years agosr_buildinfo_libs_get(): Show LIBUSB_API_VERSION.
Uwe Hermann [Thu, 19 Jul 2018 21:56:33 +0000 (23:56 +0200)]
sr_buildinfo_libs_get(): Show LIBUSB_API_VERSION.

6 years agoconfigure.ac: Emit a warning if the C++ bindings are not being built.
Uwe Hermann [Tue, 17 Jul 2018 17:43:54 +0000 (19:43 +0200)]
configure.ac: Emit a warning if the C++ bindings are not being built.

6 years agostrutil: Fix unit test failure (bug #1093).
Uwe Hermann [Tue, 17 Jul 2018 17:06:05 +0000 (19:06 +0200)]
strutil: Fix unit test failure (bug #1093).

Patch by Wojciech Lazarski, thanks a lot!

6 years agooutput: simplify trigger marker position calculation (readability)
Gerhard Sittig [Sun, 15 Jul 2018 18:11:58 +0000 (20:11 +0200)]
output: simplify trigger marker position calculation (readability)

This amends commit 67b345b981a5 which fixed the calculation of the
trigger marker's position. Improve readability of the formulae and
adjust comments.

6 years agooutput: fixup trigger marker position in ascii/bits/hex output modules
Gerhard Sittig [Wed, 27 Jun 2018 21:57:45 +0000 (23:57 +0200)]
output: fixup trigger marker position in ascii/bits/hex output modules

Adjust the calculation of the '^' marker's position in T: lines of the
-O ascii/bits/hex output modules such that it matches the sample data
lines' layout. Add comments which discuss the motivation of the marker
position's calculation, which differs among each of those modules.

Strictly speaking -O bits was already correct. But I chose to adjust and
comment the logic such that multiple output modules follow a common
pattern. If performance is an issue, the bits.c change might be worth
reverting.

This commit fixes bug #1238.

6 years agostd: Improve prototypes of some functions.
Uwe Hermann [Sun, 27 May 2018 19:14:37 +0000 (21:14 +0200)]
std: Improve prototypes of some functions.

6 years agorigol-ds: Add initial Agilent MSO7034A support.
Uwe Hermann [Fri, 22 Jun 2018 20:37:10 +0000 (22:37 +0200)]
rigol-ds: Add initial Agilent MSO7034A support.

Digital channels (and various other features) are not yet supported.

6 years agorigol-ds: Improve a log message.
Uwe Hermann [Thu, 31 May 2018 17:17:52 +0000 (19:17 +0200)]
rigol-ds: Improve a log message.

6 years agosiglent-sds: Drop currently unused switch/case.
Uwe Hermann [Wed, 21 Feb 2018 21:57:59 +0000 (22:57 +0100)]
siglent-sds: Drop currently unused switch/case.