-
Posts
6,956 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Gallery
Posts posted by attila
-
-
Hi @diligent1
Use FDwfAnalogOutRunSet and FDwfAnalogOutRepeatSet if you want to run for limited time
-
Hi @StefKay
1. Yes
dwf.FDwfDeviceOpen(-1, byref(hdwf))
# the device will only be configured when FDwf###Configure is called
dwf.FDwfDeviceAutoConfigureSet(hdwf, c_int(0))
...
dwf.FDwfAnalogOutFrequencySet(hdwf, 0, c_double(hzNow))
dwf.FDwfAnalogOutConfigure(hdwf, 0, 3)
2. Unfortunately no. The channels need to be restarted to be in phase. -
-
Hi @Thomas1983
The FDwfAnalogInStatusSample return only one sample for each FDwfAnalogInStatus(hdwf, 0 or 1, &sts)
Collecting data this way will be done at inaccurate software/usb timing, 0.125ms to 10ms depending on system, load...The FDwfAnalogInStatus(hdwf, 1, &sts) FDwfAnalogInStatusData(...) returns capture with the specified frequency.
The spacing between samples will be very precise, down to picoseconds, and trigger position at sample period precision, or better if you use FDwfAnalogInTriggerPositionStatus. If you don't use trigger the first sample will be collected immediately, with software/usb latency with us-ms delay. So, the approximate timing will be start_time+j/hzAcq.value as it is in VoltageWithTimestamp2.py Just use proper data&time instead perfcounter. -
Hi @diligent1
See the following: AnalogOut_Devices.pydwfconstants.py
Connect trigger IOs between devices for reference clock (supported by AD3, ADP2230, ADP3X50...) and trigger synchronization. First channel of first device will perform AM 256 steps. You change the device names to have an order or modify the (auto) connection. Run once if you want... -
Hi @JanEck
Try the latest beta since this is notarized:
Allow apps downloaded from: App store and identified developers
-
-
Hi @MarchP
My answer was for the following question:
2 hours ago, MarchP said:Is it possible to generate this pulse with the eclypse Z7 and Zmod AWG card and your Waveforms GUI application or SDK? If yes, how?
It was not clear to me if you need a simple pulse for an external modulator ('another signal') or you want to do something more (AM/FM...) in the device.
If software control accuracy is acceptable, the Script tool or custom application/script may be an easier approach than using the EclypseZ7 as development board:
https://digilent.com/reference/programmable-logic/eclypse-z7/star -
Hi @MarchP
The symmetry is limited by the device buffer size, like ~0.002% for 64k samples.
You can use wait-run with sync or independent modes for short pulse like this: -
Hi @towa
You can use ScanShift, like here PID with 28 samples at 1MHz pid3.py
Edit: The code uses custom sine which gives lower latency for newer devices (AD3...), since these try to generate more precise frequencies which takes a bit more time. For AD1,2 it doesn't matter if funcSine or custom sine is used.
-
Hi @Thomas1983
The samples are collected at the specified rate, at system frequency / N. FDwfAnalogInFrequencyGet returns the actual rate.
The perfcounter you have used usually returns high resolution 'CPU' counter value, useful for dt measurements, but not for date&time.
With AD1,2 you can use software timestamp + sample index/rate
Newer devices AD3, ADP2230, ADP3X50... have a high resolution counter used for trigger timestamp (8-10ns) which is synchronized on software connection. The FDwfAnalogInStatusTime returns this and can be used to annotate +/- sample index relative to T0.
-
-
Hi @Luca71
C2 up to 1.25V (12.5mA) is in low range and above it switches to high range which provides lower resolution, more noise. The next sw version will switch at 2.5V
-
Hi @jostikas
I originally intended the Script for simple automation tasks, someone requested support for multiple files, and then the include...
The next sw version supports tab reordering and recursive include. -
-
Hi @afzal
Could you attach a screenshot to see what instrument, software version... are you using ?
-
Hi @Luca71
The capture seems legit, only the voltage measurement seems a bit noisier when C2 is in the high range, Vra > 1.25V
Notice that in the second screenshot you have unchecked Auto scale and you zoom in, which makes the noise more obvious. -
Hi @Thomas1983
I don't know what are you doing in your script. Are you still performing 1000 captures and saving only one sample from each ?
Start from a working example like the earlier mentioned AnalogIn_Trigger.py and try to customize it. -
Hi @siatran
Set DIO 8 and 9 to high from Patterns or StaticIO, for current sense amplification of 100, for a bit better resolution:
https://digilent.com/reference/test-and-measurement/current-and-power-adapter/reference-manual?_ga=2.64373743.1920879409.1718608923-1223559925.1628675857#measuring_the_voltage_and_current -
Hi @Kirkhaan
First try to tune the probe.
The Mode refers to the stimulus signal amplitude.
For relative magnitude, save a trace as Reference (or import from file or generate it with Script...) and use Math like this: -
Hi @Thomas1983
As it is in most of the examples configure, wait, configure or ignore the first capture since this was performed before settle time.
dwf.FDwfAnalogInConfigure(hdwf, c_int(1), c_int(0))
# wait at least 2 seconds with Analog Discovery for the offset to stabilize, before the first reading after device open or offset/range change
time.sleep(2)
print("Starting repeated acquisitions")
dwf.FDwfAnalogInConfigure(hdwf, c_int(0), c_int(1))For AD1,2 about 2sec is required and around 0.1sec with newer devices, mostly for the offset R/C to settle.
The wait also depends on the accuracy you want to achieve. For more accurate measurement with any device you should wait about 10 minutes to reach its stable operation al temperature.You can also set the following before device open, used in many examples, 1 stop to have the device powered to prevent temperature drifts, or 0 continue running to also keep the last set offsets.
dwf.FDwfParamSet(DwfParamOnClose, c_int(0)) # 0 = run, 1 = stop, 2 = shutdown
-
Hi @digalex
FT232HQ and branded D2XX 2.12.36.4 driver to have Digilent PID/VID, but it can be programmed by the client to use the default FTDI IDs and driver.
I have not tested Windows Server, but it should be compatible. -
Hi @Alexa
I would list the options in difficulty order:
- The easier would be using the WaveForms application, where you can simply adjust parameter and see the result.
- To automate tasks you can use the Script tool of the WF app, the bottommost in the instrument list.
- For simple tasks the dwfcmd command line application can also be used, which can be executed with arguments or task file.
- For custom applications/scripts the WF SDK can be used, which can be optimized for better performance. -
Hi @Thomas1983
In this code you are collecting samples with poor software timing at about 10ms rate, depending on OS and system load probably varying between 10-20ms.
The FDwfAnalogInStatusSample returns one samples/channel. The trigger and buffer are only used with data array captures.See the WF SDK/ samples/ py/ AnalogIn_Trigger.py and other examples
Description for PID-use in Analog Discovery 3
in Test and Measurement
Posted
Hi @GerhardG
I've connected W2 to 1- and W1 to 1+