Tutorial
Reference Manual
Installation
Tutorial
Reference Manual
Installation
This is an old revision of the document!
This page contain reference material for scripting functions.
See the script description page for general information.
See the script example page for a quick start with the programming functions.
The language to use is Pascal Script.
For a complete reference of the Object Pascal language your can read the Free Pascal Reference guide. But beware that some feature are not implemented by the script language, for example: no pointer, no assembler, no overloading.
In addition to the standard Pascal Script feature the following CCDciel specific function are added.
name | value |
---|---|
deg2rad | degree to radian conversion constant |
rad2deg | radian to degree conversion constant |
msgOK | returned when a CCDciel command complete successfully |
msgFailed | returned when a CCDciel command fail |
function GetS(varname:string; var str: string):Boolean; | |
---|---|
Get the global string variable identified by varname | |
varname | value |
LASTERROR | The text of the last error |
Str1 .. Str10 | Ten global variable for your use |
function SetS(varname:string; str: string):Boolean; | |
---|---|
Set the global string variable identified by varname for later use | |
varname | value |
Str1 .. Str10 | Ten global variable for your use |
function GetSL(varname:string; var strl: Tstringlist):Boolean; | |
---|---|
Get the global stringlist variable identified by varname | |
varname | value |
Strl1 .. Strl10 | Ten global variable for your use |
function SetSL(varname:string; stlr: Tstringlist):Boolean; | |
---|---|
Set the global stringlist variable identified by varname for later use | |
varname | value |
Strl1 .. Strl10 | Ten global variable for your use |
function GetI(varname:string; var i: Integer):Boolean; | |
---|---|
Get the global integer variable identified by varname | |
varname | value |
Int1 .. Int10 | Ten global variable for your use |
function SetI(varname:string; i: Integer):Boolean; | |
---|---|
Set the global integer variable identified by varname for later use | |
varname | value |
Int1 .. Int10 | Ten global variable for your use |
function GetD(varname:string; var x: double):boolean; | |
---|---|
Get the global double variable identified by varname | |
varname | value |
TelescopeRA | The telescope position right ascension |
TelescopeDE | The telescope position declination |
TimeNow | The current time in TDateTime format |
CCDTEMP | The current CCD temperature |
Double1 .. Double10 | Ten global variable for your use |
function SetD(varname:string; x: Double):Boolean; | |
---|---|
Set the global double variable identified by varname for later use | |
varname | value |
Double1 .. Double10 | Ten global variable for your use |
function GetB(varname:string; var x: boolean):boolean; | |
---|---|
Get the global boolean variable identified by varname | |
varname | value |
TELESCOPE_CONNECTED | True if the telescope is connected |
TELESCOPE_PARKED | True if the telescope is parked |
TELESCOPE_EQMOD | True if the telescope use the EqMod driver |
AUTOGUIDER_CONNECTED | True if the auto-guider is connected |
AUTOGUIDER_RUNNING | True if the auto-guider is running |
AUTOGUIDER_GUIDING | True if the auto-guider is guiding |
WHEEL_CONNECTED | True if the filter wheel is connected |
FOCUSER_CONNECTED | True if the focuser is connected |
CAMERA_CONNECTED | True if the camera is connected |
PLANETARIUM_CONNECTED | True if the planetarium is connected |
PREVIEW_RUNNING | True if the preview is running |
PREVIEW_LOOP | True if the preview is in loop |
CAPTURE_RUNNING | True if a capture is running |
function Cmd(cname:string):string; |
---|
Execute a simple command cname in CCDciel. |
Valid Cmd() command are:
Command | Description |
---|---|
TELESCOPE_ABORTMOTION | Stop any telescope movement |
TELESCOPE_TRACK | Start telescope tracking |
EQMOD_CLEARPOINTS | Clear EqMod alignment data |
EQMOD_CLEARSYNCDELTA | Clear Eqmod sync delta |
EQMOD_STDSYNC | Set Eqmod in Standard sync mode |
EQMOD_APPENDSYNC | Set Eqmod in Add point on sync mode |
AUTOGUIDER_CONNECT | Connect to the autoguider software |
AUTOGUIDER_CALIBRATE | Force a new calibration of the autoguider |
AUTOGUIDER_STARTGUIDING | Start to guide |
AUTOGUIDER_STOPGUIDING | Stop guiding |
AUTOGUIDER_PAUSE | Pause guiding |
AUTOGUIDER_UNPAUSE | Restart after pause |
AUTOGUIDER_DITHER | Dither now |
AUTOGUIDER_SHUTDOWN | Close the autoguider program |
WHEEL_GETFILTER | Get the current filter number in the wheel |
PREVIEW_SINGLE | Start a single preview |
PREVIEW_LOOP | Start a preview loop |
PREVIEW_WAITLOOP | Wait until the user stop the preview loop |
PREVIEW_STOP | Stop any in progress preview or preview loop |
CAPTURE_START | Start a capture |
CAPTURE_STOP | Stop a capture |
ASTROMETRY_SOLVE | Plate solve the current image |
ASTROMETRY_SYNC | Plate solve the current image and sync the telescope |
ASTROMETRY_SLEW_IMAGE_CENTER | Plate solve the current image and slew the telescope |
PLANETARIUM_CONNECT | Connect the planetarium software |
PLANETARIUM_SHOWIMAGE | Plate solve the current image and show in planetarium |
PLANETARIUM_SHUTDOWN | Close the planetarium software |
PROGRAM_SHUTDOWN | Close CCDciel |
CLEAR_REFERENCE_IMAGE | Remove the reference image |
AUTOFOCUS | Run auto-focus at the current position |
AUTOMATICAUTOFOCUS | Move to a bright star and run auto-focus, return to last position when finished |
function CmdArg(cname:string; arg:Tstringlist):string; |
---|
Execute a command cname in CCDciel with parameters arg. Add each parameter to the string list. |
Valid CmdArg() command are:
Command | Arguments | Description |
---|---|---|
DEVICES_CONNECTION | ON/OFF | Connect or disconnect the devices |
TELESCOPE_SLEW | RA, DEC | Slew to specified coordinates |
TELESCOPE_SYNC | RA, DEC | Sync to specified coordinates |
TELESCOPE_PARK | ON/OFF | Park or unpark the telescope |
WHEEL_SETFILTER | number | Set the filter number in the wheel |
WHEEL_GETFILTERSNAME | arg | On return arg contain the name of the filters |
WHEEL_SETFILTERSNAME | arg | Put each filter name in arg |
CCD_SETTEMPERATURE | temp | Set the CCD temperature |
PREVIEW_SETEXPOSURE | exp | Set the preview exposure time |
PREVIEW_SETBINNING | bin | Set the preview binning |
CAPTURE_SETEXPOSURE | exp | Set the capture exposure |
CAPTURE_SETBINNING | bin | Set the capture binning |
CAPTURE_SETOBJECTNAME | name | Set the capture object name |
CAPTURE_SETCOUNT | count | Set the capture image count |
CAPTURE_SETFRAMETYPE | Light/Bias/Dark/Flat | Set the capture frame type |
CAPTURE_SETDITHER | count | Set the capture Dither count |
SEQUENCE_START | sequence | Load and start the sequence |
SAVE_FITS_FILE | filename | Save the FITS file |
OPEN_FITS_FILE | filename | Open the FITS file |
OPEN_REFERENCE_IMAGE | filename | Load a reference image |
procedure Wait(wt:integer); |
---|
Wait wt seconds before to continue the execution |
function WaitTill(hour:string; showdialog: boolean):boolean; |
---|
Wait until the time is “hour”, encoded as 23:30:00 . If the time is already passed by less than 12h the function return immediately, if it is passed for more than 12h it wait for the next day. If showdialog is true a dialog with time countdown is show, this dialog also allow to cancel or to continue immediately, it return False if the wait is canceled. |
Procedure Eq2Hz(var ra,de : double ; var a,h : double); |
---|
Convert Equatorial ra,de to Alt/Az a,h for the location and time of the current chart, all angle in radian |
Procedure Hz2Eq(var a,h : double; var ra,de : double); |
---|
Convert Alt/Az a,h to equatorial ra,de for the location and time of the current chart, all angle in radian |
Function ARtoStr(var ar: Double) : string; |
---|
Return a string formated Right Ascension of ar value |
Function DEtoStr(var de: Double) : string; |
---|
Return a string formated Declination of de value |
Function StrtoAR(str:string; var ar: Double) : boolean; |
---|
Convert a formated string to Right Ascension decimal value |
Function StrtoDE(str:string; var de: Double) : boolean; |
---|
Convert a formated string to Declination decimal value |
Function JDtoStr(var jd: Double) : string; |
---|
Format a julian date to YYYY-MM-DD string |
Function StrtoJD(dt:string; var jdt: Double) : boolean; |
---|
Convert a formated string YYYY-MM-DD to julian date value |
Function FormatFloat(Const Format : String; var Value : double) : String; |
---|
Format a decimal number according to the Format specification |
Function Format(Const Fmt : String; const Args : Array of const) : String; |
---|
The Format Pascal function |
Procedure StrtoFloatD(str:string; var defval: Double; var val: Double); |
---|
Convert a string to a floating point value. Return defval if the string is a invalid number |
function IsNumber(str: String): boolean; |
---|
Return True if the string represent a valid number |
function StringReplace(str,s1,s2: String): string; |
---|
Replace all occurrence of s1 by s2 in str |
function MsgBox(const aMsg: string):boolean; |
---|
A message confirmation dialog. Return True if YES is clicked. |
Procedure ShowMessage(const aMsg: string); |
---|
Display a message. |
Procedure LogMsg(const aMsg: string); |
---|
Write a message to the log |
function Run(cmdline:string):boolean; |
---|
Execute the specified command. Return immediately without waiting for the execution to end. |
function RunWait(cmdline:string):boolean; |
---|
Execute the specified command. Wait for termination. |
function RunOutput(cmdline:string; var output:TStringlist):boolean; |
---|
Execute the specified command, wait for termination and put the stdout to “output”. Beware this function can completely lock the main program if it not finish in time. |
function OpenFile(fn:string):boolean; |
---|
Open a document file using the default program |