Releases: jetperch/pyjoulescope_ui
0.8.3
2020 Feb 19
The "downsampling" release. Downsampling allows Joulescopes to output a lower data rate for applications that do not need the full 2 million samples per second. To activate downsampling:
- Select View → Oscilloscope
- Disable the active device: Device → Disable
- Set the new output rate: File → Preferences → Device → setting → sampling_frequency
- Enable the device: Device → {select your connected device}
Changes
- Added downsampling support.
- Changed i_range preference default to "auto" (was "off").
- Modified marker statistics to use same font style as waveform statistics.
- Fixed firmware version check to work with untagged development builds.
- Added support for joulescope 0.8.0 unified statistics data structure.
- Fixed issue #40: Added ∫ and Δt back to dual marker statistics.
- Added parameter to show/hide Δt dual marker statistic.
- Reorganized device parameters into settings, extio and Current Ranging.
- Updated PySide2 build process and version definition. Removed VERSION.
- Added color parameters for waveform mean/min/max/fill.
- Fixed marker text position when y-axis scale changes.
- Fixed y-axis range to auto not causing immediate autoscale #21
Known Issues
- #44 Preferences "Reset" does not work
- #42 Profile change does not update sampling frequency
- #38 Waveform markers draw region is too large
- #34 Widget sizes not always restored correctly on start
- #32 "General/data_path" needs better error handling
- #24 Dragging the endpoints of the top x-axis zoom bar does not work correctly
- #1 Pixelated button icons in oscilloscope view
See also
The pyjoulescope 0.8.3 release which includes some minor API changes. Any Python program that uses these API functions will need updating.
0.7.0
2019 Dec 4
- Implemented Command pattern with preferences. The application now supports
undo/redo using the standard keys combinations: CTRL-Z & CTRL-Y on windows.
Refactored code. - Fixed single value widget to display value in its own best unit scale.
- Renamed "command" to "entry_point" to prevent confusion with UI "commands".
- Addressed crashes on marker removal.
- Updated Preferences dialog to support user-defined profiles.
- Updated software to save and restore settings within each profile.
- Added ability to set fonts and colors for Multimeter and Waveform widgets.
Include Lato font by default for all platforms. - Added Help → View Logs...
- Added software release channel selection: alpha, beta, stable.
- Updated to Python 3.7.5 (was 3.7.3).
- Added "Waveform Control" widget, part of the Oscilloscope View by default.
- Run garbage collector on device disconnect, which ensures StreamBuffer
is correctly freed. - Modified default paths to be more platform-friendly.
0.6.10
2019 Oct 23
- Fixed current range glitch filter using invalid sample data.
The glitch filter could occasionally use one sample of invalid data during
the computation of the "pre" mean component. The underlying cause was
that the pre mean value was computed over a FIFO that was rolling over 1
sample too late. This injected up to one sample of undefined data.
For a length n pre value, this error occurred on roughly (n - 1) / 8
current range transitions. Testing shows that we were lucky on
Win10 and the data was not a huge floating point number.
Added unit test and fixed. - Added support for new download.joulescope.com site.
Support new https://download.joulescope.com/joulescope_install/index.json
format. Modified URLS to point directly to https://download.joulescope.com rather
than https://www.joulescope.com.
0.6.8
2019 Oct 15
- Fixed data-dependent single NaN sample insertion. Only occurred when
i_range was 3 or 7 and current LSBs was saturated.
Affects 0.6.0 through 0.6.7. - Added customizable current range switching filter available through
File → Preferences → Current Ranging. - Changed default current range switch filter from mean_0_3_1 to mean_1_n_1,
which significantly reduces the displayed glitches on current ranging.
If you like the old behavior, File → Preferences → Current Ranging to
set type: mean, samples_pre: 0, samples_window: 3, samples_post: 1.
The drawback is that up to 8 samples (4 µs) of data can be filtered out.
0.6.6
2019 Oct 9
- Fixed configuration to work on new installations (error introduced in 0.6.5).
Software 0.6.5 did not work on fresh machines. The 0.6.5 software correctly identified
that no configuration was present, but then ignored that information and tried to
load None. This release includes a fix and unit tests to prevent this issue in the future.
The release process has also been modified to wipe the existing configuration and
also to introduce a known configuration.
0.6.5
0.6.4
2019 Oct 3
- Added NaN checks in multimeter when accumulating (Issue #2).
- Added configurable stream buffer duration (was fixed at 30 seconds).
- Added general-purpose input (GPI) support.
- Only update oscilloscope when visible (improve performance).
- Fixed recording view to apply current glitch filter.
0.6.2
0.6.1
2019 Sep 17
- Fixed "record" function not working on Windows due to multiprocessing and
pyinstaller EXE packaging. - Applied calibration to "zoomed-out" data on dual marker export. All existing
files created with dual marker export are invalid when the view window is
more than a couple seconds (actual duration varies), but the zoomed-in
data is still valid.
0.6.0
KNOWN ISSUES
- The "record" function does not work on Windows due to multiprocessing and pyinstaller EXE packaging. Please upgrade to 0.6.1.
2019 Sep 16
- Added plugins and range_tool. Refactored export & USB Inrush.
- Added histogram-based plugins (author Axel Jacobsen).
- Updated pyqtgraph
- Added RangeToolInvocation methods marker_single_add and marker_dual_add.
- Added check and UI status warning when device does not support dual markers.
- Improved logging.
- Added range_tool plugins submenus.
- Added fault handler (such as segmentation faults) output to log.
- Modified dual marker delta time to display in engineering notation.
- Updated the getting started guide.
- Persisted accumulated charge/energy across device disconnect/connect.
- Fixed single marker to display "No data" over missing samples.
- Fixed y-axis waveform autoranging when min/max traces are not shown.
- Modified codebase to use new joulescope.Driver StreamProcessApi,
elimination of recording_start and recording_stop. - Implemented improved frame rate limiting.
- Refactored to support new data_update format with integrated view details.
- Added Δt indication for statistics computed over visible window.
- Moved RecordingViewerDevice to operate in its own thread for improved
performance. Allows software to condense multiple requests, such as
during mouse click & drag. - Moved JLS recording to its own process so that OS file write stalls do
not cause sample drops.