Changeset 693 for BAORadio/libindi/libindi/drivers/telescope
- Timestamp:
- Sep 13, 2012, 10:00:35 PM (13 years ago)
- Location:
- BAORadio/libindi/libindi/drivers/telescope
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
BAORadio/libindi/libindi/drivers/telescope/BAO.cpp
r691 r693 130 130 targetAlignmentIP = -1; 131 131 132 // Ces deux variables définissent un intervalle où l'azimut (exprimée en pas codeur) 133 // de l'object pointé va évoluer au cours du suivi... 134 135 azmincodeur = MINAZCODEURS; 136 azmaxcodeur = MAXAZCODEURS; 137 132 138 133 139 // initialisation des sockets (Antennes) … … 229 235 time ( &rawtime ); 230 236 timeinfo = localtime ( &rawtime ); 231 strftime (buffer, 80,"%c ",timeinfo);232 fprintf(pFile, buffer);237 strftime (buffer, 80,"%c ",timeinfo); 238 fprintf(pFile, "%s", buffer); 233 239 234 240 // On sauvegarde le message dans le fichier log … … 604 610 if (eqp == &CommandT[0]) 605 611 { 606 char chaine[100 ];612 char chaine[1000]; 607 613 608 614 bool result = false; … … 616 622 for (int i = 1; i<=strlen(chaine); i++) chaine[i-1]=chaine[i]; 617 623 618 IDLog( chaine);624 IDLog("%s", chaine); 619 625 620 626 for (int i = 1; i<SocketsNumber; i++ ) … … 646 652 else if (chaine[0] == 'M') 647 653 { 654 IDSetText(&CommandTP, "Calcul des matrices de correction\n" ); 655 648 656 if (Sockets[targetAlignmentIP].AlignementAntenne->nbrcorrections >=3 ) 649 657 { … … 657 665 Sockets[targetAlignmentIP].AlignementAntenne->Matrice_ok = false; 658 666 } 659 660 IDSetText(&CommandTP, "Calcul des matrices de correction\n" );661 667 } 662 668 else if (chaine[0] == 'O') … … 666 672 if (targetAlignmentIP != -1) 667 673 { 668 Sockets[targetAlignmentIP].AlignementAntenne->OptimisationGeometrieAntenne(); 674 Sockets[targetAlignmentIP].AlignementAntenne->OptimisationGeometrieAntenne(true); 675 676 IDSetSwitch(&AlignementOkP, "Les parametres de l alignement ont ete sauvegardes apres optimisation"); 677 678 Sockets[targetAlignmentIP].AlignementAntenne->EnregistrementParametresAlignement( 679 Sockets[targetAlignmentIP].IP, 680 "/home/" + (string)getenv("USER") + "/AlignementAntennes.cfg"); 669 681 } 670 682 } … … 785 797 } 786 798 787 788 789 790 IDSetText(&CommandTP, os.str().c_str() ); 799 IDSetText(&CommandTP, "%s", os.str().c_str() ); 791 800 792 801 return; … … 1503 1512 DHMS(targetDEC, false ).c_str()); 1504 1513 1505 AfficherLog(" ad1=%s de1=%s ad2=%s de2=%s\n",1514 AfficherLog("(ad1=%s de1=%s) -> (ad2=%s de2=%s)\n", 1506 1515 DHMS(ad * N180divPi, true ).c_str(), 1507 1516 DHMS(de * N180divPi, false).c_str(), … … 1722 1731 Coord result, vect; 1723 1732 1733 1724 1734 // Pour toutes les antennes connectées 1725 1735 … … 1795 1805 newRA = Sockets[i].AlignementAntenne->delta_ad[Sockets[i].AlignementAntenne->nbrcorrections]; 1796 1806 newDEC = Sockets[i].AlignementAntenne->delta_de[Sockets[i].AlignementAntenne->nbrcorrections]; 1807 1808 // if newRA et newDEC = 0 -> on sort 1809 1810 if ( newRA == 0 && newDEC == 0) return; 1797 1811 1798 1812 AfficherLog("Alignement en cours.\n", true); … … 1933 1947 // On applique la formule de Marc pour convertir la hauteur en nombre de pas codeur alt 1934 1948 1935 Sockets[i].TargetPosition.y = ( longint) Arrondi( Sockets[i].AlignementAntenne->Alt2Motor( targetAlt ) );1949 Sockets[i].TargetPosition.y = (int) Arrondi( Sockets[i].AlignementAntenne->Alt2Motor( targetAlt ) ); 1936 1950 1937 1951 //4000 pas pour 360° sur l'axe az 1938 1952 1939 Sockets[i].TargetPosition.x = ( longint) Arrondi( targetAz * (double)NBREPASCODEURSAZ / 360.0);1953 Sockets[i].TargetPosition.x = (int) Arrondi( targetAz * (double)NBREPASCODEURSAZ / 360.0); 1940 1954 1941 1955 // On ajoute les deltas en AZ et en HA pour la raquette hors procédure d'alignement … … 1952 1966 1953 1967 if ( azmincodeur < MINAZCODEURS ) { 1968 azmincodeur += NBREPASCODEURSAZ; 1969 azmaxcodeur += NBREPASCODEURSAZ; 1970 // AutoriserTourComplet = true; 1971 AfficherLog("azmincodeur < MINAZCODEURS\n"); 1972 } 1973 1974 if ( azmaxcodeur > MAXAZCODEURS ) { 1975 azmincodeur -= NBREPASCODEURSAZ; 1976 azmaxcodeur -= NBREPASCODEURSAZ; 1977 // AutoriserTourComplet = true; 1978 AfficherLog("azmaxcodeur > MAXAZCODEURS\n"); 1979 } 1980 1981 AfficherLog("Intervalle autorise pour le suivi de l objet en azimut [%i..%i]\n", azmincodeur, azmaxcodeur ); 1982 AfficherLog("Position initiale en Az = %i\n", Sockets[i].TargetPosition.x); 1983 1984 if ( Sockets[i].TargetPosition.x < azmincodeur ) { 1954 1985 Sockets[i].TargetPosition.x += NBREPASCODEURSAZ; 1955 1986 AutoriserTourComplet = true; 1956 AfficherLog("test1\n"); 1957 1987 AfficherLog("TargetPosition.x < azmincodeur\n"); 1958 1988 } 1959 1989 1960 if ( azmaxcodeur > MAXAZCODEURS) {1990 if ( Sockets[i].TargetPosition.x > azmaxcodeur ) { 1961 1991 Sockets[i].TargetPosition.x -= NBREPASCODEURSAZ; 1962 1992 AutoriserTourComplet = true; 1963 AfficherLog("test2\n"); 1964 1993 AfficherLog("TargetPosition.x > azmaxcodeur\n"); 1965 1994 } 1966 1995 1967 if ( Sockets[i].TargetPosition.x < MINAZCODEURS ) {1996 if ( Sockets[i].TargetPosition.x < MINAZCODEURS ) { 1968 1997 Sockets[i].TargetPosition.x += NBREPASCODEURSAZ; 1969 1998 AutoriserTourComplet = true; 1970 AfficherLog("test3\n"); 1971 1999 AfficherLog("TargetPosition.x < MINAZCODEURS\n"); 1972 2000 } 1973 2001 … … 1975 2003 Sockets[i].TargetPosition.x -= NBREPASCODEURSAZ; 1976 2004 AutoriserTourComplet = true; 1977 AfficherLog("test4\n"); 1978 2005 AfficherLog("TargetPosition.x > MAXAZCODEURS\n"); 1979 2006 } 1980 2007 2008 if (fabs(Sockets[i].Pos.x - Sockets[i].TargetPosition.x) > MAXAZCODEURS / 2) 2009 { 2010 AutoriserTourComplet = true; 2011 AfficherLog("| Pos.x - TargetPosition.x | > MAXAZCODEURS / 2\n"); 2012 } 2013 1981 2014 // Message de debug 1982 2015 1983 AfficherLog("Intervalle autorise pour le suivi de l objet [%i..%i]\n", azmincodeur, azmaxcodeur); 1984 1985 AfficherLog("Positions codeurs Az = %i Alt = %i\n", Sockets[i].TargetPosition.x, Sockets[i].TargetPosition.y); 2016 AfficherLog("Position finale : Az = %i Alt = %i\n", Sockets[i].TargetPosition.x, Sockets[i].TargetPosition.y); 1986 2017 } 1987 2018 } … … 2921 2952 bool BAO::process_coords() 2922 2953 { 2954 int posaz = 0; 2955 2923 2956 switch (currentSet) 2924 2957 { … … 2940 2973 // les rotations inutiles 2941 2974 2942 RechercheAzimutFinSuivi(targetRA * 15.0 * Pidiv180, targetDEC * Pidiv180, &azmincodeur, &azmaxcodeur); 2975 for (int i=1; i<SocketsNumber; i++ ) 2976 { 2977 if ((Sockets[i].Connected) && (Sockets[i].PosValides)) 2978 { 2979 posaz = Sockets[i].Pos.x; 2980 break; 2981 } 2982 } 2983 2984 RechercheAzimutFinSuivi(targetRA * 15.0 * Pidiv180, targetDEC * Pidiv180, posaz, &azmincodeur, &azmaxcodeur); 2943 2985 2944 2986 // On prépare les antennes pour le prochain goto … … 2990 3032 // les rotations inutiles 2991 3033 2992 RechercheAzimutFinSuivi(targetRA * 15.0 * Pidiv180, targetDEC * Pidiv180, &azmincodeur, &azmaxcodeur); 3034 for (int i=1; i<SocketsNumber; i++ ) 3035 { 3036 if ((Sockets[i].Connected) && (Sockets[i].PosValides)) 3037 { 3038 posaz = Sockets[i].Pos.x; 3039 break; 3040 } 3041 } 3042 3043 RechercheAzimutFinSuivi(targetRA * 15.0 * Pidiv180, targetDEC * Pidiv180, posaz, &azmincodeur, &azmaxcodeur); 2993 3044 2994 3045 InitAntennes(); … … 3203 3254 3204 3255 // ne pas faire des tours complets en Az pour rien... 3205 3206 // Corrections sup pour rester dans l'intervalle [-1693.. 3867]3207 3208 AfficherLog("deltaAz1=%i\n", deltaAz, true);3209 3256 3257 // Corrections sup pour rester dans l'intervalle [-1693.. 3867] 3258 3259 AfficherLog("deltaAz1=%i\n", deltaAz, true); 3260 3210 3261 while (deltaAz > NBREPASCODEURSAZ) deltaAz -= NBREPASCODEURSAZ; 3211 3262 3212 3263 3213 3264 //TODO : a verifier en details 3214 3265 3215 3266 if ( !AutoriserTourComplet ) 3216 3267 { … … 3225 3276 } 3226 3277 } 3227 3278 3228 3279 AfficherLog("deltaAz2=%i\n", deltaAz, true); 3229 3280 -
BAORadio/libindi/libindi/drivers/telescope/BAO.h
r691 r693 45 45 struct Position 46 46 { 47 longint x;48 longint y;47 int x; 48 int y; 49 49 }; 50 50 … … 250 250 BAO_STATUS TrackingMode; // Mode de suivi actuellement activé 251 251 252 longint azmincodeur;253 longint azmaxcodeur;252 int azmincodeur; 253 int azmaxcodeur; 254 254 255 255 int targetAlignmentIP; 256 256 257 longint VitesseRaquette;258 longint delta_az;259 longint delta_ha;257 int VitesseRaquette; 258 int delta_az; 259 int delta_ha; 260 260 261 261
Note:
See TracChangeset
for help on using the changeset viewer.
