71 lines
1.4 KiB
Tcl
71 lines
1.4 KiB
Tcl
proc PulserOn {} {
|
|
pulser send "OUTP ON;:OUTP?"
|
|
|
|
}
|
|
|
|
proc PulserOff {} {
|
|
pulser send "OUTP OFF;:OUTP?"
|
|
|
|
}
|
|
|
|
proc PulserTTLOn {} {
|
|
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
|
# burst mode happens to be on
|
|
pulser send "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS 5; OFFS?"
|
|
PulserOn
|
|
}
|
|
|
|
|
|
proc PulserSin {Freq Volt} {
|
|
set resp [pulser send FUNC?]
|
|
if {[string first "SIN" $resp ] == -1 } {
|
|
pulser send "FUNC SIN;:FUNC?"
|
|
}
|
|
pulser send "VOLT $Volt;:VOLT?"
|
|
pulser send "FREQ $Freq;:FREQ?"
|
|
pulser send "VOLT:OFFS 0; OFFS?"
|
|
|
|
}
|
|
|
|
proc PulserSquare {Freq Volt} {
|
|
set resp [pulser send FUNC?]
|
|
if {[string first "SQU" $resp ] == -1 } {
|
|
pulser send "FUNC SQU;:FUNC?"
|
|
}
|
|
pulser send "VOLT $Volt;:VOLT?"
|
|
pulser send "FREQ $Freq;:FREQ?"
|
|
pulser send "VOLT:OFFS 0; OFFS?"
|
|
|
|
}
|
|
|
|
proc PulserSquareOffs {Freq Volt Offs} {
|
|
set resp [pulser send FUNC?]
|
|
if {[string first "SQU" $resp ] == -1 } {
|
|
pulser send "FUNC SQU;:FUNC?"
|
|
}
|
|
pulser send "VOLT $Volt;:VOLT?"
|
|
pulser send "FREQ $Freq;:FREQ?"
|
|
pulser send "VOLT:OFFS $Offs; OFFS?"
|
|
|
|
}
|
|
|
|
|
|
proc PulserDC {Volt} {
|
|
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
|
# burst mode happens to be on
|
|
set resp [pulser send "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS $Volt; OFFS?"]
|
|
broadcast $resp
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
publish PulserOn user
|
|
publish PulserOff user
|
|
publish PulserSin user
|
|
publish PulserSquare user
|
|
publish PulserDC user
|
|
publish PulserSquareOffs user
|
|
publish PulserTTLOn user
|