proc move_away_from_switch {axis} { puts "NOTE Move slit forward 10mm if it is against the reverse limit switch IF ((_TS${axis} & 4) = 0) SH${axis} PR${axis}=200000 BG${axis} ENDIF" } puts "#HOME" foreach {axis} {E F G H} { move_away_from_switch $axis } puts "AM" puts "NOTE Drive all slits into reverse limit switch" puts "SH JG ,,,,-25000,-25000,-25000,-25000 BGEFGH AM" puts "NOTE Move away from switches by 2mm and drive back slowly" puts "PR ,,,,40000,40000,40000,40000 JG ,,,,-5000,-5000,-5000,-5000 BGEFGH AM" puts "NOTE Move forward from switch by 2mm and set zero" puts "PR ,,,,40000,40000,40000,40000 BGEFGH AM DP ,,,,0,0,0,0" puts "EN"