# This is the register Channel n HV STATUS 0x1n38 (read only) if {$Name == "V1724PHA"} {return} variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.HVSTATUS 0 variable Ch$i.HVSTATUS.PW 0 variable Ch$i.HVSTATUS.RAMPUP 0 variable Ch$i.HVSTATUS.RAMPDN 0 variable Ch$i.HVSTATUS.OVCURR 0 variable Ch$i.HVSTATUS.OVVOLT 0 variable Ch$i.HVSTATUS.UNDVOLT 0 variable Ch$i.HVSTATUS.MAXV 0 variable Ch$i.HVSTATUS.MAXI 0 variable Ch$i.HVSTATUS.TEMPWARN 0 variable Ch$i.HVSTATUS.OVTEMP 0 variable Ch$i.HVSTATUS.DISABLE 0 variable Ch$i.HVSTATUS.CALIBERR 0 variable Ch$i.HVSTATUS.RESET 0 variable Ch$i.HVSTATUS.GOINGOFF 0 variable Ch$i.HVSTATUS.UNDEF 0 } proc GetHVSTATUS {} { variable NumChans for {set i 0} {$i < $NumChans} {incr i} { variable Ch$i.HVSTATUS variable Ch$i.HVSTATUS.PW variable Ch$i.HVSTATUS.RAMPUP variable Ch$i.HVSTATUS.RAMPDN variable Ch$i.HVSTATUS.OVCURR variable Ch$i.HVSTATUS.OVVOLT variable Ch$i.HVSTATUS.UNDVOLT variable Ch$i.HVSTATUS.MAXV variable Ch$i.HVSTATUS.MAXI variable Ch$i.HVSTATUS.TEMPWARN variable Ch$i.HVSTATUS.OVTEMP variable Ch$i.HVSTATUS.DISABLE variable Ch$i.HVSTATUS.CALIBERR variable Ch$i.HVSTATUS.RESET variable Ch$i.HVSTATUS.GOINGOFF variable Ch$i.HVSTATUS.UNDEF set Ch$i.HVSTATUS [ReadRegister Ch$i.HV_STATUS] set Ch$i.HVSTATUS.PW [expr ([set Ch$i.HVSTATUS]) & 1] set Ch$i.HVSTATUS.RAMPUP [expr ([set Ch$i.HVSTATUS] >> 1) & 1] set Ch$i.HVSTATUS.RAMPDN [expr ([set Ch$i.HVSTATUS] >> 2) & 1] set Ch$i.HVSTATUS.OVCURR [expr ([set Ch$i.HVSTATUS] >> 3) & 1] set Ch$i.HVSTATUS.OVVOLT [expr ([set Ch$i.HVSTATUS] >> 4) & 1] set Ch$i.HVSTATUS.UNDVOLT [expr ([set Ch$i.HVSTATUS] >> 5) & 1] set Ch$i.HVSTATUS.MAXV [expr ([set Ch$i.HVSTATUS] >> 6) & 1] set Ch$i.HVSTATUS.MAXI [expr ([set Ch$i.HVSTATUS] >> 7) & 1] set Ch$i.HVSTATUS.TEMPWARN [expr ([set Ch$i.HVSTATUS] >> 8) & 1] set Ch$i.HVSTATUS.OVTEMP [expr ([set Ch$i.HVSTATUS] >> 9) & 1] set Ch$i.HVSTATUS.DISABLE [expr ([set Ch$i.HVSTATUS] >> 10) & 1] set Ch$i.HVSTATUS.CALIBERR [expr ([set Ch$i.HVSTATUS] >> 11) & 1] set Ch$i.HVSTATUS.RESET [expr ([set Ch$i.HVSTATUS] >> 12) & 1] set Ch$i.HVSTATUS.GOINGOFF [expr ([set Ch$i.HVSTATUS] >> 14) & 1] set Ch$i.HVSTATUS.UNDEF [expr ([set Ch$i.HVSTATUS] >> 13) & 1] } } proc DrawHVSTATUS {} { variable NumChans variable Name set html "" append html "
" append html "
| Channel | " append html "Power | " append html "RampUp | " append html "RampDn | " append html "OverI | " append html "OverV | " append html "UnderV | " append html "MaxV | " append html "MaxI | " append html "TempWarn | " append html "OverT | " append html "Disable | " append html "CalErr | " append html "Reset | " append html "unknown | " append html "GoingOff | " append html "
| $i | " foreach bit [list PW RAMPUP RAMPDN OVCURR OVVOLT UNDVOLT MAXV MAXI TEMPWARN OVTEMP DISABLE CALIBERR RESET UNDEF GOINGOFF] { append html "" append html "" append html " | " } append html "