Skip to content

Releases: drandyhaas/HaasoscopePro

v32.01-beta

08 Nov 23:52
c186e8f

Choose a tag to compare

Changes from v32.00-beta

Firmware watchdog timer:

  • Will go back to init state, ready for new commands, after 10 seconds in case anything goes wrong
  • Can test from Advanced menu if --testing command line option added
  • Add firmware minor version: 1

Disable lvds out triggers by putting all boards in ext trig mode and no rolling trigger

  • Safer for firmware upgrade in multi-board setup

v32.00-beta

07 Nov 17:00
dbef588

Choose a tag to compare

Summary of Changes Since 31.09-beta

Firmware Changes (Version 31 → 32)

Runt pulse rejection for the trigger system

  • Prevents triggering on pulses that overshoot or fall within unwanted amplitude ranges

Software Changes

Runt trigger controls

  • New UI elements for configuring runt rejection threshold - "Runt delta"
  • Visual lines (draggable!) showing trigger thresholds, delta, runt delta, ToT, and holdoff

Zoom window improvements

  • ROI synced crosshairs between main and zoom windows

Firmware version checking

  • Software now validates firmware version compatibility, prevents using newer firmware than software expects

Clock output management

  • Enable clkout on all boards at startup (don't assume which is first)

Polynomial filtering bug fix

  • Fixed settings loading issue

v31.09-beta

04 Nov 22:44
374ed30

Choose a tag to compare

Summary of Changes Since v31.07-beta3

Major Features

  • Persist Heatmap: color-coded heatmap visualization for persist mode
  • FIR Frequency Response Calibration: Corrects hardware frequency response using adaptive FIR filtering with pre-calibrated data for all modes (normal, two-channel, oversample, interleaved)
  • Polynomial Filtering: Alternative smoothing method for waveform data

Improvements

  • Polyphase Upsampling: High-quality resampling option using scipy.signal.resample_poly
  • Downsample factor now shown in status bar
  • FFT plot no longer draws DC bin + adjacent bin for clearer display

Bug Fixes

  • Measurement histogram colors
  • Frequency measurement in interleave mode
  • Oscillation in mean/rms calibration at very high frequencies (2700+ MHz)
  • Persist settings preserved when entering oversample mode
  • Invisible channel click issues

v31.07-beta3

23 Oct 19:06
e21dd94

Choose a tag to compare

Changes since v31.06

  • New pulse width measurement, calculated as width of 50% max-min crossing nearest to trigger position
  • Zoom window (in View menu), lets you see a zoomed in view of the main plot via draggable ROI
  • Fix trigger position when depth is changed
  • Don't disable trig stabilizers at downsample>0

In beta2:

  • Don't disable extra trig stabilizer at downsample>0
  • Updated pulse stabilizer min calculation (delta -> 0)
  • Fix to math calculations: now done on non-upsampled data, gets the FFT of math channels right when channel is upsampled
  • Reference waveforms line width same as original line, fix math channel line width changes, FFT line color changes

In beta3:

  • When changing the line color, also change the peak detect line color
  • Draw the peak detect lines, and all the persist lines, in the zoom plot
  • Clear persist lines when loading from settings with no persist

v31.06-beta5

22 Oct 20:37
6c2e36d

Choose a tag to compare

Changes since 31.05

Some fixes and added features:

  • GUI: Fix line color change bug, channel 1 visibility bug, adjust size, checks for newer release upon startup
  • Measurement System: 3 decimal precision, improved formatting, speed ups, fix gain bug
  • Reference Lines: Dynamic color tracking, transparency support
  • Two-Channel Mode: Fixed resampling settings for channel 1 when zoomed
  • Trigger System: Auto-reset on depth change, cursor position management
  • Oversampling: External trigger mode for board+1, delay offset reset on disable
  • Settings: Fixed loading errors
  • XY plot: does two-channel mode right
  • Math: low, high, band, notch, time shift filters with adjustable parameters

v31.05-beta

21 Oct 19:58
7699255

Choose a tag to compare

Summary of Changes Since Version 31.04-beta

New Features

  1. XY Mode Window (a52615d)
    - Added dedicated XY mode window (xy_window.py)
    - Pops up to the left of the main windows with bottom edges aligned
    - Can use any available channels or math channels for X and Y
  2. Multiple Dummy Board Support (9ca49e9, 4748f93, df48a8e, 2220f20)
    - Can now configure and run multiple dummy boards
    - Added --max-devices command line option
    - Dummy boards labeled with "(D)" suffix in GUI
    - Can add dummy boards after real boards
  3. Dummy Server Configuration Dialog (2cde59c, f8f59b3, f9eb2fb)
    - Enhanced configuration dialog with per-board settings

Bug Fixes & Improvements

  1. Resampling Behavior (536e458, 2a1dee8)
    - More sane resampling behavior
    - Fixed resampling handling bugs

  2. Channel Mode UI (a9325be)
    - Fixed early return bug in _update_channel_mode_ui when in XY mode
    - Properly restore channel visibility when turning off interleaving

  3. Clicking on channel color box brings up color change dialog

  4. Better saving of settings for XY mode and dummy scopes

  5. Added driver files to releases

v31.04-beta

21 Oct 04:09
106cb3f

Choose a tag to compare

Summary of Git Changes Since Version 31.03

Major Features Added:

  1. Per-Channel Resampling (Commits: 88028c4, 56c7ad2)
    - Converted doresamp from global setting to per-channel array
    - GUI updates resamp box when switching channels
    - Each channel can have independent resampling settings
    - Backward compatible with old settings files
  2. Per-Channel Peak Lines (Commit: 7f70cae)
    - Peak detect mode now works per-channel instead of globally
    - Menu checkbox syncs with active channel's state
    - Multiple channels can show peak lines simultaneously
    - Each channel gets its own max/min peak lines
  3. Per-Board Pulse Stabilizer (Commit: 7a9fa9c)
    - Converted pulse_stabilizer_enabled to per-board array
    - Menu checkbox updates when switching boards
    - Each board can have independent pulse stabilizer settings
  4. Pulse Stabilizer Feature (Commit: 1d883d8)
    - New stabilization mode using edge midpoint instead of threshold crossing
    - Better for pulse/digital signals
    - Uses trigger delta to find edge min/max
  5. Peak Lines Improvements (Commit: 2253119)
    - Peak lines width now updates with global line width setting
    - Fixed x-axis stability using fixed reference x-axis
    - Prevents jitter from trigger stabilization

Trigger Stabilizer Improvements:

  1. Extra Trigger Stabilizer Tuning (Commits: a4972d1, 98b653c, 6522c51, 3d605bc, 2933963)
    - Reset totdistcorr when resetting time axis (fixes stability bug)
    - Removed nsunits from trigger stabilizer calculation
    - Adjusted distcorr range for better performance
    - Minor cleanup of extra trig stabilizer code

Build & Documentation:

  1. Build Scripts Updated (Commit: 19ca95f)
    - Added dummy_server to PyInstaller builds (Linux, Mac, Windows)
  2. Documentation Updates (Commits: 4e01904, c499cdf)
    - Updated README.md to point to main branch
    - Updated firmware README.md to main branch
  3. Misc Improvements:
    - Measurement table geometry adjustment (d411f20)
    - Removed spec files (1b7afa8, b95b6b0)

v31.03-beta

19 Oct 15:19
33cb47f

Choose a tag to compare

Summary of Changes Since Version 31.02

🎯 Major New Feature: Dummy Server/Scope

  • New dummy scope implementation - A simulated oscilloscope for testing without hardware
    • Added complete dummy server with waveform generation (software/dummy_scope/)
    • GUI configuration dialog for dummy server parameters
    • Waveform types: sine, square, pulse, including noise and trigger jitter
    • Supports 1-2 channel operation with configurable frequency, amplitude, gain, offset
    • Firmware version reporting
    • Configurable buffer sizes (up to 100k samples)
    • Proper triggering simulation with position tracking
    • Accessible via Advanced menu
    • Status bar integration

🎨 GUI Improvements

  • Measurement width adjustments
  • Layout improvements for better display
  • Mac-specific button and label fixes (multiple commits for compatibility)
  • Persistence features:
    • Per-channel persistence control
    • Persistent averaged lines (clickable checkbox)
    • Channel legend enabled by default
    • Reset persistence when starting/stopping oversampling
  • Line width now default to 2 pixels and savable to settings
  • Improved line colors
  • Removed fitwidthfraction box (defaults to 0.2)

⚙️ Hardware & Clock Management

  • Trigger stabilizer fixes (now "perfect")
  • Proper point spacing for two-channel mode
  • Better internal/external clock switching at startup
  • External clock output control (disabled on last board)
  • ADF reset functionality from menu
  • ADF lock success checking
  • Auto-calibration state based on board detection
  • Error handling for missing hardware ("no beef")
  • Distcorr trigger stabilizers' ranges limited to 3 ns with max 30 samples

v31.02-beta

14 Oct 19:57
53c1b75

Choose a tag to compare

Summary of Changes since 31.01-beta

UI/UX Improvements

  • Combo boxes for board and channel selection (replacing spin boxes)
  • History window feature to view and replay past 100 events with save/load capability
  • Triangular arrow markers at ends of cursor lines and trigger lines
  • Clickable labels for trigger position and threshold to reset values
  • Default file extensions automatically added when saving files
  • Disabled "Clear all" menu item when no reference lines exist
  • Disabled right-click context menu on plot (including secondary axis)

Trigger & Zoom Enhancements

  • Improved trigger position reset when zoomed - centers view on trigger position
  • Full range trigger position slider when zoomed (downsamplezoom > 1)
  • Fixed trigger stabilizer for two-channel and interleaved modes - now accounts for board mode time factors
  • Trigger lines and triangles hidden until PLL calibration completes

Settings Management

  • Added missing settings to save/load:
    • Peak detect
    • Channel name legend
    • PLL controls visibility
    • Auto oversample alignment
  • Settings now properly trigger associated actions when loaded (not just checkbox state)
  • Fixed cursor visibility when loading settings

Linux Compatibility

  • Added DontUseNativeDialog flag for all file dialogs (QFileDialog and QColorDialog) on Linux

Bug Fixes & Error Handling

  • More robust board setup error handling
  • Fixed trigger position reset when zoomed
  • Fixed settings save/load bugs
  • Info displays stay fixed during pan and zoom
  • Triangles stay at plot borders during pan and zoom

v31.01-beta

13 Oct 03:21
3334171

Choose a tag to compare

Summary of Changes Since v30.10

New Features

  1. Channel Naming & Labels
  • Added channel names functionality (824fbb0, 6c38c90)
  • Channel name legend display
  1. Fan PWM Control
  • Implemented fan PWM control with temperature-based speeds (f131644)
  • Fan speeds adjust at 30°C, 40°C, and 50°C thresholds
  • Update interval set to ~10 seconds to reduce overhead (c6c0507, 7238eb8)
  • Added ADC and board temperature menu (dc6e993)
  1. Math Channel Enhancements
  • Custom math operations support (e4bd054)
  • Reference lines for math channels (03e8c17)
  • Save/load reference lines functionality (166ecdd)
  • Time skew per channel adjustment (cd39d0a)
  1. FFT Improvements
  • FFT peak hold now uses max of all channels (45aa7a3)
  • Reset peaks functionality for all channels (0f7edfa, e8af3ee)
  • Clear FFT cache support (f579aea)

Bug Fixes & Error Handling

  • Enhanced board setup error handling and thread cleanup (111c37f, 8ad4bae)
  • Better error handling for USB communication failures due to power drops (6efb2b6)
  • Skip bad boards and handle old bytes (b6a257b)
  • Disable calibration if fewer than 2 boards (027e4bd)

Firmware Updates

  • Updated ADC board firmware with new PWM generator (pwm_generator.v)
  • Firmware update/verify progress bars (b025c5a)