Jump to content

attila

Technical Forum Moderator
  • Posts

    6,668
  • Joined

  • Last visited

Posts posted by attila

  1. Hi @torbos

    Could this be related to the AD3's Scope channel low/high range relay toggle ?
    Most of the WF SDK examples mention using a settle delay after adjusting the offset/range or opening the device, for example:
    dwf.FDwfAnalogInConfigure(hdwf, c_int(1), c_int(0)) # configure
    time.sleep(1.0) # wait
    dwf.FDwfAnalogInConfigure(hdwf, c_int(0), c_int(1)) # start

    For the relays about 50ms delay is needed.

    AD3 high to low range ~20ms :

    image.png

     

    AD3 low to high range ~50ms :

    image.png

     

    AD3 offset settle ~5ms :

    image.png

     

    AD2 offset settle ~600ms :

    image.png

  2. Hi @The_YongGrand

    This is the Script tool and not the SDK.
    The serial port communication is relatively slow so some wait is needed, like com.open(),wait(seconds),com.read() or com.read(seconds) or com.canReadLine()...
    In Script loops use wait() to be able to stop it correctly, the while(!com... could block the script.
    Try the following:

    var list = SerialPortList(); // returns: [name 1, description 1, name 2, desc 2, ...]
    for(var i = 0; i < list.length; i+=2){
        print(list[i]+" : "+list[i+1])
    }
    if(list.length){
        print("Sending Hi to "+list[0])
        var com = new SerialPort();
        if(!com.open(list[0], 115200)) throw "COM open failed"
        com.write("hi\n");
        while(wait()){ // while not stopped
            if(com.canReadLine()){
                print(com.readLine());
            }
        }
    }

     

  3. Hi @Ricardo Ferreira

    For better perspective, this is what it looks like when you average 50 captures versus 1 capture.
    The zero crossing of the DAC can be a bit noisy due to a minor digital-analog crosstalk.
    For low signal amplitudes an external attenuation can be used, to improve vertical resolution and reduce noise.

    image.png

    image.png

    image.png

     

    Edit: You are right, the zero crossing looks like an additional DAC LSbit when only one of the AWGs is running, and there is a bit of crosstalk.

    image.png

    image.png

  4. Hi @reddish

    If you have the "On Close" option Continue, change it to the (default) Stop or Shutdown.
    With Continue the device continues to run (generate outputs) after close/app exit and on Select/open it does not reconfigure anything to not to affect generator outputs.

    image.png

     

    If you set the frequency in one app to 50MHz, close, then connect to it with another app the frequency in this one is not applied, but kept one set by the earlier app.
    Even so I'm not able to reproduce to show different frequencies (in Logic and status-bar) as you had.

    image.png

     

    To prevent such situation, the latest version makes sure to apply the frequency.

     

  5. Hi @reddish @Kirsan

    The DetectorDigitalIn processes the digital signals. It can be configured for simple edge trigger, pulse length, deserialize and pattern match...
    The DetectorAnalogIn processes the analog signals: edge, pulse or transition length, threshold, hysteresis...
    These are configured by digital/analog-in functions but the output of it can be used by any instrument or driven out through trigger IO.

    image.png

     

    The counter seems to be working correctly.

    image.png

    image.png

  6. Hi @simoncools

    I would do it like this:

    FDwfDeviceOpen

    # the device will only be configured when FDwf###Configure is called
    FDwfDeviceAutoConfigureSet(hdwf, 0) 

    # SPI transfers
    FDwfDigitalSpi...

    # override DIO, drive CS,MOSI,CLK...
    FDwfDigitalIOOutputEnableSet
    FDwfDigitalIOOutputSet
    FDwfDigitalIOConfigure

    # configure CLK
    FDwfDigitalOutReset
    FDwfDigitalOut...
    FDwfDigitalOutConfigure(hdwf, 0)

    # release CLK to be controlled by DigitalOut
    FDwfDigitalIO...

    # start CLK
    FDwfDigitalOutConfigure(hdwf, 1)

×
×
  • Create New...