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"
|
||||
return idle
|
||||
} else {
|
||||
set RPL [hval $ns/limits/ReversePower]
|
||||
set data [format %04x%04x%04x%04x $newPara $RPL 0 0]
|
||||
# scale W to dW
|
||||
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} {
|
||||
broadcast "Error: The Limit for the Reverse Power is 0~$RefPowerLimit dW"
|
||||
return idle
|
||||
} else {
|
||||
set FPL [hval $ns/limits/ForwardPower]
|
||||
set data [format %04x%04x%04x%04x $FPL $newPara 0 0]
|
||||
# scale W to dW
|
||||
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] }
|
||||
"PMGC" { set data [format %04x $newPara] }
|
||||
"PAGC" { set data [expr [format %04x int($newPara * 10)]] }
|
||||
"PMGC" { set data [expr [format %04x int($newPara * 10)]] }
|
||||
"FREQ" { if {$newPara<$FreqDownLimit || $newPara>$FreqUpLimit} {
|
||||
broadcast "Error: Freqence shall be set between $FreqDownLimit Hz and $FreqUpLimit Hz"
|
||||
return idle
|
||||
@@ -371,8 +373,7 @@ proc ::scobj::ag1010::rdValue {} {
|
||||
set ns /sics/ag1010
|
||||
#set ns [sct]
|
||||
if {[ catch {
|
||||
set curVal [sct result]
|
||||
set data [string trim $curVal " "]
|
||||
set data [string trim [sct result] " "]
|
||||
|
||||
hset $ns/responseMsg "$data"
|
||||
#broadcast "rdValue : $data"
|
||||
@@ -397,16 +398,19 @@ proc ::scobj::ag1010::rdValue {} {
|
||||
set RPLH [string range $data 10 11]
|
||||
set RPLL [string range $data 12 13]
|
||||
|
||||
hset $ns/limits/ForwardPower [format %d [expr 0x$FPLH$FPLL]]
|
||||
hset $ns/limits/ReversePower [format %d [expr 0x$RPLH$RPLL]]
|
||||
# scale dW to W
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
set FreqL [string range $data 8 9]
|
||||
@@ -496,15 +500,17 @@ proc ::scobj::ag1010::rdValue {} {
|
||||
}
|
||||
14 { set FPH [string range $data 6 7]
|
||||
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 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 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]]
|
||||
switch $MainState {
|
||||
@@ -582,13 +588,8 @@ proc ::scobj::ag1010::rdValue {} {
|
||||
hset $ns/STA/keyState/Key3 "Off"
|
||||
}
|
||||
}
|
||||
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
|
||||
}
|
||||
default { return -code error "Unexpected returned values from the device 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
|
||||
switch $dataType {
|
||||
"int" {hsetprop $nodeName oldval 0}
|
||||
"float" {hsetprop $nodeName oldval 0.0}
|
||||
default {hsetprop $nodeName oldval UNKNOWN}
|
||||
"none" {hset $nodeName none}
|
||||
"text" {hset $nodeName UNKNOWN}
|
||||
"int" {hset $nodeName 0}
|
||||
"float" {hset $nodeName 0.0}
|
||||
default {hset $nodeName UNKNOWN}
|
||||
}
|
||||
if {$readable == 1} {
|
||||
hsetprop $nodeName read ${ns}::getValue $scobj_hpath $rdFunc $rdPara
|
||||
@@ -718,12 +721,12 @@ proc ::scobj::ag1010::mkAG {argList} {
|
||||
|
||||
set deviceCommandToplevel {
|
||||
P limits 1 0 1 1 none {} spy {2 18} {rdValue} {} {}
|
||||
limits ForwardPower 0 0 0 1 int {dW} user {} {} {} {}
|
||||
limits ReversePower 0 0 0 1 int {dW} user {} {} {} {}
|
||||
limits ForwardPower 0 0 0 1 float {W} user {} {} {} {}
|
||||
limits ReversePower 0 0 0 1 float {W} user {} {} {} {}
|
||||
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} {} {}
|
||||
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} {} {}
|
||||
FRE FREQ 0 0 0 1 int {Hz} user {} {} {} {}
|
||||
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 DeviceVersion 0 0 0 1 text {} user {} {} {} {}
|
||||
P MEAS 1 0 1 1 none {} spy {2 30} {rdValue} {} {}
|
||||
MEAS ForwardPower 0 0 0 1 int {dW} user {} {} {} {}
|
||||
MEAS ReversePower 0 0 0 1 int {dW} user {} {} {} {}
|
||||
MEAS Temperature 0 0 0 1 int {0C} user {} {} {} {}
|
||||
P STA 1 0 1 1 none {} spy {2 31} {rdValue} {} {}
|
||||
MEAS ForwardPower 0 0 0 1 float {W} user {} {} {} {}
|
||||
MEAS ReversePower 0 0 0 1 float {W} user {} {} {} {}
|
||||
MEAS Temperature 0 0 0 1 float {0C} user {} {} {} {}
|
||||
P STA 1 0 1 1 none {} spy {2 31} {rdValue} {} {}
|
||||
STA MainState 0 0 0 1 text {} user {} {} {} {}
|
||||
STA State 0 0 0 1 int {} 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 SetLimitsFPL 0 1 1 1 int {dW} user {10 2} {rdValue} {FPL} {}
|
||||
P SetLimitsRPL 0 1 1 1 int {dW} user {10 2} {rdValue} {RPL} {}
|
||||
P SetPAGC 0 1 1 1 int {dW} user {4 3} {rdValue} {PAGC} {}
|
||||
P SetPMGC 0 1 1 1 int {dW} user {4 4} {rdValue} {PMGC} {}
|
||||
P SetLimitsFPL 0 1 1 1 float {W} user {10 2} {rdValue} {FPL} {}
|
||||
P SetLimitsRPL 0 1 1 1 float {W} user {10 2} {rdValue} {RPL} {}
|
||||
P SetPAGC 0 1 1 1 float {W} user {4 3} {rdValue} {PAGC} {}
|
||||
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 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}
|
||||
@@ -838,7 +841,7 @@ namespace import ::scobj::ag1010::par
|
||||
proc lf_pagc {{para ""} args} {
|
||||
|
||||
if {$para == ""} {
|
||||
broadcast "[hget /instrument/ag1010/AGC/PAGC] dW"
|
||||
broadcast "[hget /instrument/ag1010/AGC/PAGC] W"
|
||||
} else {
|
||||
set HEAD 0x96
|
||||
set LEN 4
|
||||
@@ -848,10 +851,12 @@ proc lf_pagc {{para ""} args} {
|
||||
set ns /instrument/ag1010
|
||||
set newPara [string trim $para " "]
|
||||
|
||||
# scale W to dW
|
||||
set newPara [expr int($newPara * 10)]
|
||||
set data [format %04x $newPara]
|
||||
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"
|
||||
}
|
||||
}
|
||||
@@ -859,7 +864,7 @@ proc lf_pagc {{para ""} args} {
|
||||
proc lf_pmgc {{para ""} args} {
|
||||
|
||||
if {$para == ""} {
|
||||
broadcast "[hget /instrument/ag1010/MGC/PMGC] dW"
|
||||
broadcast "[hget /instrument/ag1010/MGC/PMGC]%"
|
||||
} else {
|
||||
set HEAD 0x96
|
||||
set LEN 4
|
||||
@@ -869,10 +874,12 @@ proc lf_pmgc {{para ""} args} {
|
||||
set ns /instrument/ag1010
|
||||
set newPara [string trim $para " "]
|
||||
|
||||
# scale by 10
|
||||
set newPara [expr int($newPara * 10)]
|
||||
set data [format %04x $newPara]
|
||||
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"
|
||||
}
|
||||
}
|
||||
@@ -932,8 +939,8 @@ proc lf_sweep_run {startF stepF scyc {mode 2} args} {
|
||||
proc lf_limits {args} {
|
||||
|
||||
if {$args == ""} {
|
||||
broadcast "[hget /instrument/ag1010/limits/ForwardPower] dW"
|
||||
broadcast "[hget /instrument/ag1010/limits/ReversePower] dW"
|
||||
broadcast "[hget /instrument/ag1010/limits/ForwardPower] W"
|
||||
broadcast "[hget /instrument/ag1010/limits/ReversePower] W"
|
||||
} else {
|
||||
set HEAD 0x96
|
||||
set LEN 10
|
||||
@@ -945,21 +952,25 @@ proc lf_limits {args} {
|
||||
foreach {arg val} $args {
|
||||
switch $arg {
|
||||
"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 {
|
||||
set RPL [hval $ns/limits/ReversePower]
|
||||
set data [format %04x%04x%04x%04x $val $RPL 0 0]
|
||||
set FPL [hval $ns/limits/ForwardPower]
|
||||
# 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]
|
||||
|
||||
broadcast "Set Forward Power Limits to $val dW"
|
||||
broadcast "Set Forward Power Limits to $val W"
|
||||
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 RPL [hval $ns/limits/ReversePower]
|
||||
# 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]
|
||||
|
||||
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"
|
||||
}
|
||||
"scyc" { set SCyc $val
|
||||
"np" { set np $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]
|
||||
sct_ag1010 send "$cmd"
|
||||
}
|
||||
@@ -1091,8 +1102,8 @@ proc lf_sweep {args} {
|
||||
|
||||
proc lf_meas {} {
|
||||
|
||||
broadcast "[hget /instrument/ag1010/MEAS/ForwardPower] dW"
|
||||
broadcast "[hget /instrument/ag1010/MEAS/ReversePower] dW"
|
||||
broadcast "[hget /instrument/ag1010/MEAS/ForwardPower] W"
|
||||
broadcast "[hget /instrument/ag1010/MEAS/ReversePower] W"
|
||||
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
|
||||
# @internal time internal in polling the nodes
|
||||
|
||||
|
||||
# IP 137.157.202.219
|
||||
# Following lines are sued to create the driver
|
||||
#::scobj::ag1010::mkAG {
|
||||
# name "ag1010"
|
||||
# IP 137.157.202.219
|
||||
# PORT 4001
|
||||
# tuning 1
|
||||
# interval 5
|
||||
#}
|
||||
::scobj::ag1010::mkAG {
|
||||
name "ag1010"
|
||||
IP 137.157.202.219
|
||||
PORT 4001
|
||||
tuning 1
|
||||
interval 5
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user