Alexandru Gagniuc [Wed, 28 Nov 2018 20:36:37 +0000 (14:36 -0600)]
cmake: Don't do a QUIET search for libsigrokcxx
libsigrokcxx is the most important dependency. A QUIET search means we
can miss important information, such as a version mismatch, and the
"libsigrokcxx not found" message is not at all helpful in determining
the cause of the problem.
Uwe Hermann [Mon, 29 Oct 2018 10:26:51 +0000 (11:26 +0100)]
manual: Bump date.
Uwe Hermann [Mon, 29 Oct 2018 09:10:34 +0000 (10:10 +0100)]
INSTALL: Mention both asciidoctor and asciidoctor-pdf.
Uwe Hermann [Mon, 29 Oct 2018 09:03:35 +0000 (10:03 +0100)]
Use more specific libsigrokcxx/libsigrokdecode minimum versions.
We require libsigrokcxx >= 0.5.1 e.g. due to Analog::get_logic_via_threshold(),
and libsigrokdecode >= 0.5.2 due to e.g. srd_log_callback_get().
Soeren Apel [Sun, 28 Oct 2018 22:26:25 +0000 (23:26 +0100)]
Ruler: Fix context menu for items on the ruler
Soeren Apel [Sun, 28 Oct 2018 22:11:52 +0000 (23:11 +0100)]
Installer: Add links to manual
Uwe Hermann [Sun, 28 Oct 2018 21:46:30 +0000 (22:46 +0100)]
INSTALL: Mention optional libboost-stacktrace.
Gerhard Sittig [Sun, 28 Oct 2018 21:15:49 +0000 (22:15 +0100)]
manual: allow manual conversion without source builds
Add a cmake_minimum_required() directive to the manual/ subdir's CMake
rules, such that the documentation can get built without involving the
application and its build dependencies.
Soeren Apel [Sun, 28 Oct 2018 19:27:07 +0000 (20:27 +0100)]
SignalBase: Make sure an invalid color isn't shown as "white"
While the color technically is black and not white, an alpha
value of 0 makes it appear as white.
Soeren Apel [Sun, 28 Oct 2018 18:20:50 +0000 (19:20 +0100)]
Manual: Adjust wording
Uwe Hermann [Sat, 27 Oct 2018 19:43:41 +0000 (21:43 +0200)]
INSTALL: Update instructions for building the manual.
Uwe Hermann [Sat, 27 Oct 2018 19:38:49 +0000 (21:38 +0200)]
manual: Rename pulseview_manual.* to manual.*.
Gerhard Sittig [Thu, 25 Oct 2018 18:22:39 +0000 (20:22 +0200)]
manual: link from decoder troubleshooting to sigrok FAQ item
Gerhard Sittig [Thu, 25 Oct 2018 17:26:27 +0000 (19:26 +0200)]
manual: expand the protocol decoder troubleshooting subsection
Expand the discussion that timing information is not required or
optional to some decoders, but essential to others (because of the very
protocol that gets interpreted). Mention that some oversampling is
typically required. Don't suggest that PD exceptions must be bugs,
incomplete configuration may be even more typical.
Separate the "you can ..." introduction from the first check list item,
to increase visibility of the entry. Existing text was not re-flown, to
reduce the diff size.
Gerhard Sittig [Sun, 14 Oct 2018 15:33:51 +0000 (17:33 +0200)]
manual: remove the generate script, got obsoleted by CMake rules
Instead of running the manual/generate(1) script, "make manual" executes
the conversion tools.
Gerhard Sittig [Sun, 14 Oct 2018 15:10:04 +0000 (17:10 +0200)]
manual: cosmetic nits, add comments to CMake rules
Gerhard Sittig [Sun, 14 Oct 2018 15:06:16 +0000 (17:06 +0200)]
manual: also install images/*.png with the HTML output
Extend the CMake rules for the manual. Do install the images/ subdir but
omit the *.xcf files. Prepare the CSS file although this seems to be not
strictly necessary (gets inlined, but we are prepared if it's external).
Only install these additional files when the asciidoctor(1) tool is
available, and thus the .html file can get generated (to not install
some questionable combination of a .pdf and unrelated .png files, or to
not install the resources when none of the manual files got created).
This approach was tested with the following command sequence:
$ make manual
$ make install
$ xdg-open ~/share/doc/pulseview/*.html
Gerhard Sittig [Sun, 14 Oct 2018 14:05:04 +0000 (16:05 +0200)]
manual: accept absence of the asciidoctor-pdf exectuable
The asciidoctor(1) executable is considered mandatory when building the
Pulseview manual. The asciidoctor-pdf(1) executable is not universally
available (is missing in Debian), accept its absence, avoid execution
failure in that case.
This implementation replaces the actual .txt to .pdf conversion with a
mere echo(1) message, which may go unnoticed in verbose build output.
"make --no-print-directories manual" may be required to remain aware.
Gerhard Sittig [Sun, 14 Oct 2018 13:54:56 +0000 (15:54 +0200)]
manual: install manual conversion result files generated by cmake
Install the (optionally generated) HTML and PDF manual files. Absence of
the files is non-fatal.
Gerhard Sittig [Sun, 14 Oct 2018 13:30:46 +0000 (15:30 +0200)]
manual: introduce CMake logic for asciidoctor execution
Introduce new "manual", "manual-html" and "manual-pdf" make(1) targets
(the former depending on the latter). None of these targets are part of
"make all" by design, users decide whether to convert the manual text.
Execution will fail (fatally) in the absence of dependencies or tools.
Uwe Hermann [Sat, 27 Oct 2018 19:08:20 +0000 (21:08 +0200)]
Settings::get_view_settings_form(): Fix an incorrect string.
Soeren Apel [Sat, 27 Oct 2018 15:06:07 +0000 (17:06 +0200)]
SignalBase: Work around QColor serialization bug on OSX
Soeren Apel [Sat, 27 Oct 2018 14:12:18 +0000 (16:12 +0200)]
AnalogSignal/LogicSignal: Internally cache settings used for painting
Soeren Apel [Sat, 27 Oct 2018 12:27:45 +0000 (14:27 +0200)]
Implement customizable cursor fill color
Soeren Apel [Sat, 27 Oct 2018 08:14:59 +0000 (10:14 +0200)]
Move meta type declaration out of MainWindow
Soeren Apel [Fri, 26 Oct 2018 21:44:45 +0000 (23:44 +0200)]
Ask user about adjusting UI colors when choosing a theme
Soeren Apel [Fri, 26 Oct 2018 20:49:31 +0000 (22:49 +0200)]
Themes: Fix icon shift bug when opening QToolButton menu
Soeren Apel [Fri, 26 Oct 2018 20:10:22 +0000 (22:10 +0200)]
Settings: Allow user to choose the Qt UI style
Soeren Apel [Wed, 24 Oct 2018 20:08:13 +0000 (22:08 +0200)]
DeviceManager: Prevent PV crashes when scanning for devices
Soeren Apel [Wed, 24 Oct 2018 06:47:11 +0000 (08:47 +0200)]
Manual: Add PD troubleshooting section
Soeren Apel [Mon, 22 Oct 2018 21:21:33 +0000 (23:21 +0200)]
Themes: Attempt at working around wrong widget backgrounds on Windows
Soeren Apel [Mon, 22 Oct 2018 21:20:11 +0000 (23:20 +0200)]
GlobalSettings: Always use Fusion style on Windows for dark themes
Soeren Apel [Mon, 22 Oct 2018 20:01:22 +0000 (22:01 +0200)]
Ruler: Add "Set as zero point" context menu entry
Soeren Apel [Sun, 21 Oct 2018 21:10:43 +0000 (23:10 +0200)]
More clazy fixes
Soeren Apel [Sun, 21 Oct 2018 21:04:52 +0000 (23:04 +0200)]
Typo fix
Soeren Apel [Sun, 21 Oct 2018 20:12:19 +0000 (22:12 +0200)]
Make change performed in
79b53a1ae actually work
ViewWidget::mouse_down_point_ indeed should contain the position
of the last mouse click but since we ignore right clicks, it
doesn't.
Soeren Apel [Sun, 21 Oct 2018 19:47:42 +0000 (21:47 +0200)]
Fix random clazy warnings
Some of them are invalid, though, so we suppress them for
future clazy runs.
Soeren Apel [Sun, 21 Oct 2018 19:22:01 +0000 (21:22 +0200)]
Fix clazy warnings regarding range-for references
The warnings that are fixed are of this type:
warning: Missing reference in range-for with non trivial type (std::__cxx11::string) [-Wclazy-range-loop]
Soeren Apel [Sun, 21 Oct 2018 16:07:25 +0000 (18:07 +0200)]
Fix #1035 by checking for exceptions when accessing config
Also fixes #651 because it makes Device::read_config()
generic.
Soeren Apel [Sun, 21 Oct 2018 11:07:41 +0000 (13:07 +0200)]
Fix for "fill logic signal high areas" feature
At certain zoom levels, the algorithm wrongly fills areas where
the signal is low. This patch fixes this.
Soeren Apel [Fri, 19 Oct 2018 21:36:13 +0000 (23:36 +0200)]
Fix #1222 by adding a tooltip for when there isn't enough space
Also fixes #870 by always using 12 digits for precision
Soeren Apel [Tue, 16 Oct 2018 22:39:54 +0000 (00:39 +0200)]
Add generic "Create marker here" context menu entry
Uwe Hermann [Tue, 16 Oct 2018 21:31:49 +0000 (23:31 +0200)]
README: List icon/theme licenses explicitly.
Soeren Apel [Tue, 16 Oct 2018 19:15:58 +0000 (21:15 +0200)]
Logging: Adjust UI colors to suit both dark and bright themes
Soeren Apel [Tue, 16 Oct 2018 19:01:35 +0000 (21:01 +0200)]
Channels: Make channel enable/disable options symmetric
Jon Burgess [Sat, 13 Oct 2018 14:11:54 +0000 (15:11 +0100)]
Speed up MipMap downsampling in logicsegment
Make use of the segment chunk size to process samples
in contiguous blocks when possible.
Provide routines for downsampling with sample sizes
of 1, 2, 4 & 8 bytes which the compiler can optimize.
These changes halve the time taken to display the
23MB ws2812b_neopixel24_4mhz_verylong.sr from
40 seconds to 18 seconds.
Jon Burgess [Sat, 13 Oct 2018 21:26:25 +0000 (22:26 +0100)]
Expose length of valid data in segment chunk
Jon Burgess [Sun, 14 Oct 2018 22:52:24 +0000 (23:52 +0100)]
Fix memory leak in DecoderMenu
==214004== 1,536 (16 direct, 1,520 indirect) bytes in 1 blocks are definitely lost in loss record 6,288 of 6,442
==214004== at 0x4C2EE0B: malloc (vg_replace_malloc.c:299)
==214004== by 0x67D8435: g_malloc (in /usr/lib64/libglib-2.0.so.0.5600.3)
==214004== by 0x67F0056: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.5600.3)
==214004== by 0x67F14FA: g_slist_copy_deep (in /usr/lib64/libglib-2.0.so.0.5600.3)
==214004== by 0x5584FC: pv::widgets::DecoderMenu::DecoderMenu(QWidget*, bool) (decodermenu.cpp:33)
==214004==
Soeren Apel [Sun, 14 Oct 2018 20:56:08 +0000 (22:56 +0200)]
Implement fixes proposed by clang-tidy
Soeren Apel [Sun, 14 Oct 2018 20:27:33 +0000 (22:27 +0200)]
Add themes and implement theme support
Soeren Apel [Sun, 14 Oct 2018 14:04:05 +0000 (16:04 +0200)]
Make "fill logic signal high areas" feature more robust
Uwe Hermann [Sat, 13 Oct 2018 22:24:42 +0000 (00:24 +0200)]
device.cpp: SR_CONF_AVG_SAMPLES: Add support for list of values.
Soeren Apel [Sat, 13 Oct 2018 19:42:48 +0000 (21:42 +0200)]
Trace: Force trace replaint when a setting changes
Soeren Apel [Sat, 13 Oct 2018 19:35:09 +0000 (21:35 +0200)]
Use QMenu->popup() instead of QMenu->exec() everywhere
Soeren Apel [Sat, 13 Oct 2018 19:18:28 +0000 (21:18 +0200)]
GlobalSettings: Enable mouse hover marker by default
Soeren Apel [Sat, 13 Oct 2018 19:13:24 +0000 (21:13 +0200)]
Implement "fill logic signal high areas" feature
Soeren Apel [Sat, 13 Oct 2018 12:04:33 +0000 (14:04 +0200)]
Segment: Implement temporary workaround for #1284
Soeren Apel [Wed, 10 Oct 2018 18:13:57 +0000 (20:13 +0200)]
Ruler: Add "toggle mouse hover marker" to context menu
Soeren Apel [Wed, 10 Oct 2018 16:08:40 +0000 (18:08 +0200)]
Ruler: Add context menu with "Create marker here" entry
Soeren Apel [Tue, 9 Oct 2018 06:10:39 +0000 (08:10 +0200)]
Segments: Fix iterator access to underlying value
Before this change, it->value was accessed even when the
iterator went past the end of the underlying buffer.
Soeren Apel [Mon, 8 Oct 2018 21:54:17 +0000 (23:54 +0200)]
LogicSegment: Check upper bound when performing edge search
Soeren Apel [Sat, 6 Oct 2018 07:43:37 +0000 (09:43 +0200)]
manual: Reword and update some stuff
Soeren Apel [Fri, 5 Oct 2018 21:52:12 +0000 (23:52 +0200)]
View: Refine snapping algorithm
We now also choose the best match depending on edge density.
Soeren Apel [Fri, 5 Oct 2018 16:56:11 +0000 (18:56 +0200)]
View: Fix snap-to-edge when using all signals
Soeren Apel [Wed, 3 Oct 2018 20:04:30 +0000 (22:04 +0200)]
Rename --no-scan to --dont-scan
Soeren Apel [Wed, 3 Oct 2018 19:52:00 +0000 (21:52 +0200)]
Fix #1292/1294 by snapping to any edge when not hovering over a signal
1292: TimeItem instances now snap to any edge when not hovering over a
signal, including the ruler itself. Hence, there is always an area
where one can hover without selecting a signal, even if the entire
view is full of signals.
Cursors also show the desired behavior: the left edge snaps while
the right does not. Hence, the width is kept constant. If the user
wants to snap the right edge to a signal edge, this can be achieved
by dragging the right edge separately.
1294: TimeItem instances now snap to any edge - before, they were snapping
only to edges when hovering over a signal.
Soeren Apel [Mon, 1 Oct 2018 07:21:59 +0000 (09:21 +0200)]
View: Make TimeItem derivatives snap to edges when ruler-dragged
Without this change, the snap-to-edge feature doesn't work
when TimeItem derivatives are dragged in the ruler.
Uwe Hermann [Wed, 3 Oct 2018 19:24:24 +0000 (21:24 +0200)]
manual: Add a short Mac OS X install text.
Uwe Hermann [Wed, 3 Oct 2018 18:47:22 +0000 (20:47 +0200)]
manual: Various minor fixes.
Soeren Apel [Sat, 29 Sep 2018 15:15:58 +0000 (17:15 +0200)]
Fix unit tests
Uwe Hermann [Sat, 29 Sep 2018 11:47:23 +0000 (13:47 +0200)]
Application::print_version_info(): Minor output whitespace fixes.
Soeren Apel [Fri, 28 Sep 2018 21:59:18 +0000 (23:59 +0200)]
Fix #1213 by improving the version information handling
Soeren Apel [Wed, 26 Sep 2018 21:41:53 +0000 (23:41 +0200)]
Add setting for the snap-to-edge distance
Soeren Apel [Wed, 26 Sep 2018 20:50:24 +0000 (22:50 +0200)]
Fix #684 by implementing snap-to-edge for TimeItem-based classes
Soeren Apel [Mon, 2 Jul 2018 17:57:10 +0000 (19:57 +0200)]
Implement LogicSegment::get_surrounding_edges() and use it
Soeren Apel [Sat, 22 Sep 2018 20:29:38 +0000 (22:29 +0200)]
Manual: Describe sticky scrolling
Gerhard Sittig [Tue, 18 Sep 2018 16:34:42 +0000 (18:34 +0200)]
Logging: avoid "cb was NULL" warning message during logging shutdown
Commit
4b9234088f56 introduced the fetch and restore of the libraries'
default log routines in addition to the registration of a Pulseview
application's log routine. Some code paths in main() could result in
unexpected "cb was NULL" messages on stderr, when logging::init() did
not execute but the destructor tried to restore a handler which was not
fetched before. Silence the error message.
Soeren Apel [Thu, 13 Sep 2018 18:19:14 +0000 (20:19 +0200)]
DecodeTrace: Rename get_sample_range() to get_view_sample_range()
Soeren Apel [Thu, 13 Sep 2018 18:10:01 +0000 (20:10 +0200)]
Include suggested changes by clang-tidy
Soeren Apel [Thu, 6 Sep 2018 07:25:13 +0000 (09:25 +0200)]
Fix #1270 by replacing insignificant characters before comparing
Uwe Hermann [Thu, 6 Sep 2018 07:50:57 +0000 (09:50 +0200)]
manual/generate: Always generate a PDF manual as well by default.
Uwe Hermann [Wed, 5 Sep 2018 19:46:11 +0000 (21:46 +0200)]
device.cpp: Add SR_CONF_AVG_SAMPLES.
Uwe Hermann [Wed, 5 Sep 2018 18:45:39 +0000 (20:45 +0200)]
device.cpp: Add SR_CONF_AVERAGING.
Soeren Apel [Wed, 5 Sep 2018 08:22:23 +0000 (10:22 +0200)]
Logging: Write messages from qDebug() and friends also to stdout
Soeren Apel [Tue, 4 Sep 2018 20:39:57 +0000 (22:39 +0200)]
Binding: Add help icons for entries with descriptions
Soeren Apel [Tue, 4 Sep 2018 07:09:34 +0000 (09:09 +0200)]
Manual: Initial revision
Soeren Apel [Sun, 2 Sep 2018 19:36:23 +0000 (21:36 +0200)]
Settings: Fix description text
When %q is used, we don't just encapsulate annotation texts in
quotation marks, we encapsulate all fields.
Soeren Apel [Sun, 2 Sep 2018 19:34:50 +0000 (21:34 +0200)]
DecodeSignal: Unpause reliably
Uwe Hermann [Thu, 30 Aug 2018 20:15:19 +0000 (22:15 +0200)]
manpage: Drop obsolete -s|--log-to-stdout docs.
Gerhard Sittig [Mon, 20 Aug 2018 16:57:25 +0000 (18:57 +0200)]
Android: implement chained log callbacks (buffer and terminal output)
Query the libraries' default log handlers before registering the
application's own handler. Queue log messages in the application's
internal buffer _and_ hand them to the default handlers which send
the text to stdout as well.
Gerhard Sittig [Wed, 15 Aug 2018 21:48:52 +0000 (23:48 +0200)]
Logging: obsolete -s, log to internal buffer as well as stdout
Query the sr and srd libraries' current log routines before registering
PV's own log callback which queues messages in an internal buffer. This
allows duplication of messages to the internal buffer _and_ stdout, and
thus obsoletes the -s option.
Uwe Hermann [Tue, 28 Aug 2018 06:29:30 +0000 (08:29 +0200)]
pulseview.qrc: Add missing files.
Soeren Apel [Wed, 22 Aug 2018 07:33:48 +0000 (09:33 +0200)]
Implement decode pausing/resuming
Soeren Apel [Tue, 21 Aug 2018 19:04:22 +0000 (21:04 +0200)]
Fix two warnings
Soeren Apel [Mon, 20 Aug 2018 19:19:18 +0000 (21:19 +0200)]
Fix item dragging
Soeren Apel [Mon, 20 Aug 2018 14:01:48 +0000 (16:01 +0200)]
Replace (double)0 by 0.0
Soeren Apel [Mon, 20 Aug 2018 13:57:33 +0000 (15:57 +0200)]
AnalogSignal: Set initial value for the "value at cursor" variable
Without this, the analog traces show random values after startup
until the mouse cursor enters the application window and the cursor
position updates.
Soeren Apel [Wed, 15 Aug 2018 07:28:35 +0000 (09:28 +0200)]
Fix #1259 by not silently ignoring file read errors
Soeren Apel [Tue, 14 Aug 2018 08:01:34 +0000 (10:01 +0200)]
Enum: Use slider instead of combo box for contiguous ranges
Soeren Apel [Fri, 10 Aug 2018 21:35:38 +0000 (23:35 +0200)]
MainBar: Disallow negative sample rates