change unit from dW to W
r3783 | jgn | 2012-11-02 13:30:02 +1100 (Fri, 02 Nov 2012) | 1 line
This commit is contained in:
committed by
Douglas Clowes
parent
e21b3eb135
commit
4e2ba8c458
@@ -108,20 +108,22 @@ proc ::scobj::ag1010::setValue {tc_root nextState rdPara wrPara} {
|
|||||||
broadcast "Error: The Limit for the Forward Power is 0~$ForPowerLimit dW"
|
broadcast "Error: The Limit for the Forward Power is 0~$ForPowerLimit dW"
|
||||||
return idle
|
return idle
|
||||||
} else {
|
} else {
|
||||||
set RPL [hval $ns/limits/ReversePower]
|
# scale W to dW
|
||||||
set data [format %04x%04x%04x%04x $newPara $RPL 0 0]
|
set FPL [expr int([hval $ns/limits/ForwardPower] * 10)]
|
||||||
|
set data [format %04x%04x%04x%04x $newPara $FPL 0 0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"RPL" { if {$newPara > $RefPowerLimit || $newPara < 0} {
|
"RPL" { if {$newPara > $RefPowerLimit || $newPara < 0} {
|
||||||
broadcast "Error: The Limit for the Reverse Power is 0~$RefPowerLimit dW"
|
broadcast "Error: The Limit for the Reverse Power is 0~$RefPowerLimit dW"
|
||||||
return idle
|
return idle
|
||||||
} else {
|
} else {
|
||||||
set FPL [hval $ns/limits/ForwardPower]
|
# scale W to dW
|
||||||
set data [format %04x%04x%04x%04x $FPL $newPara 0 0]
|
set RPL [expr int([hval $ns/limits/ReversePower] * 10)]
|
||||||
|
set data [format %04x%04x%04x%04x $RPL $newPara 0 0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"PAGC" { set data [format %04x $newPara] }
|
"PAGC" { set data [expr [format %04x int($newPara * 10)]] }
|
||||||
"PMGC" { set data [format %04x $newPara] }
|
"PMGC" { set data [expr [format %04x int($newPara * 10)]] }
|
||||||
"FREQ" { if {$newPara<$FreqDownLimit || $newPara>$FreqUpLimit} {
|
"FREQ" { if {$newPara<$FreqDownLimit || $newPara>$FreqUpLimit} {
|
||||||
broadcast "Error: Freqence shall be set between $FreqDownLimit Hz and $FreqUpLimit Hz"
|
broadcast "Error: Freqence shall be set between $FreqDownLimit Hz and $FreqUpLimit Hz"
|
||||||
return idle
|
return idle
|
||||||
@@ -371,8 +373,7 @@ proc ::scobj::ag1010::rdValue {} {
|
|||||||
set ns /sics/ag1010
|
set ns /sics/ag1010
|
||||||
#set ns [sct]
|
#set ns [sct]
|
||||||
if {[ catch {
|
if {[ catch {
|
||||||
set curVal [sct result]
|
set data [string trim [sct result] " "]
|
||||||
set data [string trim $curVal " "]
|
|
||||||
|
|
||||||
hset $ns/responseMsg "$data"
|
hset $ns/responseMsg "$data"
|
||||||
#broadcast "rdValue : $data"
|
#broadcast "rdValue : $data"
|
||||||
@@ -397,16 +398,19 @@ proc ::scobj::ag1010::rdValue {} {
|
|||||||
set RPLH [string range $data 10 11]
|
set RPLH [string range $data 10 11]
|
||||||
set RPLL [string range $data 12 13]
|
set RPLL [string range $data 12 13]
|
||||||
|
|
||||||
hset $ns/limits/ForwardPower [format %d [expr 0x$FPLH$FPLL]]
|
# scale dW to W
|
||||||
hset $ns/limits/ReversePower [format %d [expr 0x$RPLH$RPLL]]
|
hset $ns/limits/ForwardPower [expr [format %d [expr 0x$FPLH$FPLL]]/10.0]
|
||||||
|
hset $ns/limits/ReversePower [expr [format %d [expr 0x$RPLH$RPLL]]/10.0]
|
||||||
}
|
}
|
||||||
3 { set AGCPoH [string range $data 6 7]
|
3 { set AGCPoH [string range $data 6 7]
|
||||||
set AGCPoL [string range $data 8 9]
|
set AGCPoL [string range $data 8 9]
|
||||||
hset $ns/AGC/PAGC [format %d [expr 0x$AGCPoH$AGCPoL]]
|
# scale dW to W
|
||||||
|
hset $ns/AGC/PAGC [expr [[format %d [expr 0x$AGCPoH$AGCPoL]]/10.0]
|
||||||
}
|
}
|
||||||
4 { set MGCPoH [string range $data 6 7]
|
4 { set MGCPoH [string range $data 6 7]
|
||||||
set MGCPoL [string range $data 8 9]
|
set MGCPoL [string range $data 8 9]
|
||||||
hset $ns/MGC/PMGC [format %d [expr 0x$MGCPoH$MGCPoL]]
|
#scale by 0.1
|
||||||
|
hset $ns/MGC/PMGC [expr [format %d [expr 0x$MGCPoH$MGCPoL]]/10.0]
|
||||||
}
|
}
|
||||||
5 { set FreqH [string range $data 6 7]
|
5 { set FreqH [string range $data 6 7]
|
||||||
set FreqL [string range $data 8 9]
|
set FreqL [string range $data 8 9]
|
||||||
@@ -496,15 +500,17 @@ proc ::scobj::ag1010::rdValue {} {
|
|||||||
}
|
}
|
||||||
14 { set FPH [string range $data 6 7]
|
14 { set FPH [string range $data 6 7]
|
||||||
set FPL [string range $data 8 9]
|
set FPL [string range $data 8 9]
|
||||||
hset $ns/MEAS/ForwardPower [format %d [expr 0x$FPH$FPL]]
|
# sacle dW to W
|
||||||
|
hset $ns/MEAS/ForwardPower [expr [format %d [expr 0x$FPH$FPL]]/10.0]
|
||||||
|
|
||||||
|
# sacle dW to W
|
||||||
set RPH [string range $data 10 11]
|
set RPH [string range $data 10 11]
|
||||||
set RPL [string range $data 12 13]
|
set RPL [string range $data 12 13]
|
||||||
hset $ns/MEAS/ReversePower [format %d [expr 0x$RPH$RPL]]
|
hset $ns/MEAS/ReversePower [expr [format %d [expr 0x$RPH$RPL]]/10.0]
|
||||||
|
|
||||||
set TPH [string range $data 18 19]
|
set TPH [string range $data 18 19]
|
||||||
set TPL [string range $data 20 21]
|
set TPL [string range $data 20 21]
|
||||||
hset $ns/MEAS/Temperature [format %d [expr 0x$TPH$TPL / 26.4]]
|
hset $ns/MEAS/Temperature [expr [format %d [expr 0x$TPH$TPL]]/ 26.4]
|
||||||
}
|
}
|
||||||
15 { set MainState [format %d 0x[string range $data 6 7]]
|
15 { set MainState [format %d 0x[string range $data 6 7]]
|
||||||
switch $MainState {
|
switch $MainState {
|
||||||
@@ -582,13 +588,8 @@ proc ::scobj::ag1010::rdValue {} {
|
|||||||
hset $ns/STA/keyState/Key3 "Off"
|
hset $ns/STA/keyState/Key3 "Off"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default { return -code error "Unexpected returned values from the device in rdValue()" }
|
default { return -code error "Unexpected returned values from the device in rdValue()" }
|
||||||
}
|
}
|
||||||
if {$curVal != [sct oldval]} {
|
|
||||||
sct oldval $curVal
|
|
||||||
sct update $curVal
|
|
||||||
sct utime readtime
|
|
||||||
}
|
|
||||||
} message ]} {
|
} message ]} {
|
||||||
return -code error "Error in rdValue: $message."
|
return -code error "Error in rdValue: $message."
|
||||||
}
|
}
|
||||||
@@ -627,9 +628,11 @@ proc createNode {scobj_hpath sct_controller cmdGroup varName readable writable p
|
|||||||
}
|
}
|
||||||
hfactory $nodeName plain $permission $dataType
|
hfactory $nodeName plain $permission $dataType
|
||||||
switch $dataType {
|
switch $dataType {
|
||||||
"int" {hsetprop $nodeName oldval 0}
|
"none" {hset $nodeName none}
|
||||||
"float" {hsetprop $nodeName oldval 0.0}
|
"text" {hset $nodeName UNKNOWN}
|
||||||
default {hsetprop $nodeName oldval UNKNOWN}
|
"int" {hset $nodeName 0}
|
||||||
|
"float" {hset $nodeName 0.0}
|
||||||
|
default {hset $nodeName UNKNOWN}
|
||||||
}
|
}
|
||||||
if {$readable == 1} {
|
if {$readable == 1} {
|
||||||
hsetprop $nodeName read ${ns}::getValue $scobj_hpath $rdFunc $rdPara
|
hsetprop $nodeName read ${ns}::getValue $scobj_hpath $rdFunc $rdPara
|
||||||
@@ -718,12 +721,12 @@ proc ::scobj::ag1010::mkAG {argList} {
|
|||||||
|
|
||||||
set deviceCommandToplevel {
|
set deviceCommandToplevel {
|
||||||
P limits 1 0 1 1 none {} spy {2 18} {rdValue} {} {}
|
P limits 1 0 1 1 none {} spy {2 18} {rdValue} {} {}
|
||||||
limits ForwardPower 0 0 0 1 int {dW} user {} {} {} {}
|
limits ForwardPower 0 0 0 1 float {W} user {} {} {} {}
|
||||||
limits ReversePower 0 0 0 1 int {dW} user {} {} {} {}
|
limits ReversePower 0 0 0 1 float {W} user {} {} {} {}
|
||||||
P AGC 1 0 1 1 none {} user {2 19} {rdValue} {} {}
|
P AGC 1 0 1 1 none {} user {2 19} {rdValue} {} {}
|
||||||
AGC PAGC 0 0 0 1 int {dW} user {} {} {} {}
|
AGC PAGC 0 0 0 1 float {W} user {} {} {} {}
|
||||||
P MGC 1 0 1 1 none {} user {2 20} {rdValue} {} {}
|
P MGC 1 0 1 1 none {} user {2 20} {rdValue} {} {}
|
||||||
MGC PMGC 0 0 0 1 int {dW} user {} {} {} {}
|
MGC PMGC 0 0 0 1 float {} user {} {} {} {}
|
||||||
P FRE 1 0 1 1 none {} user {2 21} {rdValue} {} {}
|
P FRE 1 0 1 1 none {} user {2 21} {rdValue} {} {}
|
||||||
FRE FREQ 0 0 0 1 int {Hz} user {} {} {} {}
|
FRE FREQ 0 0 0 1 int {Hz} user {} {} {} {}
|
||||||
P SKEY 1 0 1 1 none {} spy {3 23} {rdValue} {} {}
|
P SKEY 1 0 1 1 none {} spy {3 23} {rdValue} {} {}
|
||||||
@@ -746,10 +749,10 @@ proc ::scobj::ag1010::mkAG {argList} {
|
|||||||
SVER SWVersion 0 0 0 1 text {} user {} {} {} {}
|
SVER SWVersion 0 0 0 1 text {} user {} {} {} {}
|
||||||
SVER DeviceVersion 0 0 0 1 text {} user {} {} {} {}
|
SVER DeviceVersion 0 0 0 1 text {} user {} {} {} {}
|
||||||
P MEAS 1 0 1 1 none {} spy {2 30} {rdValue} {} {}
|
P MEAS 1 0 1 1 none {} spy {2 30} {rdValue} {} {}
|
||||||
MEAS ForwardPower 0 0 0 1 int {dW} user {} {} {} {}
|
MEAS ForwardPower 0 0 0 1 float {W} user {} {} {} {}
|
||||||
MEAS ReversePower 0 0 0 1 int {dW} user {} {} {} {}
|
MEAS ReversePower 0 0 0 1 float {W} user {} {} {} {}
|
||||||
MEAS Temperature 0 0 0 1 int {0C} user {} {} {} {}
|
MEAS Temperature 0 0 0 1 float {0C} user {} {} {} {}
|
||||||
P STA 1 0 1 1 none {} spy {2 31} {rdValue} {} {}
|
P STA 1 0 1 1 none {} spy {2 31} {rdValue} {} {}
|
||||||
STA MainState 0 0 0 1 text {} user {} {} {} {}
|
STA MainState 0 0 0 1 text {} user {} {} {} {}
|
||||||
STA State 0 0 0 1 int {} user {} {} {} {}
|
STA State 0 0 0 1 int {} user {} {} {} {}
|
||||||
STA/State FstRemote 0 0 0 1 text {} user {} {} {} {}
|
STA/State FstRemote 0 0 0 1 text {} user {} {} {} {}
|
||||||
@@ -768,10 +771,10 @@ proc ::scobj::ag1010::mkAG {argList} {
|
|||||||
|
|
||||||
P responseMsg 0 0 0 1 text {} spy {2 42} {} {} {}
|
P responseMsg 0 0 0 1 text {} spy {2 42} {} {} {}
|
||||||
|
|
||||||
P SetLimitsFPL 0 1 1 1 int {dW} user {10 2} {rdValue} {FPL} {}
|
P SetLimitsFPL 0 1 1 1 float {W} user {10 2} {rdValue} {FPL} {}
|
||||||
P SetLimitsRPL 0 1 1 1 int {dW} user {10 2} {rdValue} {RPL} {}
|
P SetLimitsRPL 0 1 1 1 float {W} user {10 2} {rdValue} {RPL} {}
|
||||||
P SetPAGC 0 1 1 1 int {dW} user {4 3} {rdValue} {PAGC} {}
|
P SetPAGC 0 1 1 1 float {W} user {4 3} {rdValue} {PAGC} {}
|
||||||
P SetPMGC 0 1 1 1 int {dW} user {4 4} {rdValue} {PMGC} {}
|
P SetPMGC 0 1 1 1 float {} user {4 4} {rdValue} {PMGC} {}
|
||||||
P SetFREQ 0 1 1 1 int {Hz} user {6 5} {rdValue} {FREQ} {}
|
P SetFREQ 0 1 1 1 int {Hz} user {6 5} {rdValue} {FREQ} {}
|
||||||
P SetSoftOn 0 1 1 1 int {} user {3 7} {rdValue} {SoftOn} {1,0}
|
P SetSoftOn 0 1 1 1 int {} user {3 7} {rdValue} {SoftOn} {1,0}
|
||||||
P SetKey1 0 1 1 1 int {} user {3 7} {rdValue} {Key1} {1,0}
|
P SetKey1 0 1 1 1 int {} user {3 7} {rdValue} {Key1} {1,0}
|
||||||
@@ -838,7 +841,7 @@ namespace import ::scobj::ag1010::par
|
|||||||
proc lf_pagc {{para ""} args} {
|
proc lf_pagc {{para ""} args} {
|
||||||
|
|
||||||
if {$para == ""} {
|
if {$para == ""} {
|
||||||
broadcast "[hget /instrument/ag1010/AGC/PAGC] dW"
|
broadcast "[hget /instrument/ag1010/AGC/PAGC] W"
|
||||||
} else {
|
} else {
|
||||||
set HEAD 0x96
|
set HEAD 0x96
|
||||||
set LEN 4
|
set LEN 4
|
||||||
@@ -848,10 +851,12 @@ proc lf_pagc {{para ""} args} {
|
|||||||
set ns /instrument/ag1010
|
set ns /instrument/ag1010
|
||||||
set newPara [string trim $para " "]
|
set newPara [string trim $para " "]
|
||||||
|
|
||||||
|
# scale W to dW
|
||||||
|
set newPara [expr int($newPara * 10)]
|
||||||
set data [format %04x $newPara]
|
set data [format %04x $newPara]
|
||||||
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
||||||
|
|
||||||
broadcast "Set Power Level for AGC mode to $newPara dW"
|
broadcast "Set Power Level for AGC mode to $newPara W"
|
||||||
sct_ag1010 send "$cmd"
|
sct_ag1010 send "$cmd"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -859,7 +864,7 @@ proc lf_pagc {{para ""} args} {
|
|||||||
proc lf_pmgc {{para ""} args} {
|
proc lf_pmgc {{para ""} args} {
|
||||||
|
|
||||||
if {$para == ""} {
|
if {$para == ""} {
|
||||||
broadcast "[hget /instrument/ag1010/MGC/PMGC] dW"
|
broadcast "[hget /instrument/ag1010/MGC/PMGC]%"
|
||||||
} else {
|
} else {
|
||||||
set HEAD 0x96
|
set HEAD 0x96
|
||||||
set LEN 4
|
set LEN 4
|
||||||
@@ -869,10 +874,12 @@ proc lf_pmgc {{para ""} args} {
|
|||||||
set ns /instrument/ag1010
|
set ns /instrument/ag1010
|
||||||
set newPara [string trim $para " "]
|
set newPara [string trim $para " "]
|
||||||
|
|
||||||
|
# scale by 10
|
||||||
|
set newPara [expr int($newPara * 10)]
|
||||||
set data [format %04x $newPara]
|
set data [format %04x $newPara]
|
||||||
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
||||||
|
|
||||||
broadcast "Set Power Level for MGC mode to $newPara dW"
|
broadcast "Set Power Level for MGC mode to $newPara%"
|
||||||
sct_ag1010 send "$cmd"
|
sct_ag1010 send "$cmd"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -932,8 +939,8 @@ proc lf_sweep_run {startF stepF scyc {mode 2} args} {
|
|||||||
proc lf_limits {args} {
|
proc lf_limits {args} {
|
||||||
|
|
||||||
if {$args == ""} {
|
if {$args == ""} {
|
||||||
broadcast "[hget /instrument/ag1010/limits/ForwardPower] dW"
|
broadcast "[hget /instrument/ag1010/limits/ForwardPower] W"
|
||||||
broadcast "[hget /instrument/ag1010/limits/ReversePower] dW"
|
broadcast "[hget /instrument/ag1010/limits/ReversePower] W"
|
||||||
} else {
|
} else {
|
||||||
set HEAD 0x96
|
set HEAD 0x96
|
||||||
set LEN 10
|
set LEN 10
|
||||||
@@ -945,21 +952,25 @@ proc lf_limits {args} {
|
|||||||
foreach {arg val} $args {
|
foreach {arg val} $args {
|
||||||
switch $arg {
|
switch $arg {
|
||||||
"FPL" { if {$val > 10040 || $val < 0} {
|
"FPL" { if {$val > 10040 || $val < 0} {
|
||||||
broadcast "Error: The Limit for the Forward Power is 0~10040 dW"
|
broadcast "Error: The Limit for the Forward Power is 0~10040 W"
|
||||||
} else {
|
} else {
|
||||||
set RPL [hval $ns/limits/ReversePower]
|
set FPL [hval $ns/limits/ForwardPower]
|
||||||
set data [format %04x%04x%04x%04x $val $RPL 0 0]
|
# scale W to dW
|
||||||
|
set FPL [expr int($FPL * 10)]
|
||||||
|
set data [format %04x%04x%04x%04x $val $FPL 0 0]
|
||||||
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
||||||
|
|
||||||
broadcast "Set Forward Power Limits to $val dW"
|
broadcast "Set Forward Power Limits to $val W"
|
||||||
sct_ag1010 send "$cmd"
|
sct_ag1010 send "$cmd"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"RPL" { if {$val > 1630 || $val < 0} {
|
"RPL" { if {$val > 1630 || $val < 0} {
|
||||||
broadcast "Error: The Limit for the Reflected Power is 0~1630 dW"
|
broadcast "Error: The Limit for the Reflected Power is 0~1630 dW"
|
||||||
} else {
|
} else {
|
||||||
set FPL [hval $ns/limits/ForwardPower]
|
set RPL [hval $ns/limits/ReversePower]
|
||||||
set data [format %04x%04x%04x%04x $FPL $val 0 0]
|
# scale W to dW
|
||||||
|
set RPL [expr int($RPL * 10)]
|
||||||
|
set data [format %04x%04x%04x%04x $RPL $val 0 0]
|
||||||
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
||||||
|
|
||||||
broadcast "Set Reverse Power Limits to $val dW"
|
broadcast "Set Reverse Power Limits to $val dW"
|
||||||
@@ -1075,15 +1086,15 @@ proc lf_sweep {args} {
|
|||||||
|
|
||||||
broadcast "Set Step Frequency in Sweep Mode to $val Hz"
|
broadcast "Set Step Frequency in Sweep Mode to $val Hz"
|
||||||
}
|
}
|
||||||
"scyc" { set SCyc $val
|
"np" { set np $val
|
||||||
|
|
||||||
broadcast "Set Number of Steps in Full Sweep Cycle to $val"
|
broadcast "Set Number of Steps in Full Sweep Cycle to $val"
|
||||||
}
|
}
|
||||||
default { error "ERROR: $arg should be 'mode', 'startF', 'stepF' or 'scyc'" }
|
default { error "ERROR: $arg should be 'mode', 'startF', 'stepF' or 'np'" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $SCyc $SStrHz $SStpHz]
|
set data [format %02x%02x%02x%02x%02x%02x $SweepMode $SStr $SStp $np $SStrHz $SStpHz]
|
||||||
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
set cmd [format %02x%02x%02x%s%02x $HEAD $LEN $CTRL $data $CRC]
|
||||||
sct_ag1010 send "$cmd"
|
sct_ag1010 send "$cmd"
|
||||||
}
|
}
|
||||||
@@ -1091,8 +1102,8 @@ proc lf_sweep {args} {
|
|||||||
|
|
||||||
proc lf_meas {} {
|
proc lf_meas {} {
|
||||||
|
|
||||||
broadcast "[hget /instrument/ag1010/MEAS/ForwardPower] dW"
|
broadcast "[hget /instrument/ag1010/MEAS/ForwardPower] W"
|
||||||
broadcast "[hget /instrument/ag1010/MEAS/ReversePower] dW"
|
broadcast "[hget /instrument/ag1010/MEAS/ReversePower] W"
|
||||||
broadcast "[hget /instrument/ag1010/MEAS/Temperature] Degree"
|
broadcast "[hget /instrument/ag1010/MEAS/Temperature] Degree"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1112,15 +1123,13 @@ publish lf_sweep user
|
|||||||
# @param turning if the parameter is turnable and can be set from the Gumtree
|
# @param turning if the parameter is turnable and can be set from the Gumtree
|
||||||
# @internal time internal in polling the nodes
|
# @internal time internal in polling the nodes
|
||||||
|
|
||||||
|
|
||||||
# IP 137.157.202.219
|
# IP 137.157.202.219
|
||||||
# Following lines are sued to create the driver
|
::scobj::ag1010::mkAG {
|
||||||
#::scobj::ag1010::mkAG {
|
name "ag1010"
|
||||||
# name "ag1010"
|
IP 137.157.202.219
|
||||||
# IP 137.157.202.219
|
PORT 4001
|
||||||
# PORT 4001
|
tuning 1
|
||||||
# tuning 1
|
interval 5
|
||||||
# interval 5
|
}
|
||||||
#}
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user