chiark / gitweb /
can display!
authorian <ian>
Sat, 31 Dec 2005 19:00:05 +0000 (19:00 +0000)
committerian <ian>
Sat, 31 Dec 2005 19:00:05 +0000 (19:00 +0000)
hostside/stopgap-controller

index 8669edae69ab5ab62f960c09a48b6a6762b86e88..a4648b286908c67c78671bb63ef0050c6291b211 100755 (executable)
@@ -38,7 +38,7 @@ proc gui_init {} {
     gui "M A5 0 J"
     gui "M A6 0 J"
     if {[info exists watchdog]} { gui "P 1" }
-#    gui_polarity 0x$polarity
+    gui_polarity
     foreach seg [array names segdetect] {
        gui "D1 $seg"
     }
@@ -88,12 +88,18 @@ proc fail {m} {
     fileevent $p readable {}
 }
 
-proc gui_polarity {diff} {
-    set l {}
-    if {$diff & 0x06} { lappend l X10 X9 }
-    if {$diff & 0x09} { lappend l X8 X1 X2 X3 X4 X5 X6 X7 }
-    foreach seg $l {
-       gui "R $seg"
+proc gui_polarity {} {
+    global pname
+    set 1 {}
+    switch -exact $pname {
+       l { lappend 0 X1 X3 X5 X7 X9; lappend 0 X2 X4 X6 X8 X10 }
+       x { lappend 1 X1 X3 X5 X7 X9; lappend 0 X2 X4 X6 X8 X10 }
+       y { lappend 0 X1 X3 X5 X7 X9; lappend 1 X2 X4 X6 X8 X10 }
+    }
+    foreach v {0 1} {
+       foreach seg [set $v] {
+           gui "R $v $seg"
+       }
     }
 }
 
@@ -102,8 +108,8 @@ proc polarity {newpname} {
     debug "polarising $newpname"
     if {![string compare $pname $newpname]} return
     tellpic $polmsg($newpname)
-#    gui_polarity
     set pname $newpname
+    gui_polarity
 }
 
 proc pt_now {how point pos xtra} {