Identifiants des moteurs
motorId
|
Signification
|
m
|
0
|
Moteur de l'axe ascension droite (RA).
|
1
|
1
|
Moteur de l'axe déclinaison (DEC).
|
2
|
Etats des moteurs
motorStatus
|
Signification
|
ijk
(hexadécimal)
|
200
|
Bobines des moteurs non initialisées.
|
0010
|
128
|
Motor not rotating, Gear Teeth at front contact.
|
1010
|
144
|
Motor rotating, Gear Teeth at front contact.
|
1001
|
160
|
Motor not rotating, Gear Teeth at rear contact.
|
1030
|
176
|
Motor rotating, Gear Teeth at rear contact.
|
1021
|
Hémisphères et directions
hemisphere
|
Signification
|
direction
|
Signification
|
n
|
0
|
Hémisphère nord.
|
0
|
Avance (+).
|
0
|
1
|
Recule (-).
|
1
|
1
|
Hémisphère sud.
|
0
|
Avance (+).
|
2
|
1
|
Recule (-).
|
3
|
Vitesse de suivi
trackRate
|
Signification
|
eeffgg
|
0
|
Suivi sidéral.
|
620
|
1
|
Suivi lunaire.
|
643
|
2
|
Suivi solaire.
|
621
|
Fonctions de connexion à la monture
Fonction
|
Signification
|
Commandes
|
Réponses
|
EQ_Init
|
- Etablissement de la connexion à la monture EQ via le port COM.
- Obtention des caractéristiques de la monture:
- aabb.cc: Version du firmware.
- ddeeff: Nombre total de pas nécessaires à chaque moteur RA/DEC pour accomplir une révolution de 360°.
Paramètres:
- port: Nom du port COM (ex: COM4).
- baud: Vitesse de transmission des données vers la monture EQ en baud (en principe 9 600 bauds).
- timeout: Délais de transmission des données vers la monture EQ en millisecondes (1 à 50000).
- retry: Nombre de tentatives de transmission des données vers la monture EQ (0 à 100).
Retour:
- 000: Succès.
- 001: Port COM non disponible (le nom du port COM n'est pas correct).
- 002: Port COM déjà ouvert.
- 003: Erreur de timeout (en général, la monture est éteinte).
- 005: Monture initialisé en utilisation des paramètres non standard.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 999: Paramètre invalide.
|
:e1 :e1 :a1 :a2 :b1 :b2 :g1 :g2
|
= cc bb aa = cc bb aa = ff ee dd = ff ee dd =A7FD00 =A7FD00 =10 =10
|
EQ_GetMountVersion
|
Retourne la version du firmware de la monture obtenue lors de l'appel à EQ_Init (ex: 6.1).
Retour:
- aabb cc: Valeur hexadécimale du numéro de version (aabb) et de sous-version (cc).
- 0x1000000: Monture non disponible (la connexion n'a pas été établie).
|
|
|
EQ_GetTotal360microstep
|
Retourne le nombre total de pas nécessaires à un moteur (RA ou DEC) pour accomplir une révolution de 360°, obtenue lors de l'appel à EQ_Init. Pour une monture Orion Atlas EQ-G on obtient 9 024 000 pas, ce qui fait une résolution de 0,144 seconde d'arc par pas.
Paramètre:
- motorId: Identifiant du moteur.
Retour:
- ddeeff: Valeur hexadécimale du nombre de pas (3 octets).
- 0x1000000: Monture non disponible (la connexion n'a pas été établie).
- 0x3000000: Paramètre invalide.
|
|
|
EQ_End
|
Fermeture de la connexion à la monture EQ.
Retour:
- 000: Succès.
- 001: Port COM non disponible.
|
|
|
EQ_GetMountStatus
|
Retourne l'état de la connexion à la monture EQ.
Retour:
- 0: Non connecté.
- 1: Connecté.
|
|
|
Fonctions de contrôle des encodeurs
Fonction
|
Signification
|
Commandes
|
Réponses
|
EQ_InitMotors
|
- Vérification que les moteurs RA/DEC ne sont pas en cours de fonctionnement (ijk ≠ 1001 et 1021). Si c'est le cas, une erreur 006 ou 007 est déclenchée.
- Affectation d'une valeur pour chaque encodeur des moteurs RA/DEC sur leur position initiale.
- Activation des bobines des moteurs RA/DEC (blocage des moteurs).
Paramètres:
- xxyyzz: Valeur hexadécimale de l'encodeur du moteur RA (3 octets).
- rrsstt: Valeur hexadécimale de l'encodeur du moteur DEC (3 octets).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 006: Moteur RA en cours de fonctionnement.
- 007: Moteur DEC en cours de fonctionnement.
- 008: Erreur lors de l'initialisation du moteur RA.
- 009: Erreur lors de l'initialisation du moteur DEC.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
|
:f1 :f2 :E1 zz yy xx :E2 tt ss rr :j1 :j2 :F1 :F2
|
= jk i = jk i = = = zz yy xx = tt ss rr = =
|
EQ_GetMotorStatus
|
Retourne l'état des moteurs.
Paramètre:
- motorId: Identifiant du moteur.
Retour:
- motorStatus: Etat des moteurs.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 999: Paramètre invalide.
|
:f m
|
= jk i
|
EQ_GetMotorValues
|
Retourne la valeur hexadécimale de l'encodeur d'un moteur (RA ou DEC).
Paramètre:
- motorId: Identifiant du moteur.
Retour:
- xxyyzz: Valeur hexadécimale de l'encodeur du moteur (3 octets).
- 0x1000000: Monture non disponible.
- 0x1000005: Erreur de timeout.
- 0x10000FF: Réponse illégale de la monture.
- 0x3000000: Paramètre invalide.
|
:j m
|
= zz yy xx
|
EQ_SetMotorValues
|
Change la valeur hexadécimale de l'encodeur d'un moteur (RA ou DEC). Cela revient à affecter une valeur à la position actuelle du moteur.
Paramètres:
- motorId: Identifiant du moteur.
- xxyyzz: Nouvelle valeur hexadécimale de l'encodeur du moteur (3 octets).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé.
- 999: Paramètre invalide.
|
:E m zz yy xx
|
=
|
Fonctions de positionnement
Fonction
|
Signification
|
Commandes
|
Réponses
|
EQ_StartMoveMotor
|
- Vérification que le moteur (RA ou DEC) a été initialisé (ijk ≠ 0010) et qu'il ne soit pas en cours de fonctionnement (ijk ≠ 1001 et 1021). Si c'est le cas, une erreur 011 ou 004 est déclenchée.
- Positionne le moteur (RA ou DEC) à une nouvelle position.
Paramètres:
- motorId: Identifiant du moteur.
- hemisphere: Hémisphère (détermine n).
- direction: Direction (détermine n).
- xxyyzz: Valeur hexadécimale du déplacement en nombre de pas (3 octets).
- rrsstt: Point de désaccélération du moteur (situé entre 50% et 90% de la valeur de déplacement).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 004: Moteur occupé.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé.
- 999: Paramètre invalide.
|
:f m :K m :G m 0 n :H m zz yy xx :M m tt ss rr :J m
|
= jk i = = = = =
|
EQ_Slew
|
- Vérification que le moteur (RA ou DEC) a été initialisé (ijk ≠ 0010) et qu'il ne soit pas en cours de fonctionnement (ijk ≠ 1001 et 1021). Si c'est le cas, une erreur 011 ou 004 est déclenchée.
- Change la position du moteur (RA ou DEC) en jouant sur sa vitesse de déplacement.
Paramètres:
- motorId: Identifiant du moteur.
- hemisphere: Hémisphère (détermine n).
- direction: Direction (détermine n).
- xxyyzz: Vitesse de déplacement par rapport à la vitesse sidéral (1x à 800x).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 004: Moteur occupé.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé.
- 999: Paramètre invalide.
|
:f m :K m :G m 3 n :I m zz yy xx :J m
|
= jk i = = = =
|
EQ_MotorStop
|
Arrêt d'un moteur (RA ou DEC).
Paramètre:
- motorId: Identifiant du moteur.
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé.
- 999: Paramètre invalide.
|
:K m
|
=
|
Fonctions de guidage et PEC
Fonction
|
Signification
|
Commandes
|
Réponses
|
EQ_StartRATrack
|
Active le suivi sidéral, lunaire ou solaire du moteur RA.
Paramètres:
- trackRate: Vitesse de suivi (détermine eeffgg).
- hemisphere: Hémisphère (détermine n).
- direction: Direction (détermine n).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé (si la dernière commande a retournée une erreur 4).
- 999: Paramètre invalide.
|
:K1 :G1 1 n :I1 gg ff ee :J1
|
= = = =
|
EQ_SendCustomTrackRate
|
Active un suivi personnalisé sur un moteur (RA ou DEC).
Paramètres:
- motorId: Identifiant du moteur.
- trackRate: Vitesse de suivi (détermine eeffgg).
- trackOffset: Décalage de la vitesse par rapport au trackRate (0 à 300).
- trackDir: Sens du décalage.
- 00 - Positif (EEFFGG = eeffgg - trackOffset).
- 01 - Négatif (EEFFGG = eeffgg + trackOffset).
- hemisphere: Hémisphère (détermine n).
- direction: Direction (détermine n).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 004: Moteur occupé.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé (si la dernière commande a retournée une erreur 4).
- 999: Paramètre invalide.
|
:K m :G m 1 n :I m GG FF EE :J1
|
= = = =
|
EQ_SendGuideRate
|
Active un suivi personnalisé sur le moteur RA.
Paramètres:
- motorId = 0.
- trackRate: Vitesse de suivi (détermine eeffgg).
- guideRate:
- 0 - Pas de changement (0 %).
- 1 - 10 %.
- 2 - 20 %.
- 3 - 30 %.
- 4 - 40 %.
- 5 - 50 %.
- 6 - 60 %.
- 7 - 70 %.
- 8 - 80 %.
- 9 - 90 %.
- guideDir:
- 00 - Positif (EEFFGG = eeffgg / (1 + guideRate) avec un arrondi à l'entier inférieur).
- 01 - Négatif (EEFFGG = eeffgg / (1 - guideRate) avec un arrondi à l'entier inférieur).
- hemisphere: Non utilisé.
- direction: Non utilisé.
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 004: Moteur occupé.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si la commande a retournée une erreur 2).
- 011: Moteur non initialisé (si la commande a retournée une erreur 4).
- 999: Paramètre invalide.
|
:I1 GG FF EE
|
=
|
Active un suivi personnalisé sur le moteur DEC.
Paramètres:
- motorId = 1.
- trackRate: Vitesse de suivi (détermine eeffgg).
- guideRate:
- 0 - Pas de changement (100 %).
- 1 - 10 %.
- 2 - 20 %.
- 3 - 30 %.
- 4 - 40 %.
- 5 - 50 %.
- 6 - 60 %.
- 7 - 70 %.
- 8 - 80 %.
- 9 - 90 %.
- guideDir:
- 00 - Positif (n = 0, EEFFGG = eeffgg / guideRate avec un arrondi à l'entier inférieur).
- 01 - Négatif (n = 1, EEFFGG = eeffgg / guideRate avec un arrondi à l'entier inférieur).
- hemisphere: Hémisphère (détermine n).
- direction: Direction (détermine n).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 004: Moteur occupé.
- 010: Impossible d'exécuter la commande avec l'état en cours du contrôleur pas à pas (si une commande a retournée une erreur).
- 011: Moteur non initialisé (si la dernière commande a retournée une erreur 4).
- 999: Paramètre invalide.
|
:K2 :G2 1 n :I2 GG FF EE :J2
|
= = = =
|
EQ_SetAutoguiderPortRate
|
Régle la vitesse de guidage du port d'autoguidage pour un moteur (RA ou DEC).
Paramètres:
- motorId: Identifiant du moteur.
- guidePortRate:
- 00 - 0,25x (p = 3).
- 01 - 0,50x (p = 2).
- 02 - 0.75x (p = 1).
- 03 - 1.00x (p = 0).
Retour:
- 000: Succès.
- 001: Port COM non disponible.
- 003: Erreur de timeout.
- 999: Paramètre invalide.
|
:P m p
|
=
|
Commandes périphérique
Commande
|
Fonction
|
Paramètre
|
Retour
|
:F m
|
Initialise un moteur.
|
Aucun.
|
Aucun.
|
:e m
|
Retourne la version du firmware du contrôleur d'un moteur sous la forme:
- aabb: version (exemple: 6),
- cc: sous-version (exemple: 1).
|
Aucun.
|
= cc bb aa
|
:a m
|
Retourne ddeeff, le nombre total de pas nécessaires à un moteur pour accomplir une révolution de 360° (exemple: 9 024 000 pas pour un Orion Atlas).
|
Aucun.
|
= ff ee dd
|
:b m
|
Retourne ddeeff, la fréquence d'interruption du timer (exemple: 64 935 pour un Orion Atlas).
|
Aucun.
|
= ff ee dd
|
:g m
|
Retourne ff, le taux de la haute vitesse (exemple: 16 pour un Orion Atlas).
|
Aucun.
|
= ff
|
:D m
|
Retourne ddeeff, le taux de la vitesse sidérale (exemple: ?? pour un Orion Atlas).
|
Aucun.
|
= ff ee dd
|
:s m
|
InquirePECPeriod: Inquire PEC Period.
|
Aucun.
|
Encoded String.
|
:L m
|
AxisStop (Instant Stop): Stop the target axis instantly.
|
Aucun.
|
Aucun.
|
:K m
|
AxisStop (Not Instant stop): Stop the target axis normally.
|
Aucun.
|
Aucun.
|
:E m zz yy xx
|
SetAxisPosition: Set the target axis position to the specify value.
|
xxyyzz: Valeur hexadécimale de la position du moteur.
|
Aucun.
|
:j m
|
GetAxisPosition: Get the target axis position.
|
Aucun.
|
Valeur hexadécimale (3 octets) de la position du moteur.
|
:f m
|
GetAxisStatus: Get the target axis's status.
|
Aucun.
|
Etat du moteur (12 bits).
|
:O m x
|
SetSwitch: Turn On/Off of the trigger.
|
x: turn off (0) or turn on (1)
|
Aucun.
|
:G m s d
|
CmdSetDirection
|
s: SpeedSlew (0) ou SpeedTrack (1).
d: negative (0) ou positive (1).
|
Aucun.
|
:G m x
|
SetMotionMode: Set the different motion mode.
|
x:
0 high speed GOTO slewing, 1 low speed slewing mode, 2 low speed GOTO mode, 3 High slewing mode
|
Aucun.
|
:H m zz yy xx
|
SetGotoTargetIncrement: Set the goto target increment.
|
xxyyzz: Valeur hexadécimale ?
|
Aucun.
|
:M m zz yy xx
|
SetBreakPointIncrement: Set the break point increment.
|
xxyyzz: Valeur hexadécimale ?
|
Aucun.
|
:U m zz yy xx
|
SetBreakSteps: Set the Break Steps.
|
xxyyzz: Valeur hexadécimale ?
|
Aucun.
|
:I m zz yy xx
|
SetStepPeriod: Set the step counts.
|
xxyyzz: Valeur hexadécimale ?
|
Aucun.
|
:J m
|
StartMotion: Start motion based on previous settings.
|
Aucun.
|
Aucun.
|
:B m x
|
CmdActivate
|
x: Activer et démarrer (0) ou désactivation (1) ?
|
Aucun.
|
:P m p
|
SetAutoGuideRate
|
p: 1,00x (0), 0,75x (1), 0,50x (2) ou 0.25x (3).
|
Aucun.
|
Chaque commande doit être terminée par le caractère retour chariot (code ASCII = 0x0D).
Réponses périphérique
Réponse
|
Signification
|
Résultat
|
=
|
Retour d'une commande sans résultat.
|
|
= aa
|
Retour d'une commande avec résultat sous forme hexadécimale sur 1 octet (0 à 255).
|
0x aa
|
= cc bb aa
|
Retour d'une commande avec résultat sous forme hexadécimale sur 3 octet (0 à 16 777 215).
|
0x aa bb cc
|
!2
|
Erreur: Moteur en cours de fonctionnement.
|
|
!4
|
Erreur: Moteur non initialisé.
|
|
Chaque réponse est terminée par le caractère retour chariot (code ASCII = 0x0D).
Liens externes