function cfl = readcfl(filename) % Brian Schlining % 27 Jan 2000 %=========== % Open File %=========== if ~nargin [infile inpath] = uigetfile('*.cfl','Select prr configuration file',0,0); if infile == 0 cfl = []; return % Return if CANCEL is selected end filename = [inpath infile]; end fid = fopen(filename,'rt'); if fid <= 0 warning(['Unable to open ' filename]); cfl = []; return end cfl.src = filename; S = fgetl(fid); % Ignore S = fgetl(fid); cfl.numChannel = sscanf(stringtokenizer(S, 1, ','), '%f'); cfl.numCpu = sscanf(stringtokenizer(S, 2, ','), '%f'); S = fgetl(fid); i = 0; while ~feof(fid) S = fgetl(fid); i = i + 1; info(i).description = stringtokenizer(S, 1, ','); info(i).tag = sscanf(stringtokenizer(S, 2, ','), '%f'); info(i).address = sscanf(stringtokenizer(S, 3, ','), '%f'); info(i).kind = sscanf(stringtokenizer(S, 4, ','), '%f'); info(i).gain = sscanf(stringtokenizer(S, 5, ','), '%f'); info(i).secondScale = sscanf(stringtokenizer(S, 6, ','), '%f'); info(i).scale = sscanf(stringtokenizer(S, 7, ','), '%f'); info(i).offset = sscanf(stringtokenizer(S, 8, ','), '%f'); info(i).max = sscanf(stringtokenizer(S, 9, ','), '%f'); info(i).min = sscanf(stringtokenizer(S, 10, ','), '%f'); info(i).units = stringtokenizer(S, 11, ','); buf = stringtokenizer(S, 12, ','); f1 = length(stringtokenizer(buf, 1, '.')) - 1; f2 = length(stringtokenizer(buf, 2, '.')); info(i).dispFmt = ['%+' num2str(f1+f2+1) '.' num2str(f2) 'f']; info(i).weight = sscanf(stringtokenizer(S, 13, ','), '%f'); end cfl.info = info;