Jump to content

attila

Technical Forum Moderator
  • Posts

    6,461
  • Joined

  • Last visited

Everything posted by attila

  1. Hi @Eyal Doron Such or even higher difference is expected between devices having separate own oscillator. Like here I measure 601.6ns (100* for 500kHz) over 100ms which is only 6ppm between Analog Discovery 2 (using DSC1101) and Digital Discovery (DSC1033CC1) https://digilent.com/reference/test-and-measurement/analog-discovery-2/reference-manual#clock_generator Edit: In your experiment you have <1ppm = 18/360/500k / (2^20/10M) Crystal oscillators have around 10-100ppm frequency tolerance. Edit: After the devices heated up it fall to 4.7ppm
  2. Hi @UwerusCodus The protocols use digital-out and digital-in device resources. The SPI/I2C can't be used at the same time with digital-out/in functions only sequentially. You are using these in succession so it should work but try to call FDwfDigitalInReset before configuring the digital-in to reset the earlier settings applied with SPI functions. See the configuration info in WF app or using the Device_Enumeration.py or the available device buffers programmatically with the FDwf*Info functions after Open. With configuration index 1 and 2 (2nd and 3rd) the Patterns/Protocol/digital-out is not available.
  3. Hi @Chazzo You could stream/record at up to about 1-2MHz or for slower signals see the AnalogIn_ShiftScreen.py example.
  4. Hi @Peter0201 You could try to install the driver from online updates (Windows Device Manager Update Driver) or manually from: C:\Program Files(?)\Digilent\Runtime\UsbDriver\ or the following: https://ftdichip.com/drivers/d2xx-drivers/ https://ftdichip.com/wp-content/uploads/2021/08/CDM212364_Setup.zip
  5. Hi @SWC See the following example: DigitalDiscovery_Play1.py
  6. Hi @Chazzo I've just tested this with python 2 and 3, and it is working for me. Please try it again: Device_Enumeration.py
  7. Hi @CJS I2C slave is not yet available but it is under development.
  8. Hi @LostMyPen The next software version will have Rate option for import binary file. Thank you for your post.
  9. Hi @Chazzo What do you mean by "not compatible"? This is Device_Enumeration.py example with: dwf.FDwfEnum(c_int(enumfilterType.value|enumfilterDemo.value), byref(cDevice)) #only USB devices
  10. Hi @Chazzo It is available in the latest beta version: You can safely use beta versions since things are rarely broken in these. Beside new features beta versions also bring fixes. The official releases are about twice a year, these are more thoroughly tested.
  11. Hi @UwerusCodus 1. Yes, 1/device 2. Yes but for such simple falling edge the trigger IO can be used as well: dwf.FDwfAnalogInTriggerSourceSet(hdwf, trigsrcExternal1) dwf.FDwfAnalogInTriggerConditionSet(hdwf, DwfTriggerSlopeFall) 3. No. The position for analog-in samples should be done with FDwfAnalogInTriggerPositionSet 4. Once configured it will work and it can be reset/reconfigured using dwf.FDwfDigitalInConfigure(hdwf, 1, 5. Each channel has its own buffer. See the PDF manual in the WF SDK folder.
  12. Hi @Chazzo The demo is not too sophisticated, it does not support triggering and other special features, only the configured analog/digital outputs are simulated on the inputs. dwf.FDwfEnum(c_int(enumfilterType.value|enumfilterDemo.value), byref(cDevice)) You could also use enumfilterAudio which provides more than the demo. Use FDwfEnumUserName, DeviceName... to see which devices are listed. dwf.FDwfDeviceOpen(X, byref(hdwf)) X 0 is the first device See the examples in the WF SDK/ samples/ py
  13. Hi @Chazzo The next software version will support multiple XYs in one XY view.
  14. Hi @miketranch True, the ground should be the first connected and the last disconnected. We learn this often by mistake... I don't think ESD damaged the device since this is part of the EMC certification test. I've heard that some high voltage piezo transducers could damage this switch.
  15. Hi @Aria No. The device can only be configured by software.
  16. Hi @ssm The delay should be at least, prefill = MAX(0, TriggerPosition - NoSamples/SampleRate/2) For precise measurements to prevent temperature drift, if your application opens and closes the device often or you start this app often, use run or stop as initialization before open. The default shutdown will reduce power consumption app exit or device close but cause slight temperature drift. dwf.FDwfParamSet(DwfParamOnClose, c_int(0)) # 0 = run, 1 = stop, 2 = shutdown The first open or offset change should wait 1-2 seconds for these to stabilize, or 10-20 minutes to reach stable operation temp.
  17. HI @EmrahK See the Network and Impedance Analyzer in the WaveForms application Help.
  18. Hi @ssm The transition triggering is more complex. It requires specifying the TriggerChannel, Level, Hysteresis, Condition, Length, LengthCondition You could simply make the Scope trigger on Wavegen like this: FDwfAnalogInTriggerSourceSet(hdwf, trigsrcAnalogOut1) # trigger on analog-out 1 start FDwfAnalogInTriggerPositionSet(hdwf, NoSamples/SampleRate/2) # T0 on left, trigger the first sample ... FDwfAnalogInConfigure(hdwf, 0, 1); make sure the analog-in as suffice time for prefill/pretrigger before analog-out is started, use software sleep or AnalogOutWait FDwfAnalogOutConfigure(hdwf, 0, 1);
  19. Hi @nt_ste Only SPI and I2C Spy were added to the WF application interface and SDK. See the WF SDK/ samples/ py/ Digital_Spi_Spy.py Digital_I2c_Spy.py
  20. Hi @maculata Thank you for the feedback.
  21. Hi @eivind_k See WF SDK: AnalogOut_Phase.py Use the following: dwf.FDwfDeviceOpen... dwf.FDwfDeviceAutoConfigureSet(hdwf, c_int(0)) # 0 = the device will be configured only when calling FDwf###Configure ... initial settings ... dwf.FDwfAnalogOutConfigure(hdwf, channel, c_int(1)) # 1 = start Wavegen channel ... dwf.FDwfAnalogOutNodeFrequencySet(hdwf, channel, AnalogOutNodeCarrier, c_double(hz)) # and/or dwf.FDwfAnalogOutNodeAmplitudeSet(hdwf, channel, AnalogOutNodeCarrier, c_double(vAmp)) # and/or dwf.FDwfAnalogOutNodeOffsetSet(hdwf, channel, AnalogOutNodeCarrier, c_double(vOff)) # and/or .. dwf.FDwfAnalogOutConfigure(hdwf, channel, c_int(3)) # 3 = apply new settings on Wavegen channel ...
  22. Hi @Chazzo The Reference channel time base and position can be adjusted under the channel's gear dropdown. The Math, measurements, XY... will be performed on interpolated reference samples.
  23. Hi @maculata The Qt 5.12 supports the system color themes but it may block after sleep. Qt 5.9 does not support system theme and it looks like it does not block. I'm unable to reproduce this app blocking with any version. In this build only the dwf framework (SDK) supports M1 natively. The application is still for Intel. To have native M1 app it will require Qt 6 but this needs significant code changes. To measure the capture rate: - In the application you could set the Buffers like to 1000, set Base to very low, Trigger None, under Time Options set Update to Fastest, Run for a while and compare the time stamp of first and last buffer. The drawing also take time so if the Scope tab is not selected it will be faster. - Under app Settings Options Device you can find a Speed Test button. - With the SDK you can use AnalogIn_Wps.py script. As far I've read we don't have to care about the reported virtual memory.
×
×
  • Create New...