Diff for /tclpuks/prgsrc/puks.tcl between versions 1.1 and 1.2

version 1.1, 2005/08/26 00:36:53 version 1.2, 2005/08/27 05:31:18
Line 0 Line 1
   #!/usr/bin/wish
   set DEVICE "/dev/ttyUSB0"
   
   set SRLFILE [open $DEVICE r+]
   fconfigure $SRLFILE -blocking 0  -translation binary -encoding binary -buffering none -mode  57600,n,8,1
   
   set idle 0
   set waiting 1
   
   set state $idle
   
   
   set buttoncode 256
   for {set i 1} {$i <=8} {incr i} {
       set button($buttoncode) $i
       set buttoncode [expr $buttoncode*2]
   }
   
   proc readbuffer {} {
       global SRLFILE  button
       set key 0
       set message [read $SRLFILE]
       binary scan $message s key
       set key [expr $key & 0xFFFF]
       if {[catch {set key $button($key)}] == 0} {
           return $key
       }
       return 0
   }
   
   puts $SRLFILE s
   after 200
   readbuffer
   puts $SRLFILE r
   after 200
   readbuffer
   
   
   
   button .start -text "Start" -command start
   pack .start
   label .pressed 
   pack .pressed
   
   
   proc start {} {
       global SRLFILE state idle waiting
       readbuffer
       .start configure -state disabled -command {}
       set state $waiting
   }
   
   proc body  {} {
       global state idle waiting
       update idletasks
       if { $state == $waiting } {
           set pressed [readbuffer]
           if { $pressed != 0 } {
               set state $idle
               .start configure -state active -command start
               .pressed configure -text "Pressed $pressed"
               puts $pressed
               readbuffer  }
       } else {
           readbuffer
       }
       after 10 body
   }
   
   body 
   
   
   
   
   

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>