Cette troisiéme leçon de programmation spécifique
aux fonctions de TeleAuto va vous permettre de piloter votre télescope.
Aprés sa lecture, vous serez capable d'écrire vos premiers scripts
d'acquisition automatique.
Il y aura 3 manières de piloter les télescopes comme tous les autres
matériels de TeleAuto :
En prenant le contrôle des raquettes comme on le ferait manuellement.
Ce n'est pas optimal car il faudra souvent écrire plusieurs lignes
de code mais ca simplifiera l'apprentissage de la programmation par script
car le code principal est dans TeleAuto. Il est aussi impossible de gérer
les erreurs avec cette méthode. Il faut donc rester à côté
du télescope quand on lance des scripts utilisant ces fonctions.
En utilisant des fonctions optimisées de TeleAuto, ce qui permet de gérer
les erreurs qui peuvent apparaître.
En utilisant directement les drivers de télescope.Cela sera la manière
la plus difficile de programmation mais le contrôle sur les télescopes
sera total et il sera en plus possible de piloter plusieurs télescopes
sur le même PC.
C'est la première méthode que je vais traiter dans
cette page.
La raquette de pilotage du télescope est un objet qui à
pour nom dans le moteur de script : WinScope.
Les méthodes disponibles pour la raquette de commande du télescope sont
:
Nom de la méthode
Utilisation
Exemple
WinScope.Show
Fait apparaitre la raquette
WinScope.Show;
WinScope.Hide
Fait disparaitre la raquette
WinScope.Hide;
WinScope.SetObjectName(Name:string)
Place la valeur de la chaîne de caractére Name dans le champ de texte
de la zone Objet de l'onglet pointage
WinScope.SetObjectName('M27');
WinScope.PointObject
Appuie sur le bouton Pointer de la zone Objet de l'onglet Pointage
WinScope.PointObject;
WinScope.RealignObject
Appuie sur le bouton Synchroniser de la zone Objet de l'onglet Pointage
WinScope.RealignObject
WinScope.SetAlphaCoordinates(Alpha:Double);
Place la valeur de la variable Alpha en heures dans le champ Alpha de la zone
Coordonnées de l'onglet Pointage
WinScope.SetAlphaCoordinates(12.1544);
WinScope.SetDeltaCoordinates(Alpha:Double);
Place la valeur de la variable Delta en degrés dans le champ Delta de la zone
Coordonnées de l'onglet Pointage
WinScope.SetDeltaCoordinates(60.7548);
WinScope.PointCoordinates
Appuie sur le bouton Pointer de la zone Coordonnées de l'onglet Pointage
WinScope.PointCoordinates;
WinScope.RealignCoordinates
Appuie sur le bouton Synchroniser de la zone Coordonnées de l'onglet Pointage
WinScope.RealignCoordinates;
WinScope.MainCCDCenter
Appuie sur le bouton Centrer P de l'onglet Pointage
WinScope.MainCCDCenter;
WinScope.GuideCCDCenter
Appuie sur le bouton Centrer G de l'onglet Pointage
WinScope.GuideCCDCenter;
WinScope.StopScope
Appuie sur le bouton Stop de l'onglet Pointage
WinScope.StopScope
WinScope.SetMarkOn
Coche l'option Centrer Marque de l'onglet Pointage
WinScope.SetMarkOn;
WinScope.SetMarkOff
Décoche l'option Centrer Marque de l'onglet Pointage
WinScope.SetMarkOff;
WinScope.SetPulseOn
Coche l'option Par impulsions de l'onglet Raquette
WinScope.SetPulseOn;
WinScope.SetPulseOff
Décoche l'option Par impulsions de l'onglet Raquette
WinScope.SetPulseOff;
WinScope.SetPulseDelay(Delay:Double);
Place la valeur de la variable Delay en secondes dans le champ de texte de l'onglet Raquette
WinScope.SetPulseDelay
WinScope.Speed1
Appuie sur le premier bouton de vitesse en partant du haut dans l'onglet Pointage
WinScope.Speed1;
WinScope.Speed2
Appuie sur le deuxième bouton de vitesse en partant du haut dans l'onglet Pointage
WinScope.Speed2;
WinScope.Speed3
Appuie sur le troisième bouton de vitesse en partant du haut dans l'onglet Pointage
WinScope.Speed3;
WinScope.Speed4
Appuie sur le quatrième bouton de vitesse en partant du haut dans l'onglet Pointage
WinScope.Speed4;
WinScope.SetInvertNSOn
Coche l'option Inversion Nord/Sud de l'onglet Raquette
WinScope.SetInvertNSOn;
WinScope.SetInvertNSOff
Décoche l'option Inversion Nord/Sud de l'onglet Raquette
WinScope.SetInvertNSOff;
WinScope.SetInvertEWOn
Coche l'option Inversion Est/Ouest de l'onglet Raquette
WinScope.SetInvertEWOn;
WinScope.SetInvertEWOff
Décoche l'option Inversion Est/Ouest de l'onglet Raquette
WinScope.SetInvertEWOff;
WinScope.NorthMouseDown
Appuie sur le bouton de direction du nord et le maintien appuyé dans l'onglet Pointage
WinScope.NorthMouseDown;
WinScope.NorthMouseUp
Relache le bouton de direction du nord dans l'onglet Pointage
WinScope.NorthMouseUp;
WinScope.SouthMouseDown
Appuie sur le bouton de direction du sud et le maintien appuyé dans l'onglet Pointage
WinScope.SouthMouseDown;
WinScope.SouthMouseUp
Relache le bouton de direction du sud dans l'onglet Pointage
WinScope.SouthMouseUp;
WinScope.EastMouseDown
Appuie sur le bouton de direction de l'est et le maintien appuyé dans l'onglet Pointage
WinScope.EastMouseDown;
WinScope.EastMouseUp
Relache le bouton de direction de l'est dans l'onglet Pointage
WinScope.EastMouseUp;
WinScope.WestMouseDown
Appuie sur le bouton de direction de l'est et le maintien appuyé dans l'onglet Pointage
WinScope.WestMouseDown;
WinScope.WestMouseUp
Relache le bouton de direction de l'est dans l'onglet Pointage
WinScope.WestMouseUp;
WinScope.ScriptPark
Appuie sur le bouton Park dans l'onglet Park
WinScope.ScriptPark;
WinScope.ScriptUnPark
Appuie sur le bouton Unpark dans l'onglet Park
WinScope.ScriptUnPark;
WinScope.SetPhysicalParkOn
Coche l'option Physique de l'onglet Park
WinScope.SetPhysicalParkOn;
WinScope.SetPhysicalParkOff
Décoche l'option Physique de l'onglet Park
WinScope.SetPhysicalParkOff;
WinScope.SetFastSpeed(Speed:Byte);
Règle la vitesse rapide du télescope en degrés par secondes entre 2 et 8
WinScope.SetFastSpeed(2);
Vous pouvez très facilement tester ces différentes méthodes
en observant leur effet sur la raquette Télescope.
Voici un exemple simple de pointage d'un objet :
program Pointage; begin WinScope.Show; WinScope.SetObjectName('M27'); WinScope.PointObject; end.
En combinant ces fonctions avec celles de la fenêtre d'acquisition CCD
vues dans une leçon précedente il est possible de créer un
script d'acquisition automatique simple. Ce type de fonction permet de reproduire
les gestes d'un utilisateur de TA. C'est plus ce que l'on pourrait appeller une
Macro qu'un vrai script d'observation automatique. En effet, les erreurs
qui peuvent apparaître ne sont pas gérées directement par le
script mais feront apparaître des fenêtres de dialogue destinées
à l'utilisateur qui doit donc être présent devant le PC.
Les fonctions spécifiques de TeleAuto destinés aux 'vrais' observations
automatiques selon la deuxième méthode décrite plus haut
feront l'objet de leçons suivantes.
Le fonctions de script permettant d'utiliser la raquette du télescope
sont inutilisables telles quelles. Elle doivent être utilisées avec
la fonction function Sleep(Delai:Integer); qui permet d'attendre pendant un
certain temps donné par la variable Delai et exprimé en
millisecondes.
Par exemple voici un script qui déplace le télescope pendant 250 millisecondes
vers le nord avec le vitesse la plus faible (vitesse de guidage sur le LX200) :
program DeplaceNord1; begin WinScope.Show; WinScope.Speed4; WinScope.NorthMouseDown; Sleep(250); WinScope.NorthMouseUp; end.
On peut faire la même chose sans la fonction Sleep par impulsion :
program DeplaceNord2; begin WinScope.Show; WinScope.Speed4; WinScope.SetPulseOn; WinScope.SetPulseDelay(0.25); WinScope.NorthMouseDown; WinScope.NorthMouseUp; end.