Fix up whitespace.
This commit is contained in:
@ -6,340 +6,340 @@ set motdir 1
|
|||||||
set pulserstate 0
|
set pulserstate 0
|
||||||
|
|
||||||
proc SetVoltScale {newscaleval} {
|
proc SetVoltScale {newscaleval} {
|
||||||
global scaleval
|
global scaleval
|
||||||
set scaleval $newscaleval
|
set scaleval $newscaleval
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VoltScale {involt} {
|
proc VoltScale {involt} {
|
||||||
global scaleval
|
global scaleval
|
||||||
return [expr {($involt*1.0)/$scaleval}]
|
return [expr {($involt*1.0)/$scaleval}]
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SetRampParms {_rampstep _rampdelay} {
|
proc SetRampParms {_rampstep _rampdelay} {
|
||||||
global rampstep rampdelay
|
global rampstep rampdelay
|
||||||
set rampstep $_rampstep
|
set rampstep $_rampstep
|
||||||
set rampdelay $_rampdelay
|
set rampdelay $_rampdelay
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SetVolt {volt} {
|
proc SetVolt {volt} {
|
||||||
global pulserstate
|
global pulserstate
|
||||||
if {$volt== 0} {
|
if {$volt== 0} {
|
||||||
PulserOff
|
PulserOff
|
||||||
set pulserstate 0
|
set pulserstate 0
|
||||||
} else {
|
} else {
|
||||||
set pulservolt [VoltScale $volt]
|
set pulservolt [VoltScale $volt]
|
||||||
# sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
# sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
||||||
# PulserDC $pulservolt
|
# PulserDC $pulservolt
|
||||||
if {$pulserstate==0} {
|
if {$pulserstate==0} {
|
||||||
PulserDC $pulservolt
|
PulserDC $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
set pulserstate 1
|
set pulserstate 1
|
||||||
} else {
|
} else {
|
||||||
sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
||||||
PulserOn
|
PulserOn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VoltSetStep {start step fin delay} {
|
proc VoltSetStep {start step fin delay} {
|
||||||
set i [expr {$start*1.0}]
|
set i [expr {$start*1.0}]
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
SetVolt $i
|
SetVolt $i
|
||||||
if {($start == $fin) || ($step == 0)} {break}
|
if {($start == $fin) || ($step == 0)} {break}
|
||||||
while {$loopvar} {
|
while {$loopvar} {
|
||||||
wait $delay
|
wait $delay
|
||||||
if {($start < $fin)} {
|
if {($start < $fin)} {
|
||||||
set i [expr {$i + abs($step)}]
|
set i [expr {$i + abs($step)}]
|
||||||
if {$i >= $fin} {
|
if {$i >= $fin} {
|
||||||
set i $fin
|
set i $fin
|
||||||
set loopvar 0
|
set loopvar 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if {($start > $fin)} {
|
if {($start > $fin)} {
|
||||||
set i [expr {$i - abs($step)}]
|
set i [expr {$i - abs($step)}]
|
||||||
if {$i <= $fin} {
|
if {$i <= $fin} {
|
||||||
set i $fin
|
set i $fin
|
||||||
set loopvar 0
|
set loopvar 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetVolt $i
|
SetVolt $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc GetVolt {} {
|
proc GetVolt {} {
|
||||||
sct_pulser transact VOLT:OFFS?
|
sct_pulser transact VOLT:OFFS?
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SingleVolt {volt oscno} {
|
proc SingleVolt {volt oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
SetVolt $volt
|
SetVolt $volt
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
save 0
|
save 0
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SetDC {} {
|
proc SetDC {} {
|
||||||
pulseroff
|
pulseroff
|
||||||
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
||||||
# burst mode happens to be on
|
# burst mode happens to be on
|
||||||
set resp [sct_pulser send "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS 0; OFFS?"]
|
set resp [sct_pulser send "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS 0; OFFS?"]
|
||||||
pulseron
|
pulseron
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VoltRamp {start step fin oscno} {
|
proc VoltRamp {start step fin oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
|
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
while {$loopvar} {
|
while {$loopvar} {
|
||||||
set j [expr {$i*$step+$start}]
|
set j [expr {$i*$step+$start}]
|
||||||
if {$j> $fin && $step > 0} {break}
|
if {$j> $fin && $step > 0} {break}
|
||||||
if {$j< $fin && $step < 0} {break}
|
if {$j< $fin && $step < 0} {break}
|
||||||
SetVolt $j
|
SetVolt $j
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SingleVTexScan {mot tstart tstep tfin oscno} {
|
proc SingleVTexScan {mot tstart tstep tfin oscno} {
|
||||||
global motdir
|
global motdir
|
||||||
broadcast in singlevtexscan
|
broadcast in singlevtexscan
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i_bool 0
|
set i_bool 0
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
if {$motdir == 1} {
|
if {$motdir == 1} {
|
||||||
set currentmot $tstart
|
set currentmot $tstart
|
||||||
set i 0
|
set i 0
|
||||||
} else {
|
} else {
|
||||||
set currentmot $tfin
|
set currentmot $tfin
|
||||||
set i [expr {int(($tfin-$tstart)/$tstep)}]
|
set i [expr {int(($tfin-$tstart)/$tstep)}]
|
||||||
}
|
}
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
while {$i_bool==0} {
|
while {$i_bool==0} {
|
||||||
drive $mot $currentmot
|
drive $mot $currentmot
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
if {($motdir > 0)} {
|
if {($motdir > 0)} {
|
||||||
|
|
||||||
set currentmot [expr {$currentmot + $tstep}]
|
set currentmot [expr {$currentmot + $tstep}]
|
||||||
if {$currentmot > $tfin} {set i_bool 1}
|
if {$currentmot > $tfin} {set i_bool 1}
|
||||||
incr i
|
incr i
|
||||||
} else {
|
} else {
|
||||||
set currentmot [expr {$currentmot - $tstep}]
|
set currentmot [expr {$currentmot - $tstep}]
|
||||||
if {$currentmot < $tstart} {set i_bool 1}
|
if {$currentmot < $tstart} {set i_bool 1}
|
||||||
incr i -1
|
incr i -1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
set motdir [expr {(-1*$motdir)}]
|
set motdir [expr {(-1*$motdir)}]
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VListTexScan {voltlist mot tstart tstep tfin oscno} {
|
proc VListTexScan {voltlist mot tstart tstep tfin oscno} {
|
||||||
global rampstep rampdelay
|
global rampstep rampdelay
|
||||||
set curvolt [lindex $voltlist 0]
|
set curvolt [lindex $voltlist 0]
|
||||||
broadcast $curvolt
|
broadcast $curvolt
|
||||||
SetVolt $curvolt
|
SetVolt $curvolt
|
||||||
foreach volt $voltlist {
|
foreach volt $voltlist {
|
||||||
broadcast $volt
|
broadcast $volt
|
||||||
VoltSetStep $curvolt $rampstep $volt $rampdelay
|
VoltSetStep $curvolt $rampstep $volt $rampdelay
|
||||||
SingleVTexScan $mot $tstart $tstep $tfin $oscno
|
SingleVTexScan $mot $tstart $tstep $tfin $oscno
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc SquarePulseTexture {motor start step numsteps volt freq bins oscno} {
|
proc SquarePulseTexture {motor start step numsteps volt freq bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
set pulservolt [VoltScale $volt]
|
set pulservolt [VoltScale $volt]
|
||||||
PulserSquare $freq $pulservolt
|
PulserSquare $freq $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
|
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
drive $motor [expr $i*$step+$start]
|
drive $motor [expr $i*$step+$start]
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc UniPulseTexture {motor start step numsteps volt freq bins oscno} {
|
proc UniPulseTexture {motor start step numsteps volt freq bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
set pulservolt [VoltScale [expr {$volt*1.0}]]
|
set pulservolt [VoltScale [expr {$volt*1.0}]]
|
||||||
set pulseroffs [VoltScale [expr {$volt*0.5}]]
|
set pulseroffs [VoltScale [expr {$volt*0.5}]]
|
||||||
PulserSquareOffs $freq $pulservolt $pulseroffs
|
PulserSquareOffs $freq $pulservolt $pulseroffs
|
||||||
PulserOn
|
PulserOn
|
||||||
|
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
drive $motor [expr $i*$step+$start]
|
drive $motor [expr $i*$step+$start]
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc BehlkePulseTexture {motor start step numsteps freq bins oscno} {
|
proc BehlkePulseTexture {motor start step numsteps freq bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
PulserSquareOffs $freq 2.5 2.5
|
PulserSquareOffs $freq 2.5 2.5
|
||||||
PulserOn
|
PulserOn
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
drive $motor [expr $i*$step+$start]
|
drive $motor [expr $i*$step+$start]
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
proc SquarePulseVolt {start step fin freq bins oscno} {
|
proc SquarePulseVolt {start step fin freq bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
while {$loopvar} {
|
while {$loopvar} {
|
||||||
set j [expr {$i*$step+$start}]
|
set j [expr {$i*$step+$start}]
|
||||||
if {$j> $fin && $step > 0} {break}
|
if {$j> $fin && $step > 0} {break}
|
||||||
if {$j< $fin && $step < 0} {break}
|
if {$j< $fin && $step < 0} {break}
|
||||||
if {$j== 0} {
|
if {$j== 0} {
|
||||||
PulserOff
|
PulserOff
|
||||||
} else {
|
} else {
|
||||||
set pulservolt [VoltScale $j]
|
set pulservolt [VoltScale $j]
|
||||||
PulserSquare $freq $pulservolt
|
PulserSquare $freq $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
||||||
}
|
}
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SquarePulseFreq {volt freqlist bins oscno} {
|
proc SquarePulseFreq {volt freqlist bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
foreach freq $freqlist {
|
foreach freq $freqlist {
|
||||||
set pulservolt [VoltScale $volt]
|
set pulservolt [VoltScale $volt]
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
PulserSquare $freq $pulservolt
|
PulserSquare $freq $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc BehlkePulseFreq {freqlist bins oscno} {
|
proc BehlkePulseFreq {freqlist bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
foreach freq $freqlist {
|
foreach freq $freqlist {
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
PulserSquareOffs $freq 2.5 2.5
|
PulserSquareOffs $freq 2.5 2.5
|
||||||
PulserOn
|
PulserOn
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SinePulseFreq {volt freqlist bins oscno} {
|
proc SinePulseFreq {volt freqlist bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
foreach freq $freqlist {
|
foreach freq $freqlist {
|
||||||
set pulservolt [VoltScale $volt]
|
set pulservolt [VoltScale $volt]
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
PulserSin $freq $pulservolt
|
PulserSin $freq $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
proc UniPulseFreq {volt freqlist bins oscno} {
|
proc UniPulseFreq {volt freqlist bins oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
foreach freq $freqlist {
|
foreach freq $freqlist {
|
||||||
|
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
# PulserSquareOffs $freq $pulservolt [expr {$pulservolt/2}]
|
# PulserSquareOffs $freq $pulservolt [expr {$pulservolt/2}]
|
||||||
set pulservolt [VoltScale [expr {$volt*1.0}]]
|
set pulservolt [VoltScale [expr {$volt*1.0}]]
|
||||||
set pulseroffs [VoltScale [expr {$volt*0.5}]]
|
set pulseroffs [VoltScale [expr {$volt*0.5}]]
|
||||||
PulserSquareOffs $freq $pulservolt $pulseroffs
|
PulserSquareOffs $freq $pulservolt $pulseroffs
|
||||||
PulserOn
|
PulserOn
|
||||||
# sct_pulser send "APPL:SQU $freq,$pulservolt,[expr {$pulservolt/2}]"
|
# sct_pulser send "APPL:SQU $freq,$pulservolt,[expr {$pulservolt/2}]"
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc UniPulseFatigue {volt freq bins oscno reps runs} {
|
proc UniPulseFatigue {volt freq bins oscno reps runs} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
set pulservolt [VoltScale $volt]
|
set pulservolt [VoltScale $volt]
|
||||||
set halfvolt [expr {$pulservolt/2.0}]
|
set halfvolt [expr {$pulservolt/2.0}]
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
PulserSquareOffs $freq $halfvolt $halfvolt
|
PulserSquareOffs $freq $halfvolt $halfvolt
|
||||||
PulserOn
|
PulserOn
|
||||||
for {set i 0} {$i<$runs} {incr i} {
|
for {set i 0} {$i<$runs} {incr i} {
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
for {set j 0} {$j<$reps} {incr j} {
|
for {set j 0} {$j<$reps} {incr j} {
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $j
|
save $j
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PulserOff
|
PulserOff
|
||||||
set pulserstate 0
|
set pulserstate 0
|
||||||
Histmem_strobo_off
|
Histmem_strobo_off
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -347,80 +347,80 @@ proc UniPulseFatigue {volt freq bins oscno reps runs} {
|
|||||||
|
|
||||||
|
|
||||||
proc PulserBurst {} {
|
proc PulserBurst {} {
|
||||||
sct_pulser send "BURS:MODE TRIG; MODE?"
|
sct_pulser send "BURS:MODE TRIG; MODE?"
|
||||||
sct_pulser send "TRIG:SOUR BUS; SOUR?"
|
sct_pulser send "TRIG:SOUR BUS; SOUR?"
|
||||||
sct_pulser send "BURS:STAT ON; STAT?"
|
sct_pulser send "BURS:STAT ON; STAT?"
|
||||||
PulserOn
|
PulserOn
|
||||||
sct_pulser send "*TRG;:BURS:NCYC?"
|
sct_pulser send "*TRG;:BURS:NCYC?"
|
||||||
while {1} {
|
while {1} {
|
||||||
set sval [sct_pulser transact *OPC?]
|
set sval [sct_pulser transact *OPC?]
|
||||||
if {[string first 1 $sval] >-1} {break}
|
if {[string first 1 $sval] >-1} {break}
|
||||||
}
|
}
|
||||||
PulserOff
|
PulserOff
|
||||||
set pulserstate 0
|
set pulserstate 0
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc VoltPulseRun {vlo vhi freq cycl} {
|
proc VoltPulseRun {vlo vhi freq cycl} {
|
||||||
PulserOff
|
PulserOff
|
||||||
|
|
||||||
sct_pulser send "VOLT:LOW [VoltScale $vlo]; LOW?"
|
sct_pulser send "VOLT:LOW [VoltScale $vlo]; LOW?"
|
||||||
sct_pulser send "VOLT:HIGH [VoltScale $vhi]; HIGH?"
|
sct_pulser send "VOLT:HIGH [VoltScale $vhi]; HIGH?"
|
||||||
sct_pulser send "FREQ $freq;:FREQ?"
|
sct_pulser send "FREQ $freq;:FREQ?"
|
||||||
sct_pulser send "BURS:PHAS [expr {90.0 - ($vhi*180.0)/(($vhi-$vlo)*1.0)}]; PHAS?"
|
sct_pulser send "BURS:PHAS [expr {90.0 - ($vhi*180.0)/(($vhi-$vlo)*1.0)}]; PHAS?"
|
||||||
sct_pulser send "BURS:MODE TRIG; MODE?"
|
sct_pulser send "BURS:MODE TRIG; MODE?"
|
||||||
set ploop [expr {int($cycl/50000)}]
|
set ploop [expr {int($cycl/50000)}]
|
||||||
set prem [expr {$cycl % 50000}]
|
set prem [expr {$cycl % 50000}]
|
||||||
if {$ploop >0} {
|
if {$ploop >0} {
|
||||||
for {set i 0} {$i< $ploop} {incr i} {
|
for {set i 0} {$i< $ploop} {incr i} {
|
||||||
Pulser send "BURS:NCYC 50000; NCYC?"
|
Pulser send "BURS:NCYC 50000; NCYC?"
|
||||||
PulserBurst
|
PulserBurst
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sct_pulser send "BURS:NCYC $prem; NCYC?"
|
sct_pulser send "BURS:NCYC $prem; NCYC?"
|
||||||
PulserBurst
|
PulserBurst
|
||||||
PulserOff
|
PulserOff
|
||||||
set pulserstate 0
|
set pulserstate 0
|
||||||
sct_pulser send "BURS:STAT OFF; STAT?"
|
sct_pulser send "BURS:STAT OFF; STAT?"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc VoltPulses {vlo vhi freq cycl} {
|
proc VoltPulses {vlo vhi freq cycl} {
|
||||||
PulserOff
|
PulserOff
|
||||||
sct_pulser send "FUNC SQU;:FUNC?"
|
sct_pulser send "FUNC SQU;:FUNC?"
|
||||||
VoltPulseRun $vlo $vhi $freq $cycl
|
VoltPulseRun $vlo $vhi $freq $cycl
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VoltTriPulses {vlo vhi freq cycl} {
|
proc VoltTriPulses {vlo vhi freq cycl} {
|
||||||
PulserOff
|
PulserOff
|
||||||
sct_pulser send "FUNC RAMP;:FUNC?"
|
sct_pulser send "FUNC RAMP;:FUNC?"
|
||||||
sct_pulser send "FUNC:RAMP:SYMM 50;:FUNC:RAMP:SYMM?"
|
sct_pulser send "FUNC:RAMP:SYMM 50;:FUNC:RAMP:SYMM?"
|
||||||
VoltPulseRun $vlo $vhi $freq $cycl
|
VoltPulseRun $vlo $vhi $freq $cycl
|
||||||
}
|
}
|
||||||
|
|
||||||
proc OneTri {volt period} {
|
proc OneTri {volt period} {
|
||||||
PulserOff
|
PulserOff
|
||||||
if {$volt > 0} {
|
if {$volt > 0} {
|
||||||
sct_pulser send "VOLT:LOW 0; LOW?"
|
sct_pulser send "VOLT:LOW 0; LOW?"
|
||||||
sct_pulser send "VOLT:HIGH [VoltScale $volt]; HIGH?"
|
sct_pulser send "VOLT:HIGH [VoltScale $volt]; HIGH?"
|
||||||
sct_pulser send "BURS:PHAS -90; PHAS?"
|
sct_pulser send "BURS:PHAS -90; PHAS?"
|
||||||
} else {
|
} else {
|
||||||
sct_pulser send "VOLT:LOW [VoltScale $volt]; LOW?"
|
sct_pulser send "VOLT:LOW [VoltScale $volt]; LOW?"
|
||||||
sct_pulser send "VOLT:HIGH 0; HIGH?"
|
sct_pulser send "VOLT:HIGH 0; HIGH?"
|
||||||
sct_pulser send "BURS:PHAS 90; PHAS?"
|
sct_pulser send "BURS:PHAS 90; PHAS?"
|
||||||
}
|
}
|
||||||
sct_pulser send "FUNC RAMP;:FUNC?"
|
sct_pulser send "FUNC RAMP;:FUNC?"
|
||||||
sct_pulser send "FUNC:RAMP:SYMM 50;:FUNC:RAMP:SYMM?"
|
sct_pulser send "FUNC:RAMP:SYMM 50;:FUNC:RAMP:SYMM?"
|
||||||
sct_pulser send "FREQ [expr {1.0/$period}];:FREQ?"
|
sct_pulser send "FREQ [expr {1.0/$period}];:FREQ?"
|
||||||
|
|
||||||
sct_pulser send "BURS:MODE TRIG; MODE?"
|
sct_pulser send "BURS:MODE TRIG; MODE?"
|
||||||
|
|
||||||
sct_pulser send "BURS:NCYC 1; NCYC?"
|
sct_pulser send "BURS:NCYC 1; NCYC?"
|
||||||
PulserBurst
|
PulserBurst
|
||||||
PulserOff
|
PulserOff
|
||||||
set pulserstat 0
|
set pulserstat 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -448,5 +448,5 @@ publish BehlkePulseTexture user
|
|||||||
publish BehlkePulseFreq user
|
publish BehlkePulseFreq user
|
||||||
publish UniPulseTexture user
|
publish UniPulseTexture user
|
||||||
publish VoltSetStep user
|
publish VoltSetStep user
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,161 +5,161 @@
|
|||||||
# assumes tc1 and tc2 are the cf8 336 and 340 lakeshores for now
|
# assumes tc1 and tc2 are the cf8 336 and 340 lakeshores for now
|
||||||
|
|
||||||
namespace eval cf {
|
namespace eval cf {
|
||||||
variable wall_lag 10
|
variable wall_lag 10
|
||||||
variable wall_max 300
|
variable wall_max 300
|
||||||
variable sample_tolerance 5
|
variable sample_tolerance 5
|
||||||
variable wall_tolerance 5
|
variable wall_tolerance 5
|
||||||
variable wall_set true
|
variable wall_set true
|
||||||
variable base_set true
|
variable base_set true
|
||||||
variable base_control true
|
variable base_control true
|
||||||
variable wall_control true
|
variable wall_control true
|
||||||
|
|
||||||
proc UseWall {_wall_set _wall_control} {
|
proc UseWall {_wall_set _wall_control} {
|
||||||
variable wall_set
|
variable wall_set
|
||||||
variable wall_control
|
variable wall_control
|
||||||
if {$_wall_set == false} {set wall_set false} else {set wall_set true}
|
if {$_wall_set == false} {set wall_set false} else {set wall_set true}
|
||||||
if {$_wall_control == false} {set wall_control false} else {set wall_control true}
|
if {$_wall_control == false} {set wall_control false} else {set wall_control true}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc UseBase {_base_set _base_control} {
|
proc UseBase {_base_set _base_control} {
|
||||||
variable base_set
|
variable base_set
|
||||||
variable base_control
|
variable base_control
|
||||||
if {$_base_set == false} {set base_set false} else {set base_set true}
|
if {$_base_set == false} {set base_set false} else {set base_set true}
|
||||||
if {$_base_control == false} {set base_control false} else {set base_control true}
|
if {$_base_control == false} {set base_control false} else {set base_control true}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc WallParams {_wall_lag _wall_max _wall_tolerance} {
|
proc WallParams {_wall_lag _wall_max _wall_tolerance} {
|
||||||
variable wall_lag
|
variable wall_lag
|
||||||
variable wall_max
|
variable wall_max
|
||||||
variable wall_tolerance
|
variable wall_tolerance
|
||||||
set wall_lag $_wall_lag
|
set wall_lag $_wall_lag
|
||||||
set wall_max $_wall_max
|
set wall_max $_wall_max
|
||||||
set wall_tolerance $_wall_tolerance
|
set wall_tolerance $_wall_tolerance
|
||||||
hset /sample/tc2/control/tolerance1 $wall_tolerance
|
hset /sample/tc2/control/tolerance1 $wall_tolerance
|
||||||
}
|
}
|
||||||
|
|
||||||
proc TempSet {temp} {
|
proc TempSet {temp} {
|
||||||
variable wall_lag
|
variable wall_lag
|
||||||
variable wall_max
|
variable wall_max
|
||||||
variable base_set
|
variable base_set
|
||||||
variable wall_set
|
variable wall_set
|
||||||
set tempc [expr {$temp - $wall_lag}]
|
set tempc [expr {$temp - $wall_lag}]
|
||||||
if {$tempc < 4} {set tempc 4}
|
if {$tempc < 4} {set tempc 4}
|
||||||
if {$tempc > $wall_max} {set tempc $wall_max}
|
if {$tempc > $wall_max} {set tempc $wall_max}
|
||||||
hset /sample/tc1/sensor/setpoint1 $temp
|
hset /sample/tc1/sensor/setpoint1 $temp
|
||||||
if {$base_set} {hset /sample/tc1/sensor/setpoint2 $tempc}
|
if {$base_set} {hset /sample/tc1/sensor/setpoint2 $tempc}
|
||||||
if {$wall_set} {hset /sample/tc2/sensor/setpoint1 $tempc}
|
if {$wall_set} {hset /sample/tc2/sensor/setpoint1 $tempc}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc TempDrive {temp} {
|
proc TempDrive {temp} {
|
||||||
variable wall_lag
|
variable wall_lag
|
||||||
variable wall_max
|
variable wall_max
|
||||||
variable base_control
|
variable base_control
|
||||||
variable wall_control
|
variable wall_control
|
||||||
TempSet $temp
|
TempSet $temp
|
||||||
set tempc [expr {$temp - $wall_lag}]
|
set tempc [expr {$temp - $wall_lag}]
|
||||||
if {$tempc < 4} {set tempc 4}
|
if {$tempc < 4} {set tempc 4}
|
||||||
if {$tempc > $wall_max} {set tempc $wall_max}
|
if {$tempc > $wall_max} {set tempc $wall_max}
|
||||||
set drstr "drive tc1_driveable \$temp"
|
set drstr "drive tc1_driveable \$temp"
|
||||||
if {$base_control} {append drstr " tc1_driveable2 \$tempc"}
|
if {$base_control} {append drstr " tc1_driveable2 \$tempc"}
|
||||||
if {$wall_control} {append drstr " tc2_driveable \$tempc"}
|
if {$wall_control} {append drstr " tc2_driveable \$tempc"}
|
||||||
eval $drstr
|
eval $drstr
|
||||||
}
|
}
|
||||||
|
|
||||||
proc Tolerance {sample} {
|
proc Tolerance {sample} {
|
||||||
hset /sample/tc1/control/tolerance1 $sample
|
hset /sample/tc1/control/tolerance1 $sample
|
||||||
hset /sample/tc1/control/tolerance2 $sample
|
hset /sample/tc1/control/tolerance2 $sample
|
||||||
}
|
}
|
||||||
|
|
||||||
proc MakeCold {} {
|
proc MakeCold {} {
|
||||||
variable sample_tolerance
|
variable sample_tolerance
|
||||||
variable wall_tolerance
|
variable wall_tolerance
|
||||||
Tolerance 20
|
Tolerance 20
|
||||||
hset /sample/tc2/control/tolerance1 20
|
hset /sample/tc2/control/tolerance1 20
|
||||||
hset /sample/tc2/sensor/setpoint1 4
|
hset /sample/tc2/sensor/setpoint1 4
|
||||||
TempDrive 4
|
TempDrive 4
|
||||||
Tolerance $sample_tolerance
|
Tolerance $sample_tolerance
|
||||||
hset /sample/tc2/control/tolerance1 $wall_tolerance
|
hset /sample/tc2/control/tolerance1 $wall_tolerance
|
||||||
wait 300
|
wait 300
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc TempRun {temp delay numsteps oscno} {
|
proc TempRun {temp delay numsteps oscno} {
|
||||||
TempDrive $temp
|
TempDrive $temp
|
||||||
wait $delay
|
wait $delay
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc RampRun {start step fin oscno delay} {
|
proc RampRun {start step fin oscno delay} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
while {$loopvar} {
|
while {$loopvar} {
|
||||||
set j [expr {$i*$step+$start}]
|
set j [expr {$i*$step+$start}]
|
||||||
if {$j> $fin && $step > 0} {break}
|
if {$j> $fin && $step > 0} {break}
|
||||||
if {$j< $fin && $step < 0} {break}
|
if {$j< $fin && $step < 0} {break}
|
||||||
TempSet $j
|
TempSet $j
|
||||||
wait $delay
|
wait $delay
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc StepRun {start step fin oscno delay} {
|
proc StepRun {start step fin oscno delay} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
set i 0
|
set i 0
|
||||||
while {$loopvar} {
|
while {$loopvar} {
|
||||||
set j [expr {$i*$step+$start}]
|
set j [expr {$i*$step+$start}]
|
||||||
if {$j> $fin && $step > 0} {break}
|
if {$j> $fin && $step > 0} {break}
|
||||||
if {$j< $fin && $step < 0} {break}
|
if {$j< $fin && $step < 0} {break}
|
||||||
TempDrive $j
|
TempDrive $j
|
||||||
wait $delay
|
wait $delay
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc HeaterOn {} {
|
proc HeaterOn {} {
|
||||||
variable base_set
|
variable base_set
|
||||||
variable wall_set
|
variable wall_set
|
||||||
|
|
||||||
hset /sample/tc1/heater/heaterRange_1 4
|
hset /sample/tc1/heater/heaterRange_1 4
|
||||||
if {$base_set} {hset /sample/tc1/heater/heaterRange_2 4}
|
if {$base_set} {hset /sample/tc1/heater/heaterRange_2 4}
|
||||||
if {$wall_set} {hset /sample/tc2/heater/heaterRange 5}
|
if {$wall_set} {hset /sample/tc2/heater/heaterRange 5}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc GetTemp {} {
|
proc GetTemp {} {
|
||||||
variable base_set
|
variable base_set
|
||||||
set t1top [hget /sample/tc1/sensor/sensorValueA]
|
set t1top [hget /sample/tc1/sensor/sensorValueA]
|
||||||
broadcast "sample top : $t1top"
|
broadcast "sample top : $t1top"
|
||||||
if {$base_set} {
|
if {$base_set} {
|
||||||
set t1base [hget /sample/tc1/sensor/sensorValueB]
|
set t1base [hget /sample/tc1/sensor/sensorValueB]
|
||||||
broadcast "sample base: $t1base"
|
broadcast "sample base: $t1base"
|
||||||
}
|
}
|
||||||
set t1wall [hget /sample/tc2/sensor/sensorValueA]
|
set t1wall [hget /sample/tc2/sensor/sensorValueA]
|
||||||
broadcast "sample wall: $t1wall"
|
broadcast "sample wall: $t1wall"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
namespace export *
|
namespace export *
|
||||||
namespace ensemble create
|
namespace ensemble create
|
||||||
}
|
}
|
||||||
|
|
||||||
publish cf user
|
publish cf user
|
||||||
|
@ -1,109 +1,109 @@
|
|||||||
|
|
||||||
proc SetVoltPosStep {steps} {
|
proc SetVoltPosStep {steps} {
|
||||||
|
|
||||||
# set llen 16384
|
# set llen 16384
|
||||||
# set steplen [expr{int($llen/(2*$steps))}]
|
# set steplen [expr{int($llen/(2*$steps))}]
|
||||||
# set phaselen
|
# set phaselen
|
||||||
|
|
||||||
set l {}
|
set l {}
|
||||||
for {set i 0} {$i < $steps} {incr i} {
|
for {set i 0} {$i < $steps} {incr i} {
|
||||||
lappend l [expr {($i*2.0/$steps)-1.0}]
|
lappend l [expr {($i*2.0/$steps)-1.0}]
|
||||||
}
|
}
|
||||||
for {set i $steps} {$i > 0} {incr i -1} {
|
for {set i $steps} {$i > 0} {incr i -1} {
|
||||||
lappend l [expr {($i*2.0/$steps)-1.0}]
|
lappend l [expr {($i*2.0/$steps)-1.0}]
|
||||||
}
|
}
|
||||||
set s "DATA VOLATILE, "
|
set s "DATA VOLATILE, "
|
||||||
for {set i 0} {$i < [expr {[llength $l] -1}]} {incr i} {
|
for {set i 0} {$i < [expr {[llength $l] -1}]} {incr i} {
|
||||||
append s [format "%1.3f" [lindex $l $i]] ","
|
append s [format "%1.3f" [lindex $l $i]] ","
|
||||||
}
|
}
|
||||||
append s [format "%1.3f" [lindex $l [expr {[llength $l] -1}]]]
|
append s [format "%1.3f" [lindex $l [expr {[llength $l] -1}]]]
|
||||||
sct_pulser send $s
|
sct_pulser send $s
|
||||||
broadcast $s
|
broadcast $s
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SetVoltBiStep {steps} {
|
proc SetVoltBiStep {steps} {
|
||||||
set l {}
|
set l {}
|
||||||
for {set i 0} {$i < $steps} {incr i} {
|
for {set i 0} {$i < $steps} {incr i} {
|
||||||
lappend l [expr {$i*1.0/$steps}]
|
lappend l [expr {$i*1.0/$steps}]
|
||||||
}
|
}
|
||||||
for {set i $steps} {$i > [expr {$steps * -1}]} {incr i -1} {
|
for {set i $steps} {$i > [expr {$steps * -1}]} {incr i -1} {
|
||||||
lappend l [expr {$i*1.0/$steps}]
|
lappend l [expr {$i*1.0/$steps}]
|
||||||
}
|
}
|
||||||
for {set i [expr {$steps * -1}]} {$i < 0} {incr i} {
|
for {set i [expr {$steps * -1}]} {$i < 0} {incr i} {
|
||||||
lappend l [expr {$i*1.0/$steps}]
|
lappend l [expr {$i*1.0/$steps}]
|
||||||
}
|
}
|
||||||
|
|
||||||
set s "DATA VOLATILE, "
|
set s "DATA VOLATILE, "
|
||||||
for {set i 0} {$i < [expr {[llength $l] -1}]} {incr i} {
|
for {set i 0} {$i < [expr {[llength $l] -1}]} {incr i} {
|
||||||
append s [format "%1.3f" [lindex $l $i]] ","
|
append s [format "%1.3f" [lindex $l $i]] ","
|
||||||
}
|
}
|
||||||
append s [format "%1.3f" [lindex $l [expr {[llength $l] -1}]]]
|
append s [format "%1.3f" [lindex $l [expr {[llength $l] -1}]]]
|
||||||
sct_pulser send $s
|
sct_pulser send $s
|
||||||
broadcast $s
|
broadcast $s
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VoltPosStep {volt freq voltsteps} {
|
proc VoltPosStep {volt freq voltsteps} {
|
||||||
PulserOff
|
PulserOff
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
|
|
||||||
SetVoltPosStep $voltsteps
|
SetVoltPosStep $voltsteps
|
||||||
sct_pulser send "VOLT:LOW [VoltScale 0.0]; LOW?"
|
sct_pulser send "VOLT:LOW [VoltScale 0.0]; LOW?"
|
||||||
sct_pulser send "VOLT:HIGH [VoltScale [expr {$volt*1.0}]]; HIGH?"
|
sct_pulser send "VOLT:HIGH [VoltScale [expr {$volt*1.0}]]; HIGH?"
|
||||||
sct_pulser send "FREQ $freq;:FREQ?"
|
sct_pulser send "FREQ $freq;:FREQ?"
|
||||||
sct_pulser send "FUNC: USER VOLATILE"
|
sct_pulser send "FUNC: USER VOLATILE"
|
||||||
sct_pulser send "FUNC USER"
|
sct_pulser send "FUNC USER"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc UniZigTexture {motor mstart mstep mnum volt freq vstep binmult oscno} {
|
proc UniZigTexture {motor mstart mstep mnum volt freq vstep binmult oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
set bins [expr {$vstep * 2 * $binmult}]
|
set bins [expr {$vstep * 2 * $binmult}]
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
# set pulservolt [VoltScale [expr {$volt*1.0}]]
|
# set pulservolt [VoltScale [expr {$volt*1.0}]]
|
||||||
# set pulseroffs [VoltScale [expr {$volt*0.5}]]
|
# set pulseroffs [VoltScale [expr {$volt*0.5}]]
|
||||||
VoltPosStep $volt $freq $vstep
|
VoltPosStep $volt $freq $vstep
|
||||||
|
|
||||||
PulserOn
|
PulserOn
|
||||||
|
|
||||||
for {set i 0} {$i < $mnum} {incr i} {
|
for {set i 0} {$i < $mnum} {incr i} {
|
||||||
drive $motor [expr $i*$mstep+$mstart]
|
drive $motor [expr $i*$mstep+$mstart]
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
PulserOff
|
PulserOff
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc VoltBiStep {volt freq steps} {
|
proc VoltBiStep {volt freq steps} {
|
||||||
PulserOff
|
PulserOff
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
|
|
||||||
SetVoltBiStep $steps
|
SetVoltBiStep $steps
|
||||||
sct_pulser send "VOLT:LOW [VoltScale [expr {$volt*-1.0}]; LOW?"
|
sct_pulser send "VOLT:LOW [VoltScale [expr {$volt*-1.0}]; LOW?"
|
||||||
sct_pulser send "VOLT:HIGH [VoltScale [expr {$volt*1.0}]; HIGH?"
|
sct_pulser send "VOLT:HIGH [VoltScale [expr {$volt*1.0}]; HIGH?"
|
||||||
sct_pulser send "FREQ $freq;:FREQ?"
|
sct_pulser send "FREQ $freq;:FREQ?"
|
||||||
sct_pulser send "FUNC: USER VOLATILE"
|
sct_pulser send "FUNC: USER VOLATILE"
|
||||||
sct_pulser send "FUNC USER"
|
sct_pulser send "FUNC USER"
|
||||||
set bins [expr {$steps * 4}]
|
set bins [expr {$steps * 4}]
|
||||||
histmem_period_strobo $freq $bins
|
histmem_period_strobo $freq $bins
|
||||||
wait 3
|
wait 3
|
||||||
|
|
||||||
PulserOn
|
PulserOn
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
save 0
|
save 0
|
||||||
}
|
}
|
||||||
|
|
||||||
publish SetVoltPosStep user
|
publish SetVoltPosStep user
|
||||||
publish SetVoltBiStep user
|
publish SetVoltBiStep user
|
||||||
publish UniZigTexture user
|
publish UniZigTexture user
|
||||||
publish VoltPosStep user
|
publish VoltPosStep user
|
||||||
publish VoltBiStep user
|
publish VoltBiStep user
|
||||||
|
Reference in New Issue
Block a user