Search the Community
Showing results for tags 'dwf'.
Hi all, I am happy to announce version 1.0 of pydwf, a comprehensive Python package for using Digilent Waveforms devices from Python. The pydwf package is fully open source and released under an MIT license. On GitHub: https://github.com/sidneycadot/pydwf On PyPI: https://pypi.org/project/pydwf/ On Read The Docs: https://pydwf.readthedocs.io/en/latest/ (HTML and PDF) The package works from Python 3.6 onwards, on any platform supported by Digilent (Windows, Linux, macOS). Install it using pip3 like this: $ pip3 install pydwf The next step would be to look at the documentation, and perhaps run an example or two. Some features An easy-to-use, class-based API; Pretty comprehensive documentation (with improvements planned); Quite a few examples on how to use pydwf for some real-life applications; A cool logo :-) Alternatives Alternatives to pydwf exist, such as using Python's ctypes module directly (which is what the Python examples provided by Digilent do), and the older "dwf" package (https://pypi.org/project/dwf/). I think pydwf is a lot nicer to use than either of these, and I hope you will agree. Future work Most importantly, I want to keep up with new releases of the DWF C library as they come along. Next, I'd like to further improve the documentation, to include more information about what all the settings mean. The Digilent SDK is great, but its documentation does not go down to the nitty-gritty detail of explaining what each setting does precisely, which is something I miss. Through a combination of experimentation and asking on this forum, I hope to tackle this in the pydwf documentation. Lastly, I'd like to provide more examples, e.g. to clearly explain the correct way to use the different acquisition modes of the AnalogIn and DigitalIn instruments, to demonstrate the powerful but complex possibilities of analog and digital triggering, and so on. Feedback Please let me know if you use the pydwf package, if you're happy with it (or not), and if there's anything you want to see improved. To report specific issues, please use the GitHub issue tracker. I spent quite a bit of time on all of this over the past few years; three months ago I decided to bite the bullet and aim for a proper public release with documentation, examples, and all that. There are certainly areas where improvement is still possible, but as of now I think the package is of sufficient quality to be useful to people other than myself. I hope the work will prove useful to some of you! Best, Sidney
Hi, I have a very basic .NET 5 based C# console application that opens the Analog Discovery 2 using the DWF.cs wrapper class included in the WaveForms SDK v3.15.5 (64-bit) on Windows. I could install the .NET 5 runtime on my Raspberry Pi 4 B, and I could run other .NET apps on it without any issues. I created a small application that opens my AD2 and starts acquiring data from its CH1 input. It runs as expected on Windows 10, but when I run it on the 32-bit Raspberry Pi OS I got the following error: Unhandled exception. System.DllNotFoundException: Unable to load shared library 'dwf.dll' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libdwf.dll: cannot open shared object file: No such file or directory at dwf._FDwfGetVersion(StringBuilder szVersion) at dwf.FDwfGetVersion(String& szVersion) in /home/pi/Work/BioBalanceDetector/Measurements/WaveForms/Experiments/SleepLogging/csharp/SleepLogger/dwf.cs:line 212 at SleepLogger.Program.Main(String args) in /home/pi/Work/BioBalanceDetector/Measurements/WaveForms/Experiments/SleepLogging/csharp/SleepLogger/Program.cs:line 17 Is there a way to install the missing DWF DLLs or their Linux/Raspberry alternatives on my Raspberry Pi and make my app work? I have WaveForms 3.14.3 (32-bit) already installed on the Raspberry Pi.