# This is the DPP register Config 0x8000 variable Config 0 variable Config.ITRG 0 variable Config.TestMode 0 variable Config.Polarity 0 variable Config.DualTrace 0 variable Config.AProbe 0 variable Config.OscMode 0 variable Config.ExMode 0 variable Config.TimeTagMode 0 variable Config.ChargeMode 0 variable Config.DVP1 0 variable Config.DVP2 0 variable Config.DigVProbe 0 variable Config.Format 0 proc GetConfig {} { variable Config variable Config.ITRG variable Config.TestMode variable Config.Polarity variable Config.DualTrace variable Config.AProbe variable Config.OscMode variable Config.ExMode variable Config.TimeTagMode variable Config.ChargeMode variable Config.DVP1 variable Config.DVP2 variable Config.DigVProbe variable Config.Format set Config [ReadRegister Config] set Config.ITRG [expr ($Config >> 2) & 1] set Config.TestMode [expr ($Config >> 3) & 1] set Config.Polarity [expr ($Config >> 9) & 1] set Config.DualTrace [expr ($Config >> 11) & 1] set Config.AProbe [expr ($Config >> 12) & 3] set Config.OscMode [expr ($Config >> 16) & 1] set Config.ExMode [expr ($Config >> 17) & 1] set Config.TimeTagMode [expr ($Config >> 18) & 1] set Config.ChargeMode [expr ($Config >> 19) & 1] set Config.DVP1 [expr ($Config >> 20) & 7] set Config.DVP2 [expr ($Config >> 23) & 7] set Config.DigVProbe [expr ($Config >> 26) & 1] set Config.Format [expr ($Config >> 31) & 1] } proc SetConfig {} { variable Config variable Config.ITRG variable Config.TestMode variable Config.Polarity variable Config.DualTrace variable Config.AProbe variable Config.OscMode variable Config.ExMode variable Config.TimeTagMode variable Config.ChargeMode variable Config.DVP1 variable Config.DVP2 variable Config.DigVProbe variable Config.Format set Config.Format 1 set Config [expr \ ([set Config.ITRG] << 2) | \ ([set Config.TestMode] << 3) | \ (1 << 4) | \ (1 << 8) | \ ([set Config.Polarity] << 9) | \ ([set Config.DualTrace] << 11) | \ ([set Config.AProbe] << 12) | \ ([set Config.OscMode] << 16) | \ ([set Config.ExMode] << 17) | \ ([set Config.TimeTagMode] << 18) | \ ([set Config.ChargeMode] << 19) | \ ([set Config.DVP1] << 20) | \ ([set Config.DVP2] << 23) | \ ([set Config.DigVProbe] << 26) | \ ([set Config.Format] << 31) ] WriteRegister Config $Config } proc DrawConfig {} { variable Name variable Config.DualTrace variable Config.AProbe set html "" append html "

" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" # Bit 2: ITRG : append html "" # Bit 3: Test Mode : append html "" # Bit 9: Pulse Polarity append html "" # Bit 11: Dual Trace : append html "" # Bit 13:12: Analog Probe if {[set Config.DualTrace] == 0} {set APMenu {Input CFD}} \ else {set APMenu {"Input + Baseline" "CFD + Baseline" "Input + CFD"}} if {[set Config.DualTrace] == 0} { if {[set Config.AProbe] > 1} {set Config.AProbe 0} } append html "" # Bit 16: Oscilloscope Mode : append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" # Bit 17: Extras Mode append html "" # Bit 18: Time Tag Mode append html "" # Bit 19: Charge Mode append html "" # Bit 22 - 20: Digitial Virtual Probe #1 append html "" # Bit 26: Digitial Virtual Probes append html "" append html "" append html "
Trigger PropagationTest ModePolarityDual TraceAnalog ProbeOscilloscope Mode
" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "
ExtrasTime TagChargeDig V Probe #1Dig V Probe #2Dig V Probes
" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "" append html "
" append html "

" return $html }