Jump to content

attila

Technical Forum Moderator
  • Posts

    6,533
  • Joined

  • Last visited

Everything posted by attila

  1. Hi @Blue21 In the next software version: The SDK Impedance function (FDwfAnalogImpedanceReferenceSet) will only control the DIOs used by Adapter, leaving the others unchanged configured by FDwfDigitalIO functions. In the WF application the unused DIOs with Adapter can be controlled under Options/DIOs or with Script.
  2. Hi @Sagi Sure, you can add other channels/interpreters to Logic. You can also change the trigger source. The Help describes the useful features but you can use Ctrl+Space to list all the objects/functions.
  3. Hi @cprosser I was unable to reproduce this issue so far. You could try the Linux boot mode. This has slightly lower performance, lacks DDR buffering, but it may have better compatibility than the Standard mode firmware with LwIP.
  4. Hi @Umar See the WF SDK/ samples/ py/ AnalogOut_Sweep.py
  5. Hi @Sagi "The Protocol interface uses the device Digital Pattern Generator and Logic Analyzer resources to transfer data using UART, SPI, I2C, CAN, CEC protocols, and to program AVR MCUs. When the Logic Analyzer option is enabled, the Logic Analyzer can be used to investigate the signals. In this case, the Protocol instrument will not receive data, it will only send data." By default, when this is unchecked you can see the response (read bytes, nacks) in the bottom text field, similar as it is in the Spy tab. You can also use the Custom or Script tool if you want to automate things or use the Spy mode in any case.
  6. Hi @Ash7 See WF SDK manual and examples/ py/ DigitalIO.py
  7. Hi @cprosser In Standard mode it buffers up to 128Mi samples and transfers it when the capture is done. Make sure to update the device fw if prompted, since version 3.17.19 fixes recording glitch over Eth when USB is not connected. Try to reset the device by toggling the power switch.
  8. Hi @Jared Interpreter for C2 is not available but you could use an SPI interpreter to deserialize the bits or write a Custom interpreter.
  9. Hi @leonvs Beside simple (combination of edge and levels), pulse (glitch, timeout, more, counter) and protocol specific triggers are supported. There is also a hidden "advanced trigger" which is described in the SDK manual. For state machine triggering the Pattern ROM logic could be used.
  10. Hi @Blue21 The Impedance instrument with Adapter option uses the DigitalIO and Supplies device resource to control the IA Adapter relays. To control the adapter and static io: 1. Select the Adapter option and Resistor value, press Run to take control and the resistor to be switched. 2. Select the first, "W1-C1-DUT-R-GND" option to release the DIO and Supply resources by the Impedance instrument. Or a Script like this: Impedance.Frequency.Setup.text = "Adapter" Impedance.config() Impedance.Frequency.Setup.value = 0
  11. Hi @Sagi Use the "Logic Analyzer" option in the Protocol.
  12. Hi @Aniston Cumbie The device should be listed as "USB Serial Converter" in Windows Device Manager. Try using the cable the device came with or other cables you have at hand. For warranty and replacement see the following: https://digilent.com/shop/shipping-returns/#return-policy
  13. Hi @szhbchr I suppose you are trying to use the WF SDK (aka dwf runtime library) with Python built for MacOS M1 (ARM64) but the dwf is built for x86-64 (32 and 64bit intel/amd) architecture. Please try to install and use Python built for MacOS 64bit (intel/amd).
  14. Hi @KIS It is easier to write and print multiple measurements in Script tool. This code is working only for one pulse. You may need to use a bit higher value than low... Channel = Scope.Channel1 Time = Scope.Time data = Channel.visibledata cnt = data.length imax1 = 0 imax2 = 0 max = -1e6 for(var i = 0; i < cnt; i++){ v = data[i] if(max==v){ imax2 = i }else if(max<v){ max = v imax1 = imax2 = i } } low = Channel.measure("Low") imax = (imax1+imax2)/2 istart = imax; while(istart>0 && data[istart]>low) istart-- iend = imax while(iend<cnt && data[iend]>low) iend++ print("low:",low, "max:",max, "istart:",istart, "imax:",imax, "iend",iend) print("max at:",Channel.TimeOfVisibleIndex(imax), "dRise:",(imax-istart)/Time.Rate.real, "dFall:",(iend-imax)/Time.Rate.real) You could split it in different measurement(s) like this: data = Channel.visibledata cnt = data.length imax1 = 0 imax2 = 0 max = -1e6 for(var i = 0; i < cnt; i++){ v = data[i] if(max==v){ imax2 = i }else if(max<v){ max = v imax1 = imax2 = i } } low = Channel.measure("Low") imax = (imax1+imax2)/2 istart = imax; while(istart>0 && data[istart]>low) istart-- iend = imax while(iend<cnt && data[iend]>low) iend++ 100.0*(imax-istart)/(iend-istart)
  15. Hi @KIS The rise/fall time measurements represent the 10-90% trip. You could use the cursors to measure the full trip or write a custom measurement.
  16. Hi @cprosser In the last version: 1. The default colors are adjusted a bit. 2. The spectrogram and persistence default is current style, except when this is Light it is set to Black. 3. The default colors can't be changed but custom channel colors are remembered in workspaces/projects.
  17. Hi @cprosser The handling of filter sources with no data is fixed in the latest version: Thank you for the observation.
  18. Hi @sergiodorazio By default the file should be created in current user's documents folder. Use absolute path or "~" for user path. File("file") : [user]/Documents/file File("~/file") : [user]/file File("C:/file") : C:/file
  19. Hi @suke The trigsrcAnalogOut outputs high while the instrument is running. The AnalogIn will trigger on rising edge (falling, either if configured), so the AnalogIn should be started before AnalogOut, or wait-run-repeat configured for AnalogOut.
  20. Hi @suke The above approach should work but you have to process the data to look for transition in the sample array(s). For higher precision measurement you can use the Network Analyzer feature. First you could experiment with the WF app NA instrument then see the WF SDK/ samples/ py/ AnalogNetwork_Analyzer.py example. To use it at fixed frequency: ... for i in range(steps): while True: if dwf.FDwfAnalogImpedanceStatus(hdwf, byref(sts)) == 0: ...
  21. Hi @dsula You can use: A: disable auto configure and apply after setting/adjusting one or multiple parameters without changing instrument state open device... FDwfDeviceAutoConfigureSet(hdwf, 0) ... other settings FDwfAnalogOutConfigure(hdwf, -1, 1) # 1=start enabled channels FDwfAnalogOut*Set(hdwf, ...) ... other settings if needed FDwfAnalogOutConfigure(hdwf, X, 3) # 3=apply X -1, 0, 1 B: use dynamic configuration, each setting will be applied immediately without changing instrument state open device... FDwfDeviceAutoConfigureSet(hdwf, 3) ... other settings FDwfAnalogOutConfigure(hdwf, -1, 1) # 1=start enabled channels FDwfAnalogOut*Set(hdwf, ...) # will apply See SDK manual and the following posts.
  22. Hi @mmachtey The MaxAmplitude is 2.5V with the Analog Discovery.
  23. Hi @szhbchr The WF is not yet available as MacOS ARM64 built. The WF app is working on M1 with Rosetta emulator. The WF SDK should also work with Python x86-64.
  24. Hi @JoLe It looks like the device is damaged. For warranty and replacement contact the support.digilent at ni.com specifying the Date of Purchase, Seller and Purchase Order/ Web order Number. I suspect the AD2/TDI_USB signal is constantly driven low by IC35. Probably this NC7SZ126 is damaged. The version should be 0xE but it is masked to 0xA and reading 28Bytes passes (sending 0x1B) but reading 8Bytes fails (sending 0x7)
×
×
  • Create New...