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: fdfdd516aa59
Choose a base ref
...
head repository: ngscopeclient/scopehal
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 7ffcfab7c77d
Choose a head ref

Commits on Apr 14, 2019

  1. Copy the full SHA
    98dfee3 View commit details

Commits on Apr 15, 2019

  1. Copy the full SHA
    e0bfce7 View commit details
  2. Copy the full SHA
    286345e View commit details

Commits on Apr 16, 2019

  1. Copy the full SHA
    cafc809 View commit details
  2. Copy the full SHA
    3950fb5 View commit details
  3. Copy the full SHA
    9e07b51 View commit details

Commits on Apr 17, 2019

  1. Copy the full SHA
    08137be View commit details

Commits on Apr 18, 2019

  1. LeCroyOscilloscope: now use proper hardware channel names internally …

    …instead of sprintf(%d) everywhere
    azonenberg committed Apr 18, 2019
    Copy the full SHA
    ed0a67d View commit details
  2. Fixed bug where LeCroyOscilloscope miscalculated capture start time i…

    …n non-sequenced capture mode. Fixed some protocol decoders leaking memory
    azonenberg committed Apr 18, 2019
    Copy the full SHA
    63d5475 View commit details
  3. Copy the full SHA
    c351c81 View commit details

Commits on Apr 19, 2019

  1. Copy the full SHA
    95f1f5a View commit details

Commits on Apr 20, 2019

  1. Copy the full SHA
    125520f View commit details
  2. Fixed FFT offset

    azonenberg committed Apr 20, 2019
    Copy the full SHA
    f149978 View commit details

Commits on Apr 21, 2019

  1. Copy the full SHA
    6bc85e0 View commit details
  2. Copy the full SHA
    3fe0881 View commit details
  3. Copy the full SHA
    9638258 View commit details

Commits on Apr 22, 2019

  1. Copy the full SHA
    f78a5ce View commit details
  2. Copy the full SHA
    e201e7c View commit details
  3. Fixed bug in last patch

    azonenberg committed Apr 22, 2019
    Copy the full SHA
    a74ff60 View commit details

Commits on Apr 23, 2019

  1. Copy the full SHA
    ac6233e View commit details
  2. Initial implementation of FunctionGenerator API and partial WaveSurfe…

    …r 3000 AFG driver. Not finished.
    azonenberg committed Apr 23, 2019
    Copy the full SHA
    708e457 View commit details

Commits on Apr 24, 2019

  1. Initial work on USB 1.x decoder. Can decode line state, idles, and sy…

    …nc patterns but not actual packet content yet.
    azonenberg committed Apr 24, 2019
    Copy the full SHA
    96fc11c View commit details
  2. Finished initial implementation of USB2PacketDecoder. Doesn't handle …

    …reset/suspend/wake yet.
    azonenberg committed Apr 24, 2019
    Copy the full SHA
    77b553d View commit details
  3. Copy the full SHA
    0b0e6a6 View commit details

Commits on Apr 25, 2019

  1. Copy the full SHA
    5ad8ed8 View commit details
  2. Copy the full SHA
    5b9d7c3 View commit details

Commits on Apr 26, 2019

  1. Copy the full SHA
    4afdd4d View commit details
  2. LeCroyOscilloscope: avoid using 16-bit capture resolution on 8-bit sc…

    …opes since this is empty resolution and wastes bandwidth. ~10% performance improvement.
    azonenberg committed Apr 26, 2019
    Copy the full SHA
    c498fb9 View commit details

Commits on Apr 27, 2019

  1. Copy the full SHA
    8827125 View commit details
  2. Copy the full SHA
    8ac1514 View commit details
  3. Copy the full SHA
    39fa9e6 View commit details
  4. Copy the full SHA
    c67dcfa View commit details
  5. Copy the full SHA
    27a7210 View commit details
  6. Fixed some threading bugs

    azonenberg committed Apr 27, 2019
    Copy the full SHA
    5779951 View commit details
  7. Copy the full SHA
    81c09cd View commit details

Commits on May 2, 2019

  1. Copy the full SHA
    dcdf786 View commit details
  2. Copy the full SHA
    e6fb395 View commit details
  3. rebase

    four0four committed May 2, 2019
    Copy the full SHA
    3802f3b View commit details

Commits on May 4, 2019

  1. Rebase, mostly

    four0four committed May 4, 2019
    Copy the full SHA
    132f4e9 View commit details
  2. Copy the full SHA
    7ffcfab View commit details
Showing with 4,457 additions and 374 deletions.
  1. +2 −0 scopehal/CMakeLists.txt
  2. +39 −0 scopehal/FunctionGenerator.cpp
  3. +82 −0 scopehal/FunctionGenerator.h
  4. +3 −0 scopehal/Instrument.h
  5. +559 −203 scopehal/LeCroyOscilloscope.cpp
  6. +57 −2 scopehal/LeCroyOscilloscope.h
  7. +6 −2 scopehal/LeCroyVICPOscilloscope.cpp
  8. +44 −1 scopehal/Oscilloscope.cpp
  9. +55 −3 scopehal/Oscilloscope.h
  10. +3 −0 scopehal/OscilloscopeChannel.cpp
  11. +4 −1 scopehal/OscilloscopeSample.h
  12. +5 −0 scopehal/PacketDecoder.cpp
  13. +2 −0 scopehal/PacketDecoder.h
  14. +36 −0 scopehal/ProtocolDecoder.cpp
  15. +2 −0 scopehal/ProtocolDecoder.h
  16. +11 −100 scopehal/SiglentSCPIOscilloscope.cpp
  17. +1 −1 scopehal/SiglentSCPIOscilloscope.h
  18. +1 −0 scopehal/scopehal.h
  19. +2 −2 scopeprotocols/ACCoupleDecoder.cpp
  20. +12 −0 scopeprotocols/CMakeLists.txt
  21. +15 −3 scopeprotocols/ClockRecoveryDecoder.cpp
  22. +8 −3 scopeprotocols/DifferenceDecoder.cpp
  23. +33 −22 scopeprotocols/EyeDecoder2.cpp
  24. +186 −0 scopeprotocols/FFTDecoder.cpp
  25. +69 −0 scopeprotocols/FFTDecoder.h
  26. +111 −7 scopeprotocols/JtagDecoder.cpp
  27. +16 −3 scopeprotocols/JtagDecoder.h
  28. +33 −15 scopeprotocols/JtagRenderer.cpp
  29. +62 −2 scopeprotocols/UARTDecoder.cpp
  30. +5 −2 scopeprotocols/UARTDecoder.h
  31. +482 −0 scopeprotocols/USB2PCSDecoder.cpp
  32. +142 −0 scopeprotocols/USB2PCSDecoder.h
  33. +118 −0 scopeprotocols/USB2PCSRenderer.cpp
  34. +53 −0 scopeprotocols/USB2PCSRenderer.h
  35. +211 −0 scopeprotocols/USB2PMADecoder.cpp
  36. +95 −0 scopeprotocols/USB2PMADecoder.h
  37. +104 −0 scopeprotocols/USB2PMARenderer.cpp
  38. +53 −0 scopeprotocols/USB2PMARenderer.h
  39. +748 −0 scopeprotocols/USB2PacketDecoder.cpp
  40. +129 −0 scopeprotocols/USB2PacketDecoder.h
  41. +190 −0 scopeprotocols/USB2PacketRenderer.cpp
  42. +53 −0 scopeprotocols/USB2PacketRenderer.h
  43. +207 −0 scopeprotocols/UartClockRecoveryDecoder.cpp
  44. +65 −0 scopeprotocols/UartClockRecoveryDecoder.h
  45. +212 −0 scopeprotocols/WaterfallDecoder.cpp
  46. +117 −0 scopeprotocols/WaterfallDecoder.h
  47. +7 −1 scopeprotocols/scopeprotocols.cpp
  48. +7 −1 scopeprotocols/scopeprotocols.h
2 changes: 2 additions & 0 deletions scopehal/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -13,10 +13,12 @@ set(SCOPEHAL_SOURCES
Graph.cpp

Instrument.cpp
FunctionGenerator.cpp
Oscilloscope.cpp
OscilloscopeChannel.cpp
LeCroyOscilloscope.cpp
LeCroyVICPOscilloscope.cpp
SiglentSCPIOscilloscope.cpp
RedTinLogicAnalyzer.cpp
RohdeSchwarzHMC8012Multimeter.cpp
RohdeSchwarzHMC804xPowerSupply.cpp
39 changes: 39 additions & 0 deletions scopehal/FunctionGenerator.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/***********************************************************************************************************************
* *
* ANTIKERNEL v0.1 *
* *
* Copyright (c) 2012-2019 Andrew D. Zonenberg *
* All rights reserved. *
* *
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the *
* following conditions are met: *
* *
* * Redistributions of source code must retain the above copyright notice, this list of conditions, and the *
* following disclaimer. *
* *
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the *
* following disclaimer in the documentation and/or other materials provided with the distribution. *
* *
* * Neither the name of the author nor the names of any contributors may be used to endorse or promote products *
* derived from this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL *
* THE AUTHORS BE HELD LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR *
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE *
* POSSIBILITY OF SUCH DAMAGE. *
* *
***********************************************************************************************************************/

#include "scopehal.h"
#include "FunctionGenerator.h"

FunctionGenerator::FunctionGenerator()
{
}

FunctionGenerator::~FunctionGenerator()
{
}
82 changes: 82 additions & 0 deletions scopehal/FunctionGenerator.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/***********************************************************************************************************************
* *
* ANTIKERNEL v0.1 *
* *
* Copyright (c) 2012-2017 Andrew D. Zonenberg *
* All rights reserved. *
* *
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the *
* following conditions are met: *
* *
* * Redistributions of source code must retain the above copyright notice, this list of conditions, and the *
* following disclaimer. *
* *
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the *
* following disclaimer in the documentation and/or other materials provided with the distribution. *
* *
* * Neither the name of the author nor the names of any contributors may be used to endorse or promote products *
* derived from this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL *
* THE AUTHORS BE HELD LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR *
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE *
* POSSIBILITY OF SUCH DAMAGE. *
* *
***********************************************************************************************************************/
#ifndef FunctionGenerator_h
#define FunctionGenerator_h

/**
@brief A generic waveform generator
*/
class FunctionGenerator : public virtual Instrument
{
public:
FunctionGenerator();
virtual ~FunctionGenerator();

enum WaveShape
{
SHAPE_SINE,
SHAPE_SQUARE,
SHAPE_TRIANGLE,
SHAPE_PULSE,
SHAPE_DC,
SHAPE_NOISE,
SHAPE_ARB
};

//Channel info
virtual int GetFunctionChannelCount() =0;
virtual std::string GetFunctionChannelName(int chan) =0;

//Configuration
virtual bool GetFunctionChannelActive(int chan) =0;
virtual void SetFunctionChannelActive(int chan, bool on) =0;

virtual float GetFunctionChannelDutyCycle(int chan) =0;
virtual void SetFunctionChannelDutyCycle(int chan, float duty) =0;

virtual float GetFunctionChannelAmplitude(int chan) =0;
virtual void SetFunctionChannelAmplitude(int chan, float amplitude) =0;

virtual float GetFunctionChannelOffset(int chan) =0;
virtual void SetFunctionChannelOffset(int chan, float offset) =0;

virtual float GetFunctionChannelFrequency(int chan) =0;
virtual void SetFunctionChannelFrequency(int chan, float hz) =0;

virtual WaveShape GetFunctionChannelShape(int chan) =0;
virtual void SetFunctionChannelShape(int chan, WaveShape shape) =0;

virtual float GetFunctionChannelRiseTime(int chan) =0;
virtual void SetFunctionChannelRiseTime(int chan, float sec) =0;

virtual float GetFunctionChannelFallTime(int chan) =0;
virtual void SetFunctionChannelFallTime(int chan, float sec) =0;
};

#endif
3 changes: 3 additions & 0 deletions scopehal/Instrument.h
Original file line number Diff line number Diff line change
@@ -64,6 +64,9 @@ class Instrument

//A power supply
INST_PSU = 4,

//A function generator
INST_FUNCTION = 8
};

virtual unsigned int GetInstrumentTypes() =0;
Loading