# This is the channel Trigger width register 0x1n84 (in ns) # note to convert from ns to trigger clock cycles divide by 10 for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.TrigWidth 0 } proc GetTrigWidth {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.TrigWidth set Ch$i.TrigWidth [expr [ReadRegister Ch$i.TrigWidth] * 10] } } proc SetTrigWidth {w} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { if {$w < $NumChans && $w != $i} {continue} variable Ch$i.TrigWidth WriteRegister Ch$i.TrigWidth [expr [set Ch$i.TrigWidth] / 10] } } proc SaveTrigWidth {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { DBSetValue Ch$i.TrigWidth [ReadRegister Ch$i.TrigWidth] } } proc RestTrigWidth {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.TrigWidth set Ch$i.TrigWidth [expr [DBGetValue Ch$i.TrigWidth] * 10] WriteRegister Ch$i.TrigWidth [expr [set Ch$i.TrigWidth] / 10] } } proc DrawTrigWidth {} { variable NumChans variable Name set html "" append html "
" append html "
| Channel | " append html "Channel n Trigger Request Width (ns) | " append html "
| $i | " append html "" append html " |