Audela
Audela

Fonctions de pilotage de télescopes

Fonctions de pilotage de télescopes

Ces commandes permettent de contrôler des télescopes reconnus par Audela : LX200. Les commandes qui permettent de contrôler un télescope, s'écrivent "tel" suivi d'un numéro. Ces commandes n'existent pas au démarrage de Audela, mais sont crées par la commande "::tel::create ...". Ainsi il est possible de piloter plusieurs télescopes, mais il est laissé à l'utilisateur le soin de ne pas exécuter des commandes simultanément. Il est important de savoir que les auteurs ne disposent pas personnellement de ces télescopes, et donc qu'il peut y avoir des problèmes avec certaines caméras.

Les commandes sont divisées en deux catégories :

Les commandes communes : sont utilisables par tous les télescopes supportées.
Les commandes spécifiques : propres à chaque télescope en fonction de fonctionnalités propres.

1. Commandes communes

1.1. Commandes d'informations générales

tel1 drivername

Retourne le nom de la librairie et la date de la dernière compilation.

tel1 name

Retourne le nom du type de télescope associé au driver.

tel1 protocol

Retourne le nom du protocole utilisé.

tel1 port ?portname?

Retourne le nom du port de communication (com1, etc.)

tel1 channel

Retourne le nom de "channel Tcl" associé au port de communication ouvert par l'interpréteur Tcl. En effet, les communications par le port série sont programmées dans le driver via l'interpréteur Tcl afin de pouvoir communiquer, hors driver, avec l'instrument (fonction puts et read de Tcl).

Par exemple, dans cet exemple, on envoie la chaîne #:L# dans le port de communication et on recueille 4 caractères en retour :

set c [tel1 channel]
puts $c "#:L#
set result [read $c 4]

tel1 foclen ?foclen?

Retourne ou assigne longueur focale (mètres) de l'optique.

tel1 testcom

test si la communication est correcte (=1) ou incorrecte (=0).

tel1 model ?function_cat2tel function_tel2cat?

Modèle de pointage. Assigne le nom des fonctions Tcl qui permet de transformer les coordonnées catalogue (cat) en coordonnées télescope (tel) et son contraire. Il faut évidemment avoir défini ces fonctions précédemment. Le modèle de pointage s'applique alors automatiquement lors du pointage (tel1 radec goto qui utilise function_cat2tel} et lors de la lecture des coordonnées (tel1 radec coord qui utilise function_tel2cat).

1.2. Commandes de mouvements

Ces commandes affectent les moteurs de l'axe horaire (RA), de déclinaison (DEC), de focalisation (éventuel). Les commandes affectées aux moteurs RA,DEC se nomment tel1 radec et les commandes associées au moteur de focalisation se nomment tel1 focus. Les arguments suivants permettent de préciser la nature du mouvement. Tout est résumé dans le tableau ci-dessous :

 

motor

init

coord

goto

move

stop

tel1 radec

?on|off?
marche/arrêt du suivi sidéral
{ra dec}
Initialise les codeurs
sur des coordonnées
pas d'arguments
Retourne la valeur actuelle
des codeurs
{ra dec}
Rallie à la position
indiquée
n|s|e|w ?rate?
Bouge le télescope
dans une direction.
Rate est un nombre
qui varie entre 0 (vitesse
la plus petite) à 1 (vitesse la plus grande).
?n|s|e|w?
Arrête le mouvement
spécifié du télescope

tel1 focus

?on|off?
Marche/arrêt du moteur
value
Initialise le codeur
sur la valeur
pas d'arguments
Retourne la valeur actuelle
du codeur
value
Rallie à la position
indiquée
+|- ?rate?
Bouge la focalisation dans
le sens indiqué.
Rate, cf. ci dessus.
?-|+?
Arrête le mouvement
de focalisation

Par exemple, pour rallier le télescope aux coordonnées 4h56m et -7d32m, on écrira :

tel1 radec goto {4h56m -7d32m}

Les fonctions de type tel1 radec peuvent parfois se rencontrer sous leur forme obsolète :

tel1 coord

Retourne les coordonnées en ascension droite et en déclinaison du télescope ou des codeurs, à condition qu'il soit initialisé, sous la forme d'une liste à deux éléments. Par exemple : {14h2m32s +12d42m7s}

tel1 match coord

Resynchronise les coordonnées du télescope sur celles passées à la commande sous forme d'une liste à deux éléments : [list 14h2m32s +12d42m7s] par exemple.

tel1 goto coord

Déplace le télescope aux coordonnées passées en paramètres (liste formée de l'ascension droite et de la déclinaison).

tel1 move direction

Déplace le télescope dans la direction donnée, à choisir entre n, s, e, w.

tel1 stop direction

Arrête le déplacement dans la direction donnée (n, s, e, ou w).

tel1 speed vitesse

Initialise la vitesse de déplacement du télescope, à choisir entre slew, find, center, ou guide.

De même, les fonctions de type tel1 focus, peuvent parfois se rencontrer sous leur forme obsolète :

tel1 focus param

Actionne le moteur de focalisation du télescope, en fonction du paramètre param :
  • slow : vitesse lente,
  • fast : vitesse rapide,
  • in : déplacement du moteur dans un sens,
  • out : déplacement dans l'autre sens,
  • stop : arrêt du moteur de focalisation.

La commande in ou out active les moteurs, il faut bien entendu l'arrêter par la commande stop avant que des dégâts ne soient commis ...

2. Commandes spécifique LX200

2.1. Commandes du driver externe (liblx200.dll) :

tel1 date ?Date?

Mise à jour de l'horloge du microcontrôleur du télescope

tel1 home ?Home?

Mise à jour de l'observatoire du microcontrôleur du télescope

tel1 longformat ?on|off?

Choix du format de coordonnées

tel1 tempo ?ms?

Fixe le délais de temporisation (millisecondes) entre une entrée/sortie

2.2. Commandes du driver interne (libaudela.dll) :

tel1 send chaîne

Envoie la chaîne donnée en paramètre au télescope. Cette fonction permet d'utiliser des fonctions du télescope non implémentées dans Audela. Par exemple pour le LX200, la commande permettant de faire basculer le mode d'horloge 12h/24h est #:H#, il faut donc lancer la commande :
tel1 send {#:H#}

tel1 receive num ?stopchar?

Lit des données provenant du télescope. Le paramètre num indique le nombre de caractères attendus. Si stopchar est précisé alors il correspond au caractère qui arrêterait la lecture s'il était rencontré. Il convient de préciser qu'il faut avoir la documentation du télescope pour savoir ce qu'on fait.

Pour lire la fréquence du moteur d'ascension droite du LX200 par exemple, il faut envoyer deux commandes :

tel1 send {#:GT#}
tel1 receive 5

ou

tel1 receive 10 #
et renvoie 50.0# en général.

tel1 flush

Vide les buffers d'émission et de réception de l'ordinateur (à effectuer de préférence avant chaque échange sur la ligne).

| English Version | Mailing List Audela | ©2004 Audela | Design TechnoSpeak