# This is the Channel ZS_THRES register 0x1n24 for {set i 0} {$i < 8} {incr i} { variable Ch$i.ZSThresh 0 variable Ch$i.ZSThresh_Logic 0 } proc GetZSThresh {} { for {set i 0} {$i < 8} {incr i} { variable Ch$i.ZSThresh variable Ch$i.ZSThresh_Logic set Ch$i.ZSThresh [expr [ReadRegister Ch$i.ZSThresh] & 0x0fff] set Ch$i.ZSThresh_Logic [expr ([ReadRegister Ch$i.ZSThresh] >> 31) & 1] } } proc SetZSThresh {w} { for {set i 0} {$i < 8} {incr i} { if {$w < 8 && $w != $i} {continue} variable Ch$i.ZSThresh variable Ch$i.ZSThresh_Logic WriteRegister Ch$i.ZSThresh [expr [set Ch$i.ZSThresh] + ([set Ch$i.ZSThresh_Logic] << 31)] } } proc SaveZSThresh {} { for {set i 0} {$i < 8} {incr i} { DBSetValue Ch$i.ZSThresh [ReadRegister Ch$i.ZSThresh] } } proc RestZSThresh {} { for {set i 0} {$i < 8} {incr i} { variable Ch$i.ZSThresh variable Ch$i.ZSThresh_Logic set Ch$i.ZSThresh [expr [DBGetValue Ch$i.ZSThresh] & 0x0fff] set Ch$i.ZSThresh_Logic [expr ([DBGetValue Ch$i.ZSThresh] >> 31) & 1] } SetZSThresh 8 } proc DrawZSThresh {} { set html "" append html "
" append html "
| Channel | " append html "Channel n Threshold | " append html "Channel n Logic | " append html "
| $i | " append html "" append html " | " append html "" append html " | " append html "