pulseview.git
5 years agoUpgraded cotire to 1.6.6
Joel Holdsworth [Sat, 22 Nov 2014 09:16:01 +0000 (09:16 +0000)]
Upgraded cotire to 1.6.6

5 years agoRenamed C++ headers to .hpp
Joel Holdsworth [Sat, 22 Nov 2014 08:53:27 +0000 (08:53 +0000)]
Renamed C++ headers to .hpp

5 years agoMake member variable underscores a suffix instead of a prefix
Joel Holdsworth [Sat, 22 Nov 2014 08:46:22 +0000 (08:46 +0000)]
Make member variable underscores a suffix instead of a prefix

This change is made because tokens prefixed with underscore are reserved.

5 years agoFix build on MinGW (boost thread related).
Uwe Hermann [Fri, 21 Nov 2014 15:52:57 +0000 (16:52 +0100)]
Fix build on MinGW (boost thread related).

Now that PulseView uses boost thread again, bring back the required
settings to make it all work on MinGW (and with static builds).

5 years agoHeader: Added group/ungroup key-combos
Joel Holdsworth [Sun, 9 Nov 2014 10:21:33 +0000 (10:21 +0000)]
Header: Added group/ungroup key-combos

5 years agoMarginWidget: Removed unused geometry_updated signal
Joel Holdsworth [Wed, 5 Nov 2014 21:31:56 +0000 (21:31 +0000)]
MarginWidget: Removed unused geometry_updated signal

5 years agoHeader: Added on_ungroup method
Joel Holdsworth [Sun, 9 Nov 2014 10:26:27 +0000 (10:26 +0000)]
Header: Added on_ungroup method

5 years agoHeader: Added group command
Joel Holdsworth [Sun, 2 Nov 2014 16:07:23 +0000 (16:07 +0000)]
Header: Added group command

5 years agoTraceGroup: Added ungroup method
Joel Holdsworth [Sun, 9 Nov 2014 10:21:20 +0000 (10:21 +0000)]
TraceGroup: Added ungroup method

5 years agoView: Create trace groups from channel groups
Joel Holdsworth [Sun, 2 Nov 2014 16:14:34 +0000 (16:14 +0000)]
View: Create trace groups from channel groups

5 years agoTraceGroup: Implemented stacking
Joel Holdsworth [Sun, 2 Nov 2014 17:43:02 +0000 (17:43 +0000)]
TraceGroup: Implemented stacking

5 years agoRowItemOwner: Added depth() method
Joel Holdsworth [Sun, 16 Nov 2014 19:47:13 +0000 (19:47 +0000)]
RowItemOwner: Added depth() method

5 years agoRowItemOwner: Replaced parent notification scheme
Joel Holdsworth [Wed, 5 Nov 2014 22:03:46 +0000 (22:03 +0000)]
RowItemOwner: Replaced parent notification scheme

5 years agoRowItem: Split appart visual and layout v offsets
Joel Holdsworth [Sat, 15 Nov 2014 10:04:52 +0000 (10:04 +0000)]
RowItem: Split appart visual and layout v offsets

5 years agoTraceGroup: Implemented paint_label
Joel Holdsworth [Sun, 2 Nov 2014 16:13:42 +0000 (16:13 +0000)]
TraceGroup: Implemented paint_label

5 years agoTraceGroup: Added ungroup item
Joel Holdsworth [Sat, 1 Nov 2014 10:42:48 +0000 (10:42 +0000)]
TraceGroup: Added ungroup item

5 years agoView: Removed normalize_layout
Joel Holdsworth [Sun, 2 Nov 2014 18:49:16 +0000 (18:49 +0000)]
View: Removed normalize_layout

5 years agoRowItem: Replaced fixed signal heights with extents
Joel Holdsworth [Sun, 2 Nov 2014 18:44:28 +0000 (18:44 +0000)]
RowItem: Replaced fixed signal heights with extents

5 years agoRowItem: Derrive from std::enable_shared_from_this
Joel Holdsworth [Sun, 2 Nov 2014 19:05:33 +0000 (19:05 +0000)]
RowItem: Derrive from std::enable_shared_from_this

5 years agoHeader: Keep a shared_ptr of the clicked item
Joel Holdsworth [Sun, 2 Nov 2014 16:29:29 +0000 (16:29 +0000)]
Header: Keep a shared_ptr of the clicked item

5 years agoHeader: Moved drag functionality into SelectableItem
Joel Holdsworth [Wed, 5 Nov 2014 23:04:19 +0000 (23:04 +0000)]
Header: Moved drag functionality into SelectableItem

5 years agoSelectableItem: Fix documentation
Joel Holdsworth [Wed, 5 Nov 2014 22:50:42 +0000 (22:50 +0000)]
SelectableItem: Fix documentation

5 years agoHeader: Fixed dragging glitches
Joel Holdsworth [Sun, 2 Nov 2014 17:04:25 +0000 (17:04 +0000)]
Header: Fixed dragging glitches

5 years agoHeader: Only allow dragging if all traces share a common ancestor
Joel Holdsworth [Sat, 1 Nov 2014 10:56:42 +0000 (10:56 +0000)]
Header: Only allow dragging if all traces share a common ancestor

5 years agoHeader: Remove snap-to-grid behaviour
Joel Holdsworth [Thu, 30 Oct 2014 22:33:37 +0000 (22:33 +0000)]
Header: Remove snap-to-grid behaviour

5 years agoView: Replaced signals_changed handler with signals_updated call
Joel Holdsworth [Mon, 27 Oct 2014 19:00:35 +0000 (19:00 +0000)]
View: Replaced signals_changed handler with signals_updated call

5 years agoRowItem: Combined appearance change signals into appearance_changed()
Joel Holdsworth [Fri, 10 Oct 2014 20:27:41 +0000 (21:27 +0100)]
RowItem: Combined appearance change signals into appearance_changed()

5 years agoTraceGroup: Implemented label_rect
Joel Holdsworth [Tue, 26 Aug 2014 08:17:21 +0000 (09:17 +0100)]
TraceGroup: Implemented label_rect

5 years agoHeader, Viewport: Don't manually invoke on_signals_changed on construction
Joel Holdsworth [Wed, 8 Oct 2014 20:27:02 +0000 (21:27 +0100)]
Header, Viewport: Don't manually invoke on_signals_changed on construction

5 years agoUse iterators to traverse signals
Joel Holdsworth [Sat, 4 Oct 2014 10:40:04 +0000 (11:40 +0100)]
Use iterators to traverse signals

5 years agoRowItem: Make label_rect a const function
Joel Holdsworth [Wed, 1 Oct 2014 20:37:59 +0000 (21:37 +0100)]
RowItem: Make label_rect a const function

5 years agoView: Removed selected_items
Joel Holdsworth [Wed, 1 Oct 2014 21:02:19 +0000 (22:02 +0100)]
View: Removed selected_items

5 years agoAdded pv::view::RowItemIterator
Joel Holdsworth [Mon, 8 Sep 2014 19:24:46 +0000 (20:24 +0100)]
Added pv::view::RowItemIterator

5 years agoSigSession: Converted _signals_mutex into a boost::shared_mutex
Joel Holdsworth [Sun, 5 Oct 2014 17:54:29 +0000 (18:54 +0100)]
SigSession: Converted _signals_mutex into a boost::shared_mutex

5 years agoSigSession: Added signals_mutex(), and made signals() give a reference
Joel Holdsworth [Sun, 5 Oct 2014 10:09:51 +0000 (11:09 +0100)]
SigSession: Added signals_mutex(), and made signals() give a reference

5 years agoTraceGroup: Added skeleton
Joel Holdsworth [Mon, 25 Aug 2014 22:29:00 +0000 (23:29 +0100)]
TraceGroup: Added skeleton

5 years agoHeader: Handle RowItems that do not create a context menu
Joel Holdsworth [Sat, 1 Nov 2014 10:05:32 +0000 (10:05 +0000)]
Header: Handle RowItems that do not create a context menu

5 years agoHeader: Allow RowItems to have no popup
Joel Holdsworth [Mon, 27 Oct 2014 20:33:27 +0000 (20:33 +0000)]
Header: Allow RowItems to have no popup

5 years agoView: Keep a list of owned traces in RowItemOwner
Joel Holdsworth [Mon, 1 Sep 2014 21:46:34 +0000 (22:46 +0100)]
View: Keep a list of owned traces in RowItemOwner

5 years agoRowItem: Added owner accessor function
Joel Holdsworth [Sat, 4 Oct 2014 09:25:25 +0000 (10:25 +0100)]
RowItem: Added owner accessor function

5 years agoReplace View ownership of traces with RowItemOwner
Joel Holdsworth [Sat, 30 Aug 2014 08:48:06 +0000 (09:48 +0100)]
Replace View ownership of traces with RowItemOwner

5 years agoAdded RowItemOwner
Joel Holdsworth [Sat, 30 Aug 2014 08:39:57 +0000 (09:39 +0100)]
Added RowItemOwner

5 years agoTrace: Renamed get_colour() to colour()
Joel Holdsworth [Sun, 16 Nov 2014 18:55:53 +0000 (18:55 +0000)]
Trace: Renamed get_colour() to colour()

5 years agoTrace: Renamed get_name() to name()
Joel Holdsworth [Sun, 16 Nov 2014 18:55:24 +0000 (18:55 +0000)]
Trace: Renamed get_name() to name()

5 years agoRowItem: Renamed get_v_offset to v_offset
Joel Holdsworth [Mon, 25 Aug 2014 13:34:24 +0000 (14:34 +0100)]
RowItem: Renamed get_v_offset to v_offset

5 years agoRefactored common row functionality into RowItem
Joel Holdsworth [Sun, 24 Aug 2014 18:52:03 +0000 (19:52 +0100)]
Refactored common row functionality into RowItem

5 years agoDecodeTrace: Removed set_view
Joel Holdsworth [Sun, 24 Aug 2014 20:58:54 +0000 (21:58 +0100)]
DecodeTrace: Removed set_view

5 years agoReplaced duplicated code with Trace::get_y
Joel Holdsworth [Sun, 24 Aug 2014 19:17:18 +0000 (20:17 +0100)]
Replaced duplicated code with Trace::get_y

5 years agoView: Simplified get_traces
Joel Holdsworth [Mon, 1 Sep 2014 20:56:56 +0000 (21:56 +0100)]
View: Simplified get_traces

5 years agoView: Replace compare_trace_v_offsets with a lambda
Joel Holdsworth [Fri, 29 Aug 2014 11:58:59 +0000 (12:58 +0100)]
View: Replace compare_trace_v_offsets with a lambda

5 years agoTrace: Removed pt_in_label_rect
Joel Holdsworth [Thu, 28 Aug 2014 22:52:50 +0000 (23:52 +0100)]
Trace: Removed pt_in_label_rect

5 years agoTrace: Correct shape of label_rect
Joel Holdsworth [Thu, 28 Aug 2014 22:45:41 +0000 (23:45 +0100)]
Trace: Correct shape of label_rect

5 years agoTrace: Renamed get_label_rect to label_rect
Joel Holdsworth [Mon, 25 Aug 2014 22:46:38 +0000 (23:46 +0100)]
Trace: Renamed get_label_rect to label_rect

5 years agoHeader: Fixed mouse over coordinates
Joel Holdsworth [Sun, 9 Nov 2014 10:35:43 +0000 (10:35 +0000)]
Header: Fixed mouse over coordinates

5 years agoDecodeTrace: Combined together get_pixels_offset with get_samples_per_pixel
Joel Holdsworth [Tue, 18 Nov 2014 22:19:35 +0000 (22:19 +0000)]
DecodeTrace: Combined together get_pixels_offset with get_samples_per_pixel

5 years agoDecodeTrace: Tidied up get_sample_range
Joel Holdsworth [Tue, 18 Nov 2014 21:27:41 +0000 (21:27 +0000)]
DecodeTrace: Tidied up get_sample_range

5 years agoTrace: Converted on_hover_point_changed signal to direct notification
Joel Holdsworth [Tue, 18 Nov 2014 20:10:26 +0000 (20:10 +0000)]
Trace: Converted on_hover_point_changed signal to direct notification

5 years agoDecodeTrace: Simplified and reduced calls to View
Joel Holdsworth [Tue, 18 Nov 2014 18:44:27 +0000 (18:44 +0000)]
DecodeTrace: Simplified and reduced calls to View

5 years agoDecodeTrace: Make tool tips use mapToGlobal() of the view's viewport
Soeren Apel [Tue, 18 Nov 2014 19:02:29 +0000 (19:02 +0000)]
DecodeTrace: Make tool tips use mapToGlobal() of the view's viewport

5 years agoView: Added viewport() accessor method
Soeren Apel [Tue, 18 Nov 2014 19:02:10 +0000 (19:02 +0000)]
View: Added viewport() accessor method

5 years agoFix bug #477 by keeping track of visible rows, not just titles
Soeren Apel [Fri, 14 Nov 2014 15:51:22 +0000 (16:51 +0100)]
Fix bug #477 by keeping track of visible rows, not just titles

5 years agoDecodeTrace: Provide tool tips for annotations
Soeren Apel [Wed, 12 Nov 2014 17:24:14 +0000 (18:24 +0100)]
DecodeTrace: Provide tool tips for annotations

5 years agoTrace: Introduce hover_point_changed()
Soeren Apel [Wed, 12 Nov 2014 17:16:47 +0000 (18:16 +0100)]
Trace: Introduce hover_point_changed()

5 years agoDecodeTrace: Refactor sample helpers and simplify method calls
Soeren Apel [Tue, 11 Nov 2014 20:36:30 +0000 (21:36 +0100)]
DecodeTrace: Refactor sample helpers and simplify method calls

5 years agoDecodeTrace: Turn row_height and text_height into class members
Soeren Apel [Tue, 11 Nov 2014 20:27:13 +0000 (21:27 +0100)]
DecodeTrace: Turn row_height and text_height into class members

5 years agoUpdate description for Trace::get_label_rect()
Soeren Apel [Sun, 9 Nov 2014 12:35:13 +0000 (13:35 +0100)]
Update description for Trace::get_label_rect()

5 years agoSamplingBar: Add Space as a shortcut to Run/Stop.
Peter Zotov [Thu, 13 Nov 2014 14:16:54 +0000 (17:16 +0300)]
SamplingBar: Add Space as a shortcut to Run/Stop.

5 years ago.gitignore: Ignore QtCreator generated files.
Peter Zotov [Thu, 13 Nov 2014 13:28:11 +0000 (16:28 +0300)]
.gitignore: Ignore QtCreator generated files.

5 years agoView: Update view on capture state change
Peter Zotov [Thu, 13 Nov 2014 13:26:11 +0000 (16:26 +0300)]
View: Update view on capture state change

5 years agoLogicSignal: Ported triggers to new API
Peter Zotov [Thu, 13 Nov 2014 11:48:20 +0000 (14:48 +0300)]
LogicSignal: Ported triggers to new API

This fixes bugs #448 and #452.

5 years agoSigSession: Added DeviceManager accessor functions
Joel Holdsworth [Thu, 13 Nov 2014 12:46:25 +0000 (12:46 +0000)]
SigSession: Added DeviceManager accessor functions

5 years agoSigSession: Made _sr_session non-static
Joel Holdsworth [Thu, 13 Nov 2014 12:44:42 +0000 (12:44 +0000)]
SigSession: Made _sr_session non-static

5 years ago.gitignore: Ignore vim .swo files
Joel Holdsworth [Sat, 1 Nov 2014 10:43:35 +0000 (10:43 +0000)]
.gitignore: Ignore vim .swo files

5 years agoStoreSession: Removed commented code
Joel Holdsworth [Sun, 2 Nov 2014 19:25:43 +0000 (19:25 +0000)]
StoreSession: Removed commented code

5 years agoSigSession: Renamed get_device to device
Joel Holdsworth [Thu, 13 Nov 2014 12:36:06 +0000 (12:36 +0000)]
SigSession: Renamed get_device to device

5 years agoSignal: Added a reference to _session
Joel Holdsworth [Thu, 13 Nov 2014 12:31:56 +0000 (12:31 +0000)]
Signal: Added a reference to _session

5 years agoSigSession: Replaced do { } while(0) with { }
Joel Holdsworth [Thu, 13 Nov 2014 12:31:28 +0000 (12:31 +0000)]
SigSession: Replaced do { } while(0) with { }

5 years agoLogicSignal: Replaced TRUE/FALSE with true/false
Peter Zotov [Thu, 13 Nov 2014 12:08:12 +0000 (12:08 +0000)]
LogicSignal: Replaced TRUE/FALSE with true/false

5 years agoLogicSignal: Tidied populate_popup_form is_checked
Peter Zotov [Thu, 13 Nov 2014 12:07:49 +0000 (12:07 +0000)]
LogicSignal: Tidied populate_popup_form is_checked

5 years agoLogicSignal: Removed trailing whitespace
Peter Zotov [Thu, 13 Nov 2014 12:07:27 +0000 (12:07 +0000)]
LogicSignal: Removed trailing whitespace

5 years agoReimplement file save using the srzip output module.
Martin Ling [Wed, 12 Nov 2014 17:29:46 +0000 (17:29 +0000)]
Reimplement file save using the srzip output module.

This should fix (part of) bug #451.

5 years agoChange Glib::Variant<uint64_t> to Glib::Variant<guint64>.
Tom Feist [Sun, 9 Nov 2014 22:54:53 +0000 (22:54 +0000)]
Change Glib::Variant<uint64_t> to Glib::Variant<guint64>.

This is needed on OSX/x86_64 where one is a typedef to unsigned long and the
other to unsigned long long. Both are the same size, but they are still
considered different types for the purposes of template instantiation, so the
specialisations which are defined for Glib::Variant<guint64> are not found if
Glib::Variant<uint64_t> is used.

5 years agoReplace map by list to preserve device order
Soeren Apel [Fri, 7 Nov 2014 16:12:18 +0000 (17:12 +0100)]
Replace map by list to preserve device order

5 years agoFix bug #285 by handling device display names through DeviceManager
Soeren Apel [Fri, 7 Nov 2014 16:11:30 +0000 (17:11 +0100)]
Fix bug #285 by handling device display names through DeviceManager
Currently, DeviceManager::device_description() is used to determine
how a device should appear in the device selector combobox. This is
problematic because bug #285 requests that a device should show
the extra information only when multiple such devices are present.
Without having access to all devices attached to a particular driver,
this cannot be solved.

This patch makes it possible by creating each device's display name
in the DeviceManager class and storing it there. This way, they
can be constructed while having access to all devices and
transparently queried by anyone who needs them.

With this, bug #285 can easily be solved.

5 years agoFix device removal in DeviceManager::driver_scan()
Soeren Apel [Fri, 7 Nov 2014 14:52:59 +0000 (15:52 +0100)]
Fix device removal in DeviceManager::driver_scan()

5 years agoCMakeLists.txt: Fix MinGW-w64 build issue related to QtSvg.
Uwe Hermann [Sat, 8 Nov 2014 14:35:49 +0000 (15:35 +0100)]
CMakeLists.txt: Fix MinGW-w64 build issue related to QtSvg.

Specify the QtSvg requirement in the 'find_package(Qt4...)' line.

Also, change the linking order in the MinGW-w64 case, apparently the
build now fails without this.

  [...]/qt/plugins/imageformats/libqsvg.a(qsvgiohandler.o):\
qsvgiohandler.cpp:(.text+0x571):
  undefined reference to `QSvgRenderer::load(QByteArray const&)'
  [...]

5 years agoCMakeLists.txt: Fix CMAKE_MODULE_PATH related issue.
Uwe Hermann [Sat, 8 Nov 2014 14:31:30 +0000 (15:31 +0100)]
CMakeLists.txt: Fix CMAKE_MODULE_PATH related issue.

Append to CMAKE_MODULE_PATH instead of overwriting it, in case it is
non-empty initially (which can happen e.g. if -DCMAKE_TOOLCHAIN_FILE is
used and the specified toolchain file sets CMAKE_MODULE_PATH).

Also, append to CMAKE_MODULE_PATH _after_ running "project(pulseview)",
since the latter would apparently reset CMAKE_MODULE_PATH again.

This should fix a MinGW-w64 build issue we're currently seeing:

  CMake Error at CMakeLists.txt:105 (include):
    include could not find load file:

      memaccess

5 years agoUse <cstdlib> for std::abs() on integer datatypes.
Uwe Hermann [Sun, 2 Nov 2014 20:18:28 +0000 (21:18 +0100)]
Use <cstdlib> for std::abs() on integer datatypes.

The <cmath> #include needs to be used (only) for floating
point types.

5 years agoLinking QtSvg. This closes bug #369
Elias Oenal [Sun, 2 Nov 2014 19:21:34 +0000 (20:21 +0100)]
Linking QtSvg. This closes bug #369

5 years agoandroid: Don't install unneeded Python files.
Uwe Hermann [Fri, 31 Oct 2014 17:52:02 +0000 (18:52 +0100)]
android: Don't install unneeded Python files.

5 years agoAdd missing <cmath> #includes.
Uwe Hermann [Fri, 31 Oct 2014 17:49:23 +0000 (18:49 +0100)]
Add missing <cmath> #includes.

Some compilers throw warnings/errors otherwise:

  error: no member named 'abs' in namespace 'std'; did you mean '::abs'?"

5 years agoINSTALL: Clarify requirements.
Uwe Hermann [Thu, 23 Oct 2014 13:44:01 +0000 (15:44 +0200)]
INSTALL: Clarify requirements.

PulseView depends on the libsigrok C++ bindings (not directly on
the libsigrok C library itself).

5 years agotest/CMakeLists.txt: Update file list.
Uwe Hermann [Sun, 19 Oct 2014 16:47:27 +0000 (18:47 +0200)]
test/CMakeLists.txt: Update file list.

5 years agoUpdate android build after bindings rewrite
Marcus Comstedt [Sun, 19 Oct 2014 15:37:11 +0000 (17:37 +0200)]
Update android build after bindings rewrite

The sigrok bindings depend on libffi.so, which is an unversioned shared
object, so add it to the whitelist of libraries to install into the APK.

5 years agoUse libsigrok C++ bindings (patch version 7).
Martin Ling [Wed, 15 Oct 2014 00:04:55 +0000 (01:04 +0100)]
Use libsigrok C++ bindings (patch version 7).

5 years agoFix double-free issue in File::create
Angus Gratton [Tue, 7 Oct 2014 22:35:23 +0000 (09:35 +1100)]
Fix double-free issue in File::create

Triggered when opening a file from the command line.

During startup Sigsession::set_default_device calls Device::use which
loads a global _sr_session, then as part of file loading the
File::create method is called which treats _sr_session as a temp
variable (loaded then immediately released), finally a Device::release
releases the (differently allocated) global _sr_session again causing
the double free.

Given File::create is only using the sigrok session temporarily within
its function scope, this change gives it its own temporary session
instance.

This fixes bug #405.

5 years agoAdd serial_num/connection_id handling and save/restore last device
Soeren Apel [Mon, 29 Sep 2014 21:31:55 +0000 (23:31 +0200)]
Add serial_num/connection_id handling and save/restore last device

This patch performs several correlated changes:
- Make use of sdi->serial_num and sdi->connection_id in
format_device_title()
- Add a Device::get_device_info() method that returns a map
with all device identification information that's available
- Add a DeviceManager::find_device_from_info() method which
returns the best match to a given set of device infos
- Add save/restore code to the MainWindow class that makes
use of the aforementioned maps to identify the currently
selected device.

5 years agoFix the C++11 thread linking issues for unit tests as well.
Uwe Hermann [Thu, 18 Sep 2014 15:14:14 +0000 (17:14 +0200)]
Fix the C++11 thread linking issues for unit tests as well.

5 years agoUse QApplication metadata for persistent storage
Soeren Apel [Wed, 17 Sep 2014 20:16:28 +0000 (22:16 +0200)]
Use QApplication metadata for persistent storage

Since the application metadata is set in application.c,
we should use it instead of providing it manually every
time we create a QSettings object.

As I understand it, subclassing QApplication in application.c
is only a workaround for bad Qt behavior. In the event
that it is removed, the application metadata should be moved
so that persistent storage still works.

5 years agoUsage of std::thread requires linking with appropriate system thread library.
Aurelien Jacobs [Wed, 17 Sep 2014 15:22:14 +0000 (17:22 +0200)]
Usage of std::thread requires linking with appropriate system thread library.

This fixes the following link error (on debian sid, gcc 4.9):

Linking CXX executable pulseview
/usr/bin/ld: CMakeFiles/pulseview.dir/pv/sigsession.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/pulseview.dir/build.make:2844: recipe for target 'pulseview' failed