This kind of thing seems to be coming up almost daily on the mailing list...

I think everything is in place to build this kind of functionality. As far as 
interacting with the device goes, you can always continuously poll the device. 
But presumably your device supports DMA, and presumably you'd like to take 
advantage of that to get other computations/plotting/whatever done while 
waiting for the next batch of data. In that case you can set up a callback to 
do wait/notify on a Condition variable. In more complex cases you can spawn 
two (or more) Julia processes and have them pass data back and forth 
efficiently 
using SharedArrays.

There's information about all this in the sections of the manual on tasks, on 
interfacing with C, and on parallel programming (see in particular the 
@sync/@async macros in the parallel section, which is probably the best place 
to start).

To my knowledge, no one has yet posted a NIDAQmx.jl package, but I'd bet real 
money that someone out there is using Julia to talk to NI devices.

For graphical GUIs, there are two options, Tk.jl and Gtk.jl. I recommend the 
latter. Both integrate with Winston for plotting. Naturally, you'd have to 
build the particulars of the GUI yourself.

--Tim

On Friday, February 07, 2014 10:04:13 PM Rick Graham wrote:
> Does Julia have or plan to include the ability to process a continuous
> stream of data (think DSP operations on data from a device/port/pipe/etc.).
>  Are there possibilities for a graphical GUI with connected functional
> nodes, etc.?

Reply via email to