Create integer trigger. [USAGE] vb_integer_trigger_new(ch_name, slope trig_level); [IN] ch_name : extract trigger from this channel [string] slope : trigger slope. ('const_start' or 'const_end') [string] bitpattern : bitpattern ('00001010') [string] bitmask : bit mask('00001111') [string] offset : data offset [OUT] obj : integer_trigger object [see also] vb_get_trigger_event Copyright (C) 2011, ATR All Rights Reserved. License : New BSD License(see VBMEG_LICENSE.txt)
0001 function [obj] = vb_integer_trigger_new(ch_name, slope, bitpattern, bitmask, offset) 0002 % Create integer trigger. 0003 % 0004 % [USAGE] 0005 % vb_integer_trigger_new(ch_name, slope trig_level); 0006 % [IN] 0007 % ch_name : extract trigger from this channel [string] 0008 % slope : trigger slope. ('const_start' or 'const_end') [string] 0009 % bitpattern : bitpattern ('00001010') [string] 0010 % bitmask : bit mask('00001111') [string] 0011 % offset : data offset 0012 % [OUT] 0013 % obj : integer_trigger object 0014 % [see also] 0015 % vb_get_trigger_event 0016 % 0017 % Copyright (C) 2011, ATR All Rights Reserved. 0018 % License : New BSD License(see VBMEG_LICENSE.txt) 0019 0020 % 0021 % --- Previous check 0022 % 0023 if nargin < 5 0024 error('This function needs 5 argments. Please check your code.'); 0025 end 0026 if ~strcmp(slope, 'const_start') && ~strcmp(slope, 'const_end') 0027 error('trigger slope must be const_start or const_end'); 0028 end 0029 if ~ischar(bitpattern) 0030 error('bitpattern is invalid.'); 0031 end 0032 try 0033 % !!! bit pattern should be decimal number !!!(little bit strange) 0034 bitpattern = bin2dec(bitpattern); 0035 catch 0036 error('Bit pattern: Binary string may consist only of characters ''0'' and ''1''.'); 0037 end 0038 0039 if ~ischar(bitmask) 0040 error('bitmask is invalid.'); 0041 end 0042 try 0043 tmp = bin2dec(bitmask); 0044 catch 0045 error('Bitmask: Binary string may consist only of characters ''0'' and ''1''.'); 0046 end 0047 0048 % 0049 % --- Main Procedure 0050 % 0051 obj = vb_trigger_new(ch_name, 'integer', bitpattern); 0052 0053 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0054 % obj.FIELDNAMES SHOULD BE SAME WITH vb_get_trial_time_index 0055 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0056 obj.slope = slope; 0057 obj.status_mask = bitmask; 0058 obj.status_offset = offset; 0059 0060 % 0061 % --- After check 0062 % 0063 if nargout < 1 0064 error('function caller should receive this object.'); 0065 end