I currently have a function which plots data acquired via a NIDAQ (NI USB-6218) in real time. This is the following function, "acquirelive" :
s = daq.createSession('ni');
addAnalogInputChannel(s,'Dev1', 0, 'Voltage');
s.Rate = 1000;
s.DurationInSeconds = 10;
lh = addlistener(s,'DataAvailable', @collectData);
This function calls the collectData function, which is the following:
time = event.TimeStamps;
data = event.Data;
h = animatedline(time,data);
This works well and plots the data in real-time over a 10 second period. However, when I attach this "acquirelive" function to a button in a GUI I'm designing using GUIDE, the GUI opens but nothing happens when the plot button is clicked (inside or outside the GUI). There is also no error message generated. This is the code associated with the button in the GUI:
function PlotButton_Callback(hObject, eventdata, handles)
The GUI is pretty simple. There are no buttons aside from the plot button (it looks like this):
Any ideas why the placement of the function inside the GUI causes this problem? Do I need to initialize the axes of the plot in the code at some point?
Thanks for any advice you might have, I appreciate it! Let me know if more information is needed to answer the question.