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

Commits on Aug 22, 2020

  1. Initial skeleton of OFDMDemodulator filter. Will be testbed for new m…

    …ulti-stream architecture.
    azonenberg committed Aug 22, 2020
    Copy the full SHA
    da87733 View commit details

Commits on Aug 23, 2020

  1. Renamed ProtocolDecoder to Filter. Fixes #165 (but needs to be propag…

    …ated to all derived classes still). Added units to parameters. Fixes #148.
    azonenberg committed Aug 23, 2020
    Copy the full SHA
    f55570d View commit details
  2. Copy the full SHA
    845d828 View commit details
  3. Copy the full SHA
    4f642f4 View commit details

Commits on Aug 25, 2020

  1. Copy the full SHA
    4b68fc9 View commit details
Showing with 3,544 additions and 3,645 deletions.
  1. +3 −13 scopehal/AgilentOscilloscope.cpp
  2. +1 −1 scopehal/AgilentOscilloscope.h
  3. +4 −9 scopehal/AntikernelLabsOscilloscope.cpp
  4. +1 −1 scopehal/AntikernelLabsOscilloscope.h
  5. +4 −14 scopehal/AntikernelLogicAnalyzer.cpp
  6. +1 −1 scopehal/AntikernelLogicAnalyzer.h
  7. +1 −1 scopehal/CMakeLists.txt
  8. +199 −154 scopehal/{ProtocolDecoder.cpp → Filter.cpp}
  9. +77 −26 scopehal/{ProtocolDecoder.h → Filter.h}
  10. +7 −35 scopehal/LeCroyOscilloscope.cpp
  11. +1 −1 scopehal/LeCroyOscilloscope.h
  12. +3 −3 scopehal/Oscilloscope.cpp
  13. +3 −7 scopehal/Oscilloscope.h
  14. +13 −8 scopehal/OscilloscopeChannel.cpp
  15. +39 −10 scopehal/OscilloscopeChannel.h
  16. +2 −2 scopehal/PacketDecoder.cpp
  17. +3 −3 scopehal/PacketDecoder.h
  18. +3 −12 scopehal/RigolOscilloscope.cpp
  19. +1 −1 scopehal/RigolOscilloscope.h
  20. +3 −12 scopehal/RohdeSchwarzOscilloscope.cpp
  21. +1 −1 scopehal/RohdeSchwarzOscilloscope.h
  22. +5 −17 scopehal/SiglentSCPIOscilloscope.cpp
  23. +1 −1 scopehal/SiglentSCPIOscilloscope.h
  24. +9 −13 scopehal/SignalGeneratorOscilloscope.cpp
  25. +1 −1 scopehal/SignalGeneratorOscilloscope.h
  26. +3 −12 scopehal/TektronixOscilloscope.cpp
  27. +1 −1 scopehal/TektronixOscilloscope.h
  28. +8 −2 scopehal/Unit.cpp
  29. +1 −1 scopehal/Unit.h
  30. +1 −1 scopehal/scopehal.h
  31. +24 −34 scopeprotocols/{ACCoupleDecoder.cpp → ACCoupleFilter.cpp}
  32. +7 −11 scopeprotocols/{ClockJitterDecoder.h → ACCoupleFilter.h}
  33. +17 −22 scopeprotocols/ADL5205Decoder.cpp
  34. +2 −4 scopeprotocols/ADL5205Decoder.h
  35. +26 −37 scopeprotocols/{AutocorrelationDecoder.cpp → AutocorrelationFilter.cpp}
  36. +7 −9 scopeprotocols/{AutocorrelationDecoder.h → AutocorrelationFilter.h}
  37. +1 −1 scopeprotocols/AverageStatistic.cpp
  38. +23 −32 scopeprotocols/{BaseMeasurementDecoder.cpp → BaseMeasurement.cpp}
  39. +63 −0 scopeprotocols/BaseMeasurement.h
  40. +27 −27 scopeprotocols/CANDecoder.cpp
  41. +2 −4 scopeprotocols/CANDecoder.h
  42. +42 −41 scopeprotocols/CMakeLists.txt
  43. +21 −30 scopeprotocols/{CTLEDecoder.cpp → CTLEFilter.cpp}
  44. +7 −7 scopeprotocols/{CTLEDecoder.h → CTLEFilter.h}
  45. +7 −7 scopeprotocols/{ChannelEmulationDecoder.cpp → ChannelEmulationFilter.cpp}
  46. +7 −7 scopeprotocols/{ChannelEmulationDecoder.h → ChannelEmulationFilter.h}
  47. +0 −68 scopeprotocols/ClockRecoveryDecoder.h
  48. +32 −39 scopeprotocols/{ClockRecoveryDecoder.cpp → ClockRecoveryFilter.cpp}
  49. +11 −9 scopeprotocols/{UartClockRecoveryDecoder.h → ClockRecoveryFilter.h}
  50. +28 −38 scopeprotocols/{CurrentShuntDecoder.cpp → CurrentShuntFilter.cpp}
  51. +7 −9 scopeprotocols/{CurrentShuntDecoder.h → CurrentShuntFilter.h}
  52. +26 −33 scopeprotocols/{DCOffsetDecoder.cpp → DCOffsetFilter.cpp}
  53. +7 −9 scopeprotocols/{DCOffsetDecoder.h → DCOffsetFilter.h}
  54. +28 −42 scopeprotocols/DDR3Decoder.cpp
  55. +2 −4 scopeprotocols/DDR3Decoder.h
  56. +21 −27 scopeprotocols/DVIDecoder.cpp
  57. +1 −1 scopeprotocols/DVIDecoder.h
  58. +34 −42 scopeprotocols/{DeEmbedDecoder.cpp → DeEmbedFilter.cpp}
  59. +8 −9 scopeprotocols/{DeEmbedDecoder.h → DeEmbedFilter.h}
  60. +30 −40 scopeprotocols/{DeskewDecoder.cpp → DeskewFilter.cpp}
  61. +7 −9 scopeprotocols/{DeskewDecoder.h → DeskewFilter.h}
  62. +53 −56 scopeprotocols/{LOMixDecoder.cpp → DownconvertFilter.cpp}
  63. +8 −11 scopeprotocols/{LOMixDecoder.h → DownconvertFilter.h}
  64. +24 −32 scopeprotocols/{DownsampleDecoder.cpp → DownsampleFilter.cpp}
  65. +7 −9 scopeprotocols/{DownsampleDecoder.h → DownsampleFilter.h}
  66. +25 −26 scopeprotocols/{DramRefreshActivateMeasurementDecoder.cpp → DramRefreshActivateMeasurement.cpp}
  67. +7 −9 scopeprotocols/{BaseMeasurementDecoder.h → DramRefreshActivateMeasurement.h}
  68. +0 −65 scopeprotocols/DramRefreshActivateMeasurementDecoder.h
  69. +25 −26 scopeprotocols/{DramRowColumnLatencyMeasurementDecoder.cpp → DramRowColumnLatencyMeasurement.cpp}
  70. +7 −9 scopeprotocols/{PkPkMeasurementDecoder.h → DramRowColumnLatencyMeasurement.h}
  71. +0 −65 scopeprotocols/DramRowColumnLatencyMeasurementDecoder.h
  72. +13 −15 scopeprotocols/Ethernet1000BaseXDecoder.cpp
  73. +1 −3 scopeprotocols/Ethernet1000BaseXDecoder.h
  74. +6 −17 scopeprotocols/Ethernet100BaseTDecoder.cpp
  75. +0 −2 scopeprotocols/Ethernet100BaseTDecoder.h
  76. +5 −16 scopeprotocols/Ethernet10BaseTDecoder.cpp
  77. +0 −2 scopeprotocols/Ethernet10BaseTDecoder.h
  78. +14 −15 scopeprotocols/Ethernet10GBaseRDecoder.cpp
  79. +1 −3 scopeprotocols/Ethernet10GBaseRDecoder.h
  80. +22 −23 scopeprotocols/Ethernet64b66bDecoder.cpp
  81. +2 −4 scopeprotocols/Ethernet64b66bDecoder.h
  82. +16 −17 scopeprotocols/EthernetAutonegotiationDecoder.cpp
  83. +2 −4 scopeprotocols/EthernetAutonegotiationDecoder.h
  84. +23 −30 scopeprotocols/EthernetGMIIDecoder.cpp
  85. +1 −3 scopeprotocols/EthernetGMIIDecoder.h
  86. +9 −6 scopeprotocols/EthernetProtocolDecoder.cpp
  87. +1 −2 scopeprotocols/EthernetProtocolDecoder.h
  88. +22 −29 scopeprotocols/EthernetRGMIIDecoder.cpp
  89. +1 −3 scopeprotocols/EthernetRGMIIDecoder.h
  90. +27 −22 scopeprotocols/{EyeBitRateMeasurementDecoder.cpp → EyeBitRateMeasurement.cpp}
  91. +62 −0 scopeprotocols/EyeBitRateMeasurement.h
  92. +0 −64 scopeprotocols/EyeBitRateMeasurementDecoder.h
  93. +34 −32 scopeprotocols/{EyeHeightMeasurementDecoder.cpp → EyeHeightMeasurement.cpp}
  94. +8 −9 scopeprotocols/{EyeWidthMeasurementDecoder.h → EyeHeightMeasurement.h}
  95. +0 −69 scopeprotocols/EyeHeightMeasurementDecoder.h
  96. +33 −31 scopeprotocols/{EyeJitterMeasurementDecoder.cpp → EyeJitterMeasurement.cpp}
  97. +66 −0 scopeprotocols/EyeJitterMeasurement.h
  98. +0 −68 scopeprotocols/EyeJitterMeasurementDecoder.h
  99. +40 −51 scopeprotocols/{EyeDecoder2.cpp → EyePattern.cpp}
  100. +9 −10 scopeprotocols/{EyeDecoder2.h → EyePattern.h}
  101. +27 −22 scopeprotocols/{EyePeriodMeasurementDecoder.cpp → EyePeriodMeasurement.cpp}
  102. +62 −0 scopeprotocols/EyePeriodMeasurement.h
  103. +0 −64 scopeprotocols/EyePeriodMeasurementDecoder.h
  104. +33 −31 scopeprotocols/{EyeWidthMeasurementDecoder.cpp → EyeWidthMeasurement.cpp}
  105. +66 −0 scopeprotocols/EyeWidthMeasurement.h
  106. +31 −40 scopeprotocols/{FFTDecoder.cpp → FFTFilter.cpp}
  107. +8 −9 scopeprotocols/{FFTDecoder.h → FFTFilter.h}
  108. +28 −36 scopeprotocols/{FallMeasurementDecoder.cpp → FallMeasurement.cpp}
  109. +10 −9 scopeprotocols/{TopMeasurementDecoder.h → FallMeasurement.h}
  110. +0 −68 scopeprotocols/FallMeasurementDecoder.h
  111. +24 −34 scopeprotocols/{FrequencyMeasurementDecoder.cpp → FrequencyMeasurement.cpp}
  112. +63 −0 scopeprotocols/FrequencyMeasurement.h
  113. +0 −65 scopeprotocols/FrequencyMeasurementDecoder.h
  114. +28 −30 scopeprotocols/{HorizontalBathtubDecoder.cpp → HorizontalBathtub.cpp}
  115. +62 −0 scopeprotocols/HorizontalBathtub.h
  116. +0 −64 scopeprotocols/HorizontalBathtubDecoder.h
  117. +27 −24 scopeprotocols/I2CDecoder.cpp
  118. +2 −4 scopeprotocols/I2CDecoder.h
  119. +24 −24 scopeprotocols/IBM8b10bDecoder.cpp
  120. +2 −4 scopeprotocols/IBM8b10bDecoder.h
  121. +17 −25 scopeprotocols/IPv4Decoder.cpp
  122. +2 −4 scopeprotocols/IPv4Decoder.h
  123. +27 −30 scopeprotocols/JtagDecoder.cpp
  124. +1 −2 scopeprotocols/JtagDecoder.h
  125. +25 −23 scopeprotocols/MDIODecoder.cpp
  126. +1 −1 scopeprotocols/MDIODecoder.h
  127. +28 −37 scopeprotocols/{MagnitudeDecoder.cpp → MagnitudeFilter.cpp}
  128. +7 −9 scopeprotocols/{MultiplyDecoder.h → MagnitudeFilter.h}
  129. +1 −1 scopeprotocols/MaximumStatistic.cpp
  130. +1 −1 scopeprotocols/MinimumStatistic.cpp
  131. +29 −37 scopeprotocols/{MovingAverageDecoder.cpp → MovingAverageFilter.cpp}
  132. +7 −9 scopeprotocols/{MovingAverageDecoder.h → MovingAverageFilter.h}
  133. +28 −37 scopeprotocols/{MultiplyDecoder.cpp → MultiplyFilter.cpp}
  134. +7 −9 scopeprotocols/{MagnitudeDecoder.h → MultiplyFilter.h}
  135. +72 −45 scopeprotocols/{WindowedAutocorrelationDecoder.cpp → OFDMDemodulator.cpp}
  136. +9 −9 scopeprotocols/{WindowedAutocorrelationDecoder.h → OFDMDemodulator.h}
  137. +24 −31 scopeprotocols/{OvershootMeasurementDecoder.cpp → OvershootMeasurement.cpp}
  138. +63 −0 scopeprotocols/OvershootMeasurement.h
  139. +0 −65 scopeprotocols/OvershootMeasurementDecoder.h
  140. +28 −31 scopeprotocols/{ParallelBusDecoder.cpp → ParallelBus.cpp}
  141. +7 −9 scopeprotocols/{ParallelBusDecoder.h → ParallelBus.h}
  142. +24 −34 scopeprotocols/{PeriodMeasurementDecoder.cpp → PeriodMeasurement.cpp}
  143. +63 −0 scopeprotocols/PeriodMeasurement.h
  144. +0 −65 scopeprotocols/PeriodMeasurementDecoder.h
  145. +24 −31 scopeprotocols/{PkPkMeasurementDecoder.cpp → PkPkMeasurement.cpp}
  146. +63 −0 scopeprotocols/PkPkMeasurement.h
  147. +29 −36 scopeprotocols/{RiseMeasurementDecoder.cpp → RiseMeasurement.cpp}
  148. +7 −9 scopeprotocols/{RiseMeasurementDecoder.h → RiseMeasurement.h}
  149. +28 −30 scopeprotocols/SPIDecoder.cpp
  150. +2 −4 scopeprotocols/SPIDecoder.h
  151. +37 −46 scopeprotocols/{DifferenceDecoder.cpp → SubtractFilter.cpp}
  152. +7 −9 scopeprotocols/{DifferenceDecoder.h → SubtractFilter.h}
  153. +26 −36 scopeprotocols/{ClockJitterDecoder.cpp → TIEMeasurement.cpp}
  154. +9 −9 scopeprotocols/{ACCoupleDecoder.h → TIEMeasurement.h}
  155. +25 −25 scopeprotocols/TMDSDecoder.cpp
  156. +2 −4 scopeprotocols/TMDSDecoder.h
  157. +22 −30 scopeprotocols/{ThresholdDecoder.cpp → ThresholdFilter.cpp}
  158. +7 −9 scopeprotocols/{ThresholdDecoder.h → ThresholdFilter.h}
  159. +24 −32 scopeprotocols/{TopMeasurementDecoder.cpp → TopMeasurement.cpp}
  160. +63 −0 scopeprotocols/TopMeasurement.h
  161. +20 −17 scopeprotocols/UARTDecoder.cpp
  162. +1 −1 scopeprotocols/UARTDecoder.h
  163. +15 −22 scopeprotocols/USB2ActivityDecoder.cpp
  164. +2 −4 scopeprotocols/USB2ActivityDecoder.h
  165. +18 −24 scopeprotocols/USB2PCSDecoder.cpp
  166. +2 −3 scopeprotocols/USB2PCSDecoder.h
  167. +22 −31 scopeprotocols/USB2PMADecoder.cpp
  168. +2 −4 scopeprotocols/USB2PMADecoder.h
  169. +17 −22 scopeprotocols/USB2PacketDecoder.cpp
  170. +1 −1 scopeprotocols/USB2PacketDecoder.h
  171. +25 −26 scopeprotocols/{UartClockRecoveryDecoder.cpp → UartClockRecoveryFilter.cpp}
  172. +62 −0 scopeprotocols/UartClockRecoveryFilter.h
  173. +24 −31 scopeprotocols/{UndershootMeasurementDecoder.cpp → UndershootMeasurement.cpp}
  174. +63 −0 scopeprotocols/UndershootMeasurement.h
  175. +0 −65 scopeprotocols/UndershootMeasurementDecoder.h
  176. +24 −25 scopeprotocols/{SincInterpolationDecoder.cpp → UpsampleFilter.cpp}
  177. +7 −9 scopeprotocols/{SincInterpolationDecoder.h → UpsampleFilter.h}
  178. +33 −31 scopeprotocols/{WaterfallDecoder.cpp → Waterfall.cpp}
  179. +9 −11 scopeprotocols/{WaterfallDecoder.h → Waterfall.h}
  180. +201 −0 scopeprotocols/WindowedAutocorrelationFilter.cpp
  181. +69 −0 scopeprotocols/WindowedAutocorrelationFilter.h
  182. +42 −41 scopeprotocols/scopeprotocols.cpp
  183. +43 −51 scopeprotocols/scopeprotocols.h
16 changes: 3 additions & 13 deletions scopehal/AgilentOscilloscope.cpp
Original file line number Diff line number Diff line change
@@ -460,7 +460,7 @@ Oscilloscope::TriggerMode AgilentOscilloscope::PollTrigger()
}
}

bool AgilentOscilloscope::AcquireData(bool toQueue)
bool AgilentOscilloscope::AcquireData()
{
//LogDebug("Acquiring data\n");

@@ -481,12 +481,7 @@ bool AgilentOscilloscope::AcquireData(bool toQueue)
for(size_t i=0; i<m_analogChannelCount; i++)
{
if(!IsChannelEnabled(i))
{
if(!toQueue)
m_channels[i]->SetData(NULL);
continue;
}


// Set source & get preamble
m_transport->SendCommand(":WAV:SOUR " + m_channels[i]->GetHwname());
@@ -539,20 +534,15 @@ bool AgilentOscilloscope::AcquireData(bool toQueue)
}

//Done, update the data
if(!toQueue)
m_channels[i]->SetData(cap);
else
pending_waveforms[i].push_back(cap);
pending_waveforms[i].push_back(cap);

//Clean up
delete[] temp_buf;
}

//Now that we have all of the pending waveforms, save them in sets across all channels
m_pendingWaveformsMutex.lock();
size_t num_pending = 0;
if(toQueue) //if saving to queue, the 0'th segment counts too
num_pending ++;
size_t num_pending = 1; //TODO: segmented capture mode
for(size_t i=0; i<num_pending; i++)
{
SequenceSet s;
2 changes: 1 addition & 1 deletion scopehal/AgilentOscilloscope.h
Original file line number Diff line number Diff line change
@@ -62,7 +62,7 @@ class AgilentOscilloscope : public SCPIOscilloscope
//Triggering
virtual void ResetTriggerConditions();
virtual Oscilloscope::TriggerMode PollTrigger();
virtual bool AcquireData(bool toQueue = false);
virtual bool AcquireData();
virtual void Start();
virtual void StartSingleTrigger();
virtual void Stop();
13 changes: 4 additions & 9 deletions scopehal/AntikernelLabsOscilloscope.cpp
Original file line number Diff line number Diff line change
@@ -365,7 +365,7 @@ Oscilloscope::TriggerMode AntikernelLabsOscilloscope::PollTrigger()
return TRIGGER_MODE_TRIGGERED;
}

bool AntikernelLabsOscilloscope::AcquireData(bool toQueue)
bool AntikernelLabsOscilloscope::AcquireData()
{
//Read the waveform data
const int depth = 16384;
@@ -398,22 +398,17 @@ bool AntikernelLabsOscilloscope::AcquireData(bool toQueue)
//See what the actual voltages are at the zero crossing
//TODO: this isn't the actual trigger point??
float vtrig = 0;
float trigfrac = ProtocolDecoder::InterpolateTime(cap, 57, vtrig);
float trigfrac = Filter::InterpolateTime(cap, 57, vtrig);
cap->m_triggerPhase = -trigfrac * cap->m_timescale;

//Done, update
lock_guard<recursive_mutex> lock(m_mutex);
map<int, vector<AnalogWaveform*> > pending_waveforms;
if(!toQueue)
m_channels[0]->SetData(cap);
else
pending_waveforms[0].push_back(cap);
pending_waveforms[0].push_back(cap);

//Now that we have all of the pending waveforms, save them in sets across all channels
m_pendingWaveformsMutex.lock();
size_t num_pending = 0;
if(toQueue) //if saving to queue, the 0'th segment counts too
num_pending ++;
size_t num_pending = 1; //single segment only for now
for(size_t i=0; i<num_pending; i++)
{
SequenceSet s;
2 changes: 1 addition & 1 deletion scopehal/AntikernelLabsOscilloscope.h
Original file line number Diff line number Diff line change
@@ -61,7 +61,7 @@ class AntikernelLabsOscilloscope : public SCPIOscilloscope
//Triggering
virtual void ResetTriggerConditions();
virtual Oscilloscope::TriggerMode PollTrigger();
virtual bool AcquireData(bool toQueue = false);
virtual bool AcquireData();
virtual void Start();
virtual void StartSingleTrigger();
virtual void Stop();
18 changes: 4 additions & 14 deletions scopehal/AntikernelLogicAnalyzer.cpp
Original file line number Diff line number Diff line change
@@ -36,7 +36,6 @@
#include "scopehal.h"
#include "OscilloscopeChannel.h"
#include "AntikernelLogicAnalyzer.h"
#include "ProtocolDecoder.h"

using namespace std;

@@ -295,7 +294,7 @@ Oscilloscope::TriggerMode AntikernelLogicAnalyzer::PollTrigger()
}
}

bool AntikernelLogicAnalyzer::AcquireData(bool toQueue)
bool AntikernelLogicAnalyzer::AcquireData()
{
lock_guard<recursive_mutex> lock(m_mutex);

@@ -343,10 +342,7 @@ bool AntikernelLogicAnalyzer::AcquireData(bool toQueue)
}

//Done, update the data
if(!toQueue)
chan->SetData(cap);
else
pending_waveforms[chan] = cap;
pending_waveforms[chan] = cap;
}

//Crunch the waveform data (note, LS byte first in each row)
@@ -381,10 +377,7 @@ bool AntikernelLogicAnalyzer::AcquireData(bool toQueue)
}

//Done, update the data
if(!toQueue)
chan->SetData(cap);
else
pending_waveforms[chan] = cap;
pending_waveforms[chan] = cap;
}

else
@@ -416,10 +409,7 @@ bool AntikernelLogicAnalyzer::AcquireData(bool toQueue)
}

//Done, update the data
if(!toQueue)
chan->SetData(cap);
else
pending_waveforms[chan] = cap;
pending_waveforms[chan] = cap;
}
}
m_pendingWaveformsMutex.lock();
2 changes: 1 addition & 1 deletion scopehal/AntikernelLogicAnalyzer.h
Original file line number Diff line number Diff line change
@@ -71,7 +71,7 @@ class AntikernelLogicAnalyzer

//Triggering
virtual Oscilloscope::TriggerMode PollTrigger();
virtual bool AcquireData(bool toQueue = false);
virtual bool AcquireData();
virtual void Start();
virtual void StartSingleTrigger();
virtual void Stop();
2 changes: 1 addition & 1 deletion scopehal/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ set(SCOPEHAL_SOURCES
Multimeter.cpp
PowerSupply.cpp

ProtocolDecoder.cpp
Filter.cpp
PacketDecoder.cpp
Statistic.cpp
)
Loading