Skip to content

Conversation

@KK1L
Copy link

@KK1L KK1L commented Jul 16, 2021

No description provided.

KK1L added 2 commits July 16, 2021 12:48
# Jan 2021 KK1L
#   Updated to Python 3.9
# Jul 16 2021 KK1L
#   Added Clear button to remove the waveforms
#   Added toggle button to choose channel 1 or 2 from scope
#   Got the averaging function working and made it do a running average across N bins with no (minimal) execution time hit
#   On screen progress feedback for scope read, FFT, and display
#   Warning trap when scope not triggered
# Jan 2021
# update to Python 3.9

# Jul 16 2021 KK1L
#   Added Clear button to remove the waveforms
#   Added toggle button to choose channel 1 or 2 from scope
#   Got the averaging function working and made it do a running average across N bins with no (minimal) execution time hit
#   On screen progress feedback for scope read, FFT, and display
#   Warning trap when scope not triggered
@MichaDit
Copy link

MichaDit commented Jul 17, 2021

Thanks for this, it works like a treat 👍🏻
I installed latest nivisa, latest pyvisa (py -m pip install pyvisa) and numpy.
Last I downloaded PyDSA.py directly from your repo - that is all to get it working.

@KK1L
Copy link
Author

KK1L commented Jul 17, 2021 via email

@KK1L
Copy link
Author

KK1L commented Jul 23, 2021

I have made some further updates.

  • Python 3.9 update...syntax, call format changes, functions
  • More robust scope communication
  • On screen progress feedback
  • Warning if scope is not triggered (used to crash)
  • Warning if input signal is clipping at scope
  • Can read from channel 1 or channel 2
  • Peak detect information and marker on waveform
  • Added autoscaling
  • Scaling change and offset works for all waves on the screen
  • Can store up to 7 waveforms on the screen
  • Most actions can be done while acquiring
  • Added clear function which removes all waves and resets averaging/max-hold
  • Scale is accurate in dBm after calibration
    *Previously the absolute level was arbitrary, but relatively accurate
    *"Calibrate" is manual operation to adjust peak for a known dBm value
    *Use a sine wave of known magnitude and adjust the calibration factor for the right reading
    Note: It is on my list to make this automatic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants