change command names

r3701 | jgn | 2012-08-20 15:54:34 +1000 (Mon, 20 Aug 2012) | 1 line
This commit is contained in:
Jing Chen
2012-08-20 15:54:34 +10:00
committed by Douglas Clowes
parent e10bb049fd
commit f4a240c377

View File

@@ -801,52 +801,11 @@ proc ::scobj::ag1010::mkAG {argList} {
namespace import ::scobj::ag1010::par namespace import ::scobj::ag1010::par
proc LFSetLimitsFPL {para} { proc LFPAGC {{para ""} args} {
set HEAD 0x96 if {$para == ""} {
set LEN 10 broadcast "[hget /sics/ag1010/AGC/PAGC] dW"
set CTRL 2
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
if {$para > 10040 || $para < 0} {
broadcast "Error: The Limit for the Forward Power is 0~10040 dW"
} else { } else {
set RPL [hval $ns/limits/ReversePower]
set data [format %04x%04x%04x%04x $newPara $RPL 0 0]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Forward Power Limits to $newPara dW"
sct_ag1010 send "$cmd"
}
}
proc LFSetLimitsRPL {para} {
set HEAD 0x96
set LEN 10
set CTRL 2
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
if {$para > 1630 || $para < 0} {
broadcast "Error: The Limit for the Reflected Power is 0~1630 dW"
} else {
set FPL [hval $ns/limits/ForwardPower]
set data [format %04x%04x%04x%04x $FPL $newPara 0 0]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Reverse Power Limits to $newPara dW"
sct_ag1010 send "$cmd"
}
}
proc LFSetPAGC {para} {
set HEAD 0x96 set HEAD 0x96
set LEN 4 set LEN 4
set CTRL 3 set CTRL 3
@@ -861,9 +820,13 @@ proc LFSetPAGC {para} {
broadcast "Set Power Level for AGC mode to $newPara dW" broadcast "Set Power Level for AGC mode to $newPara dW"
sct_ag1010 send "$cmd" sct_ag1010 send "$cmd"
} }
}
proc LFSetPMGC {para} { proc LFPMGC {{para ""} args} {
if {$para == ""} {
broadcast "[hget /sics/ag1010/MGC/PMGC] dW"
} else {
set HEAD 0x96 set HEAD 0x96
set LEN 4 set LEN 4
set CTRL 4 set CTRL 4
@@ -878,9 +841,13 @@ proc LFSetPMGC {para} {
broadcast "Set Power Level for MGC mode to $newPara dW" broadcast "Set Power Level for MGC mode to $newPara dW"
sct_ag1010 send "$cmd" sct_ag1010 send "$cmd"
} }
}
proc LFSetFREQ {para} { proc LFFREQ {{para ""} args} {
if {$para == ""} {
broadcast "[hget /sics/ag1010/FRE/FREQ] Hz"
} else {
set HEAD 0x96 set HEAD 0x96
set LEN 6 set LEN 6
set CTRL 5 set CTRL 5
@@ -901,79 +868,9 @@ proc LFSetFREQ {para} {
sct_ag1010 send "$cmd" sct_ag1010 send "$cmd"
} }
} }
proc LFSetBurstMode {para} {
set HEAD 0x96
set LEN 7
set CTRL 8
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
if {$newPara<0 || $newPara>3} {
return -code error "Error in setValue: only allowed input values for BurstMode are {0,1,2,3}"
} else {
set BurstMode $newPara
}
set BRepTime [hval $ns/BurstPar/BRepTime]
set TimeOfPower [hval $ns/BurstPar/TimeOfPower]
set data [format %02x%04x%04x $BurstMode $BRepTime $TimeOfPower]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
if {$BurstMode == 0} {
set mode "Set Burst Mode to OFF"
} elseif {$BurstMode == 1} {
set mode "Set Burtst Mode to Internal Mode"
} elseif {$BurstMode == 2} {
set mode "Set Burst Mode to Change Burst Parameters without Changing Burst On/Off"
} else {
set mode "Set Burst Mode to External Mode"
} }
broadcast "$mode" proc LFSweepRun {startF stepF scyc {mode 2} args} {
sct_ag1010 send "$cmd"
}
proc LFSetBRepTime {para} {
set HEAD 0x96
set LEN 7
set CTRL 8
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
set BurstMode 2
set TimeOfPower [hval $ns/BurstPar/TimeOfPower]
set data [format %02x%04x%04x $BurstMode $newPara $TimeOfPower]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Repetition Period Burst Cycle to $newPara ms"
sct_ag1010 send "$cmd"
}
proc LFSetBTimeOfPower {para} {
set HEAD 0x96
set LEN 7
set CTRL 8
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
set BurstMode 2
set BRepTime [hval $ns/BurstPar/BRepTime]
set data [format %02x%04x%04x $BurstMode $BRepTime $newPara]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Time of Power in Burst Cycle to $newPara us"
sct_ag1010 send "$cmd"
}
proc LFSetSweep {startF stepF scyc {mode 2} args} {
if {$mode<0 || $mode>2} { if {$mode<0 || $mode>2} {
return -code error "Error in setValue: only allowed input values for SweepMode are {0,1,2}" return -code error "Error in setValue: only allowed input values for SweepMode are {0,1,2}"
@@ -998,172 +895,181 @@ proc LFSetSweep {startF stepF scyc {mode 2} args} {
sct_ag1010 send "$cmd" sct_ag1010 send "$cmd"
} }
proc LFSetSweepMode {para} { proc LFLimits {args} {
set HEAD 0x96
set LEN 13
set CTRL 9
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
if {$newPara<0 || $newPara>2} {
return -code error "Error in setValue: only allowed input values for SweepMode are {0,1,2}"
} else {
set SweepMode $newPara
}
set SStr [expr [hval $ns/SweepPar/StartFreq] / 1000]
set SStrHz [expr [hval $ns/SweepPar/StartFreq] % 1000]
set SStp [expr [hval $ns/SweepPar/StepFreq] / 1000]
set SStpHz [expr [hval $ns/SweepPar/StepFreq] % 1000]
set SCyc [hval $ns/SweepPar/SCyc]
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $SCyc $SStrHz $SStpHz]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
if {$SweepMode == 0} {
set mode "Turn Off Sweep Mode"
} elseif {$SweepMode == 1} {
set mode "Turn On Sweep Mode"
} else {
set mode "Set Sweep Mode to Change Sweep Mode Parameters Without Changing Sweep Mode On/Off"
}
broadcast "$mode"
sct_ag1010 send "$cmd"
}
proc LFSetSStartFreq {para} {
set HEAD 0x96
set LEN 13
set CTRL 9
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
set SweepMode 2
set SStr [expr $newPara / 1000]
set SStrHz [expr $newPara % 1000]
set SStp [expr [hval $ns/SweepPar/StepFreq] / 1000]
set SStpHz [expr [hval $ns/SweepPar/StepFreq] % 1000]
set SCyc [hval $ns/SweepPar/SCyc]
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $SCyc $SStrHz $SStpHz]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Start Frequency in Sweep Mode to $newPara Hz"
sct_ag1010 send "$cmd"
}
proc LFSetSStepFreq {para} {
set HEAD 0x96
set LEN 13
set CTRL 9
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
set SweepMode 2
set SStr [expr [hval $ns/SweepPar/StartFreq] / 1000]
set SStrHz [expr [hval $ns/SweepPar/StartFreq] % 1000]
set SStp [expr $newPara / 1000]
set SStpHz [expr $newPara % 1000]
set SCyc [hval $ns/SweepPar/SCyc]
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $SCyc $SStrHz $SStpHz]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Step Frequency in Sweep Mode to $newPara Hz"
sct_ag1010 send "$cmd"
}
proc LFSetSSCyc {para} {
set HEAD 0x96
set LEN 13
set CTRL 9
set CRC 0
set ns /sics/ag1010
set newPara [string trim $para " "]
set SweepMode 2
set SStr [expr [hval $ns/SweepPar/StartFreq] / 1000]
set SStrHz [expr [hval $ns/SweepPar/StartFreq] % 1000]
set SStp [expr [hval $ns/SweepPar/StepFreq] / 1000]
set SStpHz [expr [hval $ns/SweepPar/StepFreq] % 1000]
set SCyc $newPara
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $SCyc $SStrHz $SStpHz]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Number of Steps in Full Sweep Cycle to $newPara"
sct_ag1010 send "$cmd"
}
proc LFGetLimits {} {
if {$args == ""} {
broadcast "[hget /sics/ag1010/limits/ForwardPower] dW" broadcast "[hget /sics/ag1010/limits/ForwardPower] dW"
broadcast "[hget /sics/ag1010/limits/ReversePower] dW" broadcast "[hget /sics/ag1010/limits/ReversePower] dW"
} else {
set HEAD 0x96
set LEN 10
set CTRL 2
set CRC 0
set ns /sics/ag1010
foreach {arg val} $args {
switch $arg {
"FPL" { if {$val > 10040 || $val < 0} {
broadcast "Error: The Limit for the Forward Power is 0~10040 dW"
} else {
set RPL [hval $ns/limits/ReversePower]
set data [format %04x%04x%04x%04x $val $RPL 0 0]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Forward Power Limits to $val dW"
sct_ag1010 send "$cmd"
}
}
"RPL" { if {$val > 1630 || $val < 0} {
broadcast "Error: The Limit for the Reflected Power is 0~1630 dW"
} else {
set FPL [hval $ns/limits/ForwardPower]
set data [format %04x%04x%04x%04x $FPL $val 0 0]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
broadcast "Set Reverse Power Limits to $val dW"
sct_ag1010 send "$cmd"
}
}
default { error "ERROR: $arg should be 'FPL' or 'RPL'" }
}
}
}
} }
proc LFGetPAGC {} { proc LFBurst {args} {
broadcast "[hget /sics/ag1010/AGC/PAGC] dW"
}
proc LFGetPMGC {} {
broadcast "[hget /sics/ag1010/MGC/PMGC] dW"
}
proc LFGetFREQ {} {
broadcast "[hget /sics/ag1010/FRE/FREQ] Hz"
}
proc LFGetBurstPar {} {
if {$args == ""} {
broadcast "[hget /sics/ag1010/BurstPar/BurstMode]" broadcast "[hget /sics/ag1010/BurstPar/BurstMode]"
broadcast "[hget /sics/ag1010/BurstPar/BRepTime] ms" broadcast "[hget /sics/ag1010/BurstPar/BRepTime] ms"
broadcast "[hget /sics/ag1010/BurstPar/TimeOfPower] us" broadcast "[hget /sics/ag1010/BurstPar/TimeOfPower] us"
} else {
set HEAD 0x96
set LEN 7
set CTRL 8
set CRC 0
set ns /sics/ag1010
set BurstMode 2
set BRepTime [hval $ns/BurstPar/BRepTime]
set TimeOfPower [hval $ns/BurstPar/TimeOfPower]
foreach {arg val} $args {
switch $arg {
"mode" { if {$val<0 || $val>3} {
return -code error "Error in setValue: only allowed input values for BurstMode are {0,1,2,3}"
} else {
set BurstMode $val
} }
proc LFGetSweepPar {} { if {$BurstMode == 0} {
set MODE "Set Burst Mode to OFF"
} elseif {$BurstMode == 1} {
set MODE "Set Burtst Mode to Internal Mode"
} elseif {$BurstMode == 2} {
set MODE "Set Burst Mode to Change Burst Parameters without Changing Burst On/Off"
} else {
set MODE "Set Burst Mode to External Mode"
}
broadcast "$MODE"
}
"rtime" { set BRepTime $val
broadcast "Set Repetition Period Burst Cycle to $val ms"
}
"top" { set TimeOfPower $val
broadcast "Set Time of Power in Burst Cycle to $val us"
}
default { error "ERROR: $arg should be 'mode', 'rtime' or 'top'" }
}
}
set data [format %02x%04x%04x $BurstMode $BRepTime $TimeOfPower]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
sct_ag1010 send "$cmd"
}
}
proc LFSweep {args} {
if {$args == ""} {
broadcast "[hget /sics/ag1010/SweepPar/SweepMode]" broadcast "[hget /sics/ag1010/SweepPar/SweepMode]"
broadcast "[hget /sics/ag1010/SweepPar/StartFreq] Hz" broadcast "[hget /sics/ag1010/SweepPar/StartFreq] Hz"
broadcast "[hget /sics/ag1010/SweepPar/StepFreq] Hz" broadcast "[hget /sics/ag1010/SweepPar/StepFreq] Hz"
broadcast "[hget /sics/ag1010/SweepPar/SCyc]" broadcast "[hget /sics/ag1010/SweepPar/SCyc]"
} else {
set HEAD 0x96
set LEN 13
set CTRL 9
set CRC 0
set ns /sics/ag1010
set SweepMode 2
set SStr [expr [hval $ns/SweepPar/StartFreq] / 1000]
set SStrHz [expr [hval $ns/SweepPar/StartFreq] % 1000]
set SStp [expr [hval $ns/SweepPar/StepFreq] / 1000]
set SStpHz [expr [hval $ns/SweepPar/StepFreq] % 1000]
set SCyc [hval $ns/SweepPar/SCyc]
foreach {arg val} $args {
switch $arg {
"mode" { if {$val<0 || $val>2} {
return -code error "Error in setValue: only allowed input values for SweepMode are {0,1,2}"
} else {
set SweepMode $val
} }
proc LFGetMEAS {} { if {$SweepMode == 0} {
set MODE "Turn Off Sweep Mode"
} elseif {$SweepMode == 1} {
set MODE "Turn On Sweep Mode"
} else {
set MODE "Set Sweep Mode to Change Sweep Mode Parameters Without Changing Sweep Mode On/Off"
}
broadcast "$MODE"
}
"startF" { set SStr [expr $val / 1000]
set SStrHz [expr $val % 1000]
broadcast "Set Start Frequency in Sweep Mode to $val Hz"
}
"stepF" { set SStp [expr $val / 1000]
set SStpHz [expr $val % 1000]
broadcast "Set Step Frequency in Sweep Mode to $val Hz"
}
"scyc" { set SCyc $val
broadcast "Set Number of Steps in Full Sweep Cycle to $val"
}
default { error "ERROR: $arg should be 'mode', 'startF', 'stepF' or 'scyc'" }
}
}
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $SCyc $SStrHz $SStpHz]
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
sct_ag1010 send "$cmd"
}
}
proc LFMEAS {} {
broadcast "[hget /sics/ag1010/MEAS/ForwardPower] dW" broadcast "[hget /sics/ag1010/MEAS/ForwardPower] dW"
broadcast "[hget /sics/ag1010/MEAS/ReversePower] dW" broadcast "[hget /sics/ag1010/MEAS/ReversePower] dW"
broadcast "[hget /sics/ag1010/MEAS/Temperature] Degree" broadcast "[hget /sics/ag1010/MEAS/Temperature] Degree"
} }
publish LFSetLimitsFPL user publish LFLimits user
publish LFSetLimitsRPL user publish LFPAGC user
publish LFSetPAGC user publish LFPMGC user
publish LFSetPMGC user publish LFFREQ user
publish LFSetFREQ user publish LFMEAS user
publish LFSetBurstMode user publish LFBurst user
publish LFSetBRepTime user publish LFSweepRun user
publish LFSetBTimeOfPower user publish LFSweep user
publish LFSetSweep user
publish LFSetSweepMode user
publish LFSetSStartFreq user
publish LFSetSStepFreq user
publish LFSetSSCyc user
publish LFGetLimits user
publish LFGetPAGC user
publish LFGetPMGC user
publish LFGetFREQ user
publish LFGetBurstPar user
publish LFGetSweepPar user
publish LFGetMEAS user
# Main process call # Main process call
# @param name short name for the AG1010 Amplifier/Generator # @param name short name for the AG1010 Amplifier/Generator