Using windows messages to interface with data acquisition

2 views (last 30 days)
Hello,
We are trying to build a Matlab GUI that interfaces with a custom instrument. We have a DLL that handles data acquisition for this instrument, and which posts a windows message to a user-defined Window handle when there is data available for retrieval.
Is it possible to catch this Windows message in Matlab and activate a callback that will communicate with the instrument DLL (using calllib) then store the data in one of the global variables in the main GUI code for display/processing/storage (the data display/processing/storage would be handled by timers or clicking other buttons on the main Matlab GUI).
Thank you, Stefan

Answers (2)

Jing
Jing on 13 Dec 2012
I think if the Windows message is a output of DLL, MATLAB sure can accept the output, but how to activate certain callback using this output will be more tricky.

Philip Borghesani
Philip Borghesani on 14 Dec 2012
Edited: Philip Borghesani on 14 Dec 2012
To do this you will need a mex or loadable c function that creates a dummy window that can receive the messages and does the needed setup for the notifications. Doing this correctly is quite a bit of work I suggest using the Data Acquisition toolbox if it supports your hardware.
  1 Comment
Stefan
Stefan on 14 Dec 2012
Thanks for the suggestion. Do you know of any example code for the mex function? DAQ toolbox would be difficult because even though the actual DAQ card is supported, the DLL that we have already handles quite a bit of signal post-processing and is also part of the instrument control loop, plus it contains low-level work arounds for bugs in some of the data acquisition hardware itself that have never been fixed by the original vendor.

Sign in to comment.

Categories

Find more on Data Acquisition Toolbox Supported Hardware in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!