comparison intercom/wdisplay.tcl @ 2:13be24d74cd2

import intercom-0.4.1
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Fri, 25 Jun 2010 09:57:52 +0200
parents
children
comparison
equal deleted inserted replaced
1:9cadc470e3da 2:13be24d74cd2
1 #!/usr/bin/wish
2
3 # wdisplay.tcl
4 # show vector w values
5
6 proc fileRecv {fd} {
7 global sam
8
9 # read 4*sam bytes (sam values) into list l
10 set r [read $fd [expr 4*$sam]]
11
12 # detect eof only after read!
13 if {[eof $fd]} {
14 puts "fileRecv eof"
15 close $fd
16 return
17 }
18
19 binary scan $r "f$sam" l
20
21 # linear Scale
22 set yscale [expr 1.0]
23
24 # erase canvas
25 .ca delete ttt
26
27 set x 0
28 foreach y $l {
29 set y [expr 99 - $y * $yscale]
30 .ca create line $x 100 $x $y -tags ttt
31 incr x
32 }
33 }
34
35 proc UserOpen {fd chost cport} {
36 fconfigure $fd -translation binary -encoding binary
37 fileevent $fd readable [list fileRecv $fd]
38 }
39
40 # ##############################################################
41 # main
42
43 # check Programm Args
44 if {$argc < 1} {
45 puts "usage: wdisplay.tcl samples"
46 exit
47 }
48
49 set sam [lindex $argv 0] ;# vector length - see aec.cpp
50 # puts "sam =$sam"
51
52 # create a canvas to draw the graphical objects on
53 canvas .ca -width $sam -height 200
54 pack .ca
55
56 # Open Server part of TCP connection
57 socket -server UserOpen 50999

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.