# 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 "
| Trigger Propagation | " append html "Test Mode | " append html "Polarity | " append html "Dual Trace | " append html "Analog Probe | " append html "Oscilloscope Mode | " append html "
| " append html "" append html " | " # Bit 3: Test Mode : append html "" append html "" append html " | " # Bit 9: Pulse Polarity append html "" append html "" append html " | " # Bit 11: Dual Trace : append html "" append html "" 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 "" append html "" append html " | " # Bit 16: Oscilloscope Mode : append html "" append html "" append html " | " append html "
| Extras | " append html "Time Tag | " append html "Charge | " append html "Dig V Probe #1 | " append html "Dig V Probe #2 | " append html "Dig V Probes | " append html "" append html "" append html " | " # Bit 18: Time Tag Mode append html "" append html "" append html " | " # Bit 19: Charge Mode append html "" append html "" append html " | " # Bit 22 - 20: Digitial Virtual Probe #1 append html "" append html " |