I asked one of our algorithm engineers and he said "The key thing for me is "would this have allowed me to develop the radar application without writing any C++ code?". I can't really be sure of the answer to this without more details on the proposed interface."
A primary design goal is that no C++ coding will be required with the proposed interface. The user will be required to call DLL functions within Matlab, but examples will be provided to illustrate the common techniques.
Sounds good to me. Ability to use X3 / X5 / X6 boards without need for C++ programming would be a good benefit.
However - if you allow me to add a wish list - the same would also be of interest for non-Matlab users, like e. g. LabView.
So I am wondering if you - instead of or in addition to the shared lib for Matlab only - could create a more general driver that talks to the server application.
IMHO the IVI-COM driver standard http://www.ivifoundation.org/specifications could be a better alternative for the Matlab shared lib. IVI-COM would allow to use just one driver in many development packages such as LabView, LabWindows, Matlab, Visual Basic, C++, C#, etc. and even in scripting languages such as Tcl/Tk.
Using tools like the "Nimbus Driver Studio" from http://www.pacificmindworks.com could make IVI-COM driver development easy for you, so it would not nessecarily be much more effort than creating a Matlab shared lib.
The problem with IVI drivers is that they seem to be channel-oriented. The channel orientation is problematic for the COP user, since they often wish to transfer heterogeneous data between the Simulink and and the FPGA. My perception is that the IVI drivers are not conducive to this. Also, IVI's appear to favor implementation via COM which is really not usable under Linux.
Currently, my plan is to get the basic DLL and Server functional with Matlab as originally described. I expect that we'll learn some useful tricks and pitfalls in the process and that some of the code will be portable to a future IVI implementation.
Could you please update the status of this dll ?
We have a customer interested in a X6-RX (with graychip's DDC) but with no knowledge of C/C++ and he would like to develop in LabIEW (good level).
Will there be the functions needed to configure the DDC operations in this dll?
We are still integrating and testing this DLL into Matlab. We have not used it at all under Labview. The initial release is scheduled for July 1, 2010.
All board configuration is accomplished via the server applet, which logically lies between the DLL and the board. The DLL allows specification of configuration INI files which tailor the operation of the board. When the DDC becomes available in September for the X6-RX, a means of specifying the configuration of the DDC will be included.
Work on the DLL has been delayed several months now. I cannot provide a firm release estimate, but the work is still planned.
As currently envisioned, the Matlab DLL is not intended to support real-time data flow. Our intention is to support FPGA-based coprocessing using custom firmware developed using Matlab/Simulink and to transfer to/from the FPGA via PCIe. This is working internally using C++ executables, and we intend to extract that communications functionality into a DLL to eliminate the need for the EXE. While the same DLL would be usable under LabView, the focus of the DLL on transport without I/O configuration probably means it won't meet your needs.