function A = tea2(comport) % Reads, stores and plots data coming from the % TEA2 board. % examples: % A = tea2('COM1') % B = tea2('/dev/ttyS1') % % by Kristof Van Laerhoven (kristof@comp.lancs.ac.uk) % s = serial(comport); set(s, 'BaudRate', 9600); set(s, 'Parity', 'none'); set(s, 'ReadAsyncMode', 'continuous'); set(s, 'DataBits', 8); set(s, 'StopBits', 1); set(s, 'BytesAvailableActionMode', 'byte'); set(s, 'FlowControl', 'none'); set(s, 'TimeOut', 2); set(s, 'Tag', 'XBow' ); set(s, 'RequestToSend', 'on'); fopen(s) output = zeros(1,11); quit = 0; index= 0; time = 1; while ~quit, out = fread(s,256,'uchar'); % read several bytes if length(out)==256, % check if there was actual output for i=1:256, switch index, case 0 if out(i)==255, index = index+1; end case {1,2,3,4,5,6,7,8,9} if out(i)~=255 A(time,index) = out(i); index = index+1; end case 10 if out(i)~=255 A(time,index) = out(i); index = 0; end time = time+1; A(time-1,:) end end else % if a connection Time-out occurs: quit = 1; end end plot(A); drawnow; fclose(s) delete(s) clear s