Jump to content

attila

Technical Forum Moderator
  • Posts

    6,668
  • Joined

  • Last visited

Posts posted by attila

  1. Hi @CeeKay

    Probably under Linux the USB transfer rate is lower or the latency is higher and this result in lower sustainable streaming rate.

    Suggestions to improve the script:
    1. I suppose you are using trigger position zero (default) (FDwfAnalogInTriggerPositionSet) or no trigger (also default when not configured at all).
    This way the streaming will start only when triggered (or immediately), reducing the change of device buffer overflow.
    2. Specify the required record length (FDwfAnalogInRecordLengthSet) 10-16k instead of constant 50k.
    This way the recording will stop after the needed samples are collected, reducing the chance of overflow.
    3. For AD2 you could try to use the 2nd device configuration with double analog-in (Scope) device buffer. Note this will reduce the analog-out (Wavegen) buffer size (resolution).
    dwf.FDwfDeviceConfigOpen(c_int(-1), c_int(1), byref(hdwf)) 

    The improvements in the latest beta are for the ADP3X50.

     

  2. Hi @CeeKay

    Sorry but I thought this post is about ADP3450 :)

    The "invalid data count provided" is when index + count is higher than the buffer size or negative.
    See the AnalogIn_Record.py AnalogIn_Record_Trigger.py or the other examples.
    How many samples are you capturing? are you using trigger? if so where is the trigger position?
    Could you post or send me your record loop code?

    This is ok:
    image.thumb.png.790c488bfa14eb9fa33b666224568ebf.png

     

    The device buffer overflow, like here at 5MHz, results is similar data corruption:
    image.thumb.png.ccf3f3150faf41b7c4b446177d999252.png

     

    At higher rate or latency also results in loss of samples:image.thumb.png.20db5cf01481d54d469e5da16a584fb4.png
     

  3. Hi @MTA

    For performance reasons the application limits the capture to 128MiS and the data can be exported to file.

    For larger capture the example Python scripts can be used.
    In the future I'll add record to file option for the application.

    In Standard boot mode (usb and ethernet device) the recording can go up to ~20MSps (4channel x 5MHz) since this uses the device DDRam as 128MS buffer.
    In Linux device mode about 4MSps (4channel x 1MSps or 2 x 2MSps or 1 x 4MSps).
    These rates depend on the computer.

    image.png.2e08eb0c75c5cf75a5217a73c57a8fe4.png

     

    image.thumb.png.c33937d3a8da24d69fd3db718b8bcf85.png

  4. Hi @MTA

    The mentioned limit is for the Logger tool in the WaveForms application.

    For the ADP3X50 the maximum rate for 'unlimited' recording (Scope to PC) over USB or Ethernet is about 4MS/s.
    In embedded Linux mode it can capture at much higher rate, depending on storage media (Ram, EMMC, USB...), CPU utilization...
    In Standard boot mode it can capture 128MiS at up to 125MHz.
    For details take a look at the WF app Help:

    image.thumb.png.372f45b868d3f2a240d77f8c855d1071.png

  5. Hi @CeeKay

    Have you used USB or Ethernet connection?

    Please try the latest WF beta version:

    This brings some improvements for recording over Ethernet with Standard boot mode and further optimizations if less channels are used.

     

    If this doesn't help try the Linux boot mode.
    The Standard is a baremetal app with USB and Eth (LwIP). The Linux is a bit slower but it could provide better network support.

     

×
×
  • Create New...