Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ngscopeclient/scopehal
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: df8c1608f61c
Choose a base ref
...
head repository: ngscopeclient/scopehal
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 01c607d54f07
Choose a head ref
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Apr 30, 2021

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    01c607d View commit details
Showing with 46 additions and 10 deletions.
  1. +46 −10 scopehal/LeCroyOscilloscope.cpp
56 changes: 46 additions & 10 deletions scopehal/LeCroyOscilloscope.cpp
Original file line number Diff line number Diff line change
@@ -2830,24 +2830,39 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleRatesNonInterleaved()
const int64_t m = k*k;
const int64_t g = k*m;

//These rates are supported by all known scopes
ret.push_back(2 * k);
ret.push_back(5 * k);
ret.push_back(10 * k);
ret.push_back(20 * k);
ret.push_back(50 * k);
ret.push_back(100 * k);
bool wm8 =
(m_modelid == MODEL_WAVEMASTER_8ZI_B) ||
(m_modelid == MODEL_SDA_8ZI) ||
(m_modelid == MODEL_SDA_8ZI_A) ||
(m_modelid == MODEL_SDA_8ZI_B);
bool hdo9 = (m_modelid == MODEL_HDO_9K);

//WaveMaster 8Zi can't go below 200 ksps in realtime mode?
if(!wm8)
{
ret.push_back(2 * k);
ret.push_back(5 * k);
ret.push_back(10 * k);
ret.push_back(20 * k);
ret.push_back(50 * k);
ret.push_back(100 * k);
}
ret.push_back(200 * k);
if(wm8)
ret.push_back(250 * k);
ret.push_back(500 * k);

ret.push_back(1 * m);
if(m_modelid == MODEL_HDO_9K) //... with one exception
if(hdo9 || wm8)
ret.push_back(2500 * k);
else
ret.push_back(2 * m);
ret.push_back(5 * m);
ret.push_back(10 * m);
ret.push_back(20 * m);
if(wm8)
ret.push_back(25 * m);
else
ret.push_back(20 * m);
ret.push_back(50 * m);
ret.push_back(100 * m);

@@ -2915,6 +2930,9 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleRatesNonInterleaved()
ret.push_back(10 * g);
break;

case MODEL_SDA_8ZI:
case MODEL_SDA_8ZI_A:
case MODEL_SDA_8ZI_B:
case MODEL_WAVEMASTER_8ZI_B:
ret.push_back(250 * m);
ret.push_back(500 * m);
@@ -3008,12 +3026,14 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleDepthsNonInterleaved()
//The front panel allows going as low as 2 samples on some instruments, but don't allow that here.
ret.push_back(500);
ret.push_back(1 * k);
ret.push_back(2500);
ret.push_back(2 * k);
ret.push_back(5 * k);
ret.push_back(10 * k);
ret.push_back(25 * k);
ret.push_back(20 * k);
ret.push_back(40 * k); //20/40 Gsps scopes can use values other than 1/2/5.
//TODO: figure out which models allow this
//TODO: avajlable rates seems to depend on the selected sample rate??
ret.push_back(50 * k);
ret.push_back(80 * k);
ret.push_back(100 * k);
@@ -3023,6 +3043,7 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleDepthsNonInterleaved()
ret.push_back(500 * k);

ret.push_back(1 * m);
ret.push_back(2500 * k);
ret.push_back(2 * m);
ret.push_back(5 * m);
ret.push_back(10 * m);
@@ -3071,9 +3092,24 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleDepthsNonInterleaved()
break;

//standard memory
//TODO: extended options
case MODEL_WAVEMASTER_8ZI_B:
break;

//extended memory
case MODEL_SDA_8ZI:
case MODEL_SDA_8ZI_A:
case MODEL_SDA_8ZI_B:
ret.push_back(20 * m);
ret.push_back(25 * m);
ret.push_back(40 * m);
ret.push_back(50 * m);
ret.push_back(80 * m);
ret.push_back(100 * m);
ret.push_back(128 * m);
break;


case MODEL_WAVEPRO_HD:
ret.push_back(25 * m);