]>
sigrok.org Git - pulseview.git/log
Uwe Hermann [Fri, 26 May 2017 14:43:24 +0000 (16:43 +0200)]
About: Also show libsigrok libs and features.
This fixes parts of bug #912.
Martin Ling [Fri, 12 May 2017 21:48:28 +0000 (22:48 +0100)]
Avoid wrapping driver names etc in about box.
Fixes #111.
Uwe Hermann [Wed, 10 May 2017 14:50:46 +0000 (16:50 +0200)]
Fix a build issue with std::roundf() on Android.
Apparently std::roundf() doesn't exist there, but plain roundf()
from <cmath> does.
This closes bug #945.
Uwe Hermann [Tue, 9 May 2017 20:08:59 +0000 (22:08 +0200)]
Log settings location when using "-l 5".
This can have various types (e.g. a file or a registry entry) and it can
be in various locations on different OSes, so having this as part of the
log output is pretty useful.
Uwe Hermann [Sun, 30 Apr 2017 20:44:33 +0000 (22:44 +0200)]
Improve icon/theme handling.
Only use QIcon::fromTheme() for icons which are included in the
freedesktop.org icon naming specification:
https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
For all others there will be no icon to use from the theme and we always
want our own icons to be used unconditionally in those cases anyway.
Uwe Hermann [Wed, 5 Apr 2017 19:34:29 +0000 (21:34 +0200)]
Rename icons to match freedesktop.org icon naming specification.
https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
Soeren Apel [Mon, 1 May 2017 13:14:50 +0000 (15:14 +0200)]
Tests: Add another unit test for Segment class
Soeren Apel [Mon, 1 May 2017 13:04:10 +0000 (15:04 +0200)]
Segment: Rework append_samples() so it can handle large input
Before, adding large blocks of samples didn't work if they
would fill the current chunk, fill a new one and still have
data left to add. Using an iterative approach fixes this and
also makes the function more elegant.
Soeren Apel [Sun, 23 Apr 2017 14:44:17 +0000 (16:44 +0200)]
AnalogSignal: Don't paint logic when there's no logic data
Joel Holdsworth [Wed, 26 Apr 2017 17:20:14 +0000 (11:20 -0600)]
ViewItem: Moved bg_colour_state into ViewItemPaintParams
Joel Holdsworth [Wed, 26 Apr 2017 17:09:10 +0000 (11:09 -0600)]
ViewPort: Make ViewItemPaintParams mutable
Joel Holdsworth [Wed, 26 Apr 2017 17:39:48 +0000 (11:39 -0600)]
TimeMarker: Align to a integer pixel offset
Joel Holdsworth [Wed, 26 Apr 2017 16:13:08 +0000 (10:13 -0600)]
Trace: Fixed background rectangle
It previously ignored the left x-coordinate, and left a 1-pixel
gap at the right-hand side.
Joel Holdsworth [Wed, 26 Apr 2017 16:12:23 +0000 (10:12 -0600)]
Trace: Removed coloured_bg state
The state should be taken from the View
Joel Holdsworth [Wed, 26 Apr 2017 16:09:51 +0000 (10:09 -0600)]
DecodeTrace: Make annotation block background opaque
Gerhard Sittig [Sun, 16 Apr 2017 19:34:05 +0000 (21:34 +0200)]
Settings: About: alpha-sort list of protocol decoders
Sort the list of protocol decoders in the "About" page like
sigrok-cli(1) does.
Gerhard Sittig [Sun, 16 Apr 2017 19:29:27 +0000 (21:29 +0200)]
Settings: About: add sigrok internal libraries to version list
Add version information for libsigrok and libsigrokdecode (when enabled)
to the list of used libraries in the "About" page.
Uwe Hermann [Sun, 2 Apr 2017 15:24:34 +0000 (17:24 +0200)]
Don't use AUTORCC, this would require cmake >= 3.0.
Uwe Hermann [Fri, 31 Mar 2017 17:35:09 +0000 (19:35 +0200)]
INSTALL: Fix incorrect gcc/clang minimum versions.
https://gcc.gnu.org/projects/cxx-status.html#cxx11
https://clang.llvm.org/cxx_status.html
Uwe Hermann [Fri, 31 Mar 2017 06:27:28 +0000 (08:27 +0200)]
Add a hotkey and setting for showing/hiding the minor analog grid.
The vdiv grid is always shown and is what most users will expect. The
additional "minor" grid could be confusing, so make that configurable.
Uwe Hermann [Thu, 30 Mar 2017 17:27:12 +0000 (19:27 +0200)]
Add a tooltip for the "Delete decoder trace" icon.
Uwe Hermann [Thu, 30 Mar 2017 17:26:41 +0000 (19:26 +0200)]
Add a tooltip for the "Show/hide decoder trace" icon.
Uwe Hermann [Wed, 29 Mar 2017 23:21:58 +0000 (01:21 +0200)]
Add a tooltip for the decoder name in the decoder popup.
Uwe Hermann [Wed, 29 Mar 2017 23:21:31 +0000 (01:21 +0200)]
Add a tooltip for the "Stack decoder" button/dropdown.
Uwe Hermann [Wed, 29 Mar 2017 23:20:42 +0000 (01:20 +0200)]
Add a tooltip for the "Add decoder" button.
Uwe Hermann [Wed, 29 Mar 2017 23:11:11 +0000 (01:11 +0200)]
binding: Add description tooltips to almost all binding types.
This can be the description of an option of an input/output module,
for example.
Uwe Hermann [Wed, 29 Mar 2017 23:48:12 +0000 (01:48 +0200)]
prop/bool: Add a tooltip containing a description.
This can be the description of an option of an input/output module,
for example.
Uwe Hermann [Wed, 29 Mar 2017 22:57:33 +0000 (00:57 +0200)]
binding/prop: Add a description field.
The config key / option bindings only allowed for a single name so far.
Add an additional description field, which can be used for longer
descriptions of the config keys / options.
Hook up the input/output format option descriptions.
Uwe Hermann [Tue, 28 Mar 2017 21:20:51 +0000 (23:20 +0200)]
wellarray.hpp: Add missing #include guards.
Uwe Hermann [Tue, 28 Mar 2017 20:54:27 +0000 (22:54 +0200)]
Simplify Qt5 setup, require cmake >= 2.8.12.
We now require cmake >= 2.8.12 (released 2013 or so, should be available
pretty much anywhere by now) which further simplifies the Qt5 setup.
Details:
https://doc.qt.io/qt-5/cmake-manual.html
https://cmake.org/cmake/help/v3.7/prop_tgt/AUTOMOC.html
https://cmake.org/cmake/help/v3.7/prop_tgt/AUTORCC.html
Uwe Hermann [Tue, 28 Mar 2017 20:26:02 +0000 (22:26 +0200)]
Drop support for Qt4.
We now require Qt5 for PulseView. Qt5 has been out since 2012 or so and
is available pretty much everywhere now.
We're successfully using Qt5 on Linux, Windows, *BSD, Mac OS X, and Android.
Dropping Qt4 support simplifies the build system quite a bit, reduces the
number of test scenarios we have to consider etc. etc.
Uwe Hermann [Tue, 28 Mar 2017 06:41:48 +0000 (08:41 +0200)]
Drop unused boost-thread dependency.
We no longer use boost-thread currently (in favor of C++11 thread
facilities), so drop the obsolete dependency from code and docs.
Uwe Hermann [Tue, 28 Mar 2017 06:30:43 +0000 (08:30 +0200)]
Use alphabetical order for #includes.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,llvm-include-order" -fix
Uwe Hermann [Fri, 24 Mar 2017 22:19:14 +0000 (23:19 +0100)]
Whitespace cosmetics.
Soeren Apel [Sun, 26 Mar 2017 19:04:30 +0000 (21:04 +0200)]
Speed up analog trace painting
Soeren Apel [Thu, 23 Mar 2017 20:52:51 +0000 (21:52 +0100)]
SignalBase: Don't use static state
It's used across all SessionBase instances, d'oh.
Let's not do this.
Soeren Apel [Thu, 23 Mar 2017 20:43:58 +0000 (21:43 +0100)]
Settings: Whitespace fix
Uwe Hermann [Wed, 22 Mar 2017 22:34:36 +0000 (23:34 +0100)]
Consistenty use auto-generated namespace comments.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,google-readability-namespace-comments" -fix
Switch to the format used by clang-tidy to allow easy, automatic,
tool-based maintenance / checking of the comments.
This also found a few instances of comments that were out of sync.
Uwe Hermann [Sat, 18 Mar 2017 23:20:26 +0000 (00:20 +0100)]
Random simplifications, cosmetics/whitespace/consistency fixes.
Uwe Hermann [Tue, 21 Mar 2017 23:45:20 +0000 (00:45 +0100)]
Use the "default" keyword.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-equals-default" -fix
(with manual fixups to move the "= default" to the .hpp)
Uwe Hermann [Tue, 21 Mar 2017 23:01:10 +0000 (00:01 +0100)]
Use bool literals for boolean values.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-bool-literals" -fix
Uwe Hermann [Tue, 21 Mar 2017 21:38:59 +0000 (22:38 +0100)]
Don't use redundant void argument.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-redundant-void-arg" -fix
Uwe Hermann [Mon, 20 Mar 2017 20:40:29 +0000 (21:40 +0100)]
Don't use deprecated headers.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-deprecated-headers" -fix
(with some additional manual fixups)
Uwe Hermann [Mon, 20 Mar 2017 20:26:44 +0000 (21:26 +0100)]
Use nullptr in a few places.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-nullptr" -fix
Uwe Hermann [Mon, 20 Mar 2017 20:00:14 +0000 (21:00 +0100)]
Remove unused "using" declarations.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,misc-unused-using-decls" -fix
(with manual add-on fixes such as dropping unused headers as well,
and commenting some false-positive cases)
Soeren Apel [Wed, 22 Mar 2017 22:42:23 +0000 (23:42 +0100)]
Settings: Add Qt version
Soeren Apel [Wed, 22 Mar 2017 22:26:21 +0000 (23:26 +0100)]
DecoderStack: Fix memory leak
Soeren Apel [Wed, 22 Mar 2017 21:33:09 +0000 (22:33 +0100)]
AnalogSignal: display type-related improvements
1) Only show the v/div setting if analog trace is drawn
2) Update the trace when the display type is changed
Soeren Apel [Wed, 22 Mar 2017 22:24:13 +0000 (23:24 +0100)]
AnalogSignal: Implement converted logic trace painting
Yeah, it violates the DRY principle and isn't nice OOP-wise
but it'll do for now. The entire group of Trace/Signal classes
needs to be reworked anyway to support device-independent
signal types anyway (think math traces and such).
Soeren Apel [Wed, 22 Mar 2017 19:05:38 +0000 (20:05 +0100)]
LogicSignal: Don't depend on device_ being valid
Soeren Apel [Wed, 22 Mar 2017 22:07:41 +0000 (23:07 +0100)]
AnalogSignal: Add conversion type and display type
Soeren Apel [Wed, 22 Mar 2017 22:03:21 +0000 (23:03 +0100)]
SignalBase: Implement A2D conversions
Soeren Apel [Sat, 18 Mar 2017 11:12:41 +0000 (12:12 +0100)]
Session: Make sure we don't try to add a non-existant decoder
This can happen if either the saved configuration is wrong
or a decoder simply doesn't exist. We don't want to crash then.
Soeren Apel [Thu, 16 Mar 2017 21:24:17 +0000 (22:24 +0100)]
LogicSegment: Remove constructor requiring sigrok::Logic
Soeren Apel [Thu, 16 Mar 2017 20:40:33 +0000 (21:40 +0100)]
LogicSegment: Make constructor and append_payload() more generic
Soeren Apel [Wed, 15 Mar 2017 18:22:17 +0000 (19:22 +0100)]
Use presence of logic/analog data as indicator of channel type
However, don't do this for the StoreSession. Reason is that we
only want to save the original data and not treat any converted
data as its own channel.
Soeren Apel [Tue, 14 Mar 2017 21:54:20 +0000 (22:54 +0100)]
SignalBase: Allow checking for logic data directly
If we always return a valid pointer, we need to look
at the channel type to figure out if this data is
supposed to be valid or not. This isn't useful.
Soeren Apel [Wed, 22 Mar 2017 21:45:41 +0000 (22:45 +0100)]
Introduce PV-internal channel types
Uwe Hermann [Sat, 18 Mar 2017 19:01:54 +0000 (20:01 +0100)]
main.cpp: Minor consistency fixes found by clang-tidy.
Uwe Hermann [Wed, 15 Mar 2017 22:16:05 +0000 (23:16 +0100)]
Don't use std:: in the code directly (where possible).
Use "using std::foo" to make the actual code itself a lot more readable.
There are some exceptions where we usually cannot do this, e.g. std::thread
often conflicts with "thread" from Qt or Boost.
Uwe Hermann [Fri, 17 Mar 2017 22:53:49 +0000 (23:53 +0100)]
Only show sampling points when zoomed in far enough.
Uwe Hermann [Fri, 17 Mar 2017 22:05:23 +0000 (23:05 +0100)]
Show sampling points in analog traces.
This fixes (parts of) bug #485.
Uwe Hermann [Fri, 17 Mar 2017 22:00:04 +0000 (23:00 +0100)]
AnalogSignal::paint_trace(): Factor out a const variable.
Uwe Hermann [Fri, 17 Mar 2017 19:47:36 +0000 (20:47 +0100)]
Add a hotkey to show/hide sampling points.
This is also hooked up into the global settings, so it will be
persistent across multiple PulseView runs.
This fixes (parts of) bug #485.
Uwe Hermann [Fri, 17 Mar 2017 19:35:20 +0000 (20:35 +0100)]
Show sampling points in logic traces.
This fixes (parts of) bug #485.
Uwe Hermann [Thu, 16 Mar 2017 22:29:24 +0000 (23:29 +0100)]
Increase session saving chunk size for much better performance.
Increasing the StoreSession chunk size from 1Msamples to 10Msamples
leads to massively faster session saving due to reduced overhead.
In some cases a 2x (or more) speed-up has been observed. A further increase
to, say, 100Msamples shows no further noticeable improvements.
This also has the additional benefit of generating fewer entries/files
within the sigrok session (*.sr) output/ZIP files, which can potentially
be beneficial for very long captures.
Soeren Apel [Mon, 13 Mar 2017 18:15:32 +0000 (19:15 +0100)]
TraceView: Use sticky scrolling setting directly
Soeren Apel [Mon, 13 Mar 2017 07:56:03 +0000 (08:56 +0100)]
Settings: Activate first item upon dialog creation
Soeren Apel [Mon, 13 Mar 2017 07:18:47 +0000 (08:18 +0100)]
Settings: Change icon for "Views"
Soeren Apel [Sun, 12 Mar 2017 20:32:35 +0000 (21:32 +0100)]
Tie the "sticky scrolling" setting in with the settings mgmt
Soeren Apel [Fri, 10 Mar 2017 07:52:02 +0000 (08:52 +0100)]
Settings: Change view settings shortcuts
Soeren Apel [Thu, 9 Mar 2017 18:38:20 +0000 (19:38 +0100)]
Integrate the about dialog into the settings dialog
Soeren Apel [Wed, 8 Mar 2017 21:53:51 +0000 (22:53 +0100)]
Settings: Prettify the settings dialog
Soeren Apel [Wed, 8 Mar 2017 08:44:16 +0000 (09:44 +0100)]
Session: Don't reset session name for file devices
Uwe Hermann [Fri, 10 Mar 2017 21:09:58 +0000 (22:09 +0100)]
Use the "default" keyword.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-equals-default" -fix
(with manual fixups to move the "= default" to the .hpp)
Uwe Hermann [Fri, 10 Mar 2017 20:32:43 +0000 (21:32 +0100)]
Use emplace_back() where possible.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-emplace" -fix
Using emplace_back() has multiple advantages:
- It's usually shorter and easier to read.
- It's more efficient.
V1: v.push_back("foo");
V2: v.emplace_back("foo");
V1 will construct a temporary std::string from the string literal "foo",
another copy of that temporary object will be constructed and placed
into the vector 'v', then the temporary object's destructor will be called.
V2 will simply create a std::string directly in the vector 'v', i.e.
there's only one construction (not 2) and no destructor needs to be called.
Uwe Hermann [Fri, 10 Mar 2017 20:41:30 +0000 (21:41 +0100)]
Use bool literals for boolean values.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-bool-literals" -fix
Uwe Hermann [Fri, 10 Mar 2017 20:17:22 +0000 (21:17 +0100)]
Don't use redundant void argument.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-redundant-void-arg" -fix
Uwe Hermann [Fri, 10 Mar 2017 19:26:31 +0000 (20:26 +0100)]
Prefer std::make_shared().
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-make-shared" -fix
(with some additional manual fixups)
Using make_shared() over manual construction has multiple advantages:
- It's shorter to write and easier to read.
V1: auto sb = shared_ptr<Foo>(new Foo());
V2: auto sb = make_shared<Foo>();
- The type "Foo" is repeated less often (less code duplication, lower
risk of forgetting to update one of the "Foo"s upon copy-paste etc.)
- Manual construction leads to two individual allocations (actual data and
the control block of the shared_ptr). Using make_shared() will only lead
to one allocation, which has performance, cache-locality and memory
consumption benefits.
- It's exception-safe, whereas manual construction is not necessarily:
V1: func(shared_ptr<Foo>(new Foo()), shared_ptr<Foo>(new Foo()));
V2: func(make_shared<Foo>(), make_shared<Foo>());
In "V1", one of the "new" invocations could throw, potentially
causing memory leaks. No leaks will happen with make_shared().
Uwe Hermann [Thu, 9 Mar 2017 23:34:10 +0000 (00:34 +0100)]
Don't use deprecated headers.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-deprecated-headers" -fix
(with some additional manual fixups)
Uwe Hermann [Thu, 9 Mar 2017 23:11:45 +0000 (00:11 +0100)]
Use nullptr in a few places.
This patch was generated using clang-tidy:
clang-tidy -checks="-*,modernize-use-nullptr" -fix
Soeren Apel [Tue, 7 Mar 2017 21:14:49 +0000 (22:14 +0100)]
GlobalSettings: Implement undo function for the "cancel" button
Soeren Apel [Mon, 6 Mar 2017 18:07:36 +0000 (19:07 +0100)]
TraceView: Fix "always zoom to fit" feature
Soeren Apel [Sun, 5 Mar 2017 20:16:56 +0000 (21:16 +0100)]
TraceView: Only perform "always zoom to fit" for the main view
Soeren Apel [Sun, 5 Mar 2017 20:07:23 +0000 (21:07 +0100)]
Introduce ViewBase::is_main_view
Soeren Apel [Sun, 5 Mar 2017 19:54:51 +0000 (20:54 +0100)]
MainWindow: Restructure add_view()
Soeren Apel [Sun, 5 Mar 2017 19:30:34 +0000 (20:30 +0100)]
Tie the "always zoom to fit" setting in with the settings mgmt
Soeren Apel [Sun, 5 Mar 2017 18:58:37 +0000 (19:58 +0100)]
Tie the "use coloured bg" setting in with the settings mgmt
Soeren Apel [Mon, 6 Mar 2017 18:04:47 +0000 (19:04 +0100)]
Implement initial version of the settings management
Soeren Apel [Sat, 4 Mar 2017 15:29:36 +0000 (16:29 +0100)]
Manpage update
Soeren Apel [Thu, 2 Mar 2017 22:07:53 +0000 (23:07 +0100)]
Fix #829 by not throwing when device can't be used
Soeren Apel [Sat, 25 Feb 2017 21:55:30 +0000 (22:55 +0100)]
Update sr_period_string usage
Uwe Hermann [Mon, 6 Mar 2017 07:41:42 +0000 (08:41 +0100)]
Increase decoding chunk size for much better performance.
Increasing the (max) decoding chunk size from 4ksamples to 10Msamples
leads to massively faster protocol decoding due to reduced overhead
related to srd_session_send() and other functions invoked internally.
In some cases a 2x (or more) speed-up has been observed.
Piotr Esden-Tempski [Sat, 4 Mar 2017 09:06:22 +0000 (01:06 -0800)]
Bring back sticky scroll and coloured background shortcuts.
Converted the actions to QShortcut. We do not use the actions anywhere
else in the code and they were not being triggered using the setShortcut
setting. Additionally expanded the view background color to be a
toggleable attribute.
This fixes bugs #907 and #908.
Uwe Hermann [Fri, 3 Mar 2017 23:32:43 +0000 (00:32 +0100)]
Name session tabs "Session 1" per default.
This is a bit more specific than "Untitled-1".
Uwe Hermann [Fri, 3 Mar 2017 23:26:35 +0000 (00:26 +0100)]
manpage: Document CTRL+w for closing session tabs.
Piotr Esden-Tempski [Fri, 3 Mar 2017 07:31:04 +0000 (23:31 -0800)]
Added Ctrl-Q and Ctrl-W shortcuts.
Ctrl-Q is commonly used to close the application, and Ctrl-W usually is
used to close the current tab. According to the Qt::Modifier
documentation this setup should work seamlessly on Mac OS where Meta is
usually used in place of Ctrl.
This fixes bug #899.
Piotr Esden-Tempski [Fri, 3 Mar 2017 01:55:55 +0000 (17:55 -0800)]
Add Run/Stop shortcut.
This is a proposed solution to reenable the <Space> shortcut for
Run/Stop. It seems that setShortcut on QToolButton is not working, but
it seems that adding QShortcut works as a workaround.
Marcus Comstedt [Sun, 26 Feb 2017 13:31:02 +0000 (14:31 +0100)]
DecoderStack: Avoid re-feeding old data after wait_for_data()
This fixes #876 and #850.
Soeren Apel [Sun, 19 Feb 2017 20:19:11 +0000 (21:19 +0100)]
Segment: Do not alter chunks when there are active iterators