Joel Holdsworth [Sun, 30 Aug 2015 15:31:17 +0000 (09:31 -0600)]
TraceTreeItemOwner: Removed non-const item_list accessor
Joel Holdsworth [Mon, 17 Aug 2015 01:14:47 +0000 (19:14 -0600)]
Added ViewItemOwner
Joel Holdsworth [Sun, 23 Aug 2015 00:39:05 +0000 (18:39 -0600)]
RowItemIterator: Removed usage of RowItem::owner()
Joel Holdsworth [Sat, 22 Aug 2015 16:01:49 +0000 (10:01 -0600)]
Session: Removed signals_mutex(), and made signals() return a copy not a reference
Joel Holdsworth [Sun, 30 Aug 2015 15:01:53 +0000 (09:01 -0600)]
LogicSignal: Call TriggerStage::begin with matches.begin()
Joel Holdsworth [Sun, 30 Aug 2015 14:42:41 +0000 (08:42 -0600)]
TraceTreeItem: Added valid owner assert to drag_by
Joel Holdsworth [Mon, 17 Aug 2015 00:20:57 +0000 (18:20 -0600)]
Use list_by_type instead of iterator
Joel Holdsworth [Mon, 17 Aug 2015 01:12:57 +0000 (19:12 -0600)]
Reduce include bloat by including boost/thread/{locks,shared_mutex}.hpp directly
Joel Holdsworth [Sat, 22 Aug 2015 21:54:00 +0000 (15:54 -0600)]
View: Moved in list_row_item_owners
Joel Holdsworth [Sun, 16 Aug 2015 16:09:47 +0000 (10:09 -0600)]
View: Use list_by_type to get TraceTreeItems
Joel Holdsworth [Sun, 16 Aug 2015 15:22:08 +0000 (09:22 -0600)]
Header: Use list_by_type in on_ungroup
Joel Holdsworth [Fri, 16 Oct 2015 03:07:38 +0000 (21:07 -0600)]
TraceTreeItemOwner: Make list_by_type return a vector instead of a set
Joel Holdsworth [Sun, 16 Aug 2015 15:44:31 +0000 (09:44 -0600)]
TraceTreeItemOwner: Moved list_by_type template definition into header
Joel Holdsworth [Sun, 16 Aug 2015 15:35:54 +0000 (09:35 -0600)]
RowItem: Moved hover_point_changed in
Joel Holdsworth [Mon, 27 Jul 2015 02:52:46 +0000 (20:52 -0600)]
ViewItem: Make a create_popup optional
Joel Holdsworth [Mon, 27 Jul 2015 01:24:11 +0000 (19:24 -0600)]
TraceTreeItem: Separated from RowItem
Joel Holdsworth [Tue, 1 Sep 2015 01:51:21 +0000 (19:51 -0600)]
ViewItemPaintParams: Added missing include
Joel Holdsworth [Sun, 4 Oct 2015 23:24:03 +0000 (17:24 -0600)]
AnalogSignal: Removed set_scale
Nothing uses it now
Joel Holdsworth [Mon, 27 Jul 2015 01:11:41 +0000 (19:11 -0600)]
ViewItemPaintParams: Fixed header guard
Joel Holdsworth [Sat, 4 Jul 2015 17:08:31 +0000 (18:08 +0100)]
RowItem: Corrected header guard
Daniel Elstner [Sat, 3 Oct 2015 15:51:00 +0000 (17:51 +0200)]
windows: Install data files into share subdirectory
This allows these files to be found on standard paths relative
to the location of the executable.
Marcus Comstedt [Wed, 30 Sep 2015 18:25:49 +0000 (20:25 +0200)]
android: Include firmwares in the APK
Marcus Comstedt [Wed, 30 Sep 2015 18:22:58 +0000 (20:22 +0200)]
android: Fix copylibs task to include the right libs
Since more and more libs are losing their versioned soname, the
heuristic of including libs with versioned sonames is an increasingly
poor one. Instead, simply blacklist the libs we do not want.
Marcus Comstedt [Wed, 30 Sep 2015 18:20:46 +0000 (20:20 +0200)]
android: Don't include qtaccessiblewidgets plugin
Since Qt 5.4.0, accessibility is no longer a plugin.
Daniel Elstner [Thu, 1 Oct 2015 12:59:03 +0000 (14:59 +0200)]
android: Check for firmware in standard locations, too
Daniel Elstner [Sat, 26 Sep 2015 23:14:11 +0000 (01:14 +0200)]
android: Read firmware resources from assets
Set up a resource reader to load firmware resources as assets
bundled with the APK.
Jonathan Dahan [Mon, 10 Aug 2015 18:37:34 +0000 (14:37 -0400)]
SAMPLERATE is a guint64
This fixes bug #621.
Jens Steinhauser [Fri, 4 Sep 2015 16:31:48 +0000 (18:31 +0200)]
Ruler: Don't use a function that is only available in recent boost versions
Jens Steinhauser [Fri, 4 Sep 2015 16:23:02 +0000 (18:23 +0200)]
Ruler: Prevent ticks from disappearing at high zoom levels
Daniel Elstner [Fri, 4 Sep 2015 13:24:59 +0000 (15:24 +0200)]
Build: Substitute build configuration into NSIS script
This enables out-of-source builds of the Windows installer,
and no longer hardcodes the MXE/mingw prefix.
Daniel Elstner [Fri, 4 Sep 2015 14:02:03 +0000 (16:02 +0200)]
Build: Fix build with Qt 4 moc
Jens Steinhauser [Thu, 3 Sep 2015 12:47:13 +0000 (14:47 +0200)]
ViewItem: Adjust the threshold between dark and light colors
Previously, the function returned 'Qt::black' for all used colors except
when black itself was passed in, making the text on brown, blue or violet
backgrounds very hard to read.
Jens Steinhauser [Thu, 3 Sep 2015 13:19:20 +0000 (15:19 +0200)]
Viewport: Don't draw the cursors and markers antialiased
After adding them or zooming around, the cursors and markers could
appear washed out.
Jens Steinhauser [Thu, 3 Sep 2015 12:42:40 +0000 (14:42 +0200)]
Ruler: Don't draw the tick marks antialiased
Next to the sharp font of the timestamp labels the washed out markers
didn't look that good.
Jens Steinhauser [Thu, 3 Sep 2015 11:50:53 +0000 (13:50 +0200)]
Untangle the time formatting functions a bit
The formatting depending on the distance between two timestamps is
reintroduced with the responding function residing in the 'Ruler' class
(the prime user of that function).
Fixes a rounding bug for the least significant digit in the
'format_time_minutes()' function.
The 'Cursor' and 'CursorPair' classes now use the same precision when
formatting timestamps as the rest of the program.
Jens Steinhauser [Wed, 2 Sep 2015 11:37:56 +0000 (13:37 +0200)]
View: Do not emit superfluous signals in a loop
Jens Steinhauser [Wed, 2 Sep 2015 09:25:37 +0000 (11:25 +0200)]
View: Change the type of tick_period to pv::util::Timestamp
This makes the tick position/label calculation in the ruler more precise,
avoiding rounded values for zero which would yield to "+0" or "-0" labels.
Jens Steinhauser [Thu, 3 Sep 2015 13:26:17 +0000 (15:26 +0200)]
Ruler: Factor out the calculation of the tick spacing
This avoids useless recalculations of the tick spacings on every mouse
pointer move and makes the function easier to test.
Jens Steinhauser [Sun, 30 Aug 2015 12:16:11 +0000 (14:16 +0200)]
Ruler: Fix tick mark calculation
Prior to this change, due to floating point errors the loop that
calculates the tick mark positions could loop thousands of iterations
while zooming in at high time values, blocking the whole UI and leading
to distorted text in the end.
Jens Steinhauser [Sun, 30 Aug 2015 21:20:21 +0000 (23:20 +0200)]
Use typesafe enum classes in pv::util
Jens Steinhauser [Sat, 29 Aug 2015 14:40:13 +0000 (16:40 +0200)]
Add a spin box widget for timestamp values
Jens Steinhauser [Sun, 30 Aug 2015 21:11:31 +0000 (23:11 +0200)]
format_time(): Use the timestamp type in the calculation
Jens Steinhauser [Sat, 29 Aug 2015 14:57:37 +0000 (16:57 +0200)]
format_si_value(): Use the timestamp type in the calculation
Jens Steinhauser [Sun, 30 Aug 2015 21:00:34 +0000 (23:00 +0200)]
Use a type with a greater resolution to represent time values
Fixes #627.
Jens Steinhauser [Fri, 28 Aug 2015 15:34:29 +0000 (17:34 +0200)]
Remove unused arguments from 'format_time()'
This function is already complicated enough (it tries to guess in what
context it is currently used and changes its behaviour accordingly), so
remove the unused parameters to make it somewhat comprehensible.
Soeren Apel [Fri, 4 Sep 2015 01:34:08 +0000 (03:34 +0200)]
Fix #605 by closing current device when another is selected
As the device manager class holds a pointer to all devices
they will never be destroyed until PV exits. Devices are
opened with the first call to create() but only closed in
the destructor. Together, this results in devices never
being closed.
This patch fixes this by renaming create() to open()
and introducing a matching close() method that the
session class calls when a different device is to be
selected.
Soeren Apel [Fri, 28 Aug 2015 06:35:56 +0000 (08:35 +0200)]
Fix #592 completely by showing the actual error message
Before, the supplied infoMessage was ignored (unnamed parameter)
and instead the local variable infoMessage was used, which was
empty. For this reason, the cause of the error never showed.
Martin Ling [Tue, 25 Aug 2015 18:30:39 +0000 (19:30 +0100)]
Don't try to store a reference to a shared pointer.
Fixes #596.
Soeren Apel [Mon, 24 Aug 2015 19:25:04 +0000 (21:25 +0200)]
Ruler scale calculation optimization
Soeren Apel [Mon, 24 Aug 2015 19:23:32 +0000 (21:23 +0200)]
Fix wrong ruler scale after loading a file
Soeren Apel [Mon, 24 Aug 2015 16:21:15 +0000 (18:21 +0200)]
Fix #595 by correctly handling UINT64_MAX and INT_MAX boundaries
By using an int64_t to hold UINT64_MAX, it was made to overflow
to -1. This lead to range_min=0 and range_max=-1, resulting in
a disabled spin button.
Soeren Apel [Mon, 24 Aug 2015 14:56:05 +0000 (16:56 +0200)]
Fix #597 by disabling device-related toolbar buttons as necessary
Soeren Apel [Mon, 24 Aug 2015 10:32:11 +0000 (12:32 +0200)]
Fix #510 by disabling removal of the last decoder from the popup
Soeren Apel [Sun, 23 Aug 2015 12:21:33 +0000 (14:21 +0200)]
Provide short-term fix for #627 by limiting zoom range to 100 ps
Soeren Apel [Sun, 23 Aug 2015 12:20:59 +0000 (14:20 +0200)]
Util: Fix malformed time formatting
Uwe Hermann [Fri, 21 Aug 2015 13:23:58 +0000 (15:23 +0200)]
Restore the default of "pulseview foo.sr" opening the file.
This used to work in e.g. the 0.2.0 release and is much more convenient
than having to supply "-i" for every file. It also allows for (easier, at
least) association of the .sr extension with PulseView on most OSes.
Uwe Hermann [Thu, 20 Aug 2015 17:51:15 +0000 (19:51 +0200)]
Pass unitsize to srd_session_send() directly.
Follow an API change in libsigrokdecode where srd_inst_channel_set_all()
no longer gets passed a unitsize, but rather srd_session_send() gets it.
Soeren Apel [Wed, 19 Aug 2015 19:34:11 +0000 (21:34 +0200)]
Fix #626 by stopping acquisition gracefully
Soeren Apel [Sun, 16 Aug 2015 12:25:55 +0000 (14:25 +0200)]
Fix #622 by using the actual sample count per segment
Currently, each segment is as big as the sample limit
(in the bug report: 1G samples), wasting huge amounts
of memory.
Soeren Apel [Sat, 15 Aug 2015 21:11:52 +0000 (23:11 +0200)]
View: Allow ScaleUnits[0] to actually be used
Without this patch, no major tick on the ruler will ever
begin with a '1' but only with '2' or '5'. This behavior
can also be observed with current sigrok git head, so it
is independent of my util/view/ruler patch set.
Soeren Apel [Sat, 15 Aug 2015 21:05:18 +0000 (23:05 +0200)]
View: Use max time to calculate label length, not offset_
Using offset_ gives false results, in particular when
offset_ happens to be 0. With this fix, realistic values
are used for the label length calculation.
Soeren Apel [Wed, 12 Aug 2015 15:34:09 +0000 (17:34 +0200)]
Util: Fix issue where t=0 randomly shows up as +0 or -0
Soeren Apel [Wed, 12 Aug 2015 15:32:57 +0000 (17:32 +0200)]
Util: Refactor format_time()
Soeren Apel [Mon, 10 Aug 2015 07:26:43 +0000 (09:26 +0200)]
View/Ruler: Calculate and use tick precision
Soeren Apel [Mon, 10 Aug 2015 07:11:43 +0000 (09:11 +0200)]
Util: Introduce DD:HH:MM:SS.mmm nnn ppp fff format
This also fixes bug #371.
Soeren Apel [Mon, 10 Aug 2015 06:21:53 +0000 (08:21 +0200)]
View: Separate data changed/capture state changed events
Soeren Apel [Sun, 9 Aug 2015 18:41:03 +0000 (20:41 +0200)]
View: Determine time unit and use it in other classes
Soeren Apel [Sun, 9 Aug 2015 18:32:41 +0000 (20:32 +0200)]
Introduce time units
Soeren Apel [Sat, 15 Aug 2015 21:14:17 +0000 (23:14 +0200)]
Fix #615 by opening the output stream only if needed
Uwe Hermann [Sun, 9 Aug 2015 15:25:49 +0000 (17:25 +0200)]
nsis: Add start menu entries for Zadig.
This fixes bug #542.
Uwe Hermann [Sat, 8 Aug 2015 17:19:47 +0000 (19:19 +0200)]
Bump Boost requirement to >= 1.48.
Older versions of Boost have issues with C++11 due to boost::shared_ptr.
Details:
http://stackoverflow.com/questions/
18900730/boostshared-ptrshared-ptrconst-boostshared-ptr-is-implicitly-declared
https://svn.boost.org/trac/boost/changeset/73202
This seems to have been fixed in Boost 1.48 (untested, though).
This closes bug #593.
Soeren Apel [Thu, 6 Aug 2015 18:44:13 +0000 (20:44 +0200)]
Fix include guards and accidential const removal
Soeren Apel [Fri, 31 Jul 2015 06:22:40 +0000 (08:22 +0200)]
Fix #404 by only saving enabled signals
Soeren Apel [Fri, 31 Jul 2015 05:33:23 +0000 (07:33 +0200)]
Fix #599 by supplying correct length to create_logic_packet()
Soeren Apel [Wed, 29 Jul 2015 19:28:17 +0000 (21:28 +0200)]
StoreSession: Supply filename to the output module directly
This fixes parts of bug #570.
Soeren Apel [Wed, 29 Jul 2015 10:04:29 +0000 (12:04 +0200)]
Simplify signal clearing in Session::start_capture
Soeren Apel [Wed, 29 Jul 2015 10:04:03 +0000 (12:04 +0200)]
Change hotkey for sticky scrolling from 'r' to 's'
Daniel Elstner [Sat, 25 Jul 2015 20:31:05 +0000 (22:31 +0200)]
build: Only try to read the VERSION file if it exists
Uwe Hermann [Sat, 25 Jul 2015 17:43:42 +0000 (19:43 +0200)]
about: Show the list of supported output formats.
PulseView now officially supports output formats, so list them too.
Daniel Elstner [Thu, 23 Jul 2015 21:31:25 +0000 (23:31 +0200)]
Build: Make hardcoded version override git tag
Reintroduce the hard-coded version number in CMakeList.txt, but
still check for a tagged version. If the hard-coded version is
more recent than the latest tag, then use that but with a "-pre"
suffix in place of the patch level.
In either case, still append the revision hash and possibly the
dirty flag to the version, unless git HEAD exactly matches a tag.
Daniel Elstner [Sat, 18 Jul 2015 20:47:11 +0000 (22:47 +0200)]
Build: Use -dirty version suffix for local changes
Pass --dirty to git describe. This needed a slight hack to
GetGitRevisionDescription.cmake to make it work. Also pass
--tags to make git include lightweight tags in its search.
Daniel Elstner [Sat, 18 Jul 2015 19:36:51 +0000 (21:36 +0200)]
build: Derive PulseView version from git tags
Derive the PulseView version numbers and suffix from the git
repository if available. In order to make builds from source
tarballs work, also include a generated VERSION file in the
source package generated by CPack.
The included GetGitRevisionDescription.cmake file is a copy
from the https://github.com/rpavlik/cmake-modules repository.
Uwe Hermann [Sat, 25 Jul 2015 16:05:11 +0000 (18:05 +0200)]
Minor whitespace fixes.
Soeren Apel [Fri, 24 Jul 2015 05:55:29 +0000 (07:55 +0200)]
Implement "always zoom to fit" feature
Soeren Apel [Thu, 23 Jul 2015 21:30:44 +0000 (23:30 +0200)]
Fix #121 by implementing sticky scrolling
Soeren Apel [Thu, 23 Jul 2015 18:48:42 +0000 (20:48 +0200)]
Tests: Add required files to CMakeLists.txt
Soeren Apel [Thu, 23 Jul 2015 18:48:21 +0000 (20:48 +0200)]
Session: Clear signal data before starting capture
Uwe Hermann [Thu, 23 Jul 2015 15:07:21 +0000 (17:07 +0200)]
decoderstack: Fix incorrect end sample number.
PulseView was invoking srd_session_send() with an incorrect end
sample number (and thus incorrect sample count).
Example 1:
5000000 samples, unitsize 1
Before the fix:
srd: Calling decode(), start sample 0, end sample
5000000 (
5000000 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample 4096, end sample
5004096 (
5000000 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample 8192, end sample
5008192 (
5000000 samples, 4096 bytes, unitsize = 1), instance am230x.
[...]
srd: Calling decode(), start sample
4988928, end sample
9988928 (
5000000 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample
4993024, end sample
9993024 (
5000000 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample
4997120, end sample
9997120 (
5000000 samples, 2880 bytes, unitsize = 1), instance am230x.
After the fix:
srd: Calling decode(), start sample 0, end sample 4096 (4096 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample 4096, end sample 8192 (4096 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample 8192, end sample 12288 (4096 samples, 4096 bytes, unitsize = 1), instance am230x.
[...]
srd: Calling decode(), start sample
4988928, end sample
4993024 (4096 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample
4993024, end sample
4997120 (4096 samples, 4096 bytes, unitsize = 1), instance am230x.
srd: Calling decode(), start sample
4997120, end sample
5000000 (2880 samples, 2880 bytes, unitsize = 1), instance am230x.
Example 2: 5000 samples, unitsize 5
Before the fix:
srd: Calling decode(), start sample 0, end sample 5000 (5000 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 819, end sample 5819 (5000 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 1638, end sample 6638 (5000 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 2457, end sample 7457 (5000 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 3276, end sample 8276 (5000 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 4095, end sample 9095 (5000 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 4914, end sample 9914 (5000 samples, 430 bytes, unitsize = 5), instance z80.
After the fix:
srd: Calling decode(), start sample 0, end sample 819 (819 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 819, end sample 1638 (819 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 1638, end sample 2457 (819 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 2457, end sample 3276 (819 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 3276, end sample 4095 (819 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 4095, end sample 4914 (819 samples, 4095 bytes, unitsize = 5), instance z80.
srd: Calling decode(), start sample 4914, end sample 5000 (86 samples, 430 bytes, unitsize = 5), instance z80.
Soeren Apel [Tue, 14 Jul 2015 16:30:22 +0000 (18:30 +0200)]
MainBar: Re-check sample count/rate when needed
Soeren Apel [Wed, 1 Jul 2015 14:36:32 +0000 (16:36 +0200)]
HardwareDevice: Whitespace fix
Soeren Apel [Wed, 1 Jul 2015 14:35:29 +0000 (16:35 +0200)]
Fix #602 by keeping track of device state internally
Joel Holdsworth [Sat, 4 Jul 2015 23:35:09 +0000 (00:35 +0100)]
Added initial Doxygen configuration
Uwe Hermann [Sat, 18 Jul 2015 16:08:24 +0000 (18:08 +0200)]
Build-depend on the upcoming libsigrok + libsigrokdecode 0.4.0.
Uwe Hermann [Sat, 18 Jul 2015 15:47:44 +0000 (17:47 +0200)]
Bump version to 0.3.0 (the upcoming next major release).
Uwe Hermann [Sat, 18 Jul 2015 15:46:04 +0000 (17:46 +0200)]
Append "-git" to the version string.
This avoids confusion with the released tarballs.
This fixes bug #609.
Soeren Apel [Tue, 14 Jul 2015 16:27:27 +0000 (18:27 +0200)]
MainBar: Change calling order and flag usage for sample count, too
Soeren Apel [Mon, 13 Jul 2015 19:00:10 +0000 (21:00 +0200)]
MainBar: Fix #594 by changing calling order and flag usage
The reason that the sampling rate button disappears after a
sampling rate was selected is that there's a flaw in the
chain of events:
on_sample_rate_changed() which calls
commit_sample_rate() which sets updating_sample_rate_ and calls
on_config_changed() which calls
update_sample_rate_selector() which...
...clears the list and exits because updating_sample_rate_ is set.
Joel Holdsworth [Sun, 28 Jun 2015 09:23:29 +0000 (10:23 +0100)]
View: Update signals without destroying layout
This fixes bug #536
Joel Holdsworth [Sat, 13 Jun 2015 09:46:39 +0000 (10:46 +0100)]
RowItemOwner: Added list_by_type
Joel Holdsworth [Sat, 13 Jun 2015 09:19:14 +0000 (10:19 +0100)]
RowItemOwner: Added list_row_item_owners