Jump to content

attila

Technical Forum Moderator
  • Posts

    6,655
  • Joined

  • Last visited

Posts posted by attila

  1. Hi @BigBob

    For path separator slash "/" should be used, eventually "\\" but not recommended.
    Backslash "\" is for special characters like "\t" tab, "\n" new line.
    Similarly "\\" denotes backslash and is used for paths on Windows.
    In WaveForms scripts you can use slash "/" for all OSs as path separator.

    It looks like when importing multiple files it may load the same file several times.
    It will be fixed in the next version today or tomorrow.

  2. Hi @Loic VINET

    For Digital Discovery, Analog Discovery 3, ADP3X50 and newer devices, on software connection the computer time is synchronized with the device.
    The time stamp for each capture is given by the device timer. The trigger time resolution is given by sampling rate (8/10ns) and for Digital Discovery at 100MHz or higher is 1.25ns
    The accuracy of the device timer is given by the device's crystal oscillator, but AD3, ADP3X50... can also use external reference clock.

    See the following example: DigitalIn_TriggerTime.py

    With 1Hz pulses generated by the same device the trigger time is precisely 1s step:
    image.png

    By triggering on pulses from another device you can see the frequency difference between crystal oscillators, here ~4us/secimage.png:

  3. Hi @Mohammad Alsmadi

    0.1X attenuation would require amplifying the input signal by 10.
    10X attenuation is for 10X probe (1:10 probe in 10X position) which reduces the input signal from probe to the device by 10 and the software scales is back by 10 to represent how it is on the tip of the probe. With 10X the low range is up to 2V/div (1X=0.2V/div) and the ADC resolution ~1.3mV (1X=0.13mV). The 10X probe needs to be tuned. The 10 reduces the probe capacitance, increases the bandwidth.
    Depending on your requirements you could use AC coupling.
    For repetitive signals you could use the Time/Average.
     

  4. Hi @Anthocyanina

    To be coupled select 'copy from' for both channels, Channel 1 / Copy from: Channel2 and Channel 2 / Copy from: Channel1
    This way, whichever you modify it will applied to the other channel.

    image.png

     

    For 'sweeping modulation' you could use a custom waveform or play more samples from file or for AD3, ADP3X50 AM/FM source can be a Scope input.
    For AD3 the first/default device configuration provides 2048 modulation buffer. Select the 6th device configuration to have 8192 AM/FM buffer.

    image.png

  5. Hi @Duh

    Use the Logic Analyzer to capture the generated signals like this: DDC264 Data Convert and Readback v2.dwf3work

    The Pattern Generator preview is not perfect, it mostly works with simple signals. Originally I implemented to generate exactly what the device FPGA would do but in some cases this turned out to be slow with a CPU. Now it performs a simplified preview, giving up where it would be time consuming to calculate.

    image.png

  6. Hi @wos

    The latest software version will detect such power failure during initial configuration or later.

    This is not documented but the AIO 15:0 returns 1 if device is ON and 0 if it is OFF for every device.
    See the following example: AnalogIO_AnalogDiscovery3_SystemMonitor.py

    if dwf.FDwfDeviceOpen(c_int(-1), byref(hdwf)) == 0 or hdwf.value == hdwfNone.value:
        dwf.FDwfGetLastErrorMsg(szerr)
        print("Failed to open device:")
        print(szerr.value.decode())
        quit()
    
    dwf.FDwfGetLastErrorMsg(szerr)
    if len(szerr.value) != 0:
        print("Warning:")
        print(szerr.value.decode())
    
    ...
        if dwf.FDwfAnalogIOStatus(hdwf) == 0 :
            dwf.FDwfGetLastErrorMsg(szerr)
            print("Communication error:")
            print(szerr.value.decode())
            break;
    
        dwf.FDwfAnalogIOChannelNodeStatus(hdwf, c_int(15), c_int(0), byref(dsts))
        if dsts.value == 1: print("Device is ON")
        else: print("Device is OFF")

     

  7. Hi @Andrew Zonenberg

    Devices in local network can be enumerated just like the USB device, FDwfEnum
    The detection could take more time so you can use FDwfEnumStart/Stop with delay.
    You can also add remote devices to table, in WaveForms application/ Device Manager/ Remote or programmatically with Adept Runtime/DmgrDvcTblAdd. In this case use FDwfEnum(enumfilterType|enumfilterRemote|...
    If the authentication is enabled for the device, FDwfEnumInfo and FDwfDeviceOpenEx should be used providing user/pass

  8. Hi @magnitudephase

    The ADP3450 has larger programmable logic, which already implements more features and it still has free space, it provides larger device buffers.
    The pros for the two are:
    - ADP3450 has BNC connectors, 4 single ended oscilloscope inputs, AC/DC, BW limit, FIR+IIR, lets you capture 128Mi&64Mi oscilloscope&digital samples, device capture buffering with <1us latency, adjustable DIO voltage, embedded Linux option
    - AD3 is more portable, USB powered, 2 differential oscilloscope inputs, FIR, positive&negative supplies, the ADC&DAC clocking is better with less jitter

×
×
  • Create New...