timmolter

Members
  • Content Count

    32
  • Joined

  • Last visited

Everything posted by timmolter

  1. Is there an updated Waveforms SDK Reference Maual, newer than the October 12, 2015 version that I have? The docs for `FDwfAnalogInTriggerPositionInfo` don't match the header file that comes with the SDK. DWFAPI BOOL FDwfAnalogInTriggerPositionInfo(HDWF hdwf, double *psecMin, double *psecMax, double *pnSteps); Thanks.
  2. Ah, that also explains why the captured window has the pulse near the middle! Good to know. Ok, I'll try to get things working with that.
  3. This is about the AD2 Waveforms SDK. I've been successfully capturing single pulses by setting up AnalogIn to trigger on a rising edge, waiting 20 ms, then firing a pulse. However, it fails when doing longer pulse widths (>1ms). I found that it stays in the prefill state (DwfStatePrefill = 5) for a long time before it gets into the armed state. See some samples stats below. sampleFrequency = 20000.0 time = 205 ms sampleFrequency = 6666.666666666667 time = 615 ms sampleFrequency = 2000.0 time = 2049 ms Lower than ~5000 Hz sample freq. I cannot even capture a pulse even
  4. Solved. It's the oscilloscope, not the analog out. If I run the following code on app startup, it's all fine: ///////////////////////////////////////////////////////////// // Analog In ////////////////////////////////////////////// ///////////////////////////////////////////////////////////// dwf.FDwfAnalogInChannelEnableSet(DWF.OSCILLOSCOPE_CHANNEL_1, true); dwf.FDwfAnalogInChannelRangeSet(DWF.OSCILLOSCOPE_CHANNEL_1, 2.5); dwf.FDwfAnalogInChannelEnableSet(DWF.OSCILLOSCOPE_CHANNEL_2, true); dwf.FDwfAnalogInChannelRangeSet(DWF.OSCILLOSCOPE_CHANNEL_2, 2.5); I got a clue from `analogin_rec
  5. Thanks. Any workaround to fix it? I tried setting the offset to zero at app start up, but still for the first "pulse experiment", could be minutes later, the offset os there only for the first pulse.
  6. Hi, When I use the SDK and create an analog out pulse, either custom or square, doesn't matter, I see this offset of about 0.03 V only on the first run through. I'm not sure if it's the AWG or the scope. Any ideas? Attached are screenshots showing what I mean. I can add my code if need be. Thanks in advance!
  7. Thank you for that info. Are there any docs that describe best practices like this?
  8. Hi, I just want to make sure I'm doing this right... For the app I'm developing, I have a few sliders and other widgets that define the parameters of a waveform. When something is changed I call: FDwfAnalogOutNodeEnableSet(idxChannel, true); FDwfAnalogOutNodeFunctionSet(idxChannel, waveform.getId()); FDwfAnalogOutNodeFrequencySet(idxChannel, frequency); FDwfAnalogOutNodeAmplitudeSet(idxChannel, amplitude); FDwfAnalogOutNodeOffsetSet(idxChannel, offset); FDwfAnalogOutNodeSymmetrySet(idxChannel, dutyCycle); return FDwfAnalogOutConfigure(idxChannel, true); Is it OK to do it this
  9. Hi, I think I may have either found a bug or I'm doing something wrong. What I want to do is start and stop analog out. Here's how I'm doing it: Start FDwfAnalogOutNodeEnableSet(idxChannel, true); FDwfAnalogOutNodeFunctionSet(idxChannel, waveform.getId()); FDwfAnalogOutNodeFrequencySet(idxChannel, frequency); FDwfAnalogOutNodeAmplitudeSet(idxChannel, amplitude); FDwfAnalogOutNodeOffsetSet(idxChannel, offset); FDwfAnalogOutNodeSymmetrySet(idxChannel, dutyCycle); return FDwfAnalogOutConfigure(idxChannel, true); Stop // FDwfAnalogOutNodeOffsetSet(idxChannel, 0); return FDwfAn
  10. I noticed on your Reference page there is an empty section for Example Projects. If you wanted, you could add my project there as well. It's now working on Linux, MacOS and Windows 10! https://github.com/knowm/memristor-discovery
  11. Hi, According to the SDK docs, there are static and dynamic libraries for Windows. For my waveforms4j Java library, I'm having major issues trying to get it to work for Windows (Linux and OSX works), and I'm wondering if it has to do with the static and/or dynamic Windows libs. So my question is, why is there a static and dynamic library? Are they independent, and I could choose one or the other, or is one dependent on the other requiring me to use both?
  12. Hi JColvin, thanks for linking. Hopefully it's useful to others...
  13. If anyone is interested, I created a Java SDK for Waveforms: https://github.com/knowm/waveforms4j
  14. Thank you for the help. I am now able to create the single pulse. However, now I have new problem... How do I best coordinate the creation of the pulse and the capture of pulse with the oscilloscope channels via software only? I see a trigger mechanism, but it looks like it requires a physical external trigger. Is there a software trigger to coordinate a pulse and capture signal? What would be the best acquisition mode? I'm trying to create and capture a 50 ┬Ás pulse. Thanks in advance!
  15. Hello, I'm using the AD2 and the waveforms SDK. What I need to do is create a single square pulse, non-repeating. Is it possible with the SDK to do this? In other words, I need it to run for only a single period. Turning the generator on and off in software is just too imprecise. Thanks in advance!
  16. I'm working with the AD2 and the Waveforms SDK. In the reference manual (https://reference.digilentinc.com/reference/instrumentation/analog-discovery-2/reference-manual?redirect=1id=analog_discovery_2:refmanual), it says: Scope input impedance = 1MOhm || 24pF Two different attenuations for high-gain/low-gain (10:1) Does this imply that for the high-gain setting in the SDK, the scope acts like a BNC probe that has 1x and 10x modes? I really need that high-impedance (reduced capacitance) mode for the signals I'm trying to measure, but without using a 10x
  17. For anyone who was also confused about this: https://en.wikipedia.org/wiki/Modulation
  18. I'm using the WaveformSDK for the AD2, and I need to use the FDwfAnalogOutNodeEnableSet method. All the samples use AnalogOutNodeCarrier for the AnalogOutNode parameter, but the documentation shows two additional ones. The documentation doesn't however explain the differences and when to use one over the other. How do I know which one to use? What are the differences?
  19. OK, thanks. I have the AD2, so if I set 'voltsRange' below 5, it will use the -2.5 to +2.5V (5V pk2pk) range and if I set 'voltsRange' above 5, it will use the -25 to +25V (50V pk2pk) range? I just want to be absolutely sure I understand.
  20. One more question related to this: How is the oscilloscope gain setting related to the SDK method 'FDwfAnalogInChannelRangeSet'? What does the 'voltsRange' parameter do exactly? Shouldn't it be a boolean selecting high or low gain? And is it symmetric above and below 0V?
  21. Using the SDK, is there a simple way to set the value of a digital out? All the examples show how to toggle them on and off at certain frequencies and counter configurations, but I just want to simply set it high or low. How can I do that? Thanks in advance!
  22. I had to run the following code to get the samples to work: gcc-6 digitalout_pins.cpp -o digitalout_pins.out -I/Library/Frameworks/dwf.framework -framework dwf ./digitalout_pins.out Yes, I'd be interested in a github repo! @attila What license is the sample code licensed under? Can you add a LICENSE file? BTW, in sample.h the following line needs to be changed when running on OSX: #include <digilent/waveforms/dwf.h> because of the error during compilation: sample.h:7:36: fatal error: digilent/waveforms/dwf.h: No such file or directory The fix was to change i
  23. Thanks, I missed that the first time I installed the app.