Realtime data plotting with Data Acquisition Toolbox



I would like to plot data from my data acquisition in real time in a gui. I have the gui running to start and stop, but the data does not plot in the gui, it only saves to a disk file. I had used the peekdata() function previously, but I cannot get it to work within the gui structure. Here is my code:

function varargout = ACGUI(varargin)
% ACGUI M-file for ACGUI.fig
% ACGUI, by itself, creates a new ACGUI or raises the existing
% singleton*.
%
% H = ACGUI returns the handle to a new ACGUI or the handle to
% the existing singleton*.
%
% ACGUI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in ACGUI.M with the given input arguments.
%
% ACGUI('Property','Value',...) creates a new ACGUI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before ACGUI_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to ACGUI_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help ACGUI

% Last Modified by GUIDE v2.5 06-Jun-2012 15:17:37

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @ACGUI_OpeningFcn, ...
'gui_OutputFcn', @ACGUI_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT



% --- Executes just before ACGUI is made visible.
function ACGUI_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to ACGUI (see VARARGIN)

handles.ai = analoginput('winsound'); % Create an analog input object
%ao = analogoutput('nidaq','Dev2'); % Create an analog output object
addchannel(handles.ai, 1); % Data will be acquired from hardware channels 1 %addchannel(ao, 0); % Data will be output from hardware channels 0 %set(handles.ai,'TriggerRepeat',inf);


% Choose default command line output for ACGUI
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes ACGUI wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = ACGUI_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in togglebutton1.
function togglebutton1_Callback(hObject, eventdata, handles)
% hObject handle to togglebutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

%Check current state of the object
val = get(hObject,'Value');

if val==get(hObject,'Max'); %Begins acquisition
set(hObject,'String','Stop');
start(handles.ai);
%plot(peekdata(handles.ai,10))
else
set(hObject,'String','Start'); %Ends acquisition
stop(handles.ai);
end;


% Hint: get(hObject,'Value') returns toggle state of togglebutton1


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)



function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double

handles.edit=str2double(get(hObject,'String'));
set(handles.ai,'LoggingMode','Disk');
set(handles.ai,'SamplesPerTrigger',handles.ai.SampleRate*handles.edit);
set(handles.ai,'TimerFcn','plot(peekdata(handles.ai,500))')

% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end


Not all callbacks have been added. Any help would be greatly appreciated. Thanks!
.



Relevant Pages

  • Re: linking 2 function problem
    ... % KMK2, by itself, creates a new KMK2 or raises the existing ... % hObject handle to figure ... % handles structure with handles and user data ... function varargout = kmk2_OutputFcn% varargout cell array for returning output args; ...
    (comp.soft-sys.matlab)
  • Re: Matlab GUI bar graph with different colors and stacked
    ... % WEEK4 M-file for Week4.fig ... % hObject handle to figure ... % handles structure with handles and user data ... function varargout = Week4_OutputFcn% varargout cell array for returning output args; ...
    (comp.soft-sys.matlab)
  • problem with char function
    ... % UNTITLED45, by itself, creates a new UNTITLED45 or raises the existing ... % hObject handle to figure ... % handles structure with handles and user data ... function varargout = untitled45_OutputFcn% varargout cell array for returning output args; ...
    (comp.soft-sys.matlab)
  • ?? Error while evaluating uicontrol Callback
    ... function varargout = GUI_FIXED ... % hObject handle to figure ... % handles structure with handles and user data (see GUIDATA) ...
    (comp.soft-sys.matlab)
  • Re: about handles
    ... % hObject handle to figure ... % eventdata reserved - to be defined in a future version of MATLAB ... % handles structure with handles and user data ... function varargout = timer_ex_OutputFcn ...
    (comp.soft-sys.matlab)