File: udp_plotter_demo.m

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (49 lines) | stat: -rw-r--r-- 1,427 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function udp_plotter_demo(lport)
% UDP_PLOTTER_DEMO - Opens a figure and starts to listen for UDP packages to plot.
% Syntax:
%   UDP_PLOTTER_DEMO
% or
%   UDP_PLOTTER_DEMO localport
%
% This script is a demo that listen for a UDP packet (default port 3333) and
% uses PLOT to dplay the sequence of doubles in the packet.
%
% (C) 2002 Peter Rydesaeter

% Add default argument
if nargin<1, lport=3333; end
% Write help message
disp ' ';
disp 'To send packages to be plotted use e.g.';
disp(sprintf('   Use:   udp_send_demo sin(0:0.1:6)  '));
disp 'or';
disp(sprintf('   Use:   udp_send_demo sin(0:0.1:6)  HOSTNAME'));
disp ' ';
disp 'To send a package to be plotted';
% Open figure window
%fg=figure;
%clf; axis; drawnow;
% Open  udpsocket and bind udp port adress to it.
udp=pnet('udpsocket',lport);
% Use timeout to not block forever, makes it possible to update resized window.
KbReleaseWait;

try,
    while ~KbCheck
        % Wait/Read udp packet to reed buffer
        len=pnet(udp,'readpacket');
        if len>0,
            % if packet larger then 1 byte then read maximum of 1000 doubles in network byte order
            data=pnet(udp,'read',1000,'double');
            %figure(fg);
            % .... and plot doubles in axis.
            %plot(data);
            disp(data);
        end
        drawnow;
    end
end
% On break or error close udpconnection and figure window.
pnet(udp,'close');
%delete(fg);
return;