]> sigrok.org Git - pulseview.git/log
pulseview.git
18 months agoMainWindow: Move show_session_error to signals
Vesa-Pekka Palmu [Thu, 24 Nov 2022 16:58:38 +0000 (18:58 +0200)]
MainWindow: Move show_session_error to signals

Before various capture error handlers called Mainwindow::show_session_error()
directly, and thus outside of the main UI thread. Qt widgets aren't thread-
safe and thus this resulted in crashes or freezes at least on OSX.

19 months agocmake: only optionally modify in-source .ts files (Qt lupdate)
Gerhard Sittig [Sat, 22 Apr 2023 07:28:12 +0000 (09:28 +0200)]
cmake: only optionally modify in-source .ts files (Qt lupdate)

The creation of .qm output files from .ts input data undoubtedly needs
to be an unconditional part of the build process. The modification of
.ts source files in contrast needs to remain an intentional activity
during development. The mere act of compiling sources to binaries shall
never modify the source tree. Move the lupdate(1) invocation out of the
default build process, while lrelease(1) remains in place.

Ideally we could have a "make ts-update" target for developers to invoke
as needed. But that'd be more involved since the qt5_create_translation()
cmake routine is involved, which needs to be passed variables content
that is only available at configure time. A future implementation could
investigate the add_custom_target() approach. This commit introduces the
ENABLE_TS_UPDATE cmake option to quickly address the issue.

How to reproduce:

  $ cd $SRC
  $ cmake --build $OUT
  $ git status -s
  $ cmake -DENABLE_TS_UPDATE=ON $OUT
  $ cmake --build $OUT
  $ git status -s

This commit also happens to bring build steps in closer promixity, while
making development iterations stand out more perceivably.

19 months agomanual: symlink manual/images/ subdir for out-of-source builds
Gerhard Sittig [Sat, 22 Apr 2023 07:20:21 +0000 (09:20 +0200)]
manual: symlink manual/images/ subdir for out-of-source builds

Execution of "make manual" created HTML output, but document inspection
suffered from missing screenshots. Symlink the images/ subdirectory so
that source file content is re-used in output hierarchies.

This has gone unnoticed because "make install" references source files,
and the manual author appears to not use out of source builds. Only
out of source builds and only HTML output inspection before installation
were affected. Installed manuals were not affected.

How to reproduce:

  $ cmake --build $OUT --target manual
  $ xdg-open $OUT/manual/manual.html

19 months agoDecodeTrace: Change code path for obsolete Qt constants (Qt >= 5.12)
Frank Stettner [Tue, 11 Apr 2023 18:34:14 +0000 (20:34 +0200)]
DecodeTrace: Change code path for obsolete Qt constants (Qt >= 5.12)

This unbreaks macOS 11 builds with qt@5 from homebrew.
This ammends commit 1ed73eb

19 months agoStoreSession: Use Glib::DateTime
Soeren Apel [Sun, 9 Apr 2023 20:27:42 +0000 (22:27 +0200)]
StoreSession: Use Glib::DateTime

19 months agoStoreSession: Also send SR_DF_HEADER packet
Soeren Apel [Sat, 8 Apr 2023 21:17:09 +0000 (23:17 +0200)]
StoreSession: Also send SR_DF_HEADER packet

Some output modules rely on it, e.g. CSV

2 years agoCMakeLists.txt: adjust cmake build rules for Qt6 support
Vesa-Pekka Palmu [Sun, 20 Nov 2022 18:33:14 +0000 (20:33 +0200)]
CMakeLists.txt: adjust cmake build rules for Qt6 support

Check for the availability of Qt5 as well as Qt6. Prefer Qt5 for
backwards compatibility, but accept when only Qt6 is available.
This unbreaks Mac OSX 12 builds with homebrew.

This change is based on work that was submitted by Dominik Sliwa
<redacted>.

It is assumed that failed tests for timestamps to text conversion
(the format_time_minutes() routine) and Qt widgets not being thread
safe are issues that do reproduce more often on the Mac platform
but are independent from Qt6 support. These issues will be dealt with
separately.

2 years agopv: adjust application source code for Qt6 support
Vesa-Pekka Palmu [Sun, 20 Nov 2022 18:33:14 +0000 (20:33 +0200)]
pv: adjust application source code for Qt6 support

Prepare application source code (C++ programming language files) for Qt6
compatibility. Implement alternative code paths where the API has changed
compared to Qt5. This unbreaks Mac OSX 12 builds with homebrew.

This change is based on work that was submitted by Dominik Sliwa
<redacted>.

2 years agoCMakeLists.txt: always use highest available C++17/C++14/C++11 standard
Gerhard Sittig [Thu, 24 Nov 2022 13:48:00 +0000 (14:48 +0100)]
CMakeLists.txt: always use highest available C++17/C++14/C++11 standard

Check for the availability of the C++17, C++14, and C++11 language
standards. Prefer the highest available to build any of the feature
tests or applications. Factor out common conditions into a central spot
in the CMake build rules. Rename variables to avoid special chars in
their name.

Setup both the CMAKE_CXX_STANDARD cmake variable which internally is
used transparently, as well explicitly pass the -std= compile flag in
build instructions for feature checks and application code. It's what
the smuview build does, should also work for pulseview, and is assumed
to not harm either in case it's redundant.

This unbreaks operation in most generic ways on platforms like MacOS 12
(system library), and for external libraries of differing degrees of
aggressivness (boost, glibmm, sig++).

2 years agomanual: fix a clipboard error in PDF creation build rules
Gerhard Sittig [Mon, 28 Nov 2022 09:12:40 +0000 (10:12 +0100)]
manual: fix a clipboard error in PDF creation build rules

This amends commit f2f536aa7be2 which introduced manual build rules and
duplicated HTML in two locations. One of them is PDF creation. Fix it.
This was spotted by smuview maintenance.

2 years agoCMakeLists.txt: Enable use of C++17 on Apple systems
Vesa-Pekka Palmu [Sun, 20 Nov 2022 18:23:40 +0000 (20:23 +0200)]
CMakeLists.txt: Enable use of C++17 on Apple systems

The stdlib on OSX 12 Monteray requires C++17 to compile. This change
tests for and conditionally enables C++17 support on Apple devices.
Other platforms remain unaffected.

2 years agoCMakeLists.txt: Detect glibmm-2.68 in addition to glibmm-2.4
Vesa-Pekka Palmu [Sun, 20 Nov 2022 18:20:09 +0000 (20:20 +0200)]
CMakeLists.txt: Detect glibmm-2.68 in addition to glibmm-2.4

On OS X with homebrew only glibmm-2.68 series is available. As far
as I can tell there are no breaking changes for PulseView on the
glibmm-2.68 ABI change.

This change still prefers glibmm-2.4 if found, and uses 2.4 if both
2.4 and 2.68 are available.

2 years agoCMakeLists.txt: move includes to the top, earlier pkg-config lookup
Gerhard Sittig [Sun, 6 May 2018 09:29:19 +0000 (11:29 +0200)]
CMakeLists.txt: move includes to the top, earlier pkg-config lookup

Move some of the common cmake includes to a location near the top of the
file. Lookup the pkg-config(1) utility before the construction of the
list of dependendencies.

Remaining subsequent includes are strictly conditional (backtrace), or
belong to different groups than source compilation (VCS revision, CPack).

2 years agoCMakeLists.txt: consistent whitespace in atomics check
Vesa-Pekka Palmu [Sun, 20 Nov 2022 18:45:09 +0000 (20:45 +0200)]
CMakeLists.txt: consistent whitespace in atomics check

Previous CMakeLists.txt rules used to mix TAB and SPACE indentation.
Consistently use TAB instead. This amends commit 4da54b6be6a1 which
introduced the check for the atomics library.

[ no change in behaviour, see whitespace ignoring diff to verify ]

2 years agoSignal: Add missing item separator in channel names list
Gerhard Sittig [Mon, 21 Nov 2022 13:20:53 +0000 (14:20 +0100)]
Signal: Add missing item separator in channel names list

The SCL item in the ChannelNames[] table lacked the separator, which
made it "run into" the next item (preprocessor string concatenation).
Add the missing separator.

This amends commits 9e40e83daf6a (which introduced the lack of the
separator while it did not take effect yet) and 7d5a9c3e79cb (which
made it take effect when items got added and rearranged).

Reported-By: Dominik Sliwa <redacted>
2 years agoviewport: event->position() isn't Qt 5.12, tweak version check
Gerhard Sittig [Sat, 29 Oct 2022 19:37:21 +0000 (21:37 +0200)]
viewport: event->position() isn't Qt 5.12, tweak version check

According to https://doc.qt.io/qt-5/qwheelevent.html#position the
QWheelEvent::position() method was introduced in Qt 5.14. Adjust
the Qt version check to unbreak builds with Qt 5.12.

2 years agoMan: Document shift+mouse wheel modifier
Soeren Apel [Sat, 8 Oct 2022 19:56:54 +0000 (21:56 +0200)]
Man: Document shift+mouse wheel modifier

2 years agoUpdate translations.qrc
Yukari-Shoji [Mon, 18 Apr 2022 11:25:53 +0000 (20:25 +0900)]
Update translations.qrc

2 years agoAdd Japanese translation file
Yukari Shoji [Sun, 17 Apr 2022 10:27:12 +0000 (19:27 +0900)]
Add Japanese translation file

2 years agoAnalogSignal: Fix storing of autoranging setting
Ramon Felder [Mon, 5 Sep 2022 16:23:03 +0000 (18:23 +0200)]
AnalogSignal: Fix storing of autoranging setting

2 years agoSpanish translation updated
hasecilu [Mon, 12 Sep 2022 22:24:56 +0000 (17:24 -0500)]
Spanish translation updated

Signed-off-by: hasecilu <redacted>
2 years agoSettings: Fix the default item in the language combobox
Self Not Found [Wed, 14 Sep 2022 13:44:04 +0000 (21:44 +0800)]
Settings: Fix the default item in the language combobox

If the language is not set, the default language will be English, but the combobox will show "German"(The first item in language combobox)
This is because the current_language will set to "" if the language is not set, and it doesn't match the default language "en"

2 years agoDecodeSignal: Process late annotations which are sent upon EOF
Gerhard Sittig [Mon, 3 Oct 2022 19:10:40 +0000 (21:10 +0200)]
DecodeSignal: Process late annotations which are sent upon EOF

When protocol decoders learn about the end of the input data, they may
emit more annotations before their operation terminates or gets reset
and re-fed. Do process these late annotations in the application, too.
Without this change, the last annotations are not seen. See bug #292
for an example.

2 years agoViewport: scroll horizontally with the vertical wheel and the shift key
Łukasz Stelmach [Mon, 7 Dec 2020 17:09:43 +0000 (18:09 +0100)]
Viewport: scroll horizontally with the vertical wheel and the shift key

Some software (notably Gimp and Inkscape) allows horizontal scrolling
with the vertical wheel when the shift key is pressed. Implement this
behaviour for easier navigation with single wheel mice.

2 years agomanual: add cmake project() directive for standalone operation
Gerhard Sittig [Sun, 2 Oct 2022 14:07:10 +0000 (16:07 +0200)]
manual: add cmake project() directive for standalone operation

The cmake rules in the manual/ subdirectory are designed to work both in
the context of the application build, as well as for exclusive creation
of the manual.

Add a project() directive in the manual/ cmake rules. Its absence was
not fatal but resulted in warnings. This amends commit 074da67ee25a.

2 years agoSegment: Include <memory> so we don't get error at compile time
Paul Kasemir [Tue, 30 Aug 2022 18:32:49 +0000 (12:32 -0600)]
Segment: Include <memory> so we don't get error at compile time

Example build failure:
  In file included from /home/paul/sigrok-util/cross-compile/mingw/build_release_64/pulseview/pv/data/segment.cpp:21:
  /home/paul/sigrok-util/cross-compile/mingw/build_release_64/pulseview/pv/data/segment.hpp:130:14: error: 'shared_ptr' in namespace 'std' does not name a template type
    130 | typedef std::shared_ptr<pv::data::Segment> SharedPtrToSegment;
        |              ^~~~~~~~~~
  /home/paul/sigrok-util/cross-compile/mingw/build_release_64/pulseview/pv/data/segment.hpp:32:1: note: 'std::shared_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
     31 | #include <QObject>
    +++ |+#include <memory>
     32 |

2 years agoFix #1663 by handling the case where annotations aren't assigned a row
Soeren Apel [Sun, 18 Sep 2022 20:28:51 +0000 (22:28 +0200)]
Fix #1663 by handling the case where annotations aren't assigned a row

2 years agoAdd missing version check
Soeren Apel [Sun, 18 Sep 2022 11:33:57 +0000 (13:33 +0200)]
Add missing version check

2 years agoFix depreciation warnings caused by newer Qt versions
Soeren Apel [Tue, 13 Sep 2022 20:16:31 +0000 (22:16 +0200)]
Fix depreciation warnings caused by newer Qt versions

2 years agoTrace View: Allow context menu to show basic options in empty area
Soeren Apel [Sat, 30 Jul 2022 20:58:23 +0000 (22:58 +0200)]
Trace View: Allow context menu to show basic options in empty area

2 years agoINSTALL: Clarify translation package requirements
Soeren Apel [Thu, 10 Mar 2022 18:32:52 +0000 (19:32 +0100)]
INSTALL: Clarify translation package requirements

2 years agoDecodeSignal: Optionally send EOF to decoder session
Gerhard Sittig [Sun, 26 Dec 2021 06:56:09 +0000 (07:56 +0100)]
DecodeSignal: Optionally send EOF to decoder session

Communicate EOF to the decoder session when the input stream of
sample data is exhausted (and when the library supports it).

2 years agoTraceView: Set a lower MinScale
makigumo [Wed, 16 Feb 2022 10:59:18 +0000 (11:59 +0100)]
TraceView: Set a lower MinScale

This allows to view smaller scale (ps scalle) signals, e.g. from simulation.

2 years agoDevice: Display "continuous" checkbox when settable in the driver.
Gerhard Sittig [Tue, 22 Feb 2022 00:34:25 +0000 (01:34 +0100)]
Device: Display "continuous" checkbox when settable in the driver.

This has gone unnoticed because the majority of acquisition devices
either have local memory or require streaming. Only few support both
approaches and users can select the most appropriate approach for
their respective use case. Observed with Kingst LA devices.

2 years agocmake: check for optional libsigrokdecode features (send EOF)
Gerhard Sittig [Sun, 26 Dec 2021 06:54:36 +0000 (07:54 +0100)]
cmake: check for optional libsigrokdecode features (send EOF)

Implement a feature check for the srd_session_send_eof() routine which
depends on the libsigrokdecode version. This test implementation is a
little more redundant than necessary, check_symbol_exists() would be
preferred instead but would not work in my local setup.

2 years agoApplication: Do not show unsupported device drivers in version info
Soeren Apel [Tue, 21 Dec 2021 21:09:51 +0000 (22:09 +0100)]
Application: Do not show unsupported device drivers in version info

2 years agoDevice: Ignore some more false flags
Soeren Apel [Tue, 21 Dec 2021 20:42:13 +0000 (21:42 +0100)]
Device: Ignore some more false flags

2 years agoGlobalSettings: Use gsize instead of guint
Soeren Apel [Sat, 18 Dec 2021 17:37:00 +0000 (18:37 +0100)]
GlobalSettings: Use gsize instead of guint

2 years agoBinary output view: Highlight byte range currently in view
Soeren Apel [Fri, 19 Nov 2021 13:53:28 +0000 (14:53 +0100)]
Binary output view: Highlight byte range currently in view

3 years agoGlobalSettings: Use g_memdup2 if available
Soeren Apel [Wed, 29 Sep 2021 21:22:29 +0000 (23:22 +0200)]
GlobalSettings: Use g_memdup2 if available

3 years agoFix Bug #1649 (Save dialog does not close automatically)
Ralf [Sun, 10 Jan 2021 09:09:26 +0000 (10:09 +0100)]
Fix Bug #1649 (Save dialog does not close automatically)

3 years agoSave data: Catch Error exception
Ralf [Sun, 10 Jan 2021 12:43:51 +0000 (13:43 +0100)]
Save data: Catch Error exception

How to reproduce: Save data to Read-Only disk

3 years agoSave dialog: Fix cancellation
Ralf [Sun, 10 Jan 2021 09:07:14 +0000 (10:07 +0100)]
Save dialog: Fix cancellation

Without the fix cancellation of save data does not work

How to reproduce:
1. Start PV with demo device and generate sufficient data, e.g. demo device 1GSa/s, 10MSa
2. Save data (should take at least 30s) and try to cancel saving
3. PV continues saving data and dialog reappears after next progress update

3 years agoEnsure QT plugin imports are only done when compiling statically
Kyle Johnson [Tue, 4 May 2021 18:09:59 +0000 (13:09 -0500)]
Ensure QT plugin imports are only done when compiling statically

3 years agoFix broken build due to C++ template behind C linkage
Stefan Brüns [Wed, 28 Apr 2021 00:14:47 +0000 (02:14 +0200)]
Fix broken build due to C++ template behind C linkage

glib/gatomic.h since 2.68 includes type_traits, which causes a compilation
error:
In file included from /usr/include/glib-2.0/glib/gatomic.h:31,
                 from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/libsigrokdecode/libsigrokdecode.h:25,
                 from /home/abuild/rpmbuild/BUILD/pulseview-0.4.2/pv/data/decode/annotation.cpp:21:
/usr/include/c++/10/type_traits:2308:3: error: template with C linkage
2308 |   template<typename _CTp, typename _Rp>

As libsigrokdecode.h declares extern C linkage itself where necessary,
remove it from pulseviews include statements from the last two occasions.

3 years agodoc: update IRC reference to Libera.Chat
Gerhard Sittig [Wed, 16 Jun 2021 18:52:14 +0000 (20:52 +0200)]
doc: update IRC reference to Libera.Chat

3 years agoDecodeSignal: Support unitsize > 1 for logic output
Soeren Apel [Mon, 15 Feb 2021 21:52:04 +0000 (22:52 +0100)]
DecodeSignal: Support unitsize > 1 for logic output

3 years agoDecodeSignal: Receive RLE-encoded PD logic output data
Soeren Apel [Mon, 22 Jun 2020 18:14:59 +0000 (20:14 +0200)]
DecodeSignal: Receive RLE-encoded PD logic output data

3 years agoDecodeSignal: Increase robustness to catch errors in PDs
Soeren Apel [Thu, 26 Mar 2020 14:41:38 +0000 (15:41 +0100)]
DecodeSignal: Increase robustness to catch errors in PDs

3 years agoDecodeSignal: Use better colors and names for decoder output signals
Soeren Apel [Wed, 25 Mar 2020 21:08:46 +0000 (22:08 +0100)]
DecodeSignal: Use better colors and names for decoder output signals

3 years agoUse separate logic output muxing vectors for each decoder
Soeren Apel [Sun, 15 Mar 2020 21:25:45 +0000 (22:25 +0100)]
Use separate logic output muxing vectors for each decoder

3 years agoContinue work on SRD_OUTPUT_LOGIC
Soeren Apel [Tue, 3 Mar 2020 21:23:05 +0000 (22:23 +0100)]
Continue work on SRD_OUTPUT_LOGIC

3 years agoAllow re-loading sessions to work with PD output signals
Soeren Apel [Tue, 3 Sep 2019 18:17:29 +0000 (20:17 +0200)]
Allow re-loading sessions to work with PD output signals

3 years agoInitial support for SRD_OUTPUT_LOGIC
Soeren Apel [Sat, 3 Aug 2019 21:08:34 +0000 (23:08 +0200)]
Initial support for SRD_OUTPUT_LOGIC

3 years agoDon't set unicode to true
Soeren Apel [Thu, 7 Jan 2021 09:03:23 +0000 (10:03 +0100)]
Don't set unicode to true

NSIS 2.x doesn't know the unicode switch and chokes, 3.07 defaults
it to true as well.

As there doesn't seem to be a graceful way to handle 2.x versions,
we have to remove the unicode switch and the warning in 3.x (< 3.7)
installers shall be ignored.

3 years agoFix NSIS warning 7998
Soeren Apel [Wed, 6 Jan 2021 15:50:32 +0000 (16:50 +0100)]
Fix NSIS warning 7998

Thanks to knarfS for the tip!

3 years agoSimplify segment complete notifications and fix error msg handling
Soeren Apel [Sat, 2 Jan 2021 23:26:57 +0000 (00:26 +0100)]
Simplify segment complete notifications and fix error msg handling

3 years agoFix some clang-tidy complaints
Soeren Apel [Thu, 31 Dec 2020 19:06:53 +0000 (20:06 +0100)]
Fix some clang-tidy complaints

3 years agoFix handling of 64 channel devices
riktw [Tue, 22 Sep 2020 20:47:40 +0000 (22:47 +0200)]
Fix handling of 64 channel devices

3 years agoFix some clang-tidy complaints
Soeren Apel [Wed, 30 Dec 2020 21:27:13 +0000 (22:27 +0100)]
Fix some clang-tidy complaints

3 years agoFix malformed declaration in MathSignal and add missing signal call
Soeren Apel [Tue, 29 Dec 2020 22:24:45 +0000 (23:24 +0100)]
Fix malformed declaration in MathSignal and add missing signal call

3 years agoSignal: Add clarifying comment
Soeren Apel [Mon, 14 Dec 2020 22:08:15 +0000 (23:08 +0100)]
Signal: Add clarifying comment

3 years agoAnalogSignal: Enforce min neg/pos div count for logic
Soeren Apel [Mon, 14 Dec 2020 13:23:00 +0000 (14:23 +0100)]
AnalogSignal: Enforce min neg/pos div count for logic

3 years agoMake AnalogSignal inherit LogicSignal
Soeren Apel [Fri, 4 Dec 2020 22:54:03 +0000 (23:54 +0100)]
Make AnalogSignal inherit LogicSignal

This way, we can re-use the logic drawing methods and don't
have them duplicated in two different trace types.

3 years agoFix remaining invalid disconnect() calls
Soeren Apel [Sat, 12 Dec 2020 21:47:45 +0000 (22:47 +0100)]
Fix remaining invalid disconnect() calls

3 years agoFix #1629 more by fixing the notification handling
Soeren Apel [Sat, 12 Dec 2020 21:23:21 +0000 (22:23 +0100)]
Fix #1629 more by fixing the notification handling

4 years agoAdd "allow vertical dragging in the view" setting
Soeren Apel [Thu, 26 Nov 2020 21:17:34 +0000 (22:17 +0100)]
Add "allow vertical dragging in the view" setting

4 years agoDecodeTrace: Add annotation class to hover text
Soeren Apel [Thu, 26 Nov 2020 20:46:58 +0000 (21:46 +0100)]
DecodeTrace: Add annotation class to hover text

4 years agoFix #1629 by not reallocating DecodeSegments
Soeren Apel [Mon, 23 Nov 2020 22:49:11 +0000 (23:49 +0100)]
Fix #1629 by not reallocating DecodeSegments

Doing so called the empty DecodeSegment copy constructor,
creating empty DecodeSegment instances.

Also fixes an off-by-one bug that prevented the final input
segment from being processed.

4 years agoPrevent Qt from crashing PV by only showing the first error
Soeren Apel [Wed, 18 Nov 2020 18:09:41 +0000 (19:09 +0100)]
Prevent Qt from crashing PV by only showing the first error

4 years agoFix #1637 by auto-assigning only to unused signals
Soeren Apel [Sun, 15 Nov 2020 19:58:40 +0000 (20:58 +0100)]
Fix #1637 by auto-assigning only to unused signals

4 years agoAdd "start acquisition for all devices" option
Soeren Apel [Fri, 13 Nov 2020 20:53:40 +0000 (21:53 +0100)]
Add "start acquisition for all devices" option

4 years agoFix #1591 by updating Logic and Analog if needed
Soeren Apel [Fri, 13 Nov 2020 20:40:03 +0000 (21:40 +0100)]
Fix #1591 by updating Logic and Analog if needed

4 years agonsis: Fix for installing 64bit Windows programs into 'Program Files'
xorloser [Thu, 10 Sep 2020 05:31:52 +0000 (15:31 +1000)]
nsis: Fix for installing 64bit Windows programs into 'Program Files'

This fixes bug #1082.

4 years agoMainWindow: Make on_run_stop_clicked() public
Soeren Apel [Sun, 25 Oct 2020 20:46:47 +0000 (21:46 +0100)]
MainWindow: Make on_run_stop_clicked() public

4 years agohandle SIGUSR1 signal to run/stop the capture, UNIX only
Mickael Bosch [Fri, 9 Oct 2020 13:49:16 +0000 (15:49 +0200)]
handle SIGUSR1 signal to run/stop the capture, UNIX only

4 years agoFix #1607 by ignoring common read-only config keys
Soeren Apel [Fri, 16 Oct 2020 21:40:43 +0000 (23:40 +0200)]
Fix #1607 by ignoring common read-only config keys

4 years agoCMakeLists.txt: Only use -Wa,-mbig-obj and -O3 on Windows.
Uwe Hermann [Wed, 23 Sep 2020 19:19:38 +0000 (21:19 +0200)]
CMakeLists.txt: Only use -Wa,-mbig-obj and -O3 on Windows.

Note: -mbig-obj has been available on 64bit bit builds for a while now, but
on 32bit builds it needs a rather recent binutils version (2.35, 07/2020).

4 years agoFix for cross-compiling for Windows using mingw MXE.
xorloser [Wed, 9 Sep 2020 10:44:59 +0000 (20:44 +1000)]
Fix for cross-compiling for Windows using mingw MXE.

The -mbig-obj param fixes a 'too many sections for PE file' error.

The -O3 param fixes a 'section or string table size too large for PE file'
error.

4 years agoMathSignal: Implement custom math signal dialog
Soeren Apel [Sun, 27 Sep 2020 21:18:53 +0000 (23:18 +0200)]
MathSignal: Implement custom math signal dialog

4 years agoApplication: Also show exprtk version in application information
Soeren Apel [Sun, 27 Sep 2020 21:18:22 +0000 (23:18 +0200)]
Application: Also show exprtk version in application information

4 years agoMathSignal: Add config dialog
Soeren Apel [Wed, 2 Sep 2020 20:28:22 +0000 (22:28 +0200)]
MathSignal: Add config dialog

4 years agopv/exprtk.hpp: Fix Windows build issues.
Uwe Hermann [Wed, 16 Sep 2020 18:51:54 +0000 (20:51 +0200)]
pv/exprtk.hpp: Fix Windows build issues.

Define NOGDI and NORESOURCE in order to avoid unneeded namespace
pollution caused by <windows.h>, which leads to errors such as:

  libsigrokcxx/enums.hpp:374:36: error: expected unqualified-id before numeric constant
    static const QuantityFlag * const RELATIVE;
                                      ^

  libsigrokcxx/enums.hpp:161:32: error: expected unqualified-id before numeric constant
    static const Quantity * const DIFFERENCE;
                                  ^

4 years agoDecodeSignal: Update thread handling to match previous changes
Soeren Apel [Sat, 5 Sep 2020 21:23:30 +0000 (23:23 +0200)]
DecodeSignal: Update thread handling to match previous changes

4 years agoChannel popup: Don't use exceptions
Soeren Apel [Sat, 5 Sep 2020 20:04:38 +0000 (22:04 +0200)]
Channel popup: Don't use exceptions

4 years agoFix #1596 by fixing some race conditions
Soeren Apel [Sat, 5 Sep 2020 20:04:01 +0000 (22:04 +0200)]
Fix #1596 by fixing some race conditions

1) Let DecodeSignal::reset_decode() handle the srd session
2) Check for decode_interrupt_ before triggering signal

4 years agoFix #1596 by making memory management more robust
Soeren Apel [Thu, 3 Sep 2020 19:05:17 +0000 (21:05 +0200)]
Fix #1596 by making memory management more robust

1) Fixed use of raw pointers to shared_ptr-managed instances
2) Fixed bug due to newly-introduced shared_from_this
3) More nullptr checks
4) Add muxer thread interrupting

4 years agocmake: move project() before other statements
Gerhard Sittig [Thu, 20 Aug 2020 07:11:20 +0000 (09:11 +0200)]
cmake: move project() before other statements

The included GNUInstallDirs logic needs to know about the programming
languages which are used in the project. Without this spec a verbose
developer message gets emitted:

  CMake Warning (dev) at $HOME/share/cmake-3.18/Modules/GNUInstallDirs.cmake:225 (message):
    Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
    target architecture is known.  Please enable at least one language before
    including GNUInstallDirs.
  Call Stack (most recent call first):
    CMakeLists.txt:24 (include)
    This warning is for project developers.  Use -Wno-dev to suppress it.

Move the project() statement in CMakeList.txt before the include(), and
specify the C and C++ programming languages (C is needed at configuration
time for feature detection, before the application's C++ sources get built).

4 years agoMathSignal: Rename sig_sample() to sample()
Soeren Apel [Sun, 23 Aug 2020 18:05:36 +0000 (20:05 +0200)]
MathSignal: Rename sig_sample() to sample()

4 years agoMathSignal: Check for enabled signals
Soeren Apel [Sun, 23 Aug 2020 10:52:29 +0000 (12:52 +0200)]
MathSignal: Check for enabled signals

4 years agoRestore math signals as well
Soeren Apel [Sat, 22 Aug 2020 22:15:36 +0000 (00:15 +0200)]
Restore math signals as well

4 years agoMake error handling generic improve math error detail
Soeren Apel [Sat, 22 Aug 2020 20:49:16 +0000 (22:49 +0200)]
Make error handling generic improve math error detail

4 years agoRework all subthread-based workers to make notifications more robust
Soeren Apel [Sat, 22 Aug 2020 19:38:37 +0000 (21:38 +0200)]
Rework all subthread-based workers to make notifications more robust

4 years agoSignalBase: Prevent race condition for memory access
Soeren Apel [Tue, 18 Aug 2020 11:35:31 +0000 (13:35 +0200)]
SignalBase: Prevent race condition for memory access

4 years agoBetter segment handling in math signal and lock avoidance
Soeren Apel [Tue, 18 Aug 2020 06:38:33 +0000 (08:38 +0200)]
Better segment handling in math signal and lock avoidance

4 years agoMove signal color handling to SignalBase
Soeren Apel [Mon, 17 Aug 2020 09:37:06 +0000 (11:37 +0200)]
Move signal color handling to SignalBase

4 years agoMathSignal: Mark segments as complete
Soeren Apel [Sun, 16 Aug 2020 18:43:10 +0000 (20:43 +0200)]
MathSignal: Mark segments as complete

4 years agoMathSignal: Allow use of other signals
Soeren Apel [Sat, 15 Aug 2020 22:11:14 +0000 (00:11 +0200)]
MathSignal: Allow use of other signals

4 years agoImplement single sample value getters
Soeren Apel [Sun, 16 Aug 2020 19:09:11 +0000 (21:09 +0200)]
Implement single sample value getters

4 years agoMathSignal: Use error message
Soeren Apel [Thu, 13 Aug 2020 16:27:20 +0000 (18:27 +0200)]
MathSignal: Use error message