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: 13586bfd9e41
Choose a base ref
...
head repository: ngscopeclient/scopehal
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3c2ff3258657
Choose a head ref
  • 4 commits
  • 8 files changed
  • 1 contributor

Commits on Oct 26, 2020

  1. Copy the full SHA
    46519ef View commit details
  2. Copy the full SHA
    beee353 View commit details
  3. Copy the full SHA
    fef97a7 View commit details
  4. Initial implementation of MIPI D-PHY byte-level data decode. Only dec…

    …odes HS data and framing, not escape mode. Fixes #48.
    azonenberg committed Oct 26, 2020
    Copy the full SHA
    3c2ff32 View commit details
41 changes: 11 additions & 30 deletions scopehal/LeCroyOscilloscope.cpp
Original file line number Diff line number Diff line change
@@ -2923,6 +2923,7 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleDepthsNonInterleaved()
ret.push_back(100 * k);
ret.push_back(200 * k);
ret.push_back(250 * k);
ret.push_back(400 * k);
ret.push_back(500 * k);

ret.push_back(1 * m);
@@ -3026,51 +3027,31 @@ vector<uint64_t> LeCroyOscilloscope::GetSampleDepthsNonInterleaved()

vector<uint64_t> LeCroyOscilloscope::GetSampleDepthsInterleaved()
{
const int64_t k = 1000;
const int64_t m = k*k;
vector<uint64_t> base = GetSampleDepthsNonInterleaved();

vector<uint64_t> ret = GetSampleDepthsNonInterleaved();
//Default to doubling the non-interleaved depths
vector<uint64_t> ret;
for(auto rate : base)
ret.push_back(rate*2);

switch(m_modelid)
{
//DDA5 is weird, not a power of two
//TODO: XXL option gives 100M, with 48M on all channels
case MODEL_DDA_5K:
ret.push_back(48 * m);
break;

case MODEL_HDO_4KA:
ret.push_back(25 * m);
break;

//no deep-memory option here
case MODEL_HDO_9K:
ret.push_back(128 * m);
break;
case MODEL_WAVERUNNER_8K:
case MODEL_WAVERUNNER_9K:
case MODEL_WAVEPRO_HD:
return ret;

//memory is dedicated per channel, no interleaving possible
case MODEL_HDO_6KA:
case MODEL_LABMASTER_ZI_A:
case MODEL_MDA_800:
case MODEL_WAVEMASTER_8ZI_B:
break;

case MODEL_WAVEPRO_HD:
if(m_memoryDepthOption == 100)
ret.push_back(100 * m);
break;

//TODO: multiple levels of channel combining to deal with?
case MODEL_WAVERUNNER_8K_HD:
break;

case MODEL_WAVERUNNER_8K:
case MODEL_WAVERUNNER_9K:
if(m_memoryDepthOption == 128)
ret.push_back(128 * m);
else
ret.push_back(32 * m);
break;
return base;

//TODO: add more models here
default:
2 changes: 2 additions & 0 deletions scopeprotocols/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -17,6 +17,8 @@ set(SCOPEPROTOCOLS_SOURCES
DeskewFilter.cpp
DownconvertFilter.cpp
DownsampleFilter.cpp
DPhyDataDecoder.cpp
DPhySymbolDecoder.cpp
DramRefreshActivateMeasurement.cpp
DramRowColumnLatencyMeasurement.cpp
DutyCycleMeasurement.cpp
Loading