From 8426f77d2877a488035dad8517246886b1de083d Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Thu, 9 Nov 2006 17:10:37 +1100 Subject: [PATCH] Use hpaths.tcl r1268 | ffr | 2006-11-09 17:10:37 +1100 (Thu, 09 Nov 2006) | 2 lines --- .../instrument/reflectometer/MANIFEST.TXT | 4 + .../reflectometer/platypus_configuration.tcl | 901 +----------------- 2 files changed, 9 insertions(+), 896 deletions(-) diff --git a/site_ansto/instrument/reflectometer/MANIFEST.TXT b/site_ansto/instrument/reflectometer/MANIFEST.TXT index 81055857..55d2c588 100644 --- a/site_ansto/instrument/reflectometer/MANIFEST.TXT +++ b/site_ansto/instrument/reflectometer/MANIFEST.TXT @@ -1,4 +1,8 @@ platypus_configuration.tcl +platypus_motor_configuration.tcl chopper.tcl hipadaba_configuration.tcl InstXML.tcl +extraconfig.tcl +hpaths.tcl + diff --git a/site_ansto/instrument/reflectometer/platypus_configuration.tcl b/site_ansto/instrument/reflectometer/platypus_configuration.tcl index 6fcdbb7d..da7cbc01 100644 --- a/site_ansto/instrument/reflectometer/platypus_configuration.tcl +++ b/site_ansto/instrument/reflectometer/platypus_configuration.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.3 $ -# $Date: 2006-11-08 05:23:30 $ +# $Revision: 1.4 $ +# $Date: 2006-11-09 06:10:37 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: ffr $ @@ -24,19 +24,6 @@ set chopper_controller(port) 10000 set chopper_controller(user) NCS set chopper_controller(password) NCS013 -# Setup addresses of Galil DMC2280 controllers. -set dmc2280_controller1(host) mc1-platypus -set dmc2280_controller1(port) pmc1-platypus - -set dmc2280_controller2(host) mc2-platypus -set dmc2280_controller2(port) pmc2-platypus - -set dmc2280_controller3(host) mc3-platypus -set dmc2280_controller3(port) pmc3-platypus - -set dmc2280_controller4(host) mc4-platypus -set dmc2280_controller4(port) pmc4-platypus - # CHOPPER MakeChopper chopperController tcpdocho [params \ host $chopper_controller(host) \ @@ -47,885 +34,7 @@ MakeChopper chopperController tcpdocho [params \ password $chopper_controller(password) \ ] -# MOTORS -Motor s1up DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis A\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s1up hardlowerlim -15 -s1up hardupperlim 15 -s1up softlowerlim -15 -s1up softupperlim 15 -s1up home 0 -Motor s1lo DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis B\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s1lo hardlowerlim -15 -s1lo hardupperlim 15 -s1lo softlowerlim -15 -s1lo softupperlim 15 -s1lo home 0 - -Motor s1ri DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis C\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s1ri hardlowerlim -13 -s1ri hardupperlim 27 -s1ri softlowerlim -13 -s1ri softupperlim 27 -s1ri home 0 - -Motor s1le DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis D\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s1le hardlowerlim -27 -s1le hardupperlim 13 -s1le softlowerlim -27 -s1le softupperlim 13 -s1le home 0 - -Motor s2up DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis E\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s2up hardlowerlim -15 -s2up hardupperlim 15 -s2up softlowerlim -15 -s2up softupperlim 15 -s2up home 0 - -Motor s2lo DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis F\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s2lo hardlowerlim -15 -s2lo hardupperlim 15 -s2lo softlowerlim -15 -s2lo softupperlim 15 -s2lo home 0 - -Motor s2ri DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis G\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000] -s2ri hardlowerlim -13 -s2ri hardupperlim 27 -s2ri softlowerlim -13 -s2ri softupperlim 27 -s2ri home 0 - -Motor s2le DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis H\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000] -s2le hardlowerlim -27 -s2le hardupperlim 13 -s2le softlowerlim -27 -s2le softupperlim 13 -s2le home 0 - -Motor st3vt DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis E\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -st3vt hardlowerlim -179 -st3vt hardupperlim 21 -st3vt softlowerlim -179 -st3vt softupperlim 21 -st3vt home 0 - -Motor s3up DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis A\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s3up hardlowerlim -15 -s3up hardupperlim 15 -s3up softlowerlim -15 -s3up softupperlim 15 -s3up home 0 - -Motor s3lo DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis B\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s3lo hardlowerlim -15 -s3lo hardupperlim 15 -s3lo softlowerlim -15 -s3lo softupperlim 15 -s3lo home 0 - -Motor s3ri DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis C\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s3ri hardlowerlim -13 -s3ri hardupperlim 27 -s3ri softlowerlim -13 -s3ri softupperlim 27 -s3ri home 0 - -Motor s3le DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis D\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s3le hardlowerlim -27 -s3le hardupperlim 13 -s3le softlowerlim -27 -s3le softupperlim 13 -s3le home 0 - -Motor st4vt DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis F\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -st4vt hardlowerlim -179 -st4vt hardupperlim 21 -st4vt softlowerlim -179 -st4vt softupperlim 21 -st4vt home 0 - -Motor s4up DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis E\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s4up hardlowerlim -15 -s4up hardupperlim 15 -s4up softlowerlim -15 -s4up softupperlim 15 -s4up home 0 - -Motor s4lo DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis F\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s4lo hardlowerlim -15 -s4lo hardupperlim 15 -s4lo softlowerlim -15 -s4lo softupperlim 15 -s4lo home 0 - -Motor s4ri DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis G\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s4ri hardlowerlim -13 -s4ri hardupperlim 27 -s4ri softlowerlim -13 -s4ri softupperlim 27 -s4ri home 0 - -Motor s4le DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis H\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -s4le hardlowerlim -27 -s4le hardupperlim 13 -s4le softlowerlim -27 -s4le softupperlim 13 -s4le home 0 - -#Motor c1ht DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis B\ -# units mm\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#c1ht hardlowerlim xxxx -#c1ht hardupperlim xxxx -#c1ht softlowerlim xxxx -#c1ht softupperlim xxxx -#c1ht home 0 - -Motor m1ro DMC2280 [params \ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis C\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -m1ro hardlowerlim -5 -m1ro hardupperlim 5 -m1ro softlowerlim -5 -m1ro softupperlim 5 -m1ro home 0 - -Motor say DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis D\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -say hardlowerlim -600 -say hardupperlim -300 -say softlowerlim -600 -say softupperlim -300 -say home 0 - -#Motor sax DMC2280 [params \ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis C\ -# units mm\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#sax hardlowerlim xxxx -#sax hardupperlim 750 -#sax softlowerlim xxxx -#sax softupperlim 750 -#sax home 0 - -Motor sath DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis A\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -sath hardlowerlim -10 -sath hardupperlim 10 -sath softlowerlim -10 -sath softupperlim 10 -sath home 0 - -Motor saphi DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis B\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -saphi hardlowerlim -20 -saphi hardupperlim 20 -saphi softlowerlim -20 -saphi softupperlim 20 -saphi home 0 - -#Motor anyvt DMC2280 [params \ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis xxxx\ -# units mm\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#anyvt hardlowerlim xxxx -#anyvt hardupperlim xxxx -#anyvt softlowerlim xxxx -#anyvt softupperlim xxxx -#anyvt home 0 - -#Motor anro DMC2280 [params \ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis xxxx\ -# units mm\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#anro hardlowerlim -10 -#anro hardupperlim 10 -#anro softlowerlim -10 -#anro softupperlim 10 -#anro home 0 - -#Motor dsyvt DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis A\ -# units mm\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#dsyvt hardlowerlim xxxx -#dsyvt hardupperlim xxxx -#dsyvt softlowerlim xxxx -#dsyvt softupperlim xxxx -#dsyvt home 0 - -Motor deyvt DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis F\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7500000\ - cntsPerX 8192] -deyvt hardlowerlim -595 -deyvt hardupperlim 800 -deyvt softlowerlim -595 -deyvt softupperlim 800 -deyvt home 0 - -#Motor dezht DMC2280 [params \ -# host $dmc2280_controllerxxxx(host)\ -# port $dmc2280_controllerxxxx(port)\ -# axis xxxx\ -# units mm\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#dezht hardlowerlim -595 -#dezht hardupperlim 800 -#dezht softlowerlim -595 -#dezht softupperlim 800 -#dezht home 0 - -#proc SplitReply { text } { -# set l [split $text =] -# return [lindex $l 1] -#} - -#-------------------------------------------------------- -proc s1widthscript {val} { - set currentWidth [expr [SplitReply [s1ri]] + [SplitReply [s1le]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [s1ri]] + $diff/2] - set newD1L [expr [SplitReply [s1le]] + $diff/2] - return "s1ri=$newD1R,s1le=$newD1L" -} -publish s1widthscript user - -#------------------------------------------------------- -proc s1readwidth {} { - return [expr [SplitReply [s1ri]] + [SplitReply [s1le]]] -} -publish s1readwidth user -MakeConfigurableMotor s1hg -s1hg drivescript s1widthscript -s1hg readscript s1readwidth - -#-------------------------------------------------------- -proc s1heightscript {val} { - set currentWidth [expr [SplitReply [s1up]] + [SplitReply [s1lo]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [s1lo]] + $diff/2] - set newD1T [expr [SplitReply [s1up]] + $diff/2] - return "s1lo=$newD1B,s1up=$newD1T" -} -publish s1heightscript user - -#------------------------------------------------------- -proc s1readheight {} { - return [expr [SplitReply [s1up]] + [SplitReply [s1lo]]] -} -publish s1readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor s1vg -s1vg drivescript s1heightscript -s1vg readscript s1readheight - -#-------------------------------------------------------- -proc s1horoffsetscript {val} { - set sr [splitreply [s1ri]] - set sl [splitreply [s1le]] - set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $sr + $diff] - set newd1l [expr $sl - $diff] - return "s1ri=$newd1r,s1le=$newd1l" -} -publish s1horoffsetscript user - -#------------------------------------------------------- -proc s1readhoroffset {} { - set sr [splitreply [s1ri]] - return [ expr $sr - ($sr + [splitreply [s1le]])/2.0 ] -} -publish s1readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor s1ho -s1ho drivescript s1horoffsetscript -s1ho readscript s1readhoroffset - -#-------------------------------------------------------- -proc s1vertoffsetscript {val} { - set SU [SplitReply [s1up]] - set SD [SplitReply [s1lo]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "s1up=$newD1U,s1lo=$newD1D" -} -publish s1vertoffsetscript user - -#------------------------------------------------------- -proc s1readvertoffset {} { - set SU [SplitReply [s1up]] - return [ expr $SU - ($SU + [SplitReply [s1lo]])/2.0 ] -} -publish s1readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor s1vo -s1vo drivescript s1vertoffsetscript -s1vo readscript s1readvertoffset - -############################################### - -#-------------------------------------------------------- -proc s2widthscript {val} { - set currentWidth [expr [SplitReply [s2ri]] + [SplitReply [s2le]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [s2ri]] + $diff/2] - set newD1L [expr [SplitReply [s2le]] + $diff/2] - return "s2ri=$newD1R,s2le=$newD1L" -} -publish s2widthscript user - -#------------------------------------------------------- -proc s2readwidth {} { - return [expr [SplitReply [s2ri]] + [SplitReply [s2le]]] -} -publish s2readwidth user -MakeConfigurableMotor s2hg -s2hg drivescript s2widthscript -s2hg readscript s2readwidth - -#----------------------------------------------------- -proc s2heightscript {val} { - set currentWidth [expr [SplitReply [s2up]] + [SplitReply [s2lo]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [s2lo]] + $diff/2] - set newD1T [expr [SplitReply [s2up]] + $diff/2] - return "s2lo=$newD1B,s2up=$newD1T" -} -publish s2heightscript user - -#------------------------------------------------------- -proc s2readheight {} { - return [expr [SplitReply [s2up]] + [SplitReply [s2lo]]] -} -publish s2readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor s2vg -s2vg drivescript s2heightscript -s2vg readscript s2readheight - -#-------------------------------------------------------- -proc s2horoffsetscript {val} { - set sr [splitreply [s2ri]] - set sl [splitreply [s2le]] - set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $sr + $diff] - set newd1l [expr $sl - $diff] - return "s2ri=$newd1r,s2le=$newd1l" -} -publish s2horoffsetscript user - -#------------------------------------------------------- -proc s2readhoroffset {} { - set sr [splitreply [s2ri]] - return [ expr $sr - ($sr + [splitreply [s2le]])/2.0 ] -} -publish s2readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor s2ho -s2ho drivescript s2horoffsetscript -s2ho readscript s2readhoroffset - -#-------------------------------------------------------- -proc s2vertoffsetscript {val} { - set SU [SplitReply [s2up]] - set SD [SplitReply [s2lo]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "s2up=$newD1U,s2lo=$newD1D" -} -publish s2vertoffsetscript user - -#------------------------------------------------------- -proc s2readvertoffset {} { - set SU [SplitReply [s2up]] - return [ expr $SU - ($SU + [SplitReply [s2lo]])/2.0 ] -} -publish s2readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor s2vo -s2vo drivescript s2vertoffsetscript -s2vo readscript s2readvertoffset - -############################################### - -#-------------------------------------------------------- -proc s3widthscript {val} { - set currentWidth [expr [SplitReply [s3ri]] + [SplitReply [s3le]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [s3ri]] + $diff/2] - set newD1L [expr [SplitReply [s3le]] + $diff/2] - return "s3ri=$newD1R,s3le=$newD1L" -} -publish s3widthscript user - -#------------------------------------------------------- -proc s3readwidth {} { - return [expr [SplitReply [s3ri]] + [SplitReply [s3le]]] -} -publish s3readwidth user -MakeConfigurableMotor s3hg -s3hg drivescript s3widthscript -s3hg readscript s3readwidth - -#----------------------------------------------------- -proc s3heightscript {val} { - set currentWidth [expr [SplitReply [s3up]] + [SplitReply [s3lo]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [s3lo]] + $diff/2] - set newD1T [expr [SplitReply [s3up]] + $diff/2] - return "s3lo=$newD1B,s3up=$newD1T" -} -publish s3heightscript user - -#------------------------------------------------------- -proc s3readheight {} { - return [expr [SplitReply [s3up]] + [SplitReply [s3lo]]] -} -publish s3readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor s3vg -s3vg drivescript s3heightscript -s3vg readscript s3readheight - -#-------------------------------------------------------- -proc s3horoffsetscript {val} { - set sr [splitreply [s3ri]] - set sl [splitreply [s3le]] - set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $sr + $diff] - set newd1l [expr $sl - $diff] - return "s3ri=$newd1r,s3le=$newd1l" -} -publish s3horoffsetscript user - -#------------------------------------------------------- -proc s3readhoroffset {} { - set sr [splitreply [s3ri]] - return [ expr $sr - ($sr + [splitreply [s3le]])/2.0 ] -} -publish s3readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor s3ho -s3ho drivescript s3horoffsetscript -s3ho readscript s3readhoroffset - -#-------------------------------------------------------- -proc s3vertoffsetscript {val} { - set SU [SplitReply [s3up]] - set SD [SplitReply [s3lo]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "s3up=$newD1U,s3lo=$newD1D" -} -publish s3vertoffsetscript user - -#------------------------------------------------------- -proc s3readvertoffset {} { - set SU [SplitReply [s3up]] - return [ expr $SU - ($SU + [SplitReply [s3lo]])/2.0 ] -} -publish s3readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor s3vo -s3vo drivescript s3vertoffsetscript -s3vo readscript s3readvertoffset - -############################################### - -#-------------------------------------------------------- -proc s4widthscript {val} { - set currentWidth [expr [SplitReply [s4ri]] + [SplitReply [s4le]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [s4ri]] + $diff/2] - set newD1L [expr [SplitReply [s4le]] + $diff/2] - return "s4ri=$newD1R,s4le=$newD1L" -} -publish s4widthscript user - -#------------------------------------------------------- -proc s4readwidth {} { - return [expr [SplitReply [s4ri]] + [SplitReply [s4le]]] -} -publish s4readwidth user -MakeConfigurableMotor s4hg -s4hg drivescript s4widthscript -s4hg readscript s4readwidth - -#----------------------------------------------------- -proc s4heightscript {val} { - set currentWidth [expr [SplitReply [s4up]] + [SplitReply [s4lo]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [s4lo]] + $diff/2] - set newD1T [expr [SplitReply [s4up]] + $diff/2] - return "s4lo=$newD1B,s4up=$newD1T" -} -publish s4heightscript user - -#------------------------------------------------------- -proc s4readheight {} { - return [expr [SplitReply [s4up]] + [SplitReply [s4lo]]] -} -publish s4readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor s4vg -s4vg drivescript s4heightscript -s4vg readscript s4readheight - -#-------------------------------------------------------- -proc s4horoffsetscript {val} { - set sr [splitreply [s4ri]] - set sl [splitreply [s4le]] - set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $sr + $diff] - set newd1l [expr $sl - $diff] - return "s4ri=$newd1r,s4le=$newd1l" -} -publish s4horoffsetscript user - -#------------------------------------------------------- -proc s4readhoroffset {} { - set sr [splitreply [s4ri]] - return [ expr $sr - ($sr + [splitreply [s4le]])/2.0 ] -} -publish s4readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor s4ho -s4ho drivescript s4horoffsetscript -s4ho readscript s4readhoroffset - -#-------------------------------------------------------- -proc s4vertoffsetscript {val} { - set SU [SplitReply [s4up]] - set SD [SplitReply [s4lo]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "s4up=$newD1U,s4lo=$newD1D" -} -publish s4vertoffsetscript user - -#------------------------------------------------------- -proc s4readvertoffset {} { - set SU [SplitReply [s4up]] - return [ expr $SU - ($SU + [SplitReply [s4lo]])/2.0 ] -} -publish s4readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor s4vo -s4vo drivescript s4vertoffsetscript -s4vo readscript s4readvertoffset - -source gen_hipadaba.tcl -source extraconfig.tcl +fileeval platypus_motor_configuration.tcl +fileeval gen_hipadaba.tcl +fileeval extraconfig.tcl