function configure_daq(~,~)
figure_position = get(gcf,'Position');
h = waitbar(0,'Initializing DAQ');
d = daq.getDevices();
waitbar(1/5,h,'Initializing Module 1');
s1 = daq.createSession('ni');
s1.addAnalogInputChannel(d(1).ID,[[0:7] [16:23]],'Voltage');
s1.Channels(1).Name = 'mod1'
s1.Rate = 100;
set(s1,'IsContinuous',true)
fprintf('Created DAQ Object for %s\n',s1.Channels(1).Device.Model);
waitbar(2/5,h,'Initializing Module 2');
s2 = daq.createSession('ni');
s2.addAnalogInputChannel(d(2).ID,[[0:7] [16:23]],'Voltage');
s2.Channels(1).Name = 'mod2'
s2.Rate = 100;
set(s2,'IsContinuous',true)
fprintf('Created DAQ Object for %s\n',s2.Channels(1).Device.Model);
waitbar(3/5,h,'Initializing Module 3');
s3 = daq.createSession('ni');
s3.addAnalogInputChannel(d(3).ID,[[0:7] [16:23]],'Voltage');
s3.Channels(1).Name = 'mod3'
s3.Rate = 100;
set(s3,'IsContinuous',true)
fprintf('Created DAQ Object for %s\n',s3.Channels(1).Device.Model);
Voltage DAQ Object S4
waitbar(4/5,h,'Initializing Module 4');
s4 = daq.createSession('ni');
s4.addAnalogInputChannel(d(4).ID,[[0:7] [16:23]],'Voltage');
s4.Channels(1).Name = 'mod4'
s4.Rate = 100;
set(s4,'IsContinuous',true)
fprintf('Created DAQ Object for %s\n',s4.Channels(1).Device.Model);
Event Handlers
addlistener(s1,'DataAvailable',@(src, event)logDataToFile(src, event, fid1));
addlistener(s1,'DataAvailable',@(src, event)update_fifo(src, event));
addlistener(s1,'DataAvailable',@(src, event)update_ui_text_fields(src, event,fid1));
s1.NotifyWhenDataAvailableExceeds = s1.Rate;
Voltage Data File Logging and Realtime Plot
addlistener(s2,'DataAvailable',@(src, event)logDataToFile(src, event, fid2));
addlistener(s2,'DataAvailable',@(src, event)update_fifo(src, event));
addlistener(s2,'DataAvailable',@(src, event)update_ui_text_fields(src, event,fid2));
s2.NotifyWhenDataAvailableExceeds = s2.Rate;
addlistener(s3,'DataAvailable',@(src, event)logDataToFile(src, event, fid3));
addlistener(s3,'DataAvailable',@(src, event)update_fifo(src, event));
addlistener(s3,'DataAvailable',@(src, event)update_ui_text_fields(src, event,fid3));
s3.NotifyWhenDataAvailableExceeds = s3.Rate;
addlistener(s4,'DataAvailable',@(src, event)logDataToFile(src, event, fid4));
addlistener(s4,'DataAvailable',@(src, event)update_fifo(src, event));
addlistener(s4,'DataAvailable',@(src, event)update_ui_text_fields(src, event,fid4));
s4.NotifyWhenDataAvailableExceeds = s4.Rate;
s1.startBackground();
s2.startBackground();
s3.startBackground();
s4.startBackground();
end
if true
----------------------------------------------------------------------------------------------------
MATLAB Version: 8.4.0.150421 (R2014b)
Operating System: Microsoft Windows 7 Professional Version 6.1 (Build 7601: Service Pack 1)
Java Version: Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
----------------------------------------------------------------------------------------------------
MATLAB Version 8.4 (R2014b)
Data Acquisition Toolbox Version 3.6 (R2014b)
Instrument Control Toolbox Version 3.6 (R2014b)
Signal Processing Toolbox Version 6.22 (R2014b)
Wavelet Toolbox Version 4.14 (R2014b)
end