GotoAndrivet

~ Le contrôleur GoTo libre pour télescopes ~

★ Bienvenue sur le site de GotoAndrivet ! ★ Dernière nouveauté, le 21/10/2026 : Firmwares des cartes prêts à flasher, publiés par GitHub ★ Logiciel libre et gratuit, sous licence GPL v3 ★ Bon ciel à toutes et à tous ! ★

Nouveautés

Les dernières modifications du projet, les plus récentes en premier. Elles arrivent chez les utilisateurs par le bouton « Mise à jour » des applications.

  • 21/10/2026 0bce388 Firmwares des cartes prêts à flasher, publiés par GitHub NOUVEAU !
    Détails
    Le configurateur compile et flashe les cartes lui-même ; pour ceux qui
    ne peuvent pas l'utiliser, le workflow « Firmwares » compile les trois
    firmwares (monture Mega, monture Teensy, raquette Teensy) à chaque
    modification et les publie avec leurs sources dans la version
    « firmwares » (liens stables releases/download/firmwares/…).
    
    Le site les propose dans la page Télécharger, avec la commande avrdude
    pour le Mega et Teensy Loader pour les Teensy, et en garde une copie
    comme pour les installateurs.
  • 21/10/2026 ff6e7f6 README : lien vers le site du projet
  • 21/10/2026 62ccc17 Paquet GotoAndrivet.deb : installation par double-clic sur Ubuntu et Debian
    Détails
    Sur Ubuntu récent, un exécutable téléchargé ne se lance pas d'un
    double-clic, mais un .deb s'ouvre dans le Centre d'applications, qui
    l'installe d'un clic sur « Installer ».
    
    - outils/construire_deb.sh construit dist/GotoAndrivet.deb (paquet
      « gotoandrivet », architecture all) : installateur, lanceur, icônes et
      les deux entrées du menu (carte du ciel, configurateur). Dépend de
      python3-venv et python3-tk, installés au besoin.
    - À la première ouverture d'une application, le lanceur installe
      GotoAndrivet dans ~/.goto_andrivet (install_linux.py
      --premier-lancement : fenêtre qui installe seule puis se ferme), puis
      ouvre l'application. Les entrées personnelles, de mêmes noms,
      remplacent ensuite celles du paquet ; les mises à jour restent celles
      du bouton « Mise à jour ».
    - Le workflow « Installateur Linux » construit aussi le .deb et le
      publie : releases/latest/download/GotoAndrivet.deb.
    - README et page de la release : le .deb en premier pour Ubuntu et
      Debian, l'installateur et la commande pour les autres distributions.
    
    Testé dans un Debian 13 vierge : apt installe le paquet avec
    python3-tk et python3-venv, entrées du menu valides
    (desktop-file-validate), premier lancement de la carte du ciel :
    installation automatique puis ouverture, version 2328766, entrées
    personnelles créées ; le configurateur s'ouvre ensuite sans réinstaller.
  • 21/10/2026 2328766 Carte du ciel : erreur de syntaxe qui l'empêchait de démarrer
    Détails
    Depuis 1be30d8, un saut de ligne manquant collait « try: » au
    commentaire de l'appel à mise_a_jour.register() dans _check_update :
    SyntaxError au lancement de goto_andrivet.py. Toute installation mise
    à jour depuis ne démarrait plus, ni donc son bouton de mise à jour.
    
    Vérifié : tous les .py du projet compilent ; la carte démarre et se
    pilote dans le conteneur Xvfb.
  • 21/10/2026 78cfda1 Installateur : plus de blocage par le quota de GitHub ; bonnes consignes
    Détails
    - Sur la tablette, l'installation s'arrêtait d'emblée sur « HTTP Error
      403: rate limit exceeded » : l'API de GitHub n'accepte que 60 requêtes
      par heure et par adresse Internet, partagées par tous les appareils
      de la maison. L'installateur ne l'interroge plus : la version
      installée est lue dans l'archive téléchargée (GitHub y inscrit le
      commit). La vérification des mises à jour se rabat sur le flux public
      des commits quand l'API refuse.
    - Consignes du README et de la page de téléchargement : sur Ubuntu
      récent (Fichiers, GNOME 50), le double-clic ne lance pas un programme
      téléchargé ; il propose de chercher une application dans le Centre
      d'applications, qui ne trouve rien. Passer par Propriétés →
      « Exécutable comme programme », puis clic droit → « Exécuter comme un
      programme ».
    
    Vérifié avec le quota de l'API à zéro : installation complète, version
    enregistrée 36e4dd8, version distante lue dans le flux.
  • 21/10/2026 36e4dd8 CONTRIBUTING.md : guide pour contribuer au projet
    Détails
    Comment signaler un problème, proposer une modification (Fork, Pull
    request), règles du projet (firmware générique, plan de câblage,
    compatibilité du protocole avec INDI et la raquette, deux firmwares,
    pas de nouvelle bibliothèque sans discussion, interface bilingue),
    vérifications avant de proposer, relecture et licence GPL v3.
  • 21/10/2026 25686aa README : guidage.py dans la structure du projet
  • 21/10/2026 1be30d8 Applications trouvées dans le menu et la recherche de GNOME
    Détails
    Les installations faites avec l'ancien installateur n'avaient que deux
    raccourcis sur le Bureau : rien dans ~/.local/share/applications, donc
    la recherche des applications ne trouvait ni la carte du ciel ni le
    configurateur. Les mises à jour remplacent les fichiers mais ne créaient
    pas ces entrées.
    
    - mise_a_jour.shortcuts() écrit les entrées du menu (et du Bureau à
      l'installation) ; register() les crée ou les met à jour au démarrage
      de chaque application installée (dossier avec venv, hors dépôt git).
      Les anciennes installations se corrigent donc à leur prochain
      lancement après la mise à jour, sans réinstaller.
    - Le configurateur s'appelle « GotoAndrivet - Configurateur » (et non
      plus « Goto Universal Config ») ; mots-clés de recherche (télescope,
      monture, astronomie, OnStep…) ; catégories Science;Astronomy;
      (desktop-file-validate sans remarque) ; chemins entre guillemets.
    - install_linux.py utilise ces fonctions ; Install_Goto_Universal
      reconstruit.
    
    Vérifié : la recherche GIO (celle de GNOME) trouve les deux applications
    par « gotoandrivet », « télescope », « configurateur » et « carte ».
  • 21/10/2026 37eb10d Carte du ciel : module de guidage avec une deuxième caméra ZWO
    Détails
    guidage.py, bouton « ◎ Guidage » de la carte, dans l'esprit de PHD2 et
    d'un ASIAIR :
    - deuxième caméra ZWO (celle du module photo est refusée) ou caméra de
      guidage simulée : vrai ciel, erreur périodique, dérive et turbulence,
      impulsions appliquées sur l'axe AD (cos Déc sur le ciel) ;
    - étoile choisie automatiquement (la plus franche, ni saturée ni pixel
      chaud) ou d'un clic, suivie par barycentre ;
    - calibration : impulsions Ouest/Est, rattrapage du jeu puis Nord/Sud,
      l'étoile suivie à chaque pas ; direction et vitesse (px/s) des deux
      axes, angle entre eux ; gardée dans les réglages et reprise pour la
      même caméra et la même focale ; vitesse AD corrigée de cos(Déc) ;
    - guidage : écart décomposé sur les axes calibrés, agressivité et
      hystérésis en AD, changement de sens retenu en Déc, Déc auto, Nord,
      Sud ou arrêt ; courbe AD/Déc en ″ avec les impulsions, RMS ;
    - corrections envoyées par le PC à la monture (:Mg sur la liaison USB,
      sans câble ST-4) ; vitesse de guidage lue (:GX90) et réglable (:Rg) ;
      refus clair si la monture est déconnectée ou sans suivi ; côté du
      pilier contrôlé en monture allemande ;
    - un GoTo (carte, centrage, modèle) arrête le guidage, Échap aussi.
    
    Module photo : dithering dans les séquences (toutes les N images, de
    D pixels de guidage), avec attente de la stabilisation du guidage. La
    caméra simulée télécharge un champ deux fois plus grand une seule fois
    au lieu d'une requête au CDS à chaque petit déplacement.
    
    Testé dans un conteneur Xvfb, monture simulée sur M81 (Déc +69°) et
    caméra de guidage simulée tournée de 23° : calibration AD 0,82 px/s et
    Déc 2,29 px/s pour 0,83 et 2,33 attendus, axes à 90,3° ; guidage
    0,7 à 0,8″ RMS total pour 0,35″ de turbulence par axe ; dithering de
    3,8 px stabilisé en ~11 s au milieu d'une séquence ; GoTo qui arrête le
    guidage. Pas de caméra ZWO réelle pour l'essai.
  • 21/10/2026 4dee74d Installation en un clic : installateur autonome, lien GitHub, commande unique
    Détails
    - install_linux.py : lancé seul (téléchargé, ou par la commande), il
      télécharge la dernière version de main comme le bouton « Mise à jour »
      et enregistre la version installée ; lancé depuis le dossier du projet,
      il copie ce dossier comme avant. Nouveau mode --auto, sans fenêtre.
      Raccourcis aussi dans le menu des applications ; message clair si
      python3-venv manque.
    - installer.sh : installation par une seule commande
      (wget -qO- …/installer.sh | sh), avec vérification de Python, Tk et venv.
    - Workflow « Installateur Linux » : construit Install_Goto_Universal
      (PyInstaller, Ubuntu 22.04) et le publie dans la version
      « installateur », derrière le lien stable
      releases/latest/download/Install_Goto_Universal.
    - Install_Goto_Universal du dépôt reconstruit avec ce code.
    - README : section « Installation en un clic (Linux) » en tête, et
      photo.py dans la structure du projet.
    - LICENSE : le texte de la GPL v3 s'arrêtait au milieu de la section 5
      (11 371 caractères sur 34 163), d'où « Other » sur GitHub. Texte
      officiel complet rétabli.
    
    Testé dans un dossier personnel isolé : script seul et exécutable seul
    téléchargent 862a211, créent l'environnement, installent les 7
    dépendances et les deux raccourcis.
  • 21/10/2026 862a211 Carte du ciel : module caméra (astrométrie, modèle de pointage, cadrage)
    Détails
    Module photo dans l'esprit d'un ASIAIR (photo.py, bouton « ◉ Caméra »
    de la carte du ciel) :
    - caméras ZWO (zwoasi) ou caméra simulée (vrai ciel Tycho-2 au
      pointage, avec une erreur de pointage simulée) ; refroidissement ;
    - vue en continu, photo, séquences en FITS (DATE-OBS, EXPTIME, GAIN,
      binning, focale, objet, AD/Déc, ROWORDER) ; étoiles et HFR pour la
      mise au point, avec les boutons du focuseur ;
    - astrométrie locale par solve-field (index du système et ceux
      téléchargés par le configurateur dans astrometry_data/) : Résoudre,
      Résoudre et synchroniser, Centrer la cible (synchro + nouveau GoTo
      jusqu'à la tolérance) ;
    - option cochée par défaut : après chaque GoTo de la carte, astrométrie
      et correction automatiques si l'écart dépasse la tolérance ;
    - modèle de pointage : N points répartis sur le ciel (GoTo, pose,
      astrométrie, :CM). Chaque synchro ajoute un point au modèle IDW du
      Teensy ; liste des points et écarts mesurés ; « Effacer » envoie :CML ;
    - angle de cadrage : tourne le dérotateur jusqu'à l'angle voulu mesuré
      par astrométrie, en apprenant le sens du rotateur ;
    - champ de la caméra tracé sur la carte autour du réticule, orienté
      par la dernière astrométrie.
    
    Dérotateur en équatoriale : les firmwares Mega et Teensy faisaient
    suivre :XDa à l'axe DEROT en AltAz seulement. Il le suit maintenant
    dans tous les types de monture. Le PC ne calcule la compensation de
    rotation de champ qu'en AltAz ; en équatoriale, la case est grisée et
    le dérotateur sert de rotateur de cadrage. Les boutons ±1°/±5° font
    tourner l'angle dans le bon sens dans les deux modes (en compensation,
    ils le faisaient tourner à l'envers).
    
    Corrigé au passage : texte illisible des listes déroulantes en lecture
    seule (thème), « Field angle » non traduit.
    
    Testé dans un conteneur Xvfb avec monture et caméra simulées :
    correction après GoTo 33′ → 0,0′ en un essai, modèle 5 points, cadrage
    à 30° atteint à 0,3° près en partant du mauvais sens, orientation du
    champ sur la carte exacte à 0,02°. Firmware Teensy compilé pour PC, en
    ForkEq : :XDa10 = 1 000 pas, puis :XDa-5 = 1 500 pas. Les deux
    firmwares compilent (arduino-cli).
  • 21/10/2026 b509e5a Carte du ciel : dérotateur intégré, focuseur intégré et focuseur ZWO EAF
    Détails
    Dérotateur (onglet Dérotateur) : choix du type, intégré à la monture,
    ZWO CAA (USB), série (SETPOS) ou simulation. L'intégré passe par la
    connexion de la monture : pas par degré envoyés (:XDp), axe activé
    (:XDe1), angles par :XDa (compensation de la rotation de champ et
    contrôle manuel). Avant, il dépendait d'un réglage du configurateur que
    la carte ne lisait pas, et les pas par degré n'étaient jamais envoyés.
    Le firmware ne l'anime qu'en AltAz : rappelé sous le choix.
    
    Focuseur (nouvel onglet) : intégré à la monture (:XFe1, :XF+/:XF-/:XFQ,
    vitesses :XFs/:XFf) ou ZWO EAF (SDK). Boutons à maintenir (◀ ▶ lent,
    ◀◀ ▶▶ rapide, arrêt au relâchement) ; EAF : position, température,
    déplacement d'un nombre de pas, « Aller à » borné à la course. Échap
    arrête aussi le focuseur.
    
    zwoeaf.py : accès au SDK EAF (identifiant par EAFGetID). zwocaa.py :
    l'identifiant du CAA vient de CAAGetID au lieu de 0. Configurateur :
    l'EAF appelait EAFInit, absente du SDK 1.7.7 : le chargement échouait
    en silence et l'EAF ne bougeait jamais.
    
    Testé : firmware Teensy compilé pour PC (GoTo dérotateur 10° = 1 000 pas
    à 100 pas/°, focuseur ~1 000 pas/s lent et ~4 700 pas/s rapide, arrêt
    au relâchement), EAF sur une fausse bibliothèque, CAA réel sans
    appareil (message clair), interface dans un conteneur Xvfb.
  • 21/10/2026 1f3c819 Carte du ciel : bouton Mise à jour toujours visible, simulation décochée
    Détails
    - Bouton « Mise à jour » dans l'en-tête de la carte, visible dès le
      démarrage. Pastille rouge et « Mise à jour disponible » quand GitHub a
      une version plus récente : un clic l'installe. Sinon, un clic vérifie
      tout de suite. Remplace le texte de la barre d'état, peu visible.
    - La case Simulation de la monture est décochée par défaut (celle du
      dérotateur ne change pas).
  • 21/10/2026 6524a4a Raquette : précession des catalogues et heure UTC du Système solaire
    Détails
    Raquette physique (teensy_raquette.ino) :
    - Ses catalogues sont en J2000 mais la monture travaille en coordonnées
      de la date (LX200) : GoTo et synchronisations visaient à 0,3-0,4° de la
      cible. precessToDate() (IAU 1976, même calcul que la carte du ciel,
      écart à PyEphem 0,03") avant l'envoi ; le Système solaire, déjà de la
      date (éléments de Schlyter), n'est pas précessé. La cible est gardée en
      coordonnées de la date, comme :Gr/:Gd de la monture (reprise après
      pause, temps restant).
    - Les deux synchronisations passent par cmd_sync_on(), au lieu de deux
      copies du formatage :Sr/:Sd.
    - computeSysSol() recevait l'heure locale de la monture (:GL) comme si
      c'était l'UTC : la Lune était décalée d'environ 1° en été. L'heure est
      ramenée à l'UTC avec le fuseau :GG de la monture.
    
    Configurateur : titre et messages « GotoAndrivet » au lieu de « GotoMega ».
    
    README : ciel_donnees.py, mise_a_jour.py et outils/ dans la structure du
    projet ; ephem (facultatif) dans les prérequis.
  • 20/10/2026 0d39d7c Carte du ciel : réticule juste en équatorial, contrôle de l'heure sidérale
    Détails
    GoTo qui « ne marche pas » sur une monture ForkEq ou GermanEq : la monture
    pointait bien la cible, mais la carte plaçait le réticule avec les valeurs
    de :GBE, qui sont en équatorial les angles des axes (angle horaire,
    déclinaison) et non l'azimut et la hauteur. Le réticule partait vers
    l'horizon nord et les champs Azimut/Altitude étaient faux. En équatorial,
    la position horizontale est maintenant calculée depuis l'AD/Déc de la
    monture (_scope_altaz), aussi pour « Centrer sur le télescope » et
    « Suivre ».
    
    À la connexion, la carte compare l'heure sidérale de la monture (:GS) à
    celle du PC et prévient au-delà de 2 min d'écart. Un firmware antérieur
    au fuseau :SG en convention LX200 (a3dffde) donne 4 h d'écart en été :
    les GoTo partent alors à 60° de la cible. Le message invite à flasher
    le dernier firmware.
    
    Testé dans un conteneur Xvfb, clic sur Arcturus, monture ForkEq 750:1
    (firmware Teensy compilé pour PC) : réticule sur l'étoile, suivi recalé
    sur la cible en moins de 15 s après le slew ; avec le firmware 50236fa
    à l'heure de Paris, alerte « +241 min ».
  • 20/10/2026 0f9003c Carte du ciel : véracité, ergonomie et mise à jour en ligne
    Détails
    Véracité (vérifiée contre SIMBAD et PyEphem) :
    - La carte était vue en miroir : face au Sud, l'Est apparaissait à droite,
      et les points cardinaux E/O avaient été inversés pour le masquer.
      Projection stéréographique corrigée (Est à gauche face au Sud, Nord en
      haut et Est à gauche en vue zénithale).
    - Précession IAU 1976 : catalogues J2000 ramenés à la date pour la carte
      et pour la monture (GoTo et sync envoient des coordonnées de la date,
      comme LX200/OnStep/INDI). Écart corrigé : 0,33° en médiane. Positions
      affichées en J2000.
    - Étoiles : 44 étoiles approximatives (Procyon décalée de 20,7°, Gacrux
      de 6°...) remplacées par le Yale Bright Star Catalogue, 8 404 étoiles
      jusqu'à la magnitude 6,5, couleurs selon B-V, 567 noms. Écart aux
      étoiles de PyEphem : 0,5" en médiane.
    - Constellations : les 88, lignes et noms français/anglais (Stellarium),
      au lieu d'un morceau d'Orion et d'un Pégase faux.
    - Ciel profond : listes saisies à la main fausses (NGC jusqu'à 2°, IC
      jusqu'à 92°, Caldwell jusqu'à 44° avec des objets erronés : C22, C46,
      C101, C107 tous « Omega Centauri »). Remplacées par OpenNGC : 110
      Messier, 109 Caldwell (vrai catalogue), 1 670 NGC, 208 IC, tailles
      réelles. Écart médian à SIMBAD : 2,4".
    - Voie lactée calculée depuis le plan galactique ; Soleil, Lune et
      planètes (PyEphem), GoTo vers le Soleil refusé.
    - Données dans ciel_donnees.py, généré par outils/generer_ciel_donnees.py
      (sources et licences CC BY-SA 4.0 en tête du fichier et dans À propos).
    
    Ergonomie et interface :
    - Échap = STOP partout ; flèches et +/- déplacent et zooment la carte.
    - Menu Affichage : calques (Voie lactée, grilles, constellations, noms,
      ciel profond, planètes), suivre le télescope, vues N/S/E/O/zénith.
    - Sol sous l'horizon, horizon et points cardinaux lisibles, en-tête et
      légende sur fond, info-bulles et clic sur étoiles, planètes et objets,
      objet sélectionné cerclé sur la carte.
    - Densité adaptée au champ (magnitude limite, étiquettes Messier seules
      en grand champ) ; dessin complet en 17 ms, réticule seul entre deux.
    - Symboles que Tk n'affiche pas remplacés (STOP, Parking, loupe),
      panneau du dérotateur et en-tête de la carte plus tronqués, colonnes du
      catalogue ajustées, catalogue sans doublons, recherche par nom anglais
      et désignation, libellés français/anglais.
    
    Mise à jour en ligne : module mise_a_jour.py partagé (version installée,
    dernier commit de main, git pull ou archive de GitHub, redémarrage). La
    carte du ciel vérifie au démarrage, affiche « Mise à jour disponible »
    dans la barre d'état et propose Aide > Rechercher une mise à jour. Le
    configurateur utilise le même module.
    
    Tests : conteneur Xvfb (captures), PyEphem (alt/az, précession,
    planètes), firmware Teensy compilé pour PC : GoTo Alkaid à 0,02° de la
    position apparente ; module de mise à jour sur une installation factice.
  • 20/10/2026 0ca7a62 Icones des applis dans le depot et dans l'installateur
    Détails
    - icons/goto_andrivet.svg (telescope sous un ciel etoile, carte du ciel)
      et icons/goto_andrivet_config.svg (engrenage dore et etoile,
      configurateur).
    - install_linux.py copie le dossier icons et cree deux raccourcis :
      GotoMega.desktop (configurateur) et GotoAndrivet.desktop (carte du
      ciel), chacun avec son icone (icone du theme si le fichier manque),
      et les marque comme autorises sous GNOME (gio metadata::trusted).
    - Install_Goto_Universal reconstruit (PyInstaller --onefile, Python
      3.14) et marque executable dans git.
    
    La mise a jour du configurateur copie deja tous les dossiers du depot,
    icons compris.
    
    Teste avec un HOME isole (venv et pip simules) : fichiers et icones
    copies, deux raccourcis avec les bons Exec/Icon, drapeau trusted pose.
  • 20/10/2026 6b9181e README : choix du cablage de la monture dans l'outil de configuration
    Détails
    Phrase ajoutee sous le tableau des cartes monture : sans PCB, cablage
    manuel d'apres le plan de la section 4 (inchange) ; ligne « Cablage
    monture » de l'outil (PCB StepStick, PCB drivers externes ou cablage
    manuel), Teensy impose avec un PCB, TMC5160 seulement sur la carte
    StepStick, bouton « Plan de cablage ».
  • 20/10/2026 e483e1b Configurateur : choix du cablage de la monture et plan de cablage
    Détails
    Nouvelle ligne « Cablage monture » en tete des parametres de la monture :
    PCB StepStick (pcb/monture), PCB drivers externes (pcb/monture_ext), ou
    sans PCB, cablage manuel d'apres le plan de cablage. Le choix et la carte
    (Mega/Teensy) sont memorises dans les reglages de l'outil.
    
    Ce que le choix impose :
    - les deux PCB portent un Teensy 4.1 : carte forcee, menu Carte grise,
      bouton de flashage Mega grise ;
    - section TMC5160 active seulement si un bus SPI est possible (PCB
      StepStick, ou Teensy cable a la main) ; avec le PCB drivers externes,
      la case SPI est decochee et Appliquer envoie :XFS0 (le firmware cesse
      d'interroger les TMC5160) ;
    - une ligne d'aide rappelle les drivers admis et les precautions.
    
    Bouton « Plan de cablage » : tableau des broches de la carte choisie
    (Mega ou Teensy, broches non disponibles en grise), notes des
    connecteurs du PCB choisi et cablage de la raquette. Le tableau reprend
    celui du README, verifie ligne a ligne contre le README et contre les
    #define des deux firmwares. Libelles en francais et en anglais.
    
    Teste fenetre masquee avec le firmware Teensy compile pour PC.
  • 20/10/2026 a3dffde Fuseau horaire :SG en convention LX200/OnStep, compatible INDI/Ekos
    Détails
    Le firmware lisait :SG comme le decalage de l'heure locale sur l'UTC
    (UTC+2 -> :SG+02), a l'inverse de LX200 et du driver INDI lx200_OnStep,
    qui envoie les heures a ajouter a l'heure locale pour obtenir l'UTC
    (UTC+2 -> :SG-02:00). Avec Ekos, l'UTC de la monture etait donc fausse
    de deux fois le decalage (4 h en ete), l'heure siderale aussi.
    
    Firmwares monture (Mega et Teensy) :
    - UTC = heure locale + utcOff ; heure locale du GPS = UTC - utcOff.
    - :SG lit aussi les minutes du format INDI "sHH:MM" et refuse |h| > 14.
    - :GG renvoie la meme convention, celle que le driver INDI inverse.
    
    Clients (configurateur, goto_andrivet.py, raquette_virtuelle.py,
    auto_sync.py) : envoient le signe inverse. raquette_virtuelle.py prenait
    aussi l'heure d'ete en hiver dans sa synchro rapide (time.daylight sans
    tm_isdst). La raquette physique n'envoie pas de :SG.
    
    Teste avec le firmware Teensy compile pour PC : :SG-02 et :SG-02:00
    donnent l'heure siderale juste en UTC+2, :SG-05:30 donne :GG -05.5,
    :SG+15 est refuse. Configurateur et carte du ciel : heure siderale juste,
    GoTo Dubhe a 0,05 deg. Firmware Mega compile seulement.
  • 20/10/2026 50236fa Longitude LX200, mecanique lue a la connexion, compteurs de pas et focuseur
    Détails
    Longitude (:Sg) : le firmware la lit en Ouest positif, comme LX200 et le
    driver INDI (siteLon = -val), mais les quatre clients envoyaient l'Est en
    positif. L'heure siderale etait calculee pour la longitude opposee (6,77 E
    devenait 6,77 W) : un GoTo sur Dubhe depuis Saint-Raphael arrivait a 19 deg
    en azimut. Corrige dans le configurateur (envoi et relecture de :Gg),
    goto_andrivet.py, raquette_virtuelle.py et la raquette physique (envoi ;
    sa lecture etait deja juste). Le firmware reste compatible Ekos.
    
    goto_andrivet.py : a la connexion, lit le type de monture, les rapports,
    les pas et les micro-pas (:GM, :GGa, :GGe, :GSp, :GSm) au lieu de renvoyer
    ses propres reglages (AltAz et 750:1 par defaut), qui ecrasaient ceux du
    configurateur. Rien n'est lu si :GM ne repond pas un type GotoAndrivet.
    
    Firmwares monture (Mega et Teensy) :
    - :BSp, :BSm, :BGa et :BGe convertissent azPos/altPos (changeMechanics) :
      la monture garde son angle. Avant, 90 deg devenaient 5273 deg en passant
      de 750:1 en 1/125 a 100:1 en 1/16, et le GoTo ou le parking suivant
      faisait des tours d'axe. Refuses (0#) pendant un slew.
    - :BM : une position de parking laissee au defaut de l'ancien type suit le
      nouveau (horizon nord en AltAz, pole en equatorial). D'equatorial en
      AltAz, le parking visait 90 deg, au-dessus de ALT_MAX : la monture se
      disait parquee sans bouger.
    
    Configurateur :
    - Mise a jour : le depot GitHub est jbandrivet/goto_mega ; goto_andrivet
      renvoyait 404, aucune mise a jour n'etait jamais trouvee.
    - Focuseur de la monture : :XF+/:XF-/:XFQ au lieu de :F+/:F-/:FQ (refusees
      par le firmware), et la case Focuseur envoie :XFe a l'application.
    - :St, :Sg, :SL, :SG, :hP et :hR repondent un seul caractere sans '#' :
      lecture d'un octet au lieu de read_until, qui attendait 1,5 s a chaque
      fois (Appliquer et Synchro heure passent de 3 s a 0,3 s).
    
    Teste avec le firmware Teensy compile pour PC (port serie virtuel, UBSan)
    et les deux applis pilotees fenetres masquees : configuration relue a
    l'identique, heure siderale juste, GoTo Dubhe a 0,05 deg, parking a
    l'horizon nord, focuseur qui avance, mecanique conservee a la connexion.
    Firmware Mega compile seulement.
  • 20/10/2026 72d87d7 Raquette : menu Park, deparquage et position de parking reparees
    Détails
    - Deparquer envoyait :hW#, inconnu des firmwares monture (reponse 0#) :
      la monture restait parquee, moteurs coupes. Envoie desormais :hR,
      comme goto_andrivet.py.
    - Definir position envoyait :SQa/:SQz, inconnus eux aussi : la position
      de parking n'etait jamais enregistree. Envoie desormais :BPa/:BPz,
      comme l'outil de configuration.
    - La raquette verifie la reponse et affiche IMPOSSIBLE (alarme monture
      ou pas de reponse) au lieu d'annoncer un succes dans tous les cas.
    
    README, carte StepStick : A4988 et DRV8825 demandent tous deux RESET
    relie a SLEEP sur le module (RESET du DRV8825 rappele au niveau bas en
    interne). Broches MS1..MS3 non cablees : pas entier sur A4988/DRV8825,
    1/8 sur TMC2208/TMC2209, sauf pont vers VIO sur le module.
  • 13/10/2026 2e1b579 Firmwares monture : plage de l'axe AH/AZ et depart de rampe adouci
    Détails
    - ForkEq : l'angle horaire d'axe reste dans ]-180, +180]. Avant, slewToAA
      prenait le plus court chemin sur currAz (replie 0..360) alors que azPos ne
      l'est jamais : une suite de GoTo passant par 12 h vrillait le passe-cable
      (2 tours dans le test) et pouvait faire passer le tube sous l'horizon
      (-16,6 deg) sans arret. Un axe laisse vrille (EEPROM) se deroule au GoTo
      suivant.
    - AltAz : plus court chemin, sauf au-dela de +/-270 deg du zero (AZ_WRAP_MAX).
    - GermanEq : inchange.
    - Sync (:CS, et :CM sur Mega) : azPos garde le representant le plus proche
      de la position reelle de l'axe, au lieu de currAz*PPD (0..360).
    - Depart de rampe plafonne a 0,45 deg/s d'axe (RAMP_START_DEG_S). A
      1280 pas/deg (monture monofourche 144:1 en 1/16), 2 kHz faisaient
      1,56 deg/s d'un coup. Sans effet au-dela de 4444 pas/deg, donc sur la
      monture 750:1 en 1/128.
    
    Teste sur hote (fonctions extraites du .ino) ; compile Teensy 4.1 et
    Mega 2560 sans nouvel avertissement.
  • 12/10/2026 3d74f84 PCB monture : deux cartes, StepStick et drivers externes
    Détails
    Carte StepStick (pcb/monture) :
    - Selecteur retire (SW_SEL, RN_SEL, 74HC126/74HCT125, pastilles EXT) :
      les supports sont pilotes directement par le Teensy ; rappels RN_EN
      (10k vers 3,3V) pour garder les drivers coupes au demarrage.
    - Ponts SPI TMC5160 conserves (decales de 0,1 mm : courtyards KiCad 10).
    - Re-routage Freerouting, buck manuel conserve : DRC 0 erreur, 0 non
      connecte. Assemblage FreeCAD : modele PCB reimporte, 0 collision.
    
    Carte drivers externes (pcb/monture_ext, nouvelle) :
    - Par axe : bornier J_VM (VM, GND) et bornier J_SIG (EN, STEP, DIR, GND)
      en 5 V via 3 x 74HCT125 ; 220 uF par sortie VM ; plans GND et +36V.
    - Meme format, fixations, connecteurs et brochage Teensy que la carte
      StepStick. DRC 0 erreur, 0 non connecte.
    - Boitier 35 mm (boitier_monture_ext.scad), STL, rendus, assemblage
      FreeCAD controle.
    
    build_kicad_pcbs.py genere les deux cartes (blocs communs) et reproduit
    exactement les cartes routees. README et fiche technique mis a jour.
  • 12/10/2026 ea48a7e Boitier monture : hauteur portee a 45 mm pour les TMC5160
    Détails
    - boitier_monture.scad : box_h 35 -> 45 mm ; base STL et rendu regeneres
      (le couvercle ne depend pas de box_h, STL inchange).
    - Assemblage FreeCAD : nouvelle base, couvercle remonte a Z 47,5, gabarits
      TMC5160 pire cas (15,3 x 20,4 x 23,2 mm sur le support) : 25,8 mm libres
      au-dessus de la carte du module, 4,2 mm de marge, aucune collision.
    - README : note de hauteur mise a jour.
  • 12/10/2026 81b6aee TMC5160 en SPI1 : ponts SPI sur le PCB, configuration par le Teensy
    Détails
    PCB monture :
    - 5 ponts a souder par support StepStick (broches 2..6 : SDI, SCK, CSN,
      SDO, CLK) vers le bus SPI1 du Teensy : MOSI 26, SCK 27, MISO 39,
      CS AZ/ALT/DEROT/FOCUS = 41/40/38/37 ; CLK vers GND. Ponts ouverts par
      defaut : A4988, DRV8825, TMC2209 fonctionnent comme avant.
    - Re-routage Freerouting : DRC 0 erreur, 0 non connecte, puissance en
      1,5 mm, buck inchange. build_kicad_pcbs.py aligne, rendus regeneres.
    
    Firmware Teensy :
    - Detection (IOIN) et configuration des BTT TMC5160 Pro : courant
      (Rsense 0,075), micro-pas, stealthChop ; reconfiguration au retour du
      36V (GSTAT.reset), etat 'E' sur defaut driver, rien pendant un slew.
    - Commandes :XTS, :XTI, :XTH, :XTP, :XTM, :XTC ; :XFS lisible.
    - Reglages en EEPROM (102-116) ; SPI active au premier demarrage.
    
    Outil de config : section TMC5160 (courants, maintien, stealthChop,
    micro-pas DER/FOC, etat par axe), ignoree avec un firmware Mega.
    
    README et fiche technique mis a jour.
  • 12/10/2026 8bcc099 Nettoyage : suppression des scripts jetables et patchs deja appliques
    Détails
    - Scripts de modification ponctuelle : fix2.py, fix_model.py, fix_pins.py,
      enhance_rv_ui.py, enhance_teensy_ui.py
    - Tests et brouillons : test_model, test_model.cpp, autofocus_test.py,
      get_coords.py, old_teensy.ino
    - Patchs 0001/0002 du guidage non bloquant, deja appliques
      (54fc3a2, 084bee2)
    
    Aucun n'etait reference par les applis ni par les firmwares.
  • 12/10/2026 78584ba Firmwares monture : ISR Mega sans flottant, controle de plage :St/:Sg/:Sd
    Détails
    - Mega : butees ALT precalculees en pas dans recalculatePPD() ; l'ISR de
      suivi compare des entiers au lieu de diviser en flottant logiciel a
      chaque pas ALT (plus aucun __floatsisf/__divsf3 dans __vector_17).
    - Mega + Teensy : :St, :Sg et :Sd repondent 0 hors plage (lat +-90,
      lon +-360, dec +-90). Une latitude absurde faisait deborder sprintf
      dans buf[16] lors du :Gt suivant.
    - Teensy : variables inutilisees now/nowMs supprimees.
  • 11/10/2026 abefaa1 gitignore : sauvegardes KiCad (*.kicad_pcb.backup_*) et FreeCAD (*.FCBak)
  • 11/10/2026 ce83bba Raquette : projet KiCad mis au format KiCad 10
    Détails
    Reglages par defaut ajoutes par KiCad 10 a l'ouverture de la carte ;
    le PCB raquette lui-meme est inchange.
  • 11/10/2026 9d31102 Fiche technique : GPS croise entre Mega et Teensy, ecran LCD PCF8574
    Détails
    - La note du §3 affirmait que le cablage GPS etait preserve entre Mega et
      Teensy : c'est faux, RX2 = broche 17 sur le Mega mais RX4 = broche 16 sur
      le Teensy 4.1 ; les deux fils GPS sont a croiser (le PCB l'est deja).
    - §6.2 : l'ecran est un LCD 20x4 I2C a module PCF8574 (0x27, comme le
      firmware et le README), pas un Grove ; ajout de l'avertissement 5V
      (rappels SDA/SCL du module vers 5V, Teensy 4.1 non tolerant).
  • 11/10/2026 586ceee README : ligne GPS Teensy corrigee et section materielle mise a jour
    Détails
    - Tableau de cablage : sur Teensy 4.1, le TX du GPS va sur la broche 16
      (RX4) et son RX sur la broche 17 (TX4), comme le PCB et le firmware
      (Serial4). Les fils GPS sont donc croises entre Mega et Teensy.
    - Section "Mise a jour Materielle" : selecteur StepStick / driver externe
      5V par axe, orientation des modules, SPI non implemente (le reglage
      :XFS est sans effet, pas de case a cocher), jack 12V via D_JACK,
      pont VUSB-VIN a couper, convention RX/TX du port PC SERIAL.
  • 11/10/2026 8b5feb7 PCB monture : supports StepStick, routage puissance et selecteur de drivers externes
    Détails
    Plan de cablage (README / fiche technique) inchange : memes broches Teensy.
    
    PCB monture
    - Supports StepStick a l'entraxe standard 12,7 mm, colonne puissance dans
      l'ordre Pololu (VMOT en face de EN) ; l'ancien brochage mettait le +36V
      sur le +5V via le module. VIO des modules en 3,3 V.
    - PC SERIAL : TX6 sur la broche 24 (le PCB cablait la 26), connecteur
      sorti de la zone de vis de H2 (courtyard de H2 restaure).
    - Jack 12V isole du bornier 36V par D_JACK (SB560) ; diode du buck SB560
      60V (1N5822 = 40V) ; C_IN 63V deplace hors du passage du cable USB.
    - Condensateurs moteur 220uF/63V D10 au-dessus des modules (un 470uF/63V
      D8 n'existe pas et etait sous le module).
    - Selecteur par axe StepStick / driver externe : DIP x4 SW_SEL,
      3 x 74HC126 (3,3V) vers les supports, 3 x 74HCT125 (5V) vers les
      pastilles DRIVER EXT. (optocoupleurs M542/DM542).
    - Classe de nets "Puissance" 1,5 mm restauree (perdue en f42434d : tout
      etait route en 0,2 mm) ; re-routage Freerouting + finition du buck.
      DRC : 0 erreur, 0 non connecte.
    - Serigraphie : etiquettes DRIVER EXT. en face des bons trous, reperes
      EN/VM des supports, conventions RX/TX cote Teensy.
    
    Boitiers
    - Monture : ouvertures moteurs recentrees (regression a60715d), trou USB-B
      de nouveau supprime, ouvertures micro-USB Teensy et PC SERIAL, encoche
      du jack ouverte en haut, aerations au-dessus des modules.
    - Raquette : trous des boutons centres sur les poussoirs (+3,25 / -2,25).
    - Assemblages FreeCAD reconstruits (les App::Part etaient vides) :
      0 interference avec base, couvercle et gabarits.
    
    Firmware Mega : ne plus piloter LED_BUILTIN (= FOCUS_EN broche 13).
    
    build_kicad_pcbs.py aligne sur ces corrections (classes de nets ecrites
    dans le .kicad_pro).
  • 09/10/2026 5e163f6 Merge origin/main en conservant les corrections mécaniques et DRC validées
  • 09/10/2026 a60715d Correction mécanique PCB/boîtiers : chanfreins 45°, DRC KiCad 0 erreur, recalibrage OpenSCAD/FreeCAD et firmware
  • 01/10/2026 f42434d Hardware upgrade: 36V/12V dual input, external driver headers, clean silkscreen, auto-routed
  • 30/09/2026 e1f999e Feat: Add LX200 :D# command for dynamic slewing check in Auto-Model
  • 29/09/2026 c4c744b Ajout du bouton Derotateur ZWO CAA dans l'outil de configuration
  • 29/09/2026 69885ce Ajout du support natif ZWO CAA SDK (Derotateur) dans l'IHM