APSF // Get a Temma mount to slew to the selected object // For Mac OS X only // Requires cocoaTemma (http://homepage.mac.com/chen/cocoaTemmaPage/) // more Applescript help at (http://homepage.mac.com/chen/cocoaTemmaPage/AppleScripting/) // Make sure mount is running and aligned before using this script // CocoaTemma should also be running // Paul Rodman, Dec 2006 const UseEmulator = FALSE // Set to TRUE if you are using the emulator in cocoaTemma function SlewTemmaTo(ra as double, dec as double) as integer // Returns: 0 = slew successful, 1 = slew failed, // 2 = object below horizon, 3 = could not connect dim script(-1) as string, RAh,RAm,RAs,Decd,Decm,Decs,Decsign as integer, x as double script.Append "on run argv" script.Append " tell application ""cocoaTemma""" script.Append " repeat" script.Append " if ready then exit repeat" script.Append " delay 1" script.Append " end repeat" script.Append " if not connected then" if UseEmulator then script.Append " connectToEmulator" else script.Append " set connected to true" end if script.Append " repeat" script.Append " if connected then exit repeat" script.Append " delay 1" script.Append " end repeat" script.Append " end if" script.Append " if connected then" script.Append " set raHours to item 1 of argv" script.Append " set raMinutes to item 2 of argv" script.Append " set raSeconds to item 3 of argv" script.Append " set decSign to item 4 of argv" script.Append " set decDegrees to item 5 of argv" script.Append " set decMinutes to item 6 of argv" script.Append " set decSeconds to item 7 of argv" script.Append " if aboveHorizon then" script.Append " if gotoLocation then" script.Append " return 0" script.Append " else" script.Append " return 1" script.Append " end if" script.Append " else" script.Append " return 2" script.Append " end if" script.Append " end if" script.Append " return 3" script.Append " end tell" script.Append "end run" RAh=floor(ra) x=(ra-RAh)*60.0 RAm=floor(x) RAs=round((x-RAm)*60.0) if RAs=60 then RAs=0 RAm=RAm+1 if RAm=60 then RAm=0 RAh=RAh+1 end if end if if dec<0 then Decsign=-1 else Decsign=1 x=abs(dec) Decd=floor(x) x=(x-Decd)*60.0 Decm=floor(x) Decs=round((x-Decm)*60.0) if Decs=60 then Decs=0 Decm=Decm+1 if Decm=60 then Decm=0 Decd=Decd+1 end if end if return val(AppleScript(Join(script,chr(13)), _ str(RAh),str(RAm),str(RAs),str(Decsign),str(Decd),str(Decm),str(Decs))) end function dim ra,dec as double if Platform<>platform_MacOSX then Bleep print "Only for Mac OS X!" return end if if SelectedObject<=0 then Bleep print "Select a plan object first" return end if ra=Obj(SelectedObject).RA dec=Obj(SelectedObject).Dec select case SlewTemmaTo(ra,dec) case 1 Bleep print "Slew failed" case 2 Bleep print "Object below horizon" case 3 Bleep print "Could not connect to telescope" end select