Regen SCT driver
This commit is contained in:
@ -81,21 +81,45 @@ proc ::scobj::aerolas_doppler::getFloat {tc_root nextState cmd_str} {
|
||||
}
|
||||
|
||||
# function to request the read of a parameter on a device
|
||||
proc ::scobj::aerolas_doppler::getInteger {tc_root nextState cmd_str} {
|
||||
proc ::scobj::aerolas_doppler::getULong {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "getInteger tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
debug_log ${tc_root} 1 "getULong tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set cmd "${cmd_str}"
|
||||
# getInteger hook code starts
|
||||
set cmd "1:3:${cmd_str}:1:U16"
|
||||
# getInteger hook code ends
|
||||
# getULong hook code starts
|
||||
set cmd "1:3:${cmd_str}:1:U32"
|
||||
# getULong hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
debug_log ${tc_root} 9 "[sct] error: [sct geterror]"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
debug_log ${tc_root} 1 "getInteger sct send ${cmd}"
|
||||
debug_log ${tc_root} 1 "getULong sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
return ${nextState}
|
||||
} catch_message ]
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to request the read of a parameter on a device
|
||||
proc ::scobj::aerolas_doppler::getUShort {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "getUShort tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set cmd "${cmd_str}"
|
||||
# getUShort hook code starts
|
||||
set cmd "1:3:${cmd_str}:1:U16"
|
||||
# getUShort hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
debug_log ${tc_root} 9 "[sct] error: [sct geterror]"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
debug_log ${tc_root} 1 "getUShort sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
@ -141,9 +165,9 @@ proc ::scobj::aerolas_doppler::rdFloat {tc_root} {
|
||||
}
|
||||
|
||||
# function to parse the read of a parameter on a device
|
||||
proc ::scobj::aerolas_doppler::rdInteger {tc_root} {
|
||||
proc ::scobj::aerolas_doppler::rdULong {tc_root} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "rdInteger tc_root=${tc_root} sct=[sct] result=[sct result]"
|
||||
debug_log ${tc_root} 1 "rdULong tc_root=${tc_root} sct=[sct] result=[sct result]"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
@ -154,7 +178,7 @@ proc ::scobj::aerolas_doppler::rdInteger {tc_root} {
|
||||
sct geterror "${data}"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
# rdInteger hook code goes here
|
||||
# rdULong hook code goes here
|
||||
if { ${data} != [sct oldval] } {
|
||||
debug_log ${tc_root} 1 "[sct] changed to new:${data}, from old:[sct oldval]"
|
||||
sct oldval ${data}
|
||||
@ -166,6 +190,56 @@ proc ::scobj::aerolas_doppler::rdInteger {tc_root} {
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to parse the read of a parameter on a device
|
||||
proc ::scobj::aerolas_doppler::rdUShort {tc_root} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "rdUShort tc_root=${tc_root} sct=[sct] result=[sct result]"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set data [sct result]
|
||||
set nextState "idle"
|
||||
if {[string equal -nocase -length 7 ${data} "ASCERR:"]} {
|
||||
# the protocol driver has reported an error
|
||||
sct geterror "${data}"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
# rdUShort hook code goes here
|
||||
if { ${data} != [sct oldval] } {
|
||||
debug_log ${tc_root} 1 "[sct] changed to new:${data}, from old:[sct oldval]"
|
||||
sct oldval ${data}
|
||||
sct update ${data}
|
||||
sct utime readtime
|
||||
}
|
||||
return ${nextState}
|
||||
} catch_message ]
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to write a parameter value on a device
|
||||
proc ::scobj::aerolas_doppler::setValue {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "setValue tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set par [sct target]
|
||||
set cmd "${cmd_str}${par}"
|
||||
# setValue hook code goes here
|
||||
if { [hpropexists [sct] driving] } {
|
||||
if { [hpropexists [sct] writestatus] && [sct writestatus] == "start" } {
|
||||
sct driving 1
|
||||
}
|
||||
}
|
||||
debug_log ${tc_root} 1 "setValue sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
return ${nextState}
|
||||
} catch_message ]
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to write a parameter value on a device
|
||||
proc ::scobj::aerolas_doppler::wrFloat {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
@ -197,17 +271,17 @@ proc ::scobj::aerolas_doppler::wrFloat {tc_root nextState cmd_str} {
|
||||
}
|
||||
|
||||
# function to write a parameter value on a device
|
||||
proc ::scobj::aerolas_doppler::wrInteger {tc_root nextState cmd_str} {
|
||||
proc ::scobj::aerolas_doppler::wrULong {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "wrInteger tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
debug_log ${tc_root} 1 "wrULong tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set par [sct target]
|
||||
set cmd "${cmd_str}${par}"
|
||||
# wrInteger hook code starts
|
||||
set cmd "1:16:${cmd_str}:1:U16:${par}"
|
||||
# wrInteger hook code ends
|
||||
# wrULong hook code starts
|
||||
set cmd "1:16:${cmd_str}:1:U32:${par}"
|
||||
# wrULong hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
debug_log ${tc_root} 9 "[sct] error: [sct geterror]"
|
||||
error "[sct geterror]"
|
||||
@ -217,7 +291,37 @@ proc ::scobj::aerolas_doppler::wrInteger {tc_root nextState cmd_str} {
|
||||
sct driving 1
|
||||
}
|
||||
}
|
||||
debug_log ${tc_root} 1 "wrInteger sct send ${cmd}"
|
||||
debug_log ${tc_root} 1 "wrULong sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
return ${nextState}
|
||||
} catch_message ]
|
||||
handle_exception ${catch_status} ${catch_message}
|
||||
}
|
||||
|
||||
# function to write a parameter value on a device
|
||||
proc ::scobj::aerolas_doppler::wrUShort {tc_root nextState cmd_str} {
|
||||
set catch_status [ catch {
|
||||
debug_log ${tc_root} 1 "wrUShort tc_root=${tc_root} sct=[sct] cmd=${cmd_str}"
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
hdelprop [sct] geterror
|
||||
}
|
||||
set par [sct target]
|
||||
set cmd "${cmd_str}${par}"
|
||||
# wrUShort hook code starts
|
||||
set cmd "1:16:${cmd_str}:1:U16:${par}"
|
||||
# wrUShort hook code ends
|
||||
if { [hpropexists [sct] geterror] } {
|
||||
debug_log ${tc_root} 9 "[sct] error: [sct geterror]"
|
||||
error "[sct geterror]"
|
||||
}
|
||||
if { [hpropexists [sct] driving] } {
|
||||
if { [hpropexists [sct] writestatus] && [sct writestatus] == "start" } {
|
||||
sct driving 1
|
||||
}
|
||||
}
|
||||
debug_log ${tc_root} 1 "wrUShort sct send ${cmd}"
|
||||
if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} {
|
||||
sct send "${cmd}"
|
||||
}
|
||||
@ -249,6 +353,9 @@ proc ::scobj::aerolas_doppler::mkDriver { sct_controller name device_class simul
|
||||
hsetprop ${scobj_hpath}/amplitude data true
|
||||
hsetprop ${scobj_hpath}/amplitude mutable true
|
||||
hsetprop ${scobj_hpath}/amplitude nxsave true
|
||||
hsetprop ${scobj_hpath}/amplitude lowerlimit 0
|
||||
hsetprop ${scobj_hpath}/amplitude upperlimit 75
|
||||
hsetprop ${scobj_hpath}/amplitude units mm
|
||||
hsetprop ${scobj_hpath}/amplitude oldval 0.0
|
||||
hsetprop ${scobj_hpath}/amplitude klass "parameter"
|
||||
hsetprop ${scobj_hpath}/amplitude sdsinfo "::nexus::scobj::sdsinfo"
|
||||
@ -265,9 +372,9 @@ proc ::scobj::aerolas_doppler::mkDriver { sct_controller name device_class simul
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/run_cmd plain user int
|
||||
hsetprop ${scobj_hpath}/run_cmd read ${ns}::getInteger ${scobj_hpath} rdInteger {1}
|
||||
hsetprop ${scobj_hpath}/run_cmd rdInteger ${ns}::rdInteger ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/run_cmd write ${ns}::wrInteger ${scobj_hpath} noResponse {1}
|
||||
hsetprop ${scobj_hpath}/run_cmd read ${ns}::getUShort ${scobj_hpath} rdUShort {1}
|
||||
hsetprop ${scobj_hpath}/run_cmd rdUShort ${ns}::rdUShort ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/run_cmd write ${ns}::wrUShort ${scobj_hpath} noResponse {1}
|
||||
hsetprop ${scobj_hpath}/run_cmd noResponse ${ns}::noResponse ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/run_cmd check ${ns}::checkrange ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/run_cmd control true
|
||||
@ -300,6 +407,9 @@ proc ::scobj::aerolas_doppler::mkDriver { sct_controller name device_class simul
|
||||
hsetprop ${scobj_hpath}/velocity data true
|
||||
hsetprop ${scobj_hpath}/velocity mutable true
|
||||
hsetprop ${scobj_hpath}/velocity nxsave true
|
||||
hsetprop ${scobj_hpath}/velocity lowerlimit 0
|
||||
hsetprop ${scobj_hpath}/velocity upperlimit 4700
|
||||
hsetprop ${scobj_hpath}/velocity units mm/S
|
||||
hsetprop ${scobj_hpath}/velocity oldval 0.0
|
||||
hsetprop ${scobj_hpath}/velocity klass "parameter"
|
||||
hsetprop ${scobj_hpath}/velocity sdsinfo "::nexus::scobj::sdsinfo"
|
||||
@ -318,6 +428,357 @@ proc ::scobj::aerolas_doppler::mkDriver { sct_controller name device_class simul
|
||||
hsetprop ${scobj_hpath} data "true"
|
||||
hsetprop ${scobj_hpath} klass "@none"
|
||||
hsetprop ${scobj_hpath} type "part"
|
||||
|
||||
hfactory ${scobj_hpath}/read_only plain spy none
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/arc_state plain user int
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state read ${ns}::getUShort ${scobj_hpath} rdUShort {1017}
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state rdUShort ${ns}::rdUShort ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state control true
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state data false
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state oldval 0
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state nxalias "${name}_read_only_arc_state"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/arc_state 1
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/arc_state simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/braking_distance plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance read ${ns}::getFloat ${scobj_hpath} rdFloat {1022}
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance control true
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance data false
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance nxalias "${name}_read_only_braking_distance"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/braking_distance 1
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/braking_distance simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/calc_error_code plain user int
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code read ${ns}::getULong ${scobj_hpath} rdULong {1020}
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code rdULong ${ns}::rdULong ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code control true
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code data false
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code oldval 0
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code nxalias "${name}_read_only_calc_error_code"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/calc_error_code 1
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/calc_error_code simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/continuous_acceleration plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration read ${ns}::getFloat ${scobj_hpath} rdFloat {1026}
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration control true
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration data false
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration nxalias "${name}_read_only_continuous_acceleration"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/continuous_acceleration 1
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/continuous_acceleration simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/maximum_acceleration plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration read ${ns}::getFloat ${scobj_hpath} rdFloat {1028}
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration control true
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration data false
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration nxalias "${name}_read_only_maximum_acceleration"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/maximum_acceleration 1
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/maximum_acceleration simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/move_abs_counter plain user int
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter read ${ns}::getULong ${scobj_hpath} rdULong {1006}
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter rdULong ${ns}::rdULong ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter control true
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter data false
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter oldval 0
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter nxalias "${name}_read_only_move_abs_counter"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/move_abs_counter 1
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/move_abs_counter simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/move_amplitude_max plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max read ${ns}::getFloat ${scobj_hpath} rdFloat {1010}
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max control true
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max data false
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max nxalias "${name}_read_only_move_amplitude_max"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/move_amplitude_max 1
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_max simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/move_amplitude_min plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min read ${ns}::getFloat ${scobj_hpath} rdFloat {1008}
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min control true
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min data false
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min nxalias "${name}_read_only_move_amplitude_min"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/move_amplitude_min 1
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/move_amplitude_min simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/move_error_code plain user int
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code read ${ns}::getULong ${scobj_hpath} rdULong {1004}
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code rdULong ${ns}::rdULong ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code control true
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code data false
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code oldval 0
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code nxalias "${name}_read_only_move_error_code"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/move_error_code 1
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/move_error_code simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/move_velocity_max plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max read ${ns}::getFloat ${scobj_hpath} rdFloat {1014}
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max control true
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max data false
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max nxalias "${name}_read_only_move_velocity_max"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/move_velocity_max 1
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_max simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/move_velocity_min plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min read ${ns}::getFloat ${scobj_hpath} rdFloat {1012}
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min control true
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min data false
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min nxalias "${name}_read_only_move_velocity_min"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/move_velocity_min 1
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/move_velocity_min simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/run_state plain user int
|
||||
hsetprop ${scobj_hpath}/read_only/run_state read ${ns}::getUShort ${scobj_hpath} rdUShort {1001}
|
||||
hsetprop ${scobj_hpath}/read_only/run_state rdUShort ${ns}::rdUShort ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/run_state control true
|
||||
hsetprop ${scobj_hpath}/read_only/run_state data false
|
||||
hsetprop ${scobj_hpath}/read_only/run_state mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/run_state nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/run_state oldval 0
|
||||
hsetprop ${scobj_hpath}/read_only/run_state sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/run_state type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/run_state nxalias "${name}_read_only_run_state"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/run_state 1
|
||||
hsetprop ${scobj_hpath}/read_only/run_state simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/run_state simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/velocity_ratio plain user float
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio read ${ns}::getFloat ${scobj_hpath} rdFloat {1024}
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio rdFloat ${ns}::rdFloat ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio control true
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio data false
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio oldval 0.0
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio nxalias "${name}_read_only_velocity_ratio"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/velocity_ratio 1
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/velocity_ratio simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_only/version_number plain user int
|
||||
hsetprop ${scobj_hpath}/read_only/version_number read ${ns}::getUShort ${scobj_hpath} rdUShort {1019}
|
||||
hsetprop ${scobj_hpath}/read_only/version_number rdUShort ${ns}::rdUShort ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_only/version_number control true
|
||||
hsetprop ${scobj_hpath}/read_only/version_number data false
|
||||
hsetprop ${scobj_hpath}/read_only/version_number mutable false
|
||||
hsetprop ${scobj_hpath}/read_only/version_number nxsave false
|
||||
hsetprop ${scobj_hpath}/read_only/version_number oldval 0
|
||||
hsetprop ${scobj_hpath}/read_only/version_number sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_only/version_number type "part"
|
||||
hsetprop ${scobj_hpath}/read_only/version_number nxalias "${name}_read_only_version_number"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_only/version_number 1
|
||||
hsetprop ${scobj_hpath}/read_only/version_number simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_only/version_number simulated true
|
||||
}
|
||||
hsetprop ${scobj_hpath}/read_only data "false"
|
||||
hsetprop ${scobj_hpath}/read_only klass "@none"
|
||||
hsetprop ${scobj_hpath}/read_only type "part"
|
||||
|
||||
hfactory ${scobj_hpath}/read_write plain spy none
|
||||
|
||||
hfactory ${scobj_hpath}/read_write/move_profile plain user int
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile read ${ns}::getUShort ${scobj_hpath} rdUShort {7}
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile rdUShort ${ns}::rdUShort ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile control true
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile data false
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile mutable false
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile nxsave false
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile values 0,1
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile oldval 0
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile type "part"
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile nxalias "${name}_read_write_move_profile"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_write/move_profile 1
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_write/move_profile simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_write/te_ok_cycles plain user int
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles read ${ns}::getULong ${scobj_hpath} rdULong {8}
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles rdULong ${ns}::rdULong ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles control true
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles data false
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles mutable false
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles nxsave false
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles oldval 0
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles type "part"
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles nxalias "${name}_read_write_te_ok_cycles"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_write/te_ok_cycles 1
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_cycles simulated true
|
||||
}
|
||||
|
||||
hfactory ${scobj_hpath}/read_write/te_ok_time plain user int
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time read ${ns}::getULong ${scobj_hpath} rdULong {10}
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time rdULong ${ns}::rdULong ${scobj_hpath}
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time control true
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time data false
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time mutable false
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time nxsave false
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time oldval 0
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time sdsinfo "::nexus::scobj::sdsinfo"
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time type "part"
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time nxalias "${name}_read_write_te_ok_time"
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/read_write/te_ok_time 1
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time simulated false
|
||||
} else {
|
||||
::scobj::aerolas_doppler::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for aerolas_doppler"
|
||||
hsetprop ${scobj_hpath}/read_write/te_ok_time simulated true
|
||||
}
|
||||
hsetprop ${scobj_hpath}/read_write data "false"
|
||||
hsetprop ${scobj_hpath}/read_write klass "@none"
|
||||
hsetprop ${scobj_hpath}/read_write type "part"
|
||||
hsetprop ${scobj_hpath} driver aerolas_doppler
|
||||
hsetprop ${scobj_hpath} klass ${device_class}
|
||||
hsetprop ${scobj_hpath} data true
|
||||
|
Reference in New Issue
Block a user