Files
sicspsi/utils/check/topsicheck
cvs e6c51e8fe9 - Fixed missalignment in TAS scan messages
- Fixed a counting/driving race in devexec
- Fixed some problems with sanscheck
2003-11-25 10:29:22 +00:00

143 lines
4.8 KiB
Tcl
Executable File

#! /bin/sh
#next line is executed by sh, not by Tcl \
exec tclsh $0 ${1+"$@"}
#--------------------------------------------------------------------------
# This is the SICS syntax checker for the TOPSI diffractometer
#
# Mark Koennecke, March 2003
#--------------------------------------------------------------------------
source /data/lnslib/bin/sicscheck/sicssyntaxlib.tcl
#------------------------- define TOPSI motors and aliases
sicsSyntaxMap d1r syntaxMotor
sicsSyntaxMap d1l syntaxMotor
sicsSyntaxMap d2r syntaxMotor
sicsSyntaxMap d2l syntaxMotor
sicsSyntaxMap d3r syntaxMotor
sicsSyntaxMap d3l syntaxMotor
sicsSyntaxMap dxt syntaxMotor
sicsSyntaxMap dxb syntaxMotor
sicsSyntaxMap utz syntaxMotor
sicsSyntaxMap uty syntaxMotor
sicsSyntaxMap sth syntaxMotor
sicsSyntaxMap stt syntaxMotor
sicsSyntaxMap stx syntaxMotor
sicsSyntaxMap sty syntaxMotor
sicsSyntaxMap sgx syntaxMotor
sicsSyntaxMap sgy syntaxMotor
sicsSyntaxMap utt syntaxMotor
sicsSyntaxMap scx syntaxMotor
sicsSyntaxMap scy syntaxMotor
sicsSyntaxMap po1 syntaxMotor
sicsSyntaxMap po2 syntaxMotor
sicsSyntaxMap mth syntaxMotor
sicsSyntaxMap mtt syntaxMotor
sicsSyntaxMap mtx syntaxMotor
sicsSyntaxMap mty syntaxMotor
sicsSyntaxMap mgx syntaxMotor
sicsSyntaxMap mfv syntaxMotor
sicsSyntaxMap d1b syntaxMotor
sicsSyntaxMap d2b syntaxMotor
sicsSyntaxMap d3b syntaxMotor
sicsSyntaxMap d1t syntaxMotor
sicsSyntaxMap d2t syntaxMotor
sicsSyntaxMap d3t syntaxMotor
#------------ aliases
sicsSyntaxMap s1r syntaxMotor
sicsSyntaxMap s1l syntaxMotor
sicsSyntaxMap s2r syntaxMotor
sicsSyntaxMap s2l syntaxMotor
sicsSyntaxMap s3r syntaxMotor
sicsSyntaxMap s3l syntaxMotor
sicsSyntaxMap a6 syntaxMotor
sicsSyntaxMap a5 syntaxMotor
sicsSyntaxMap a3 syntaxMotor
sicsSyntaxMap som syntaxMotor
sicsSyntaxMap th syntaxMotor
sicsSyntaxMap om syntaxMotor
sicsSyntaxMap a4 syntaxMotor
sicsSyntaxMap s2t syntaxMotor
sicsSyntaxMap tth syntaxMotor
sicsSyntaxMap 2t syntaxMotor
sicsSyntaxMap stu syntaxMotor
sicsSyntaxMap stl syntaxMotor
sicsSyntaxMap sgu syntaxMotor
sicsSyntaxMap sgl syntaxMotor
sicsSyntaxMap mgu syntaxMotor
sicsSyntaxMap sch syntaxMotor
sicsSyntaxMap sph syntaxMotor
sicsSyntaxMap pol syntaxMotor
sicsSyntaxMap ana syntaxMotor
sicsSyntaxMap a1 syntaxMotor
sicsSyntaxMap mom syntaxMotor
sicsSyntaxMap a2 syntaxMotor
sicsSyntaxMap m2t syntaxMotor
sicsSyntaxMap mtu syntaxMotor
sicsSyntaxMap mtl syntaxMotor
sicsSyntaxMap mcv syntaxMotor
sicsSyntaxMap sttl syntaxMotor
sicsSyntaxMap u2t syntaxMotor
#------------ define TOPSI counters
sicsSyntaxMap counter syntaxCounter
#------------ define TOPSI variables
sicsSyntaxMap title syntaxTextPar
sicsSyntaxMap user syntaxTextPar
sicsSyntaxMap collimation syntaxTextPar
sicsSyntaxMap sample syntaxTextPar
sicsSyntaxMap comment1 syntaxTextPar
sicsSyntaxMap comment2 syntaxTextPar
sicsSyntaxMap comment3 syntaxTextPar
sicsSyntaxMap fax syntaxTextPar
sicsSyntaxMap email syntaxTextPar
sicsSyntaxMap sample syntaxTextPar
sicsSyntaxMap lambda syntaxNumPar
#----------- define TOPSI environment
sicsSyntaxMap temperature evSyntax
sicsSyntaxMap tt evSyntax
#---------- define TOPSI auxiliary
sicsSyntaxMap beam syntaxDummy
sicsSyntaxMap o2t syntaxNumPar
sicsSyntaxMap o2tl syntaxNumPar
sicsSyntaxMap o2u syntaxNumPar
sicsSyntaxMap ttc syntaxTextPar
sicsSyntaxMap sttc syntaxTextPar
sicsSyntaxMap sef syntaxTextPar
sicsSyntaxMap remote syntaxTextPar
#------------------------------------------------------------------------
# some strange TOPSI commands with 3 numeric parameters
#-----------------------------------------------------------------------
proc dah {w1 w2 w3} {
if { [syntaxNumeric $w1] != 1 } {
error "ERROR: expected numeric w1, got $w1"
}
if { [syntaxNumeric $w2] != 1 } {
error "ERROR: expected numeric w2, got $w2"
}
if { [syntaxNumeric $w3] != 1 } {
error "ERROR: expected numeric w3, got $w3"
}
}
proc dav {w1 w2 w3} {
dah $w1 $w2 $w3
}
#--------- Main checking stuff
syntaxLoadSICS /data/lnslib/data/TOPSI/2003/topsistatus.tcl
if { $argc < 1} {
puts stdout "Usage: \n\ttopsicheck filename"
exit 0
}
set filename [lindex $argv 0]
lappend fileList [file tail $filename]
puts stdout "Syntax checking --> $filename <-- ........."
source $filename
puts stdout "If this completed without errors the likelihoof of your script"
puts stdout "executing properly on the instrument has increased significantly"
exit 1