Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Using windows messages to interface with data acquisition

Asked by Stefan on 13 Dec 2012

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

0 Comments

Stefan

Products

No products are associated with this question.

2 Answers

Answer by 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.

0 Comments

Jing
Answer by Philip Borghesani on 14 Dec 2012
Edited by 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 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.

Philip Borghesani

Contact us