Jump to content
  • 0

Some remarks and questions about using libdwf from the built-in Linux OS on an ADPro 3450 device


Guest

Question

Hi,

I am experimenting a bit with using Linux running on the ADPro 3450 to control the device itself, to see if that can help in certain high-performance scenarios.

The first thing I run into is that device enumeration lists the device twice. The first enumeration result lists the device with DEVVER==772, the latter with DEVVER==4 (see below).

I suspect that the upper bits (0x300 == 768) of the DEVVER value is some bitwise value; however, it is not documented what this is, unfortunately. Could you explain and update the documentation?

The second thing that is noticed is that the serial number is not properly returned for the first enumeration entry. This can be rectified by running the user program as root, but it is strange that this is necessary (and also, not documented).

The third thing I notice is that in order to actually open and use a device, we need to run a program as root. This is not very friendly, and it isn't documented.

I suppose talking to the device directly from the device itself isn't a use-case that has high priority, but since Digilent does document how to SSH into the device (which is awesome), I assume this is supposed to work, which is why I hope these reports are useful.

Lastly, if I want to update the Aept and DWF libraries on the device itself, is this as simple as running 'dpkg' on the ARM deb files that can be downloaded from the Digilent website?

 

digilent@ADPro:~$ ~/local_python/root/bin/python3 -m pydwf ls -c
Device information for device #0 (1 of 2 devices found)
=======================================================

  device ........... : 6
  version .......... : 772
  open ............. : False
  user_name ........ : 'ADP3450'
  device_name ...... : 'Analog Discovery Pro 3450'
  serial ........... : '000000000000'

  Configuration:                 0
  ----------------------  --------
  TooltipText (length)         (2)
  OtherInfoText                  .
  AnalogInChannelCount           4
  AnalogOutChannelCount          2
  AnalogIOChannelCount           1
  DigitalInChannelCount         16
  DigitalOutChannelCount        16
  DigitalIOChannelCount         16
  AnalogInBufferSize         32768
  AnalogOutBufferSize        32768
  DigitalInBufferSize        32768
  DigitalOutBufferSize       16384

Device information for device #1 (2 of 2 devices found)
=======================================================

  device ........... : 6
  version .......... : 4
  open ............. : False
  user_name ........ : 'ADP3450'
  device_name ...... : 'Analog Discovery Pro 3450'
  serial ........... : '210018B23D39'

  Configuration:                 0
  ----------------------  --------
  TooltipText (length)         (2)
  OtherInfoText                  .
  AnalogInChannelCount           4
  AnalogOutChannelCount          2
  AnalogIOChannelCount           1
  DigitalInChannelCount         16
  DigitalOutChannelCount        16
  DigitalIOChannelCount         16
  AnalogInBufferSize         32768
  AnalogOutBufferSize        32768
  DigitalInBufferSize        32768
  DigitalOutBufferSize       16384

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hi @attila

I'm really positive about the fact that I can ask here and get a sensible answer quickly, but I must repeat that stuff like this ought to be in the documentation. As a bit of customer feedback: in general I don't think the quality of the API documentation is what it should be. If useful, I can give many examples where I think the documentation is lacking.

Also, regarding the "root only" behavior of running the software: I assume you guys have an internal issue tracker, and I'd appreciate it if you could put this issue there, if it isn't already.

Edited by reddish
Link to comment
Share on other sites

  • 0

Hi @reddish

The root requirement for the AXI probably will remain, at least I didn't hear any feedback on this from the Linux guys since the prototype phase.

The digilent.adept.runtime...armhf.deb and digilent.waveforms.adp3x50...armhf.deb or digilent.waveforms...armhf.deb can be updated.
digilent.waveforms.adp3x50...armhf.deb: contains WF runtime/API, and SDK (manual,examples,wrappers)
digilent.waveforms...armhf.deb: contains WF application as well but it requires Qt libs. Intended for SBCs but newer versions of this package also support ADP3X50's AXI.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...