function c=runcont(port,nsamp) % SOSI-M2 V1.0 MATLAB M-file % % Acquire data continuously % % Args: c=runcont(port,nsamp) % % rate: sample rate 100 / 200 / 500 / 1000 % port: 'COM2' for example % nsamp: number samples % % c: output data, size: [nsamp,8] delayt=0.01; try % Handle script interruption % Set up port spo=serial9600(port); wakeupsub(spo); % Configure SOSI to print "index T" x-axis data s=cmd(spo,'#seoi',0.5); % Run command s=cmd(spo,'#r',delayt); if any(findstr(s,'run'))==0 disp('Cannot enter run mode'); disp(s); fclose(spo); return; end c=runcontsub(spo,nsamp); fprintf(spo,'s') % Stop run mode s=serialread(spo); % Print what else is in buffer % DONE fclose(spo); %Plot result % stairs(c(:,2:6)); return catch % Stop SISO if error s=lasterr; disp(s); fprintf(spo,'%s\n','s') fclose(spo); return; end