gpredict-svn Mailing List for Gpredict (Page 27)
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
You can subscribe to this list here.
2008 |
Jan
(24) |
Feb
|
Mar
(6) |
Apr
(14) |
May
(9) |
Jun
|
Jul
|
Aug
(25) |
Sep
(60) |
Oct
(26) |
Nov
|
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
|
Feb
(2) |
Mar
(22) |
Apr
(61) |
May
(57) |
Jun
|
Jul
(3) |
Aug
(83) |
Sep
(35) |
Oct
(50) |
Nov
(28) |
Dec
(34) |
2010 |
Jan
(29) |
Feb
(15) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(2) |
Jul
(24) |
Aug
(2) |
Sep
(9) |
Oct
(43) |
Nov
(22) |
Dec
(6) |
2011 |
Jan
(24) |
Feb
(22) |
Mar
(31) |
Apr
(13) |
May
(10) |
Jun
(10) |
Jul
(43) |
Aug
(12) |
Sep
(18) |
Oct
(33) |
Nov
(18) |
Dec
(4) |
From: <cs...@us...> - 2009-05-15 09:40:35
|
Revision: 316 http://gpredict.svn.sourceforge.net/gpredict/?rev=316&view=rev Author: csete Date: 2009-05-15 09:40:22 +0000 (Fri, 15 May 2009) Log Message: ----------- Increment version. Modified Paths: -------------- trunk/configure.ac Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2009-05-15 09:38:29 UTC (rev 315) +++ trunk/configure.ac 2009-05-15 09:40:22 UTC (rev 316) @@ -2,7 +2,7 @@ AM_CONFIG_HEADER(build-config.h) -AM_INIT_AUTOMAKE(gpredict, 1.0b4) +AM_INIT_AUTOMAKE(gpredict, 1.0b5) AM_MAINTAINER_MODE AC_PROG_INTLTOOL([0.21]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-15 09:38:40
|
Revision: 315 http://gpredict.svn.sourceforge.net/gpredict/?rev=315&view=rev Author: csete Date: 2009-05-15 09:38:29 +0000 (Fri, 15 May 2009) Log Message: ----------- Tagging release 1.0 beta 4 Added Paths: ----------- tags/release-1.0b4/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 20:57:10
|
Revision: 314 http://gpredict.svn.sourceforge.net/gpredict/?rev=314&view=rev Author: csete Date: 2009-05-13 20:57:03 +0000 (Wed, 13 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/about.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-05-13 20:55:14 UTC (rev 313) +++ trunk/ChangeLog 2009-05-13 20:57:03 UTC (rev 314) @@ -3,6 +3,24 @@ * src/gtk-rig-ctrl.c: Fixed bug that caused rig type to switch from DUPLEX -> RX after first cycle. + * src/sat-pass-dialogs.c: + Fixed bug 2691797: Potential array index out of range. + + * src/pass-to-txt.c: + Fixed bug 2691795: Potential array index out of range. + + * src/gtk-single-sat.c: + Fixed bug 2691794: Potential array index out of range. + + * src/gtk-sat-list.c: + Fixed bug 2691792: Potential array index out of range. + + * src/tle-update.c: + * src/gtk-sat-data.c: + * src/sgpsdp/test-001.c: + * src/sgpsdp/test-002.c: + Fixed compile warnings. + 2009-05-10 Alexandru Csete <oz...@gm...> Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-05-13 20:55:14 UTC (rev 313) +++ trunk/NEWS 2009-05-13 20:57:03 UTC (rev 314) @@ -7,8 +7,14 @@ Changes in version 1.0 beta 4 (13 May 2009) - Fixed a bug that cause rig type to switch from DUPLEX -> RX - (Thanks Thomas DL1JBE=. + (Thanks Thomas DL1JBE). +- Fixed bug 2691797: Potential array index out of range. +- Fixed bug 2691795: Potential array index out of range. +- Fixed bug 2691794: Potential array index out of range. +- Fixed bug 2691792: Potential array index out of range. +- Fixed other compile warnings (bugs 2691799, 2691787 and 2691790). + Changes in version 1.0 beta 3 (10 May 2009) - Feature request 2691964: Full-duplex controller. Modified: trunk/src/about.c =================================================================== --- trunk/src/about.c 2009-05-13 20:55:14 UTC (rev 313) +++ trunk/src/about.c 2009-05-13 20:57:03 UTC (rev 314) @@ -54,61 +54,61 @@ }; -const gchar license[] = N_("Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n"\ - "Contact: oz9aec at googlemail.com\n\n"\ - "Gpredict is free software; you can redistribute it and "\ - "mofdify it under the terms of the GNU General Public License "\ - "as published by the Free Software Foundation; either version 2 "\ - "of the License, or (at your option) any later version.\n\n"\ - "This program is distributed free of charge in the hope that it will "\ - "be useful, but WITHOUT ANY WARRANTY; without even the implied "\ - "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "\ - "See the GNU Library General Public License for more details.\n\n"\ - "You should have received a copy of the GNU General Public License "\ - "along with this program (see Help->License). Otherwise you can find "\ +const gchar license[] = N_("Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n"\ + "Contact: oz9aec at googlemail.com\n\n"\ + "Gpredict is free software; you can redistribute it and "\ + "mofdify it under the terms of the GNU General Public License "\ + "as published by the Free Software Foundation; either version 2 "\ + "of the License, or (at your option) any later version.\n\n"\ + "This program is distributed free of charge in the hope that it will "\ + "be useful, but WITHOUT ANY WARRANTY; without even the implied "\ + "warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "\ + "See the GNU Library General Public License for more details.\n\n"\ + "You should have received a copy of the GNU General Public License "\ + "along with this program (see Help->License). Otherwise you can find "\ "a copy on the FSF "\ - "website http://www.fsf.org/licensing/licenses/gpl.html or you can "\ - "write to the\n\n" - "Free Software Foundation, Inc.\n"\ - "59 Temple Place - Suite 330\n" - "Boston\n"\ - "MA 02111-1307\n" - "USA.\n"); + "website http://www.fsf.org/licensing/licenses/gpl.html or you can "\ + "write to the\n\n" + "Free Software Foundation, Inc.\n"\ + "59 Temple Place - Suite 330\n" + "Boston\n"\ + "MA 02111-1307\n" + "USA.\n"); /** \brief Create and run the gpredict about dialog. */ void about_dialog_create () { - GtkWidget *dialog; - GdkPixbuf *icon; - gchar *iconfile; + GtkWidget *dialog; + GdkPixbuf *icon; + gchar *iconfile; - dialog = gtk_about_dialog_new (); - gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (dialog), _("GPREDICT")); - gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (dialog), VERSION); - gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (dialog), - _("Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n\n"\ - "Gpredict is available free of charge from:")); - gtk_about_dialog_set_url_hook (gpredict_url_hook_cb, NULL, NULL); - gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (dialog), - "http://gpredict.oz9aec.net/"); -/* gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (dialog), */ -/* _("Gpredict Website")); */ - gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (dialog), _(license)); - gtk_about_dialog_set_wrap_license (GTK_ABOUT_DIALOG (dialog), TRUE); - iconfile = icon_file_name ("gpredict-icon.png"); - icon = gdk_pixbuf_new_from_file (iconfile, NULL); - gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (dialog), icon); - g_free (iconfile); - g_object_unref (icon); + dialog = gtk_about_dialog_new (); + gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (dialog), _("GPREDICT")); + gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (dialog), VERSION); + gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (dialog), + _("Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n\n"\ + "Gpredict is available free of charge from:")); + gtk_about_dialog_set_url_hook (gpredict_url_hook_cb, NULL, NULL); + gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (dialog), + "http://gpredict.oz9aec.net/"); +/* gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (dialog), */ +/* _("Gpredict Website")); */ + gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (dialog), _(license)); + gtk_about_dialog_set_wrap_license (GTK_ABOUT_DIALOG (dialog), TRUE); + iconfile = icon_file_name ("gpredict-icon.png"); + icon = gdk_pixbuf_new_from_file (iconfile, NULL); + gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (dialog), icon); + g_free (iconfile); + g_object_unref (icon); - gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (dialog), authors); - gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (dialog), - _("translator-credits")); + gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (dialog), authors); + gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (dialog), + _("translator-credits")); - gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); + gtk_widget_destroy (dialog); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 20:55:17
|
Revision: 313 http://gpredict.svn.sourceforge.net/gpredict/?rev=313&view=rev Author: csete Date: 2009-05-13 20:55:14 +0000 (Wed, 13 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/po/fr.po trunk/po/gpredict.pot Modified: trunk/po/fr.po =================================================================== --- trunk/po/fr.po 2009-05-13 20:53:33 UTC (rev 312) +++ trunk/po/fr.po 2009-05-13 20:55:14 UTC (rev 313) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gpredict\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-15 23:02+0200\n" +"POT-Creation-Date: 2009-05-13 22:54+0200\n" "PO-Revision-Date: 2009-03-17 22:56+0200\n" "Last-Translator: Stéphane Fillod <fi...@us...>\n" "Language-Team: French <deb...@li...>\n" @@ -18,7 +18,7 @@ #: ../src/about.c:57 msgid "" -"Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n" +"Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n" "Contact: oz9aec at googlemail.com\n" "\n" "Gpredict is free software; you can redistribute it and mofdify it under the " @@ -166,7 +166,7 @@ msgid "Local Time" msgstr "" -#: ../src/gtk-azel-plot.c:383 ../src/pass-to-txt.c:160 +#: ../src/gtk-azel-plot.c:383 ../src/pass-to-txt.c:158 #: ../src/gtk-sky-glance.c:339 msgid "UTC" msgstr "" @@ -183,19 +183,19 @@ msgid "El" msgstr "El" -#: ../src/gtk-polar-plot.c:616 ../src/gtk-polar-view.c:331 +#: ../src/gtk-polar-plot.c:616 ../src/gtk-polar-view.c:332 msgid "N" msgstr "N" -#: ../src/gtk-polar-plot.c:627 ../src/gtk-polar-view.c:342 +#: ../src/gtk-polar-plot.c:627 ../src/gtk-polar-view.c:343 msgid "S" msgstr "S" -#: ../src/gtk-polar-plot.c:638 ../src/gtk-polar-view.c:353 +#: ../src/gtk-polar-plot.c:638 ../src/gtk-polar-view.c:354 msgid "E" msgstr "E" -#: ../src/gtk-polar-plot.c:649 ../src/gtk-polar-view.c:364 +#: ../src/gtk-polar-plot.c:649 ../src/gtk-polar-view.c:365 msgid "W" msgstr "O" @@ -206,12 +206,12 @@ #. next pass and predict passes #: ../src/gtk-polar-view-popup.c:107 ../src/gtk-sat-list-popup.c:97 -#: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:835 +#: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:832 msgid "Show next pass" msgstr "Montre prochain passage" #: ../src/gtk-polar-view-popup.c:115 ../src/gtk-sat-list-popup.c:108 -#: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:849 +#: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:846 msgid "Future passes" msgstr "Passages futurs" @@ -230,7 +230,7 @@ #: ../src/gtk-polar-view-popup.c:404 ../src/gtk-polar-view-popup.c:474 #: ../src/gtk-sat-list-popup.c:176 ../src/gtk-sat-list-popup.c:246 #: ../src/gtk-sat-map-popup.c:306 ../src/gtk-sat-map-popup.c:376 -#: ../src/gtk-single-sat.c:1052 ../src/gtk-single-sat.c:1123 +#: ../src/gtk-single-sat.c:1049 ../src/gtk-single-sat.c:1120 #, c-format msgid "" "Satellite %s has no passes\n" @@ -238,7 +238,7 @@ msgstr "" #: ../src/gtk-polar-view-popup.c:420 ../src/gtk-sat-list-popup.c:192 -#: ../src/gtk-sat-map-popup.c:322 ../src/gtk-single-sat.c:1068 +#: ../src/gtk-sat-map-popup.c:322 ../src/gtk-single-sat.c:1065 #, c-format msgid "" "Satellite %s has no passes for\n" @@ -250,14 +250,14 @@ msgstr "" #: ../src/gtk-polar-view-popup.c:493 ../src/gtk-sat-list-popup.c:265 -#: ../src/gtk-sat-map-popup.c:395 ../src/gtk-single-sat.c:1142 +#: ../src/gtk-sat-map-popup.c:395 ../src/gtk-single-sat.c:1139 #, c-format msgid "" "Satellite %s has no passes for\n" "the current ground station!" msgstr "" -#: ../src/gtk-polar-view.c:719 +#: ../src/gtk-polar-view.c:733 #, c-format msgid "" "Next: %s\n" @@ -266,7 +266,7 @@ "Prochain: %s\n" "dans %s%d:%s%d%s%d" -#: ../src/gtk-polar-view.c:722 +#: ../src/gtk-polar-view.c:736 #, c-format msgid "" "Next: %s\n" @@ -275,103 +275,103 @@ "Prochain: %s\n" "dans %s%d%s%d" -#: ../src/gtk-polar-view.c:737 ../src/gtk-sat-map.c:694 +#: ../src/gtk-polar-view.c:751 ../src/gtk-sat-map.c:694 #, c-format msgid "%s: Can not find NEXT satellite." msgstr "" -#: ../src/gtk-polar-view.c:740 ../src/gtk-sat-map.c:697 +#: ../src/gtk-polar-view.c:754 ../src/gtk-sat-map.c:697 msgid "Next: ERR" msgstr "Prochain: ERR" -#: ../src/gtk-polar-view.c:746 ../src/gtk-sat-map.c:703 +#: ../src/gtk-polar-view.c:760 ../src/gtk-sat-map.c:703 msgid "Next: N/A" msgstr "Prochain: N/A" -#: ../src/gtk-polar-view.c:902 +#: ../src/gtk-polar-view.c:916 #, c-format msgid "" "%s\n" "LOS in %s%d:%s%d%s%d" msgstr "" -#: ../src/gtk-polar-view.c:906 +#: ../src/gtk-polar-view.c:920 #, c-format msgid "" "%s\n" "LOS in %s%d%s%d" msgstr "" -#: ../src/gtk-polar-view.c:914 +#: ../src/gtk-polar-view.c:928 #, c-format msgid "" "%s\n" "Always in range" msgstr "" -#: ../src/gtk-polar-view.c:1223 +#: ../src/gtk-polar-view.c:1237 #, c-format msgid "%s:%d: Could not find satellite (%d) in hash table" msgstr "" -#: ../src/gtk-polar-view.c:1271 ../src/gtk-sat-map.c:903 +#: ../src/gtk-polar-view.c:1285 ../src/gtk-sat-map.c:903 #, c-format msgid "%s:%d: Can not find clicked object (%d) in hash table" msgstr "" -#: ../src/gtk-rig-ctrl.c:384 +#: ../src/gtk-rig-ctrl.c:385 msgid "<b> Downlink </b>" msgstr "" #. Downlink doppler #. Uplink doppler -#: ../src/gtk-rig-ctrl.c:399 ../src/gtk-rig-ctrl.c:461 +#: ../src/gtk-rig-ctrl.c:400 ../src/gtk-rig-ctrl.c:462 msgid "Doppler:" msgstr "" -#: ../src/gtk-rig-ctrl.c:410 ../src/gtk-rig-ctrl.c:472 +#: ../src/gtk-rig-ctrl.c:411 ../src/gtk-rig-ctrl.c:473 msgid "LO:" msgstr "" -#: ../src/gtk-rig-ctrl.c:446 +#: ../src/gtk-rig-ctrl.c:447 msgid "<b> Uplink </b>" msgstr "" -#: ../src/gtk-rig-ctrl.c:523 ../src/gtk-rot-ctrl.c:420 +#: ../src/gtk-rig-ctrl.c:524 ../src/gtk-rot-ctrl.c:420 msgid "Select target object" msgstr "" #. tracking button -#: ../src/gtk-rig-ctrl.c:528 ../src/gtk-rot-ctrl.c:425 +#: ../src/gtk-rig-ctrl.c:529 ../src/gtk-rot-ctrl.c:425 msgid "Track" msgstr "" -#: ../src/gtk-rig-ctrl.c:529 ../src/gtk-rot-ctrl.c:426 +#: ../src/gtk-rig-ctrl.c:530 ../src/gtk-rot-ctrl.c:426 msgid "Track the satellite when it is within range" msgstr "" -#: ../src/gtk-rig-ctrl.c:535 +#: ../src/gtk-rig-ctrl.c:536 #, fuzzy msgid "Select a transponder" msgstr "_Transpondeurs" #. buttons -#: ../src/gtk-rig-ctrl.c:542 +#: ../src/gtk-rig-ctrl.c:543 msgid "T" msgstr "" -#: ../src/gtk-rig-ctrl.c:544 +#: ../src/gtk-rig-ctrl.c:545 msgid "" "Tune the radio to this transponder. The uplink and downlink will be set to " "the center of the transponder passband. In case of beacons, only the " "downlink will be tuned to the beacon frequency." msgstr "" -#: ../src/gtk-rig-ctrl.c:550 +#: ../src/gtk-rig-ctrl.c:551 msgid "L" msgstr "" -#: ../src/gtk-rig-ctrl.c:552 +#: ../src/gtk-rig-ctrl.c:553 msgid "" "Lock the uplink and the downlink to each other. Whenever you change the " "downlink (in the controller or on the dial, the uplink will track it " @@ -384,43 +384,43 @@ msgstr "" #. Azimuth -#: ../src/gtk-rig-ctrl.c:571 ../src/gtk-rot-ctrl.c:431 +#: ../src/gtk-rig-ctrl.c:572 ../src/gtk-rot-ctrl.c:431 msgid "Az:" msgstr "Az:" #. Elevation -#: ../src/gtk-rig-ctrl.c:579 ../src/gtk-rot-ctrl.c:441 +#: ../src/gtk-rig-ctrl.c:580 ../src/gtk-rot-ctrl.c:441 msgid "El:" msgstr "El:" #. Range -#: ../src/gtk-rig-ctrl.c:587 +#: ../src/gtk-rig-ctrl.c:588 msgid " Range:" msgstr "" #. Range rate -#: ../src/gtk-rig-ctrl.c:595 +#: ../src/gtk-rig-ctrl.c:596 msgid " Rate:" msgstr "" -#: ../src/gtk-rig-ctrl.c:602 ../src/gtk-rot-ctrl.c:457 +#: ../src/gtk-rig-ctrl.c:603 ../src/gtk-rot-ctrl.c:457 msgid "Target" msgstr "" #. Primary device -#: ../src/gtk-rig-ctrl.c:631 +#: ../src/gtk-rig-ctrl.c:632 msgid "1. Device:" msgstr "" -#: ../src/gtk-rig-ctrl.c:636 +#: ../src/gtk-rig-ctrl.c:637 msgid "" "Select primary radio device.This device will be used for downlink and uplink " "unless you select a secondary device for uplink" msgstr "" -#: ../src/gtk-rig-ctrl.c:661 ../src/gtk-rig-ctrl.c:704 -#: ../src/gtk-rig-ctrl.c:2252 ../src/gtk-rot-ctrl.c:513 -#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:273 +#: ../src/gtk-rig-ctrl.c:662 ../src/gtk-rig-ctrl.c:705 +#: ../src/gtk-rig-ctrl.c:2348 ../src/gtk-rot-ctrl.c:513 +#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:304 #: ../src/sat-pref-rot.c:270 #, c-format msgid "%s:%d: Failed to open hwconf dir (%s)" @@ -428,223 +428,227 @@ #. config will be force-loaded after LO spin is created #. Secondary device -#: ../src/gtk-rig-ctrl.c:674 +#: ../src/gtk-rig-ctrl.c:675 msgid "2. Device:" msgstr "" -#: ../src/gtk-rig-ctrl.c:679 +#: ../src/gtk-rig-ctrl.c:680 msgid "" "Select secondary radio device\n" "This device will be used for uplink" msgstr "" #. load config -#: ../src/gtk-rig-ctrl.c:683 ../src/sat-pref-rig-editor.c:232 -#: ../src/sat-pref-rig.c:709 ../src/sat-pref-rig.c:718 +#: ../src/gtk-rig-ctrl.c:684 ../src/sat-pref-rig-editor.c:236 +#: ../src/sat-pref-rig.c:754 ../src/sat-pref-rig.c:763 msgid "None" msgstr "" #. Engage button -#: ../src/gtk-rig-ctrl.c:719 ../src/gtk-rot-ctrl.c:526 +#: ../src/gtk-rig-ctrl.c:720 ../src/gtk-rot-ctrl.c:526 msgid "Engage" msgstr "Engage" -#: ../src/gtk-rig-ctrl.c:720 +#: ../src/gtk-rig-ctrl.c:721 msgid "Engage the selcted radio device" msgstr "" #. Timeout -#: ../src/gtk-rig-ctrl.c:728 ../src/gtk-rot-ctrl.c:532 +#: ../src/gtk-rig-ctrl.c:729 ../src/gtk-rot-ctrl.c:532 msgid "Cycle:" msgstr "" -#: ../src/gtk-rig-ctrl.c:735 +#: ../src/gtk-rig-ctrl.c:736 msgid "This parameter controls the delay between commands sent to the rig." msgstr "" -#: ../src/gtk-rig-ctrl.c:742 ../src/gtk-rot-ctrl.c:546 +#: ../src/gtk-rig-ctrl.c:743 ../src/gtk-rot-ctrl.c:546 msgid "msec" msgstr "msec" -#: ../src/gtk-rig-ctrl.c:746 ../src/gtk-rot-ctrl.c:575 +#: ../src/gtk-rig-ctrl.c:747 ../src/gtk-rot-ctrl.c:575 msgid "Settings" msgstr "" -#: ../src/gtk-rig-ctrl.c:763 +#: ../src/gtk-rig-ctrl.c:764 msgid "<span size='large'><b>ΔT: 00:00:00</b></span>" msgstr "" -#: ../src/gtk-rig-ctrl.c:811 ../src/gtk-rot-ctrl.c:638 +#: ../src/gtk-rig-ctrl.c:812 ../src/gtk-rot-ctrl.c:638 #, c-format msgid "%s:%s: Invalid satellite selection: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:848 +#: ../src/gtk-rig-ctrl.c:849 #, c-format msgid "%s: Inconsistency detected in internal transponder data (%d,%d)" msgstr "" -#: ../src/gtk-rig-ctrl.c:976 +#: ../src/gtk-rig-ctrl.c:977 #, c-format msgid "%s:%s: Primary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:990 ../src/gtk-rig-ctrl.c:2340 +#: ../src/gtk-rig-ctrl.c:991 ../src/gtk-rig-ctrl.c:2436 #, c-format msgid "%s:%d: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:999 ../src/gtk-rig-ctrl.c:1100 +#: ../src/gtk-rig-ctrl.c:1000 ../src/gtk-rig-ctrl.c:1101 #, c-format msgid "%s:%s: Loaded new radio configuration %s" msgstr "" #. update LO widgets -#: ../src/gtk-rig-ctrl.c:1002 ../src/gtk-rig-ctrl.c:1007 -#: ../src/gtk-rig-ctrl.c:1059 ../src/gtk-rig-ctrl.c:1075 -#: ../src/gtk-rig-ctrl.c:1103 +#: ../src/gtk-rig-ctrl.c:1003 ../src/gtk-rig-ctrl.c:1008 +#: ../src/gtk-rig-ctrl.c:1060 ../src/gtk-rig-ctrl.c:1076 +#: ../src/gtk-rig-ctrl.c:1104 #, c-format msgid "%.0f MHz" msgstr "" -#: ../src/gtk-rig-ctrl.c:1014 ../src/gtk-rig-ctrl.c:1109 +#: ../src/gtk-rig-ctrl.c:1015 ../src/gtk-rig-ctrl.c:1110 #, c-format msgid "%s:%s: Failed to load radio configuration %s" msgstr "" -#: ../src/gtk-rig-ctrl.c:1043 +#: ../src/gtk-rig-ctrl.c:1044 #, c-format msgid "%s:%s: Secondary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1091 +#: ../src/gtk-rig-ctrl.c:1092 #, c-format msgid "%s:%s: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:1147 ../src/gtk-rot-ctrl.c:780 +#: ../src/gtk-rig-ctrl.c:1148 ../src/gtk-rot-ctrl.c:780 #, c-format msgid "%s: Controller does not have a valid configuration" msgstr "" -#: ../src/gtk-rig-ctrl.c:1243 ../src/gtk-rot-ctrl.c:808 +#: ../src/gtk-rig-ctrl.c:1256 ../src/gtk-rot-ctrl.c:808 #, c-format msgid "%s missed the deadline" msgstr "" -#: ../src/gtk-rig-ctrl.c:1275 +#: ../src/gtk-rig-ctrl.c:1288 #, c-format msgid "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" msgstr "" -#: ../src/gtk-rig-ctrl.c:1406 ../src/gtk-rig-ctrl.c:1530 -#: ../src/gtk-rig-ctrl.c:1784 ../src/gtk-rot-ctrl.c:897 +#: ../src/gtk-rig-ctrl.c:1302 ../src/gtk-rot-ctrl.c:897 #, c-format msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" msgstr "" -#: ../src/gtk-rig-ctrl.c:1813 ../src/gtk-rig-ctrl.c:2002 +#: ../src/gtk-rig-ctrl.c:1812 ../src/gtk-rig-ctrl.c:2001 #: ../src/gtk-rot-ctrl.c:965 ../src/gtk-rot-ctrl.c:1074 #, c-format msgid "%s:%d: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1819 ../src/gtk-rig-ctrl.c:2008 +#: ../src/gtk-rig-ctrl.c:1818 ../src/gtk-rig-ctrl.c:2007 #: ../src/gtk-rot-ctrl.c:971 ../src/gtk-rot-ctrl.c:1080 #, c-format msgid "%s:%d Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1833 ../src/gtk-rig-ctrl.c:2022 +#: ../src/gtk-rig-ctrl.c:1832 ../src/gtk-rig-ctrl.c:2021 #: ../src/gtk-rot-ctrl.c:985 ../src/gtk-rot-ctrl.c:1094 #, c-format msgid "%s:%d: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1839 ../src/gtk-rig-ctrl.c:2028 +#: ../src/gtk-rig-ctrl.c:1838 ../src/gtk-rig-ctrl.c:2027 #: ../src/gtk-rot-ctrl.c:991 ../src/gtk-rot-ctrl.c:1100 #, c-format msgid "%s:%d: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1857 ../src/gtk-rig-ctrl.c:2039 +#: ../src/gtk-rig-ctrl.c:1856 ../src/gtk-rig-ctrl.c:2038 #: ../src/gtk-rot-ctrl.c:1002 ../src/gtk-rot-ctrl.c:1113 #, c-format msgid "%s:%d: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1867 ../src/gtk-rig-ctrl.c:2049 +#: ../src/gtk-rig-ctrl.c:1866 ../src/gtk-rig-ctrl.c:2048 #: ../src/gtk-rot-ctrl.c:1012 #, c-format msgid "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" msgstr "" -#: ../src/gtk-rig-ctrl.c:1877 ../src/gtk-rig-ctrl.c:2059 +#: ../src/gtk-rig-ctrl.c:1876 ../src/gtk-rig-ctrl.c:2058 #, c-format msgid "%s:%s: Got 0 bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1882 ../src/gtk-rig-ctrl.c:2064 +#: ../src/gtk-rig-ctrl.c:1881 ../src/gtk-rig-ctrl.c:2063 #, c-format msgid "%s:%s: Read %d bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1925 +#: ../src/gtk-rig-ctrl.c:1924 ../src/gtk-rig-ctrl.c:2101 #, c-format msgid "%s: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1931 +#: ../src/gtk-rig-ctrl.c:1930 ../src/gtk-rig-ctrl.c:2107 #, c-format msgid "%s: Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1945 +#: ../src/gtk-rig-ctrl.c:1944 ../src/gtk-rig-ctrl.c:2121 #, c-format msgid "%s: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1951 +#: ../src/gtk-rig-ctrl.c:1950 ../src/gtk-rig-ctrl.c:2127 #, c-format msgid "%s: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1962 +#: ../src/gtk-rig-ctrl.c:1961 ../src/gtk-rig-ctrl.c:2166 #, c-format msgid "%s: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1993 ../src/gtk-rot-ctrl.c:956 +#: ../src/gtk-rig-ctrl.c:1992 ../src/gtk-rot-ctrl.c:956 #, c-format msgid "%s:%d: NULL storage." msgstr "" -#: ../src/gtk-rig-ctrl.c:2103 +#: ../src/gtk-rig-ctrl.c:2155 #, c-format +msgid "%s: Invalid VFO argument. Using VFOA." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2199 +#, c-format msgid "AOS in" msgstr "" -#: ../src/gtk-rig-ctrl.c:2107 +#: ../src/gtk-rig-ctrl.c:2203 #, c-format msgid "LOS in" msgstr "" -#: ../src/gtk-rig-ctrl.c:2190 +#: ../src/gtk-rig-ctrl.c:2286 #, c-format msgid "%s:%s: GtkSatModule has no target satellite." msgstr "" -#: ../src/gtk-rig-ctrl.c:2202 +#: ../src/gtk-rig-ctrl.c:2298 #, c-format msgid "%s:%s: Satellite %d has %d transponder modes." msgstr "" -#: ../src/gtk-rig-ctrl.c:2213 +#: ../src/gtk-rig-ctrl.c:2309 #, c-format msgid "%s:&s: Read transponder '%s' for satellite %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:2352 +#: ../src/gtk-rig-ctrl.c:2448 #, c-format msgid "%s:%d: Error reading radio configuration %s" msgstr "" @@ -723,7 +727,7 @@ #: ../src/gtk-rot-ctrl.c:868 ../src/gtk-rot-ctrl.c:869 #: ../src/gtk-sat-data.c:95 ../src/gtk-sat-module-popup.c:899 #: ../src/gtk-sat-module-popup.c:972 ../src/sat-log-browser.c:71 -#: ../src/sat-pref-rig.c:680 +#: ../src/sat-pref-rig.c:725 msgid "ERROR" msgstr "ERREUR" @@ -814,27 +818,27 @@ msgid "%s: QTH data saved." msgstr "" -#: ../src/gtk-sat-data.c:429 +#: ../src/gtk-sat-data.c:430 #, c-format msgid "%s: Can not find #%d in any .tle file." msgstr "" -#: ../src/gtk-sat-data.c:463 +#: ../src/gtk-sat-data.c:464 #, c-format msgid "%s: Found #%d in %s" msgstr "" -#: ../src/gtk-sat-data.c:473 +#: ../src/gtk-sat-data.c:474 #, c-format msgid "%s: Invalid data for #%d" msgstr "" -#: ../src/gtk-sat-data.c:482 +#: ../src/gtk-sat-data.c:483 #, c-format msgid "%s: Good data for #%d" msgstr "" -#: ../src/gtk-sat-data.c:528 ../src/tle-update.c:901 +#: ../src/gtk-sat-data.c:529 ../src/tle-update.c:903 #, c-format msgid "%s: Failed to open %s" msgstr "" @@ -1055,18 +1059,18 @@ msgid "%s: Satellite #%d removed from list." msgstr "" -#: ../src/gtk-sat-list.c:935 ../src/sat-pass-dialogs.c:700 +#: ../src/gtk-sat-list.c:934 ../src/sat-pass-dialogs.c:700 #: ../src/sat-pref-qth.c:769 #, c-format msgid "%s:%d: Invalid column: %d" msgstr "" -#: ../src/gtk-sat-list.c:1228 +#: ../src/gtk-sat-list.c:1226 #, c-format msgid "%s:%d Failed to get data for %d." msgstr "" -#: ../src/gtk-sat-list.c:1241 ../src/sat-pass-dialogs.c:1409 +#: ../src/gtk-sat-list.c:1239 ../src/sat-pass-dialogs.c:1413 #, c-format msgid "%s:%d: There is no selection; skip popup." msgstr "" @@ -1253,7 +1257,7 @@ msgid "%s: Previous cycle missed it's deadline." msgstr "" -#: ../src/gtk-sat-module.c:922 ../src/gtk-sat-module.c:1556 +#: ../src/gtk-sat-module.c:922 ../src/gtk-sat-module.c:1559 #, c-format msgid "%f:%d: Unknown child type" msgstr "" @@ -1286,7 +1290,7 @@ msgid "%s: Module %s is in FULLSCREEN state." msgstr "" -#: ../src/gtk-sat-module.c:1165 ../src/gtk-sat-module.c:1334 +#: ../src/gtk-sat-module.c:1165 ../src/gtk-sat-module.c:1337 #, c-format msgid "%s: Module %s has unknown state: %d" msgstr "" @@ -1308,8 +1312,13 @@ "%s: Source ID %d seems invalid." msgstr "" -#: ../src/gtk-sat-module.c:1502 +#: ../src/gtk-sat-module.c:1242 #, c-format +msgid "%s: Module configuration failed for some reason." +msgstr "" + +#: ../src/gtk-sat-module.c:1505 +#, c-format msgid "%s: Reloading satellites for module %s" msgstr "" @@ -1366,7 +1375,7 @@ #. delete module #: ../src/gtk-sat-module-popup.c:214 ../src/sat-pref-qth.c:490 -#: ../src/sat-pref-rig.c:311 ../src/sat-pref-rot.c:307 +#: ../src/sat-pref-rig.c:342 ../src/sat-pref-rot.c:307 msgid "Delete" msgstr "Suppression" @@ -2172,91 +2181,91 @@ msgid "%s: No modules have to be restored." msgstr "" -#: ../src/mod-mgr.c:208 +#: ../src/mod-mgr.c:209 #, c-format msgid "%s: Added %s to module manger (page %d)." msgstr "" -#: ../src/mod-mgr.c:214 +#: ../src/mod-mgr.c:215 #, c-format msgid "%s: Added %s to module manger (NOT DOCKED)." msgstr "" -#: ../src/mod-mgr.c:221 +#: ../src/mod-mgr.c:222 #, c-format msgid "%s: Module %s seems to be NULL" msgstr "" -#: ../src/mod-mgr.c:262 +#: ../src/mod-mgr.c:263 #, c-format msgid "%s: Could not find child in notebook. This may hurt..." msgstr "" -#: ../src/mod-mgr.c:271 +#: ../src/mod-mgr.c:272 #, c-format msgid "%s: Removed child from notebook page %d." msgstr "" -#: ../src/mod-mgr.c:322 +#: ../src/mod-mgr.c:323 #, c-format msgid "%s: Attempt to save state but mod-mgr is NULL?" msgstr "" -#: ../src/mod-mgr.c:331 +#: ../src/mod-mgr.c:332 #, c-format msgid "%s: No modules need to save state." msgstr "" -#: ../src/mod-mgr.c:356 +#: ../src/mod-mgr.c:357 #, c-format msgid "%s: Stored %s" msgstr "" -#: ../src/mod-mgr.c:361 +#: ../src/mod-mgr.c:362 #, c-format msgid "%s: Saved states for %d modules." msgstr "" -#: ../src/mod-mgr.c:425 ../src/mod-mgr.c:494 +#: ../src/mod-mgr.c:426 ../src/mod-mgr.c:495 #, c-format msgid "%s: Module %s not found in list. Trying to recover." msgstr "" -#: ../src/mod-mgr.c:433 +#: ../src/mod-mgr.c:434 #, c-format msgid "%s: Module %s already in notebook!" msgstr "" -#: ../src/mod-mgr.c:447 +#: ../src/mod-mgr.c:448 #, c-format msgid "%s: Docked %s into notebook (page %d)" msgstr "" -#: ../src/mod-mgr.c:502 +#: ../src/mod-mgr.c:503 #, c-format msgid "%s: Module %s does not seem to be docked!" msgstr "" -#: ../src/mod-mgr.c:511 +#: ../src/mod-mgr.c:512 #, c-format msgid "%s: Removed %s from notebook page %d." msgstr "" -#: ../src/mod-mgr.c:545 +#: ../src/mod-mgr.c:546 msgid "GPREDICT: (none)" msgstr "" -#: ../src/mod-mgr.c:550 ../src/mod-mgr.c:567 +#: ../src/mod-mgr.c:551 ../src/mod-mgr.c:568 #, c-format msgid "GPREDICT: %s" msgstr "" -#: ../src/mod-mgr.c:585 +#: ../src/mod-mgr.c:586 #, c-format msgid "%s: Attempt to reload sats but mod-mgr is NULL?" msgstr "" -#: ../src/mod-mgr.c:594 +#: ../src/mod-mgr.c:595 #, c-format msgid "%s: No modules need to reload sats." msgstr "" @@ -2379,7 +2388,7 @@ msgid "Local" msgstr "" -#: ../src/pass-to-txt.c:177 +#: ../src/pass-to-txt.c:173 #, c-format msgid "" "Pass details for %s (orbit %d)\n" @@ -2389,7 +2398,7 @@ "LOS: %s %s\n" msgstr "" -#: ../src/pass-to-txt.c:483 +#: ../src/pass-to-txt.c:481 #, c-format msgid "" "Upcoming passes for %s\n" @@ -2397,28 +2406,29 @@ "LAT:%.2f LON:%.2f\n" msgstr "" -#: ../src/radio-conf.c:66 ../src/radio-conf.c:192 ../src/rotor-conf.c:65 +#: ../src/radio-conf.c:68 ../src/radio-conf.c:225 ../src/rotor-conf.c:65 #, c-format msgid "%s: NULL configuration name!" msgstr "" -#: ../src/radio-conf.c:83 ../src/rotor-conf.c:82 +#: ../src/radio-conf.c:85 ../src/rotor-conf.c:82 #, c-format msgid "%s: Could not load file %s\n" msgstr "" -#: ../src/radio-conf.c:96 ../src/radio-conf.c:106 ../src/radio-conf.c:118 -#: ../src/radio-conf.c:134 ../src/radio-conf.c:148 ../src/radio-conf.c:158 +#: ../src/radio-conf.c:98 ../src/radio-conf.c:108 ../src/radio-conf.c:120 +#: ../src/radio-conf.c:136 ../src/radio-conf.c:151 ../src/radio-conf.c:162 +#: ../src/radio-conf.c:177 ../src/radio-conf.c:189 #, c-format msgid "%s: Error reading radio conf from %s (%s)." msgstr "" -#: ../src/radio-conf.c:168 +#: ../src/radio-conf.c:201 #, c-format msgid "%s: Read radio configuration %s" msgstr "" -#: ../src/radio-conf.c:223 +#: ../src/radio-conf.c:261 #, c-format msgid "%s: Saved radio configuration %s" msgstr "" @@ -2860,13 +2870,13 @@ msgid "Pass details for %s (orbit %d)" msgstr "" -#: ../src/sat-pass-dialogs.c:547 ../src/sat-pass-dialogs.c:1148 +#: ../src/sat-pass-dialogs.c:547 ../src/sat-pass-dialogs.c:1152 #, c-format msgid "%s: PRINT not implemented" msgstr "" #. create dialog -#: ../src/sat-pass-dialogs.c:1087 +#: ../src/sat-pass-dialogs.c:1091 #, c-format msgid "Upcoming passes for %s" msgstr "" @@ -3000,69 +3010,71 @@ msgstr "" #. crate dialog and add contents -#: ../src/sat-pref-rig-editor.c:85 +#: ../src/sat-pref-rig-editor.c:87 msgid "Edit radio configuration" msgstr "" #. Config name #. QTH name -#: ../src/sat-pref-rig-editor.c:155 ../src/sat-pref-rot-editor.c:154 +#: ../src/sat-pref-rig-editor.c:157 ../src/sat-pref-rot-editor.c:154 #: ../src/sat-pref-qth.c:181 ../src/sat-pref-qth-editor.c:184 #: ../src/qth-editor.c:199 msgid "Name" msgstr "" -#: ../src/sat-pref-rig-editor.c:162 +#: ../src/sat-pref-rig-editor.c:164 msgid "" "Enter a short name for this configuration, e.g. IC910-1.\n" "Allowed charachters: 0..9, a..z, A..Z, - and _" msgstr "" #. Host -#: ../src/sat-pref-rig-editor.c:172 ../src/sat-pref-rot-editor.c:171 -#: ../src/sat-pref-rig.c:137 ../src/sat-pref-rot.c:125 +#: ../src/sat-pref-rig-editor.c:174 ../src/sat-pref-rot-editor.c:171 +#: ../src/sat-pref-rig.c:142 ../src/sat-pref-rot.c:125 msgid "Host" msgstr "" -#: ../src/sat-pref-rig-editor.c:179 +#: ../src/sat-pref-rig-editor.c:181 msgid "" "Enter the host where rigctld is running. You can use both host name and IP " -"address, e.g. 192.168.1.100" +"address, e.g. 192.168.1.100\n" +"\n" +"If gpredict and rigctld are running on the same computer use localhost" msgstr "" #. port -#: ../src/sat-pref-rig-editor.c:185 ../src/sat-pref-rot-editor.c:183 -#: ../src/sat-pref-rig.c:144 ../src/sat-pref-rot.c:132 +#: ../src/sat-pref-rig-editor.c:189 ../src/sat-pref-rot-editor.c:183 +#: ../src/sat-pref-rig.c:149 ../src/sat-pref-rot.c:132 msgid "Port" msgstr "" -#: ../src/sat-pref-rig-editor.c:193 +#: ../src/sat-pref-rig-editor.c:197 msgid "Enter the port number where rigctld is listening" msgstr "" #. radio type -#: ../src/sat-pref-rig-editor.c:197 +#: ../src/sat-pref-rig-editor.c:201 #, fuzzy msgid "Radio type" msgstr "Radio:" -#: ../src/sat-pref-rig-editor.c:202 ../src/sat-pref-rig.c:664 +#: ../src/sat-pref-rig-editor.c:206 ../src/sat-pref-rig.c:709 msgid "RX only" msgstr "" -#: ../src/sat-pref-rig-editor.c:203 ../src/sat-pref-rig.c:668 +#: ../src/sat-pref-rig-editor.c:207 ../src/sat-pref-rig.c:713 msgid "TX only" msgstr "" -#: ../src/sat-pref-rig-editor.c:204 +#: ../src/sat-pref-rig-editor.c:208 msgid "Simplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:205 +#: ../src/sat-pref-rig-editor.c:209 msgid "Duplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:209 +#: ../src/sat-pref-rig-editor.c:213 msgid "" "<b>RX only:</b> The radio shall only be used as receiver. If <i>Monitor PTT " "status</i> is checked the doppler tuning will be suspended while PTT is ON " @@ -3080,21 +3092,21 @@ msgstr "" #. ptt -#: ../src/sat-pref-rig-editor.c:227 +#: ../src/sat-pref-rig-editor.c:231 msgid "PTT status" msgstr "" -#: ../src/sat-pref-rig-editor.c:233 +#: ../src/sat-pref-rig-editor.c:237 #, fuzzy msgid "Read PTT" msgstr "Lecture: " -#: ../src/sat-pref-rig-editor.c:234 +#: ../src/sat-pref-rig-editor.c:238 #, fuzzy msgid "Read DCD" msgstr "Lecture: " -#: ../src/sat-pref-rig-editor.c:238 +#: ../src/sat-pref-rig-editor.c:242 msgid "" "Select PTT type.\n" "\n" @@ -3111,26 +3123,61 @@ "can read squelch status and send it via CTS." msgstr "" +#. VFO Up/Down +#: ../src/sat-pref-rig-editor.c:253 +msgid "VFO Up/Down" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:258 +msgid "Not applicable" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:259 +msgid "MAIN ↑ / SUB ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:260 +msgid "SUB ↑ / MAIN ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:261 +msgid "A ↑ / B ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:262 +msgid "B ↑ / A ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:266 +msgid "" +"Select which VFO to use for uplink and downlink. This setting is used for " +"full-duplex radios only, such as the IC-910H, FT-847 and the TS-2000.\n" +"\n" +"<b>IC-910H:</b> MAIN↑ / SUB↓\n" +"<b>FT-847:</b> SUB↑ / MAIN↓\n" +"<b>TS-2000:</b> B↑ / A↓" +msgstr "" + #. Downconverter LO frequency -#: ../src/sat-pref-rig-editor.c:250 +#: ../src/sat-pref-rig-editor.c:275 msgid "LO Down:" msgstr "" -#: ../src/sat-pref-rig-editor.c:258 +#: ../src/sat-pref-rig-editor.c:283 msgid "" "Enter the frequency of the local oscillator of the downconverter, if any." msgstr "" -#: ../src/sat-pref-rig-editor.c:262 ../src/sat-pref-rig-editor.c:279 +#: ../src/sat-pref-rig-editor.c:287 ../src/sat-pref-rig-editor.c:304 msgid "MHz" msgstr "MHZ" #. Upconverter LO frequency -#: ../src/sat-pref-rig-editor.c:267 +#: ../src/sat-pref-rig-editor.c:292 msgid "LO Up:" msgstr "" -#: ../src/sat-pref-rig-editor.c:275 +#: ../src/sat-pref-rig-editor.c:300 msgid "Enter the frequency of the local oscillator of the upconverter, if any." msgstr "" @@ -3740,7 +3787,7 @@ msgid "%s:%d: This appears to be the default QTH." msgstr "" -#: ../src/sat-pref-qth.c:478 ../src/sat-pref-rig.c:299 +#: ../src/sat-pref-qth.c:478 ../src/sat-pref-rig.c:330 #: ../src/sat-pref-rot.c:295 msgid "Add New" msgstr "" @@ -3749,7 +3796,7 @@ msgid "Add a new ground station to the list" msgstr "" -#: ../src/sat-pref-qth.c:484 ../src/sat-pref-rig.c:305 +#: ../src/sat-pref-qth.c:484 ../src/sat-pref-rig.c:336 #: ../src/sat-pref-rot.c:301 msgid "Edit" msgstr "" @@ -3996,88 +4043,97 @@ msgid "Refresh single-sat view every" msgstr "" -#: ../src/sat-pref-rig.c:126 ../src/sat-pref-rot.c:118 +#: ../src/sat-pref-rig.c:131 ../src/sat-pref-rot.c:118 msgid "Config Name" msgstr "" -#: ../src/sat-pref-rig.c:151 +#: ../src/sat-pref-rig.c:156 msgid "Rig Type" msgstr "" -#: ../src/sat-pref-rig.c:162 +#: ../src/sat-pref-rig.c:167 msgid "PTT Status" msgstr "" -#: ../src/sat-pref-rig.c:173 -msgid "Downconverter LO" +#: ../src/sat-pref-rig.c:178 +msgid "VFO Up" msgstr "" -#: ../src/sat-pref-rig.c:184 -msgid "Upconverter LO" +#: ../src/sat-pref-rig.c:189 +msgid "VFO Down" msgstr "" -#: ../src/sat-pref-rig.c:250 ../src/sat-pref-rot.c:247 +#: ../src/sat-pref-rig.c:200 +#, fuzzy +msgid "LO Down" +msgstr "Lon" + +#: ../src/sat-pref-rig.c:211 +msgid "LO Up" +msgstr "" + +#: ../src/sat-pref-rig.c:281 ../src/sat-pref-rot.c:247 #, c-format msgid "%s:%d: Read %s" msgstr "" -#: ../src/sat-pref-rig.c:263 ../src/sat-pref-rot.c:260 +#: ../src/sat-pref-rig.c:294 ../src/sat-pref-rot.c:260 #, c-format msgid "%s:%d: Failed to read %s" msgstr "" -#: ../src/sat-pref-rig.c:300 +#: ../src/sat-pref-rig.c:331 msgid "Add a new radio to the list" msgstr "" -#: ../src/sat-pref-rig.c:306 +#: ../src/sat-pref-rig.c:337 msgid "Edit the currently selected radio" msgstr "" -#: ../src/sat-pref-rig.c:312 +#: ../src/sat-pref-rig.c:343 msgid "Delete the selected radio" msgstr "" -#: ../src/sat-pref-rig.c:415 +#: ../src/sat-pref-rig.c:450 #, c-format msgid "%s: Failed to get RIG %s" msgstr "" -#: ../src/sat-pref-rig.c:501 ../src/sat-pref-rot.c:501 +#: ../src/sat-pref-rig.c:542 ../src/sat-pref-rot.c:501 #, c-format msgid "%s:%s: Edit button should have been disabled." msgstr "" -#: ../src/sat-pref-rig.c:531 +#: ../src/sat-pref-rig.c:574 msgid "" "Select the radio you want to edit\n" "and try again!" msgstr "" -#: ../src/sat-pref-rig.c:583 ../src/sat-pref-rot.c:586 +#: ../src/sat-pref-rig.c:628 ../src/sat-pref-rot.c:586 #, c-format msgid "%s:%s: Delete button should have been disabled." msgstr "" -#: ../src/sat-pref-rig.c:602 +#: ../src/sat-pref-rig.c:647 msgid "" "Select the radio you want to delete\n" "and try again!" msgstr "" -#: ../src/sat-pref-rig.c:672 +#: ../src/sat-pref-rig.c:717 msgid "RX + TX" msgstr "" -#: ../src/sat-pref-rig.c:676 +#: ../src/sat-pref-rig.c:721 msgid "Duplex" msgstr "" -#: ../src/sat-pref-rig.c:712 +#: ../src/sat-pref-rig.c:757 msgid "PTT" msgstr "" -#: ../src/sat-pref-rig.c:715 +#: ../src/sat-pref-rig.c:760 msgid "DCD" msgstr "" @@ -4583,54 +4639,54 @@ msgid "%s: Error opening %s (%s)" msgstr "" -#: ../src/tle-update.c:661 +#: ../src/tle-update.c:662 #, c-format msgid "%s:%s: Invalid data for %d" msgstr "" -#: ../src/tle-update.c:704 +#: ../src/tle-update.c:705 #, c-format msgid "%s:%s: Failed to open %s" msgstr "" -#: ../src/tle-update.c:790 +#: ../src/tle-update.c:792 #, c-format msgid "%s:%s: Original data for %d seems to be bad" msgstr "" -#: ../src/tle-update.c:855 +#: ../src/tle-update.c:857 #, c-format msgid "%s: Could not remove %s (file open?)" msgstr "" -#: ../src/tle-update.c:865 +#: ../src/tle-update.c:867 #, c-format msgid "%s: Could not rename %s to %s" msgstr "" -#: ../src/tle-update.c:878 +#: ../src/tle-update.c:880 #, c-format msgid "%s: Failed to open temp file %s" msgstr "" -#: ../src/tle-update.c:893 +#: ../src/tle-update.c:895 #, c-format msgid "%s: Update statistics for %s (U/O/N/T): %d/%d/%d/%d" msgstr "" -#: ../src/tle-update.c:996 +#: ../src/tle-update.c:998 msgid "Never" msgstr "" -#: ../src/tle-update.c:997 +#: ../src/tle-update.c:999 msgid "Monthly" msgstr "" -#: ../src/tle-update.c:998 +#: ../src/tle-update.c:1000 msgid "Weekly" msgstr "" -#: ../src/tle-update.c:999 +#: ../src/tle-update.c:1001 msgid "Daily" msgstr "" @@ -4787,18 +4843,18 @@ msgid "%s:%d: Can not update non-existing sat" msgstr "" -#: ../src/gtk-single-sat.c:516 ../src/gtk-single-sat.c:548 -#: ../src/gtk-single-sat.c:577 +#: ../src/gtk-single-sat.c:515 ../src/gtk-single-sat.c:546 +#: ../src/gtk-single-sat.c:574 msgid "N/A" msgstr "" -#: ../src/gtk-single-sat.c:699 +#: ../src/gtk-single-sat.c:696 #, c-format msgid "%s:%d: Invalid field number (%d)" msgstr "" #. select sat -#: ../src/gtk-single-sat.c:906 +#: ../src/gtk-single-sat.c:903 msgid "Select satellite" msgstr "" @@ -4888,8 +4944,18 @@ msgstr "" #: ../src/trsp-conf.c:101 ../src/trsp-conf.c:110 ../src/trsp-conf.c:119 -#: ../src/trsp-conf.c:128 ../src/trsp-conf.c:137 ../src/trsp-conf.c:146 +#: ../src/trsp-conf.c:128 #, c-format +msgid "%s: Error reading %s:%s from %s. Using defult." +msgstr "" + +#: ../src/trsp-conf.c:137 +#, c-format +msgid "%s: Error reading %s:%s from %s. Assume non-inverting." +msgstr "" + +#: ../src/trsp-conf.c:146 +#, c-format msgid "%s: Error reading %s:%s from %s" msgstr "" Modified: trunk/po/gpredict.pot =================================================================== --- trunk/po/gpredict.pot 2009-05-13 20:53:33 UTC (rev 312) +++ trunk/po/gpredict.pot 2009-05-13 20:55:14 UTC (rev 313) @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-15 23:02+0200\n" +"POT-Creation-Date: 2009-05-13 22:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -18,7 +18,7 @@ #: ../src/about.c:57 msgid "" -"Copyright (C) 2001-2008 Alexandru Csete OZ9AEC\n" +"Copyright (C) 2001-2009 Alexandru Csete OZ9AEC\n" "Contact: oz9aec at googlemail.com\n" "\n" "Gpredict is free software; you can redistribute it and mofdify it under the " @@ -166,7 +166,7 @@ msgid "Local Time" msgstr "" -#: ../src/gtk-azel-plot.c:383 ../src/pass-to-txt.c:160 +#: ../src/gtk-azel-plot.c:383 ../src/pass-to-txt.c:158 #: ../src/gtk-sky-glance.c:339 msgid "UTC" msgstr "" @@ -183,19 +183,19 @@ msgid "El" msgstr "" -#: ../src/gtk-polar-plot.c:616 ../src/gtk-polar-view.c:331 +#: ../src/gtk-polar-plot.c:616 ../src/gtk-polar-view.c:332 msgid "N" msgstr "" -#: ../src/gtk-polar-plot.c:627 ../src/gtk-polar-view.c:342 +#: ../src/gtk-polar-plot.c:627 ../src/gtk-polar-view.c:343 msgid "S" msgstr "" -#: ../src/gtk-polar-plot.c:638 ../src/gtk-polar-view.c:353 +#: ../src/gtk-polar-plot.c:638 ../src/gtk-polar-view.c:354 msgid "E" msgstr "" -#: ../src/gtk-polar-plot.c:649 ../src/gtk-polar-view.c:364 +#: ../src/gtk-polar-plot.c:649 ../src/gtk-polar-view.c:365 msgid "W" msgstr "" @@ -206,12 +206,12 @@ #. next pass and predict passes #: ../src/gtk-polar-view-popup.c:107 ../src/gtk-sat-list-popup.c:97 -#: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:835 +#: ../src/gtk-sat-map-popup.c:106 ../src/gtk-single-sat.c:832 msgid "Show next pass" msgstr "" #: ../src/gtk-polar-view-popup.c:115 ../src/gtk-sat-list-popup.c:108 -#: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:849 +#: ../src/gtk-sat-map-popup.c:114 ../src/gtk-single-sat.c:846 msgid "Future passes" msgstr "" @@ -230,7 +230,7 @@ #: ../src/gtk-polar-view-popup.c:404 ../src/gtk-polar-view-popup.c:474 #: ../src/gtk-sat-list-popup.c:176 ../src/gtk-sat-list-popup.c:246 #: ../src/gtk-sat-map-popup.c:306 ../src/gtk-sat-map-popup.c:376 -#: ../src/gtk-single-sat.c:1052 ../src/gtk-single-sat.c:1123 +#: ../src/gtk-single-sat.c:1049 ../src/gtk-single-sat.c:1120 #, c-format msgid "" "Satellite %s has no passes\n" @@ -238,7 +238,7 @@ msgstr "" #: ../src/gtk-polar-view-popup.c:420 ../src/gtk-sat-list-popup.c:192 -#: ../src/gtk-sat-map-popup.c:322 ../src/gtk-single-sat.c:1068 +#: ../src/gtk-sat-map-popup.c:322 ../src/gtk-single-sat.c:1065 #, c-format msgid "" "Satellite %s has no passes for\n" @@ -250,123 +250,123 @@ msgstr "" #: ../src/gtk-polar-view-popup.c:493 ../src/gtk-sat-list-popup.c:265 -#: ../src/gtk-sat-map-popup.c:395 ../src/gtk-single-sat.c:1142 +#: ../src/gtk-sat-map-popup.c:395 ../src/gtk-single-sat.c:1139 #, c-format msgid "" "Satellite %s has no passes for\n" "the current ground station!" msgstr "" -#: ../src/gtk-polar-view.c:719 +#: ../src/gtk-polar-view.c:733 #, c-format msgid "" "Next: %s\n" "in %s%d:%s%d%s%d" msgstr "" -#: ../src/gtk-polar-view.c:722 +#: ../src/gtk-polar-view.c:736 #, c-format msgid "" "Next: %s\n" "in %s%d%s%d" msgstr "" -#: ../src/gtk-polar-view.c:737 ../src/gtk-sat-map.c:694 +#: ../src/gtk-polar-view.c:751 ../src/gtk-sat-map.c:694 #, c-format msgid "%s: Can not find NEXT satellite." msgstr "" -#: ../src/gtk-polar-view.c:740 ../src/gtk-sat-map.c:697 +#: ../src/gtk-polar-view.c:754 ../src/gtk-sat-map.c:697 msgid "Next: ERR" msgstr "" -#: ../src/gtk-polar-view.c:746 ../src/gtk-sat-map.c:703 +#: ../src/gtk-polar-view.c:760 ../src/gtk-sat-map.c:703 msgid "Next: N/A" msgstr "" -#: ../src/gtk-polar-view.c:902 +#: ../src/gtk-polar-view.c:916 #, c-format msgid "" "%s\n" "LOS in %s%d:%s%d%s%d" msgstr "" -#: ../src/gtk-polar-view.c:906 +#: ../src/gtk-polar-view.c:920 #, c-format msgid "" "%s\n" "LOS in %s%d%s%d" msgstr "" -#: ../src/gtk-polar-view.c:914 +#: ../src/gtk-polar-view.c:928 #, c-format msgid "" "%s\n" "Always in range" msgstr "" -#: ../src/gtk-polar-view.c:1223 +#: ../src/gtk-polar-view.c:1237 #, c-format msgid "%s:%d: Could not find satellite (%d) in hash table" msgstr "" -#: ../src/gtk-polar-view.c:1271 ../src/gtk-sat-map.c:903 +#: ../src/gtk-polar-view.c:1285 ../src/gtk-sat-map.c:903 #, c-format msgid "%s:%d: Can not find clicked object (%d) in hash table" msgstr "" -#: ../src/gtk-rig-ctrl.c:384 +#: ../src/gtk-rig-ctrl.c:385 msgid "<b> Downlink </b>" msgstr "" #. Downlink doppler #. Uplink doppler -#: ../src/gtk-rig-ctrl.c:399 ../src/gtk-rig-ctrl.c:461 +#: ../src/gtk-rig-ctrl.c:400 ../src/gtk-rig-ctrl.c:462 msgid "Doppler:" msgstr "" -#: ../src/gtk-rig-ctrl.c:410 ../src/gtk-rig-ctrl.c:472 +#: ../src/gtk-rig-ctrl.c:411 ../src/gtk-rig-ctrl.c:473 msgid "LO:" msgstr "" -#: ../src/gtk-rig-ctrl.c:446 +#: ../src/gtk-rig-ctrl.c:447 msgid "<b> Uplink </b>" msgstr "" -#: ../src/gtk-rig-ctrl.c:523 ../src/gtk-rot-ctrl.c:420 +#: ../src/gtk-rig-ctrl.c:524 ../src/gtk-rot-ctrl.c:420 msgid "Select target object" msgstr "" #. tracking button -#: ../src/gtk-rig-ctrl.c:528 ../src/gtk-rot-ctrl.c:425 +#: ../src/gtk-rig-ctrl.c:529 ../src/gtk-rot-ctrl.c:425 msgid "Track" msgstr "" -#: ../src/gtk-rig-ctrl.c:529 ../src/gtk-rot-ctrl.c:426 +#: ../src/gtk-rig-ctrl.c:530 ../src/gtk-rot-ctrl.c:426 msgid "Track the satellite when it is within range" msgstr "" -#: ../src/gtk-rig-ctrl.c:535 +#: ../src/gtk-rig-ctrl.c:536 msgid "Select a transponder" msgstr "" #. buttons -#: ../src/gtk-rig-ctrl.c:542 +#: ../src/gtk-rig-ctrl.c:543 msgid "T" msgstr "" -#: ../src/gtk-rig-ctrl.c:544 +#: ../src/gtk-rig-ctrl.c:545 msgid "" "Tune the radio to this transponder. The uplink and downlink will be set to " "the center of the transponder passband. In case of beacons, only the " "downlink will be tuned to the beacon frequency." msgstr "" -#: ../src/gtk-rig-ctrl.c:550 +#: ../src/gtk-rig-ctrl.c:551 msgid "L" msgstr "" -#: ../src/gtk-rig-ctrl.c:552 +#: ../src/gtk-rig-ctrl.c:553 msgid "" "Lock the uplink and the downlink to each other. Whenever you change the " "downlink (in the controller or on the dial, the uplink will track it " @@ -379,43 +379,43 @@ msgstr "" #. Azimuth -#: ../src/gtk-rig-ctrl.c:571 ../src/gtk-rot-ctrl.c:431 +#: ../src/gtk-rig-ctrl.c:572 ../src/gtk-rot-ctrl.c:431 msgid "Az:" msgstr "" #. Elevation -#: ../src/gtk-rig-ctrl.c:579 ../src/gtk-rot-ctrl.c:441 +#: ../src/gtk-rig-ctrl.c:580 ../src/gtk-rot-ctrl.c:441 msgid "El:" msgstr "" #. Range -#: ../src/gtk-rig-ctrl.c:587 +#: ../src/gtk-rig-ctrl.c:588 msgid " Range:" msgstr "" #. Range rate -#: ../src/gtk-rig-ctrl.c:595 +#: ../src/gtk-rig-ctrl.c:596 msgid " Rate:" msgstr "" -#: ../src/gtk-rig-ctrl.c:602 ../src/gtk-rot-ctrl.c:457 +#: ../src/gtk-rig-ctrl.c:603 ../src/gtk-rot-ctrl.c:457 msgid "Target" msgstr "" #. Primary device -#: ../src/gtk-rig-ctrl.c:631 +#: ../src/gtk-rig-ctrl.c:632 msgid "1. Device:" msgstr "" -#: ../src/gtk-rig-ctrl.c:636 +#: ../src/gtk-rig-ctrl.c:637 msgid "" "Select primary radio device.This device will be used for downlink and uplink " "unless you select a secondary device for uplink" msgstr "" -#: ../src/gtk-rig-ctrl.c:661 ../src/gtk-rig-ctrl.c:704 -#: ../src/gtk-rig-ctrl.c:2252 ../src/gtk-rot-ctrl.c:513 -#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:273 +#: ../src/gtk-rig-ctrl.c:662 ../src/gtk-rig-ctrl.c:705 +#: ../src/gtk-rig-ctrl.c:2348 ../src/gtk-rot-ctrl.c:513 +#: ../src/gtk-rot-ctrl.c:1229 ../src/sat-pref-rig.c:304 #: ../src/sat-pref-rot.c:270 #, c-format msgid "%s:%d: Failed to open hwconf dir (%s)" @@ -423,223 +423,227 @@ #. config will be force-loaded after LO spin is created #. Secondary device -#: ../src/gtk-rig-ctrl.c:674 +#: ../src/gtk-rig-ctrl.c:675 msgid "2. Device:" msgstr "" -#: ../src/gtk-rig-ctrl.c:679 +#: ../src/gtk-rig-ctrl.c:680 msgid "" "Select secondary radio device\n" "This device will be used for uplink" msgstr "" #. load config -#: ../src/gtk-rig-ctrl.c:683 ../src/sat-pref-rig-editor.c:232 -#: ../src/sat-pref-rig.c:709 ../src/sat-pref-rig.c:718 +#: ../src/gtk-rig-ctrl.c:684 ../src/sat-pref-rig-editor.c:236 +#: ../src/sat-pref-rig.c:754 ../src/sat-pref-rig.c:763 msgid "None" msgstr "" #. Engage button -#: ../src/gtk-rig-ctrl.c:719 ../src/gtk-rot-ctrl.c:526 +#: ../src/gtk-rig-ctrl.c:720 ../src/gtk-rot-ctrl.c:526 msgid "Engage" msgstr "" -#: ../src/gtk-rig-ctrl.c:720 +#: ../src/gtk-rig-ctrl.c:721 msgid "Engage the selcted radio device" msgstr "" #. Timeout -#: ../src/gtk-rig-ctrl.c:728 ../src/gtk-rot-ctrl.c:532 +#: ../src/gtk-rig-ctrl.c:729 ../src/gtk-rot-ctrl.c:532 msgid "Cycle:" msgstr "" -#: ../src/gtk-rig-ctrl.c:735 +#: ../src/gtk-rig-ctrl.c:736 msgid "This parameter controls the delay between commands sent to the rig." msgstr "" -#: ../src/gtk-rig-ctrl.c:742 ../src/gtk-rot-ctrl.c:546 +#: ../src/gtk-rig-ctrl.c:743 ../src/gtk-rot-ctrl.c:546 msgid "msec" msgstr "" -#: ../src/gtk-rig-ctrl.c:746 ../src/gtk-rot-ctrl.c:575 +#: ../src/gtk-rig-ctrl.c:747 ../src/gtk-rot-ctrl.c:575 msgid "Settings" msgstr "" -#: ../src/gtk-rig-ctrl.c:763 +#: ../src/gtk-rig-ctrl.c:764 msgid "<span size='large'><b>ΔT: 00:00:00</b></span>" msgstr "" -#: ../src/gtk-rig-ctrl.c:811 ../src/gtk-rot-ctrl.c:638 +#: ../src/gtk-rig-ctrl.c:812 ../src/gtk-rot-ctrl.c:638 #, c-format msgid "%s:%s: Invalid satellite selection: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:848 +#: ../src/gtk-rig-ctrl.c:849 #, c-format msgid "%s: Inconsistency detected in internal transponder data (%d,%d)" msgstr "" -#: ../src/gtk-rig-ctrl.c:976 +#: ../src/gtk-rig-ctrl.c:977 #, c-format msgid "%s:%s: Primary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:990 ../src/gtk-rig-ctrl.c:2340 +#: ../src/gtk-rig-ctrl.c:991 ../src/gtk-rig-ctrl.c:2436 #, c-format msgid "%s:%d: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:999 ../src/gtk-rig-ctrl.c:1100 +#: ../src/gtk-rig-ctrl.c:1000 ../src/gtk-rig-ctrl.c:1101 #, c-format msgid "%s:%s: Loaded new radio configuration %s" msgstr "" #. update LO widgets -#: ../src/gtk-rig-ctrl.c:1002 ../src/gtk-rig-ctrl.c:1007 -#: ../src/gtk-rig-ctrl.c:1059 ../src/gtk-rig-ctrl.c:1075 -#: ../src/gtk-rig-ctrl.c:1103 +#: ../src/gtk-rig-ctrl.c:1003 ../src/gtk-rig-ctrl.c:1008 +#: ../src/gtk-rig-ctrl.c:1060 ../src/gtk-rig-ctrl.c:1076 +#: ../src/gtk-rig-ctrl.c:1104 #, c-format msgid "%.0f MHz" msgstr "" -#: ../src/gtk-rig-ctrl.c:1014 ../src/gtk-rig-ctrl.c:1109 +#: ../src/gtk-rig-ctrl.c:1015 ../src/gtk-rig-ctrl.c:1110 #, c-format msgid "%s:%s: Failed to load radio configuration %s" msgstr "" -#: ../src/gtk-rig-ctrl.c:1043 +#: ../src/gtk-rig-ctrl.c:1044 #, c-format msgid "%s:%s: Secondary device selected: %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1091 +#: ../src/gtk-rig-ctrl.c:1092 #, c-format msgid "%s:%s: Failed to allocate memory for radio config" msgstr "" -#: ../src/gtk-rig-ctrl.c:1147 ../src/gtk-rot-ctrl.c:780 +#: ../src/gtk-rig-ctrl.c:1148 ../src/gtk-rot-ctrl.c:780 #, c-format msgid "%s: Controller does not have a valid configuration" msgstr "" -#: ../src/gtk-rig-ctrl.c:1243 ../src/gtk-rot-ctrl.c:808 +#: ../src/gtk-rig-ctrl.c:1256 ../src/gtk-rot-ctrl.c:808 #, c-format msgid "%s missed the deadline" msgstr "" -#: ../src/gtk-rig-ctrl.c:1275 +#: ../src/gtk-rig-ctrl.c:1288 #, c-format msgid "%s: Invalid radio type %d. Setting type to RIG_TYPE_RX" msgstr "" -#: ../src/gtk-rig-ctrl.c:1406 ../src/gtk-rig-ctrl.c:1530 -#: ../src/gtk-rig-ctrl.c:1784 ../src/gtk-rot-ctrl.c:897 +#: ../src/gtk-rig-ctrl.c:1302 ../src/gtk-rot-ctrl.c:897 #, c-format msgid "%s: MAX_ERROR_COUNT (%d) reached. Disengaging device!" msgstr "" -#: ../src/gtk-rig-ctrl.c:1813 ../src/gtk-rig-ctrl.c:2002 +#: ../src/gtk-rig-ctrl.c:1812 ../src/gtk-rig-ctrl.c:2001 #: ../src/gtk-rot-ctrl.c:965 ../src/gtk-rot-ctrl.c:1074 #, c-format msgid "%s:%d: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1819 ../src/gtk-rig-ctrl.c:2008 +#: ../src/gtk-rig-ctrl.c:1818 ../src/gtk-rig-ctrl.c:2007 #: ../src/gtk-rot-ctrl.c:971 ../src/gtk-rot-ctrl.c:1080 #, c-format msgid "%s:%d Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1833 ../src/gtk-rig-ctrl.c:2022 +#: ../src/gtk-rig-ctrl.c:1832 ../src/gtk-rig-ctrl.c:2021 #: ../src/gtk-rot-ctrl.c:985 ../src/gtk-rot-ctrl.c:1094 #, c-format msgid "%s:%d: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1839 ../src/gtk-rig-ctrl.c:2028 +#: ../src/gtk-rig-ctrl.c:1838 ../src/gtk-rig-ctrl.c:2027 #: ../src/gtk-rot-ctrl.c:991 ../src/gtk-rot-ctrl.c:1100 #, c-format msgid "%s:%d: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1857 ../src/gtk-rig-ctrl.c:2039 +#: ../src/gtk-rig-ctrl.c:1856 ../src/gtk-rig-ctrl.c:2038 #: ../src/gtk-rot-ctrl.c:1002 ../src/gtk-rot-ctrl.c:1113 #, c-format msgid "%s:%d: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1867 ../src/gtk-rig-ctrl.c:2049 +#: ../src/gtk-rig-ctrl.c:1866 ../src/gtk-rig-ctrl.c:2048 #: ../src/gtk-rot-ctrl.c:1012 #, c-format msgid "%s:%s: Failed to allocate 128 bytes (yes, this means trouble)" msgstr "" -#: ../src/gtk-rig-ctrl.c:1877 ../src/gtk-rig-ctrl.c:2059 +#: ../src/gtk-rig-ctrl.c:1876 ../src/gtk-rig-ctrl.c:2058 #, c-format msgid "%s:%s: Got 0 bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1882 ../src/gtk-rig-ctrl.c:2064 +#: ../src/gtk-rig-ctrl.c:1881 ../src/gtk-rig-ctrl.c:2063 #, c-format msgid "%s:%s: Read %d bytes from rigctld" msgstr "" -#: ../src/gtk-rig-ctrl.c:1925 +#: ../src/gtk-rig-ctrl.c:1924 ../src/gtk-rig-ctrl.c:2101 #, c-format msgid "%s: Failed to create socket" msgstr "" -#: ../src/gtk-rig-ctrl.c:1931 +#: ../src/gtk-rig-ctrl.c:1930 ../src/gtk-rig-ctrl.c:2107 #, c-format msgid "%s: Network socket created successfully" msgstr "" -#: ../src/gtk-rig-ctrl.c:1945 +#: ../src/gtk-rig-ctrl.c:1944 ../src/gtk-rig-ctrl.c:2121 #, c-format msgid "%s: Failed to connect to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1951 +#: ../src/gtk-rig-ctrl.c:1950 ../src/gtk-rig-ctrl.c:2127 #, c-format msgid "%s: Connection opened to %s:%d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1962 +#: ../src/gtk-rig-ctrl.c:1961 ../src/gtk-rig-ctrl.c:2166 #, c-format msgid "%s: SIZE ERROR %d / %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:1993 ../src/gtk-rot-ctrl.c:956 +#: ../src/gtk-rig-ctrl.c:1992 ../src/gtk-rot-ctrl.c:956 #, c-format msgid "%s:%d: NULL storage." msgstr "" -#: ../src/gtk-rig-ctrl.c:2103 +#: ../src/gtk-rig-ctrl.c:2155 #, c-format +msgid "%s: Invalid VFO argument. Using VFOA." +msgstr "" + +#: ../src/gtk-rig-ctrl.c:2199 +#, c-format msgid "AOS in" msgstr "" -#: ../src/gtk-rig-ctrl.c:2107 +#: ../src/gtk-rig-ctrl.c:2203 #, c-format msgid "LOS in" msgstr "" -#: ../src/gtk-rig-ctrl.c:2190 +#: ../src/gtk-rig-ctrl.c:2286 #, c-format msgid "%s:%s: GtkSatModule has no target satellite." msgstr "" -#: ../src/gtk-rig-ctrl.c:2202 +#: ../src/gtk-rig-ctrl.c:2298 #, c-format msgid "%s:%s: Satellite %d has %d transponder modes." msgstr "" -#: ../src/gtk-rig-ctrl.c:2213 +#: ../src/gtk-rig-ctrl.c:2309 #, c-format msgid "%s:&s: Read transponder '%s' for satellite %d" msgstr "" -#: ../src/gtk-rig-ctrl.c:2352 +#: ../src/gtk-rig-ctrl.c:2448 #, c-format msgid "%s:%d: Error reading radio configuration %s" msgstr "" @@ -718,7 +722,7 @@ #: ../src/gtk-rot-ctrl.c:868 ../src/gtk-rot-ctrl.c:869 #: ../src/gtk-sat-data.c:95 ../src/gtk-sat-module-popup.c:899 #: ../src/gtk-sat-module-popup.c:972 ../src/sat-log-browser.c:71 -#: ../src/sat-pref-rig.c:680 +#: ../src/sat-pref-rig.c:725 msgid "ERROR" msgstr "" @@ -809,27 +813,27 @@ msgid "%s: QTH data saved." msgstr "" -#: ../src/gtk-sat-data.c:429 +#: ../src/gtk-sat-data.c:430 #, c-format msgid "%s: Can not find #%d in any .tle file." msgstr "" -#: ../src/gtk-sat-data.c:463 +#: ../src/gtk-sat-data.c:464 #, c-format msgid "%s: Found #%d in %s" msgstr "" -#: ../src/gtk-sat-data.c:473 +#: ../src/gtk-sat-data.c:474 #, c-format msgid "%s: Invalid data for #%d" msgstr "" -#: ../src/gtk-sat-data.c:482 +#: ../src/gtk-sat-data.c:483 #, c-format msgid "%s: Good data for #%d" msgstr "" -#: ../src/gtk-sat-data.c:528 ../src/tle-update.c:901 +#: ../src/gtk-sat-data.c:529 ../src/tle-update.c:903 #, c-format msgid "%s: Failed to open %s" msgstr "" @@ -1050,18 +1054,18 @@ msgid "%s: Satellite #%d removed from list." msgstr "" -#: ../src/gtk-sat-list.c:935 ../src/sat-pass-dialogs.c:700 +#: ../src/gtk-sat-list.c:934 ../src/sat-pass-dialogs.c:700 #: ../src/sat-pref-qth.c:769 #, c-format msgid "%s:%d: Invalid column: %d" msgstr "" -#: ../src/gtk-sat-list.c:1228 +#: ../src/gtk-sat-list.c:1226 #, c-format msgid "%s:%d Failed to get data for %d." msgstr "" -#: ../src/gtk-sat-list.c:1241 ../src/sat-pass-dialogs.c:1409 +#: ../src/gtk-sat-list.c:1239 ../src/sat-pass-dialogs.c:1413 #, c-format msgid "%s:%d: There is no selection; skip popup." msgstr "" @@ -1248,7 +1252,7 @@ msgid "%s: Previous cycle missed it's deadline." msgstr "" -#: ../src/gtk-sat-module.c:922 ../src/gtk-sat-module.c:1556 +#: ../src/gtk-sat-module.c:922 ../src/gtk-sat-module.c:1559 #, c-format msgid "%f:%d: Unknown child type" msgstr "" @@ -1281,7 +1285,7 @@ msgid "%s: Module %s is in FULLSCREEN state." msgstr "" -#: ../src/gtk-sat-module.c:1165 ../src/gtk-sat-module.c:1334 +#: ../src/gtk-sat-module.c:1165 ../src/gtk-sat-module.c:1337 #, c-format msgid "%s: Module %s has unknown state: %d" msgstr "" @@ -1303,8 +1307,13 @@ "%s: Source ID %d seems invalid." msgstr "" -#: ../src/gtk-sat-module.c:1502 +#: ../src/gtk-sat-module.c:1242 #, c-format +msgid "%s: Module configuration failed for some reason." +msgstr "" + +#: ../src/gtk-sat-module.c:1505 +#, c-format msgid "%s: Reloading satellites for module %s" msgstr "" @@ -1361,7 +1370,7 @@ #. delete module #: ../src/gtk-sat-module-popup.c:214 ../src/sat-pref-qth.c:490 -#: ../src/sat-pref-rig.c:311 ../src/sat-pref-rot.c:307 +#: ../src/sat-pref-rig.c:342 ../src/sat-pref-rot.c:307 msgid "Delete" msgstr "" @@ -2166,91 +2175,91 @@ msgid "%s: No modules have to be restored." msgstr "" -#: ../src/mod-mgr.c:208 +#: ../src/mod-mgr.c:209 #, c-format msgid "%s: Added %s to module manger (page %d)." msgstr "" -#: ../src/mod-mgr.c:214 +#: ../src/mod-mgr.c:215 #, c-format msgid "%s: Added %s to module manger (NOT DOCKED)." msgstr "" -#: ../src/mod-mgr.c:221 +#: ../src/mod-mgr.c:222 #, c-format msgid "%s: Module %s seems to be NULL" msgstr "" -#: ../src/mod-mgr.c:262 +#: ../src/mod-mgr.c:263 #, c-format msgid "%s: Could not find child in notebook. This may hurt..." msgstr "" -#: ../src/mod-mgr.c:271 +#: ../src/mod-mgr.c:272 #, c-format msgid "%s: Removed child from notebook page %d." msgstr "" -#: ../src/mod-mgr.c:322 +#: ../src/mod-mgr.c:323 #, c-format msgid "%s: Attempt to save state but mod-mgr is NULL?" msgstr "" -#: ../src/mod-mgr.c:331 +#: ../src/mod-mgr.c:332 #, c-format msgid "%s: No modules need to save state." msgstr "" -#: ../src/mod-mgr.c:356 +#: ../src/mod-mgr.c:357 #, c-format msgid "%s: Stored %s" msgstr "" -#: ../src/mod-mgr.c:361 +#: ../src/mod-mgr.c:362 #, c-format msgid "%s: Saved states for %d modules." msgstr "" -#: ../src/mod-mgr.c:425 ../src/mod-mgr.c:494 +#: ../src/mod-mgr.c:426 ../src/mod-mgr.c:495 #, c-format msgid "%s: Module %s not found in list. Trying to recover." msgstr "" -#: ../src/mod-mgr.c:433 +#: ../src/mod-mgr.c:434 #, c-format msgid "%s: Module %s already in notebook!" msgstr "" -#: ../src/mod-mgr.c:447 +#: ../src/mod-mgr.c:448 #, c-format msgid "%s: Docked %s into notebook (page %d)" msgstr "" -#: ../src/mod-mgr.c:502 +#: ../src/mod-mgr.c:503 #, c-format msgid "%s: Module %s does not seem to be docked!" msgstr "" -#: ../src/mod-mgr.c:511 +#: ../src/mod-mgr.c:512 #, c-format msgid "%s: Removed %s from notebook page %d." msgstr "" -#: ../src/mod-mgr.c:545 +#: ../src/mod-mgr.c:546 msgid "GPREDICT: (none)" msgstr "" -#: ../src/mod-mgr.c:550 ../src/mod-mgr.c:567 +#: ../src/mod-mgr.c:551 ../src/mod-mgr.c:568 #, c-format msgid "GPREDICT: %s" msgstr "" -#: ../src/mod-mgr.c:585 +#: ../src/mod-mgr.c:586 #, c-format msgid "%s: Attempt to reload sats but mod-mgr is NULL?" msgstr "" -#: ../src/mod-mgr.c:594 +#: ../src/mod-mgr.c:595 #, c-format msgid "%s: No modules need to reload sats." msgstr "" @@ -2373,7 +2382,7 @@ msgid "Local" msgstr "" -#: ../src/pass-to-txt.c:177 +#: ../src/pass-to-txt.c:173 #, c-format msgid "" "Pass details for %s (orbit %d)\n" @@ -2383,7 +2392,7 @@ "LOS: %s %s\n" msgstr "" -#: ../src/pass-to-txt.c:483 +#: ../src/pass-to-txt.c:481 #, c-format msgid "" "Upcoming passes for %s\n" @@ -2391,28 +2400,29 @@ "LAT:%.2f LON:%.2f\n" msgstr "" -#: ../src/radio-conf.c:66 ../src/radio-conf.c:192 ../src/rotor-conf.c:65 +#: ../src/radio-conf.c:68 ../src/radio-conf.c:225 ../src/rotor-conf.c:65 #, c-format msgid "%s: NULL configuration name!" msgstr "" -#: ../src/radio-conf.c:83 ../src/rotor-conf.c:82 +#: ../src/radio-conf.c:85 ../src/rotor-conf.c:82 #, c-format msgid "%s: Could not load file %s\n" msgstr "" -#: ../src/radio-conf.c:96 ../src/radio-conf.c:106 ../src/radio-conf.c:118 -#: ../src/radio-conf.c:134 ../src/radio-conf.c:148 ../src/radio-conf.c:158 +#: ../src/radio-conf.c:98 ../src/radio-conf.c:108 ../src/radio-conf.c:120 +#: ../src/radio-conf.c:136 ../src/radio-conf.c:151 ../src/radio-conf.c:162 +#: ../src/radio-conf.c:177 ../src/radio-conf.c:189 #, c-format msgid "%s: Error reading radio conf from %s (%s)." msgstr "" -#: ../src/radio-conf.c:168 +#: ../src/radio-conf.c:201 #, c-format msgid "%s: Read radio configuration %s" msgstr "" -#: ../src/radio-conf.c:223 +#: ../src/radio-conf.c:261 #, c-format msgid "%s: Saved radio configuration %s" msgstr "" @@ -2852,13 +2862,13 @@ msgid "Pass details for %s (orbit %d)" msgstr "" -#: ../src/sat-pass-dialogs.c:547 ../src/sat-pass-dialogs.c:1148 +#: ../src/sat-pass-dialogs.c:547 ../src/sat-pass-dialogs.c:1152 #, c-format msgid "%s: PRINT not implemented" msgstr "" #. create dialog -#: ../src/sat-pass-dialogs.c:1087 +#: ../src/sat-pass-dialogs.c:1091 #, c-format msgid "Upcoming passes for %s" msgstr "" @@ -2992,68 +3002,70 @@ msgstr "" #. crate dialog and add contents -#: ../src/sat-pref-rig-editor.c:85 +#: ../src/sat-pref-rig-editor.c:87 msgid "Edit radio configuration" msgstr "" #. Config name #. QTH name -#: ../src/sat-pref-rig-editor.c:155 ../src/sat-pref-rot-editor.c:154 +#: ../src/sat-pref-rig-editor.c:157 ../src/sat-pref-rot-editor.c:154 #: ../src/sat-pref-qth.c:181 ../src/sat-pref-qth-editor.c:184 #: ../src/qth-editor.c:199 msgid "Name" msgstr "" -#: ../src/sat-pref-rig-editor.c:162 +#: ../src/sat-pref-rig-editor.c:164 msgid "" "Enter a short name for this configuration, e.g. IC910-1.\n" "Allowed charachters: 0..9, a..z, A..Z, - and _" msgstr "" #. Host -#: ../src/sat-pref-rig-editor.c:172 ../src/sat-pref-rot-editor.c:171 -#: ../src/sat-pref-rig.c:137 ../src/sat-pref-rot.c:125 +#: ../src/sat-pref-rig-editor.c:174 ../src/sat-pref-rot-editor.c:171 +#: ../src/sat-pref-rig.c:142 ../src/sat-pref-rot.c:125 msgid "Host" msgstr "" -#: ../src/sat-pref-rig-editor.c:179 +#: ../src/sat-pref-rig-editor.c:181 msgid "" "Enter the host where rigctld is running. You can use both host name and IP " -"address, e.g. 192.168.1.100" +"address, e.g. 192.168.1.100\n" +"\n" +"If gpredict and rigctld are running on the same computer use localhost" msgstr "" #. port -#: ../src/sat-pref-rig-editor.c:185 ../src/sat-pref-rot-editor.c:183 -#: ../src/sat-pref-rig.c:144 ../src/sat-pref-rot.c:132 +#: ../src/sat-pref-rig-editor.c:189 ../src/sat-pref-rot-editor.c:183 +#: ../src/sat-pref-rig.c:149 ../src/sat-pref-rot.c:132 msgid "Port" msgstr "" -#: ../src/sat-pref-rig-editor.c:193 +#: ../src/sat-pref-rig-editor.c:197 msgid "Enter the port number where rigctld is listening" msgstr "" #. radio type -#: ../src/sat-pref-rig-editor.c:197 +#: ../src/sat-pref-rig-editor.c:201 msgid "Radio type" msgstr "" -#: ../src/sat-pref-rig-editor.c:202 ../src/sat-pref-rig.c:664 +#: ../src/sat-pref-rig-editor.c:206 ../src/sat-pref-rig.c:709 msgid "RX only" msgstr "" -#: ../src/sat-pref-rig-editor.c:203 ../src/sat-pref-rig.c:668 +#: ../src/sat-pref-rig-editor.c:207 ../src/sat-pref-rig.c:713 msgid "TX only" msgstr "" -#: ../src/sat-pref-rig-editor.c:204 +#: ../src/sat-pref-rig-editor.c:208 msgid "Simplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:205 +#: ../src/sat-pref-rig-editor.c:209 msgid "Duplex TRX" msgstr "" -#: ../src/sat-pref-rig-editor.c:209 +#: ../src/sat-pref-rig-editor.c:213 msgid "" "<b>RX only:</b> The radio shall only be used as receiver. If <i>Monitor PTT " "status</i> is checked the doppler tuning will be suspended while PTT is ON " @@ -3071,19 +3083,19 @@ msgstr "" #. ptt -#: ../src/sat-pref-rig-editor.c:227 +#: ../src/sat-pref-rig-editor.c:231 msgid "PTT status" msgstr "" -#: ../src/sat-pref-rig-editor.c:233 +#: ../src/sat-pref-rig-editor.c:237 msgid "Read PTT" msgstr "" -#: ../src/sat-pref-rig-editor.c:234 +#: ../src/sat-pref-rig-editor.c:238 msgid "Read DCD" msgstr "" -#: ../src/sat-pref-rig-editor.c:238 +#: ../src/sat-pref-rig-editor.c:242 msgid "" "Select PTT type.\n" "\n" @@ -3100,26 +3112,61 @@ "can read squelch status and send it via CTS." msgstr "" +#. VFO Up/Down +#: ../src/sat-pref-rig-editor.c:253 +msgid "VFO Up/Down" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:258 +msgid "Not applicable" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:259 +msgid "MAIN ↑ / SUB ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:260 +msgid "SUB ↑ / MAIN ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:261 +msgid "A ↑ / B ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:262 +msgid "B ↑ / A ↓" +msgstr "" + +#: ../src/sat-pref-rig-editor.c:266 +msgid "" +"Select which VFO to use for uplink and downlink. This setting is used for " +"full-duplex radios only, such as the IC-910H, FT-847 and the TS-2000.\n" +"\n" +"<b>IC-910H:</b> MAIN↑ / SUB↓\n" +"<b>FT-847:</b> SUB↑ / MAIN↓\n" +"<b>TS-2000:</b> B↑ / A↓" +msgstr "" + #. Downconverter LO frequency -#: ../src/sat-pref-rig-editor.c:250 +#: ../src/sat-pref-rig-editor.c:275 msgid "LO Down:" msgstr "" -#: ../src/sat-pref-rig-editor.c:258 +#: ../src/sat-pref-rig-editor.c:283 msgid "" "Enter the frequency of the local oscillator of the downconverter, if any." msgstr "" -#: ../src/sat-pref-rig-editor.c:262 ../src/sat-pref-rig-editor.c:279 +#: ../src/sat-pref-rig-editor.c:287 ../src/sat-pref-rig-editor.c:304 msgid "MHz" msgstr "" #. Upconverter LO frequency -#: ../src/sat-pref-rig-editor.c:267 +#: ../src/sat-pref-rig-editor.c:292 msgid "LO Up:" msgstr "" -#: ../src/sat-pref-rig-editor.c:275 +#: ../src/sat-pref-rig-editor.c:300 msgid "Enter the frequency of the local oscillator of the upconverter, if any." msgstr "" @@ -3729,7 +3776,7 @@ msgid "%s:%d: This appears to be the default QTH." msgstr ... [truncated message content] |
From: <cs...@us...> - 2009-05-13 20:53:54
|
Revision: 312 http://gpredict.svn.sourceforge.net/gpredict/?rev=312&view=rev Author: csete Date: 2009-05-13 20:53:33 +0000 (Wed, 13 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/data/amateur.tle trunk/data/cubesat.tle trunk/data/galileo.tle trunk/data/geo.tle trunk/data/gps-ops.tle trunk/data/iridium.tle trunk/data/military.tle trunk/data/radar.tle trunk/data/science.tle trunk/data/weather.tle Modified: trunk/data/amateur.tle =================================================================== --- trunk/data/amateur.tle 2009-05-13 20:46:57 UTC (rev 311) +++ trunk/data/amateur.tle 2009-05-13 20:53:33 UTC (rev 312) @@ -1,186 +1,186 @@ OSCAR 3 (OSCAR III) -1 01293U 65016F 09129.84593305 .00000065 00000-0 73950-4 0 5198 -2 01293 70.0690 254.2752 0020042 223.5592 136.3935 14.04706040254425 +1 01293U 65016F 09132.83667748 -.00000098 00000-0 -27905-4 0 5214 +2 01293 70.0698 247.8121 0019877 220.0503 139.9142 14.04704793254847 OSCAR 5 (AO-5) -1 04321U 70008B 09128.97987477 -.00000031 00000-0 10000-3 0 1602 -2 04321 102.1339 139.3621 0027866 54.5086 305.8582 12.52156358795856 +1 04321U 70008B 09131.93601317 -.00000031 00000-0 10000-3 0 1675 +2 04321 102.1334 142.3738 0027924 48.8996 311.4476 12.52156422796224 OSCAR 6 (AO-6) -1 06236U 72082B 09129.91366090 -.00000027 00000-0 10000-3 0 1470 -2 06236 101.3935 144.8380 0003868 329.6931 30.3919 12.53077170672617 +1 06236U 72082B 09132.06929113 -.00000027 00000-0 10000-3 0 1482 +2 06236 101.3939 146.9072 0003875 325.8330 34.2493 12.53077178672888 OSCAR 7 (AO-7) -1 07530U 74089B 09129.46246283 -.00000027 00000-0 10000-3 0 4730 -2 07530 101.4293 155.5588 0011828 346.6069 13.4686 12.53575632577868 +1 07530U 74089B 09133.13355347 -.00000027 00000-0 10000-3 0 4764 +2 07530 101.4278 159.0950 0011813 339.0792 20.9799 12.53575683578322 OSCAR 8 (AO-8) -1 10703U 78026B 09129.86237353 .00000080 00000-0 84967-4 0 4869 -2 10703 98.8330 176.4574 0005945 281.7322 78.3171 13.98843861590660 +1 10703U 78026B 09132.86650987 -.00000063 00000-0 -14140-4 0 4897 +2 10703 98.8329 179.3526 0005948 272.0649 87.9829 13.98842689591085 PHASE 3B (AO-10) -1 14129U 83058B 09127.41174471 .00000156 00000-0 10000-3 0 6532 -2 14129 25.9225 158.1693 5997022 220.4938 74.3643 2.05867130166810 +1 14129U 83058B 09129.35350667 .00000269 00000-0 10000-3 0 6546 +2 14129 25.9202 157.8527 5997702 221.0250 73.4375 2.05866836166854 UOSAT 2 (UO-11) -1 14781U 84021B 09129.53497152 -.00000296 00000-0 -32188-4 0 9561 -2 14781 98.1101 173.6589 0010197 100.5379 259.6981 14.79707413352110 +1 14781U 84021B 09133.11892322 .00000102 00000-0 20747-4 0 9593 +2 14781 98.1089 177.2771 0010180 89.7736 270.4619 14.79710569352648 JAS-1 (FO-12) -1 16909U 86061B 09129.85597192 -.00000083 00000-0 10000-3 0 5524 -2 16909 50.0170 279.7294 0011584 109.7023 250.5062 12.44452743 34206 +1 16909U 86061B 09131.86374703 -.00000083 00000-0 10000-3 0 5530 +2 16909 50.0168 273.5569 0011575 114.4226 245.7818 12.44452755 34453 UOSAT 3 (UO-14) -1 20437U 90005B 09129.05678998 -.00000002 00000-0 15067-4 0 9179 -2 20437 98.3374 88.7808 0010171 290.3345 69.6740 14.31543193 7459 +1 20437U 90005B 09132.83111465 -.00000004 00000-0 14159-4 0 9207 +2 20437 98.3382 92.4074 0009982 278.4098 81.5955 14.31543416 7993 UOSAT 4 (UO-15) -1 20438U 90005C 09129.87176608 -.00000015 00000-0 10250-4 0 4102 -2 20438 98.3967 82.4569 0009453 316.8829 43.1609 14.30443774 6997 +1 20438U 90005C 09132.38991162 -.00000016 00000-0 10129-4 0 4120 +2 20438 98.3972 84.8888 0009402 309.2462 50.7887 14.30443813 7353 PACSAT (AO-16) -1 20439U 90005D 09129.48979731 .00000002 00000-0 16051-4 0 6009 -2 20439 98.2757 99.6588 0010088 289.0426 70.9670 14.31823165 7618 +1 20439U 90005D 09131.93564291 -.00000001 00000-0 15068-4 0 6044 +2 20439 98.2756 101.9927 0010025 281.2860 78.7189 14.31823346 7968 DOVE (DO-17) -1 20440U 90005E 09129.98783697 .00000001 00000-0 15514-4 0 3133 -2 20440 98.2500 104.9480 0010116 282.8437 77.1622 14.32126523 7826 +1 20440U 90005E 09132.99209810 .00000000 00000-0 15283-4 0 3152 +2 20440 98.2504 107.8076 0010032 272.7569 87.2467 14.32126868 8253 WEBERSAT (WO-18) -1 20441U 90005F 09130.05465464 -.00000001 00000-0 15057-4 0 8210 -2 20441 98.2575 103.6571 0010602 285.0012 74.9996 14.31891137 7761 +1 20441U 90005F 09132.43050710 -.00000006 00000-0 12986-4 0 8233 +2 20441 98.2584 105.9200 0010579 277.4948 82.5035 14.31891316 8108 LUSAT (LO-19) -1 20442U 90005G 09129.62298274 -.00000028 00000-0 48500-5 0 5200 -2 20442 98.2378 107.1980 0010921 283.6233 76.3719 14.32058889 7791 +1 20442U 90005G 09131.92868746 .00000062 00000-0 38475-4 0 5243 +2 20442 98.2386 109.3896 0010844 275.6254 84.3691 14.32059632 8121 JAS-1B (FO-20) -1 20480U 90013C 09129.67000485 -.00000069 00000-0 -75006-4 0 1360 -2 20480 99.0694 57.5092 0539517 257.5491 96.4761 12.83360629901962 +1 20480U 90013C 09132.86634873 -.00000064 00000-0 -63554-4 0 1392 +2 20480 99.0696 60.1132 0539597 250.2891 103.9253 12.83360415902370 INFORMATOR 1 & RS-14 -1 21087U 91006A 09129.96932617 .00000027 00000-0 12344-4 0 2673 -2 21087 82.9406 74.3343 0036414 32.9120 327.4283 13.75043217917164 +1 21087U 91006A 09132.37059599 -.00000002 00000-0 -17685-4 0 2691 +2 21087 82.9413 72.5561 0036203 26.4726 333.8268 13.75042972917497 COSMOS 2123 & RS-12/13 -1 21089U 91007A 09129.46228856 .00000030 00000-0 14835-4 0 1472 -2 21089 82.9187 295.3780 0030879 77.5842 282.8763 13.74486709915876 +1 21089U 91007A 09132.51969347 .00000005 00000-0 -11176-4 0 1501 +2 21089 82.9186 293.1075 0030840 69.4441 291.0022 13.74486491916296 UOSAT 5 (UO-22) -1 21575U 91050B 09129.47190821 -.00000003 00000-0 13072-4 0 5490 -2 21575 98.4425 78.9343 0007919 129.6883 230.4993 14.39672483935139 +1 21575U 91050B 09133.15543178 -.00000043 00000-0 65059-7 0 5520 +2 21575 98.4420 82.5667 0008119 120.2720 239.9250 14.39672850935660 KITSAT 1 (KO-23) -1 22077U 92052B 09130.04742346 -.00000037 00000-0 10000-3 0 7419 -2 22077 66.0865 46.5296 0014384 288.3973 71.5468 12.86448253786615 +1 22077U 92052B 09133.15707308 -.00000037 00000-0 10000-3 0 7446 +2 22077 66.0871 40.0171 0014455 287.6825 72.2613 12.86448146787016 ARASENE (AO-24) 1 22654U 93031B 09129.06016113 -.00000124 00000-0 10000-3 0 2618 2 22654 5.0990 338.1973 2872503 158.4299 216.2971 1.42205456 78566 EYESAT-1 (AO-27) -1 22825U 93061C 09128.38218509 -.00000042 00000-0 24433-6 0 2402 -2 22825 98.4332 83.0652 0008664 28.8041 331.3608 14.29264671814224 +1 22825U 93061C 09132.86257503 -.00000070 00000-0 -10893-4 0 2402 +2 22825 98.4358 87.4047 0008706 15.9484 344.1944 14.29264412814861 ITAMSAT (IO-26) -1 22826U 93061D 09129.35930521 -.00000004 00000-0 15008-4 0 9643 -2 22826 98.4265 84.7763 0009292 20.9161 339.2402 14.29516425814467 +1 22826U 93061D 09131.94907453 -.00000009 00000-0 12913-4 0 9668 +2 22826 98.4267 87.2829 0009233 13.1913 346.9505 14.29516539814830 KITSAT 2 (KO-25) -1 22828U 93061F 09128.98183336 -.00000034 00000-0 31592-5 0 1728 -2 22828 98.4188 84.3260 0009794 356.1822 3.9295 14.29816587782681 +1 22828U 93061F 09132.76070328 -.00000031 00000-0 43347-5 0 1756 +2 22828 98.4201 87.9826 0009757 344.6912 15.3973 14.29816815783220 POSAT (PO-28) -1 22829U 93061G 09129.46621217 -.00000064 00000-0 -81978-5 0 2119 -2 22829 98.4150 85.9251 0009601 351.0131 9.0858 14.30214570814765 +1 22829U 93061G 09132.75431470 .00000058 00000-0 38803-4 0 2136 +2 22829 98.4155 89.1075 0009672 340.9978 19.0852 14.30215280815231 RADIO ROSTO (RS-15) -1 23439U 94085A 09128.95547571 -.00000039 00000-0 10000-3 0 2204 -2 23439 64.8194 328.2615 0147615 59.2448 302.2918 11.27553592591693 +1 23439U 94085A 09131.88229525 -.00000039 00000-0 10000-3 0 2048 +2 23439 64.8188 323.5287 0147728 58.6956 302.8334 11.27553634592024 JAS-2 (FO-29) -1 24278U 96046B 09129.84435215 .00000111 00000-0 14590-3 0 368 -2 24278 98.5597 9.0272 0351436 89.7451 274.3948 13.52943570628567 +1 24278U 96046B 09132.21081703 -.00000007 00000-0 25686-4 0 388 +2 24278 98.5592 11.0764 0351373 83.6327 280.4690 13.52943332628889 UNAMSAT-2 (MO-30) -1 24305U 96052B 09129.78756125 -.00000000 00000-0 -16276-4 0 1112 -2 24305 82.9391 22.4425 0030449 4.4602 355.6819 13.73569425635403 +1 24305U 96052B 09132.19140471 .00000035 00000-0 21510-4 0 1137 +2 24305 82.9387 20.6652 0030304 357.8651 2.2382 13.73569825635739 TMSAT-1 (TO-31) -1 25396U 98043C 09129.90900924 -.00000003 00000-0 16717-4 0 3986 -2 25396 98.3341 159.8674 0002396 9.8377 350.2840 14.23776588562858 +1 25396U 98043C 09132.29838867 .00000016 00000-0 24991-4 0 4008 +2 25396 98.3323 162.1328 0002292 2.8292 357.2901 14.23777133563195 TECHSAT 1B (GO-32) -1 25397U 98043D 09129.61502251 -.00000040 00000-0 50523-6 0 8886 -2 25397 98.3279 154.0184 0001567 49.3145 310.8179 14.23157937562648 +1 25397U 98043D 09132.07574543 .00000064 00000-0 46283-4 0 8907 +2 25397 98.3270 156.3479 0001437 45.9722 314.1563 14.23158907562990 SEDSAT 1 (SO-33) -1 25509U 98061B 09129.47268370 .00000520 00000-0 92399-4 0 4496 -2 25509 31.4353 271.3933 0355075 359.9708 0.1029 14.28252564550298 +1 25509U 98061B 09132.40868176 .00000166 00000-0 22735-4 0 4519 +2 25509 31.4330 254.7931 0353989 25.6539 336.1287 14.28251235550716 PAN SAT (PO-34) -1 25520U 98064B 09129.38394057 .00000433 00000-0 11476-4 0 2425 -2 25520 28.4594 154.6951 0005488 239.0431 120.9624 15.17332018582758 +1 25520U 98064B 09132.21221217 .00000446 00000-0 12100-4 0 2449 +2 25520 28.4594 135.7575 0005389 268.8108 91.1863 15.17333715583188 ISS (ZARYA) -1 25544U 98067A 09129.50840848 .00010895 00000-0 83540-4 0 8220 -2 25544 51.6392 145.2703 0009192 343.4625 153.2209 15.72670568599864 +1 25544U 98067A 09133.20171296 .00007941 00000-0 62008-4 0 8422 +2 25544 51.6379 126.3404 0009215 357.2974 183.8555 15.72726624600448 SUNSAT (SO-35) -1 25636U 99008C 09129.99761383 .00000028 00000-0 15653-4 0 3027 -2 25636 96.4488 323.2750 0147945 343.4886 16.1527 14.43462111537599 +1 25636U 99008C 09132.49309692 .00000026 00000-0 14960-4 0 3047 +2 25636 96.4483 325.1680 0147736 335.5841 23.8406 14.43462342537955 UOSAT 12 (UO-36) -1 25693U 99021A 09129.79228316 -.00000071 00000-0 93931-5 0 9073 -2 25693 64.5576 233.7967 0009274 204.7869 155.2798 14.78747118542168 +1 25693U 99021A 09132.36216202 -.00000146 00000-0 -73798-6 0 9097 +2 25693 64.5575 225.9020 0009022 204.7942 155.2693 14.78747062542547 OPAL (OO-38) -1 26063U 00004C 09129.82670113 -.00000001 00000-0 19834-4 0 5010 -2 26063 100.2050 269.3842 0036847 10.0731 350.1188 14.35862730486442 +1 26063U 00004C 09132.47462547 -.00000018 00000-0 14036-4 0 5034 +2 26063 100.2051 272.5138 0036846 2.5693 357.5670 14.35862771486823 SAUDISAT 1A (SO-41) -1 26545U 00057A 09129.78591705 -.00000052 00000-0 12615-4 0 2470 -2 26545 64.5575 235.8982 0056066 284.5091 74.9796 14.80581302465510 +1 26545U 00057A 09131.33944359 -.00000152 00000-0 49946-7 0 2494 +2 26545 64.5579 231.1117 0056137 284.4290 75.0584 14.80581184465742 TIUNGSAT-1 (MO-46) -1 26548U 00057D 09127.39039493 -.00000158 00000-0 -33686-6 0 3886 -2 26548 64.5560 206.9973 0051506 278.6361 80.8832 14.83357994465905 +1 26548U 00057D 09132.64901015 .00000131 00000-0 33919-4 0 3895 +2 26548 64.5555 190.7235 0051788 278.1693 81.3560 14.83360873466685 SAUDISAT 1B (SO-42) -1 26549U 00057E 09129.17786179 .00000042 00000-0 24968-4 0 3279 -2 26549 64.5572 254.2030 0059492 288.3156 71.1509 14.79438173465099 +1 26549U 00057E 09132.76049332 -.00000001 00000-0 19478-4 0 3301 +2 26549 64.5582 243.1820 0059475 287.7766 71.6835 14.79438436465623 PHASE 3D (AO-40) -1 26609U 00072B 09125.51528958 -.00000438 00000-0 10000-3 0 2254 -2 26609 9.3392 20.5550 7961681 201.0314 82.1254 1.25583412 39091 +1 26609U 00072B 09131.87344597 -.00000333 00000-0 10000-3 0 2271 +2 26609 9.3824 19.6736 7965159 203.0970 76.6053 1.25585070 39176 PCSAT (NO-44) -1 26931U 01043C 09130.01487622 .00000226 00000-0 12054-3 0 1641 -2 26931 67.0511 162.6865 0005392 270.1682 89.8804 14.29556857397123 +1 26931U 01043C 09132.39360643 -.00000209 00000-0 -49331-4 0 1661 +2 26931 67.0497 156.5581 0005412 269.6542 90.3908 14.29554983397461 SAPPHIRE (NO-45) -1 26932U 01043D 09129.56000291 -.00000056 00000-0 10297-4 0 1676 -2 26932 67.0542 163.8025 0004501 248.6209 111.4411 14.29607872397103 +1 26932U 01043D 09133.19792756 -.00000018 00000-0 25168-4 0 1709 +2 26932 67.0536 154.4316 0004439 247.6010 112.4620 14.29608437397622 IDEFIX & ARIANE 42P R/B -1 27422U 02021B 09130.20724163 .00000006 00000-0 19459-4 0 405 -2 27422 98.5217 210.3340 0012154 339.3904 20.6789 14.28491198363986 +1 27422U 02021B 09132.79886273 .00000005 00000-0 19020-4 0 427 +2 27422 98.5221 212.8660 0012097 331.7982 28.2542 14.28491650364357 RUBIN-2 & SAFIR-M -1 27605U 02058A 09129.28874374 -.00000090 00000-0 82482-5 0 9033 -2 27605 64.5564 130.4978 0071577 215.0837 144.5499 14.72398592343216 +1 27605U 02058A 09132.41306492 -.00000142 00000-0 28968-6 0 9042 +2 27605 64.5556 120.9929 0071169 214.3472 145.3020 14.72398769343676 SAUDISAT 1C (SO-50) -1 27607U 02058C 09129.17641685 .00000020 00000-0 25151-4 0 8805 -2 27607 64.5570 143.5710 0071974 214.1526 145.4925 14.71433774342933 +1 27607U 02058C 09132.50667992 -.00000038 00000-0 16168-4 0 8836 +2 27607 64.5560 133.4559 0071549 213.4557 146.2016 14.71434233343421 DTUSAT -1 27842U 03031C 09129.59094963 .00000021 00000-0 29763-4 0 5514 -2 27842 98.7062 140.2812 0008520 233.9810 126.0573 14.20977821303861 +1 27842U 03031C 09132.61874363 .00000035 00000-0 36225-4 0 5539 +2 27842 98.7058 143.2658 0008555 224.2769 135.7722 14.20978425304293 CUTE-1 (CO-55) -1 27844U 03031E 09129.04404900 .00000077 00000-0 56018-4 0 5741 -2 27844 98.7142 138.7639 0008805 256.3554 103.6650 14.20636098303709 +1 27844U 03031E 09132.07257090 .00000039 00000-0 38406-4 0 5765 +2 27844 98.7136 141.7502 0008848 247.2938 112.7308 14.20636244304139 AAU CUBESAT -1 27846U 03031G 09129.59056784 -.00000009 00000-0 15864-4 0 4857 -2 27846 98.7062 140.2750 0008602 233.1750 126.8622 14.20977516303866 +1 27846U 03031G 09132.54794791 .00000035 00000-0 36323-4 0 4876 +2 27846 98.7055 143.1902 0008671 224.0509 135.9982 14.20978417304284 CANX-1 -1 27847U 03031H 09128.54244189 .00000032 00000-0 35022-4 0 4998 -2 27847 98.7067 139.2344 0008495 237.3316 122.7051 14.20960722303663 +1 27847U 03031H 09132.55607845 .00000030 00000-0 34236-4 0 5025 +2 27847 98.7066 143.1906 0008641 223.7514 136.3001 14.20961187304238 CUBESAT XI-IV (CO-57) -1 27848U 03031J 09128.52304463 .00000021 00000-0 30083-4 0 5204 -2 27848 98.7154 137.3112 0008887 263.9446 96.0713 14.20437877303597 +1 27848U 03031J 09132.53815400 .00000036 00000-0 37412-4 0 5230 +2 27848 98.7152 141.2693 0008861 251.0429 108.9784 14.20438657304166 MOZHAYETS 4 (RS-22) -1 27939U 03042A 09129.15424061 .00000097 00000-0 27728-4 0 7852 -2 27939 97.9524 5.4356 0012283 255.2211 104.7645 14.63313583299863 +1 27939U 03042A 09132.77832808 .00000030 00000-0 14632-4 0 7886 +2 27939 97.9516 8.9297 0012292 243.0752 116.9186 14.63314400300396 ECHO (AO-51) -1 28375U 04025K 09129.69505652 .00000006 00000-0 14504-4 0 3847 -2 28375 98.0539 141.5429 0082863 242.2420 117.0348 14.40640787255412 +1 28375U 04025K 09132.26487459 .00000007 00000-0 14896-4 0 3865 +2 28375 98.0539 143.9635 0082835 234.3412 125.0048 14.40641078255789 HAMSAT (VO-52) -1 28650U 05017B 09129.21595519 .00000438 00000-0 61941-4 0 2210 -2 28650 97.7442 192.0803 0027766 154.5969 205.6637 14.81581731216878 +1 28650U 05017B 09132.72788077 -.00000065 00000-0 -17338-5 0 2246 +2 28650 97.7442 195.4771 0027920 143.4415 216.8723 14.81580508217393 UWE-1 -1 28892U 05043C 09129.23925004 .00000073 00000-0 24787-4 0 3319 -2 28892 98.0612 20.4259 0018353 108.3802 251.9376 14.59731205188165 +1 28892U 05043C 09132.73512488 .00000136 00000-0 37974-4 0 3341 +2 28892 98.0600 23.8239 0018404 97.6979 262.6321 14.59732772188674 SSETI EXPRESS (XO-53) -1 28894U 05043E 09129.40534074 .00000008 00000-0 11234-4 0 4562 -2 28894 98.0614 20.8317 0018600 110.0254 250.2956 14.59665969188196 +1 28894U 05043E 09132.14732656 .00000025 00000-0 14843-4 0 4583 +2 28894 98.0616 23.4970 0018710 102.1916 258.1397 14.59666570188590 CUBESAT XI-V (CO-58) -1 28895U 05043F 09129.40477422 .00000148 00000-0 40497-4 0 2977 -2 28895 98.0663 21.0985 0019225 108.6586 251.6699 14.59764872188079 +1 28895U 05043F 09132.96911333 .00000026 00000-0 14969-4 0 3001 +2 28895 98.0666 24.5648 0019201 98.0349 262.3015 14.59765659188591 NCUBE-2 -1 28897U 05043H 09130.15283713 .00000082 00000-0 26574-4 0 8446 -2 28897 98.0617 21.7369 0018264 106.4991 253.8245 14.59942298180478 +1 28897U 05043H 09132.27747338 .00000102 00000-0 30798-4 0 8467 +2 28897 98.0610 23.8031 0018394 100.9246 259.4040 14.59943126180786 CUTE-1.7+APD (CO-56) -1 28941U 06005C 09130.02054874 .00048551 34455-5 19134-3 0 630 -2 28941 98.1366 297.4349 0095237 275.3612 83.6756 15.80147863181210 +1 28941U 06005C 09132.99668721 .00040425 32173-5 15837-3 0 723 +2 28941 98.1353 300.9478 0094713 264.2620 94.7830 15.80396890181686 PEHUENSAT 1 -1 29712U 07001D 09130.16992995 .00000457 00000-0 66323-4 0 4672 -2 29712 97.8312 187.4811 0015253 42.2701 317.9692 14.80532368125842 +1 29712U 07001D 09133.07605401 .00000581 00000-0 82435-4 0 4757 +2 29712 97.8308 190.3185 0015134 33.3728 326.8443 14.80536936126278 DELFI-C3 -1 32789U 08021G 09129.73389039 .00000349 00000-0 51012-4 0 3626 -2 32789 97.9502 194.0693 0016278 152.7549 207.4517 14.81686590 55758 +1 32789U 08021G 09132.23256471 .00000651 00000-0 89281-4 0 3645 +2 32789 97.9499 196.5497 0016260 144.6695 215.5596 14.81691407 56127 PRISM -1 33493U 09002B 09130.18800128 .00000210 00000-0 34353-4 0 3667 -2 33493 98.0533 242.2386 0020374 8.6469 351.5093 14.80660363 15849 +1 33493U 09002B 09133.09386313 .00000285 00000-0 44042-4 0 3764 +2 33493 98.0537 245.1558 0020177 359.1938 0.9241 14.80662939 16271 STARS -1 33498U 09002G 09130.18697045 .00000119 00000-0 27219-4 0 3283 -2 33498 98.0344 240.4146 0014394 86.3982 273.8869 14.71301414 15729 +1 33498U 09002G 09133.04330333 .00000118 00000-0 27041-4 0 3377 +2 33498 98.0350 243.2339 0014406 77.8210 282.4604 14.71302481 16149 KKS-1 -1 33499U 09002H 09130.16365860 .00000052 00000-0 16570-4 0 3351 -2 33499 98.0366 240.3026 0011589 83.3065 276.9455 14.70679042 15710 +1 33499U 09002H 09133.02119959 .00000061 00000-0 18126-4 0 3444 +2 33499 98.0369 243.1199 0011557 75.7433 284.5050 14.70679728 16138 Modified: trunk/data/cubesat.tle =================================================================== --- trunk/data/cubesat.tle 2009-05-13 20:46:57 UTC (rev 311) +++ trunk/data/cubesat.tle 2009-05-13 20:53:33 UTC (rev 312) @@ -1,75 +1,75 @@ DTUSAT -1 27842U 03031C 09129.59094963 .00000021 00000-0 29763-4 0 5514 -2 27842 98.7062 140.2812 0008520 233.9810 126.0573 14.20977821303861 +1 27842U 03031C 09132.61874363 .00000035 00000-0 36225-4 0 5539 +2 27842 98.7058 143.2658 0008555 224.2769 135.7722 14.20978425304293 CUTE-1 (CO-55) -1 27844U 03031E 09129.04404900 .00000077 00000-0 56018-4 0 5741 -2 27844 98.7142 138.7639 0008805 256.3554 103.6650 14.20636098303709 +1 27844U 03031E 09132.07257090 .00000039 00000-0 38406-4 0 5765 +2 27844 98.7136 141.7502 0008848 247.2938 112.7308 14.20636244304139 QUAKESAT -1 27845U 03031F 09129.61756406 .00000075 00000-0 55704-4 0 5497 -2 27845 98.7199 138.7325 0008059 274.8902 85.1358 14.20266560303697 +1 27845U 03031F 09132.57642227 .00000052 00000-0 45007-4 0 5514 +2 27845 98.7195 141.6499 0008039 265.7129 94.3125 14.20266956304117 AAU CUBESAT -1 27846U 03031G 09129.59056784 -.00000009 00000-0 15864-4 0 4857 -2 27846 98.7062 140.2750 0008602 233.1750 126.8622 14.20977516303866 +1 27846U 03031G 09132.54794791 .00000035 00000-0 36323-4 0 4876 +2 27846 98.7055 143.1902 0008671 224.0509 135.9982 14.20978417304284 CANX-1 -1 27847U 03031H 09128.54244189 .00000032 00000-0 35022-4 0 4998 -2 27847 98.7067 139.2344 0008495 237.3316 122.7051 14.20960722303663 +1 27847U 03031H 09132.55607845 .00000030 00000-0 34236-4 0 5025 +2 27847 98.7066 143.1906 0008641 223.7514 136.3001 14.20961187304238 CUBESAT XI-IV (CO-57) -1 27848U 03031J 09128.52304463 .00000021 00000-0 30083-4 0 5204 -2 27848 98.7154 137.3112 0008887 263.9446 96.0713 14.20437877303597 +1 27848U 03031J 09132.53815400 .00000036 00000-0 37412-4 0 5230 +2 27848 98.7152 141.2693 0008861 251.0429 108.9784 14.20438657304166 UWE-1 -1 28892U 05043C 09129.23925004 .00000073 00000-0 24787-4 0 3319 -2 28892 98.0612 20.4259 0018353 108.3802 251.9376 14.59731205188165 +1 28892U 05043C 09132.73512488 .00000136 00000-0 37974-4 0 3341 +2 28892 98.0600 23.8239 0018404 97.6979 262.6321 14.59732772188674 CUBESAT XI-V (CO-58) -1 28895U 05043F 09129.40477422 .00000148 00000-0 40497-4 0 2977 -2 28895 98.0663 21.0985 0019225 108.6586 251.6699 14.59764872188079 +1 28895U 05043F 09132.96911333 .00000026 00000-0 14969-4 0 3001 +2 28895 98.0666 24.5648 0019201 98.0349 262.3015 14.59765659188591 NCUBE-2 -1 28897U 05043H 09130.15283713 .00000082 00000-0 26574-4 0 8446 -2 28897 98.0617 21.7369 0018264 106.4991 253.8245 14.59942298180478 +1 28897U 05043H 09132.27747338 .00000102 00000-0 30798-4 0 8467 +2 28897 98.0610 23.8031 0018394 100.9246 259.4040 14.59943126180786 CUTE-1.7+APD (CO-56) -1 28941U 06005C 09130.02054874 .00048551 34455-5 19134-3 0 630 -2 28941 98.1366 297.4349 0095237 275.3612 83.6756 15.80147863181210 +1 28941U 06005C 09132.99668721 .00040425 32173-5 15837-3 0 723 +2 28941 98.1353 300.9478 0094713 264.2620 94.7830 15.80396890181686 GENESAT-1 -1 29655U 06058C 09130.15925641 .00013306 00000-0 13523-3 0 7057 -2 29655 40.0246 61.4668 0001861 249.8548 110.2069 15.64801567136510 +1 29655U 06058C 09132.90329488 .00013309 00000-0 13486-3 0 7072 +2 29655 40.0251 44.2908 0002135 260.1694 99.8878 15.64877846136945 CSTB1 -1 31122U 07012F 09129.15674666 .00000553 00000-0 13192-3 0 6293 -2 31122 97.9966 187.8864 0085971 36.3044 324.3930 14.55237807109487 +1 31122U 07012F 09132.86965915 .00000553 00000-0 13192-3 0 6329 +2 31122 97.9974 191.4420 0086048 24.8348 335.6914 14.55238244110025 MAST -1 31126U 07012K 09129.20875863 -.00000006 00000-0 90363-5 0 5903 -2 31126 97.9916 185.7909 0095667 41.2849 319.5510 14.53493502109376 +1 31126U 07012K 09132.03119678 .00000107 00000-0 34597-4 0 5922 +2 31126 97.9911 188.4851 0095644 32.5502 328.1541 14.53494396109788 LIBERTAD-1 -1 31128U 07012M 09129.70013376 -.00000046 00000-0 00000+0 0 6259 -2 31128 97.9908 184.5145 0103753 44.9749 315.9798 14.52038910109312 +1 31128U 07012M 09132.11194220 -.00000046 00000-0 00000+0 0 6278 +2 31128 97.9905 186.8117 0103805 37.6095 323.2341 14.52039913109662 POLYSAT CP3 -1 31129U 07012N 09130.13686404 .00000134 00000-0 41383-4 0 9127 -2 31129 97.9927 185.0306 0103659 43.6248 317.3100 14.52128500109367 +1 31129U 07012N 09133.09976096 .00000119 00000-0 38118-4 0 9219 +2 31129 97.9932 187.8527 0103440 34.5510 326.2369 14.52129278109793 CAPE1 -1 31130U 07012P 09129.14015232 .00000163 00000-0 48294-4 0 5950 -2 31130 97.9948 183.9999 0103734 46.9078 314.0734 14.52055106109029 +1 31130U 07012P 09132.86118899 -.00000005 00000-0 96442-5 0 5984 +2 31130 97.9945 187.5428 0103386 35.5998 325.2021 14.52055147109568 POLYSAT CP4 -1 31132U 07012Q 09130.19109662 -.00000146 00000-0 -21855-4 0 6015 -2 31132 97.9973 188.8001 0086490 32.3456 328.3004 14.55201915109500 +1 31132U 07012Q 09132.18511196 .00000181 00000-0 50216-4 0 6026 +2 31132 97.9976 190.7107 0086411 26.4147 334.1421 14.55203180109791 NTS (CANX-6) -1 32784U 08021B 09129.87040275 .00000045 00000-0 12699-4 0 3634 -2 32784 97.9478 193.9745 0016721 147.2230 213.0028 14.81039647 55755 +1 32784U 08021B 09132.23504678 .00000258 00000-0 40070-4 0 3652 +2 32784 97.9481 196.3191 0016801 139.7520 220.4936 14.81042207 56104 CUTE-1.7+APD II -1 32785U 08021C 09129.89684201 .00000265 00000-0 40599-4 0 3601 -2 32785 97.9472 194.1734 0015527 151.5602 208.6451 14.81477640 55776 +1 32785U 08021C 09133.20637124 .00000200 00000-0 32331-4 0 3630 +2 32785 97.9479 197.4588 0015468 141.2114 219.0212 14.81478399 56262 COMPASS-1 -1 32787U 08021E 09130.21443887 .00000457 00000-0 64793-4 0 3520 -2 32787 97.9446 194.3548 0016526 152.2096 207.9998 14.81593151 55829 +1 32787U 08021E 09132.30805925 .00000285 00000-0 42934-4 0 3541 +2 32787 97.9444 196.4307 0016645 145.4603 214.7682 14.81594360 56137 AAUSAT-II -1 32788U 08021F 09130.11792791 .00000297 00000-0 44418-4 0 3536 -2 32788 97.9447 194.3118 0016202 152.7894 207.4175 14.81714967 55817 +1 32788U 08021F 09132.41396750 .00000575 00000-0 79650-4 0 3553 +2 32788 97.9447 196.5880 0016597 146.1560 214.0741 14.81717527 56157 DELFI-C3 -1 32789U 08021G 09129.73389039 .00000349 00000-0 51012-4 0 3626 -2 32789 97.9502 194.0693 0016278 152.7549 207.4517 14.81686590 55758 +1 32789U 08021G 09132.23256471 .00000651 00000-0 89281-4 0 3645 +2 32789 97.9499 196.5497 0016260 144.6695 215.5596 14.81691407 56127 CANX-2 -1 32790U 08021H 09129.83153150 .00000193 00000-0 31360-4 0 3476 -2 32790 97.9475 194.0836 0016153 152.5338 207.6726 14.81464694 55746 +1 32790U 08021H 09132.87092209 .00000153 00000-0 26250-4 0 3503 +2 32790 97.9473 197.0986 0016390 143.2946 216.9384 14.81465233 56191 SEEDS II -1 32791U 08021J 09129.71258923 -.00000041 00000-0 15593-5 0 3449 -2 32791 97.9475 193.8888 0016568 151.4665 208.7455 14.81424079 55713 +1 32791U 08021J 09133.22486386 .00000427 00000-0 61245-4 0 3470 +2 32791 97.9470 197.3733 0016692 140.3783 219.8642 14.81427945 56236 PSLV DEB 1 32797U 08021L 09124.15288384 .00002115 00000-0 26659-3 0 1592 2 32797 97.9749 189.4621 0015238 164.9664 195.0234 14.82967991 53638 Modified: trunk/data/galileo.tle =================================================================== --- trunk/data/galileo.tle 2009-05-13 20:46:57 UTC (rev 311) +++ trunk/data/galileo.tle 2009-05-13 20:53:33 UTC (rev 312) @@ -1,6 +1,6 @@ GIOVE-A -1 28922U 05051A 09129.34352618 .00000066 00000-0 10000-3 0 4808 -2 28922 56.0686 158.3929 0006709 332.7155 27.1753 1.70184097 20904 +1 28922U 05051A 09132.28165836 .00000062 00000-0 10000-3 0 4816 +2 28922 56.0697 158.3139 0006280 334.5787 25.4320 1.70183487 20952 GIOVE-B -1 32781U 08020A 09128.77476884 .00000035 00000-0 10000-3 0 1648 -2 32781 55.9496 193.3120 0019932 214.8765 145.0801 1.70950656 6450 +1 32781U 08020A 09131.11457059 .00000035 00000-0 10000-3 0 1654 +2 32781 55.9493 193.2493 0020004 215.2283 144.7303 1.70950653 6495 Modified: trunk/data/geo.tle =================================================================== --- trunk/data/geo.tle 2009-05-13 20:46:57 UTC (rev 311) +++ trunk/data/geo.tle 2009-05-13 20:53:33 UTC (rev 312) @@ -1,345 +1,345 @@ LES 9 -1 08747U 76023B 09129.07669736 -.00000053 00000-0 10000-3 0 2793 -2 08747 10.8634 149.5326 0023161 320.6532 39.2961 1.00266355 67038 +1 08747U 76023B 09131.07109671 -.00000055 00000-0 10000-3 0 2818 +2 08747 10.8652 149.4762 0023164 320.7247 39.1931 1.00266360 67052 MARISAT 2 -1 09478U 76101A 09129.57665506 -.00000086 00000-0 10000-3 0 1412 -2 09478 13.2314 356.1663 0097989 199.7350 159.8133 0.97590204 62510 +1 09478U 76101A 09132.65071934 -.00000058 00000-0 10000-3 0 1432 +2 09478 13.2319 356.1469 0097827 199.5811 159.9868 0.97589859 62543 GOES 3 -1 10953U 78062A 09128.65693070 -.00000135 00000-0 10000-3 0 4907 -2 10953 14.3478 0.4129 0003911 357.9789 1.9562 1.00267485 66272 +1 10953U 78062A 09131.64888249 -.00000130 00000-0 10000-3 0 4932 +2 10953 14.3488 0.3875 0003710 358.0471 1.9066 1.00267417 66305 ESIAFI 1 (COMSTAR 4) -1 12309U 81018A 09128.18554363 -.00000136 00000-0 10000-3 0 2277 -2 12309 13.9013 10.5338 0005854 285.2927 74.5774 1.00260871104791 +1 12309U 81018A 09131.17767415 -.00000131 00000-0 10000-3 0 2280 +2 12309 13.9037 10.5093 0005823 285.5814 74.3019 1.00260766104826 SATCOM C5 -1 13631U 82105A 09127.75297365 -.00000111 00000-0 10000-3 0 6190 -2 13631 12.4674 31.9303 0004886 285.7829 74.0725 1.00272838 63719 +1 13631U 82105A 09130.74472168 -.00000108 00000-0 10000-3 0 6218 +2 13631 12.4723 31.9029 0004741 287.4874 72.3753 1.00272777 63745 TDRS 1 -1 13969U 83026B 09127.26160720 -.00000307 00000-0 10000-3 0 8590 -2 13969 13.3131 9.5887 0022325 235.2135 25.7782 1.00273279 68583 +1 13969U 83026B 09132.96507983 -.00000299 00000-0 10000-3 0 8612 +2 13969 13.3174 9.5486 0022393 237.1593 282.7576 1.00271549 68640 GSTAR 1 -1 15677U 85035A 09127.80705077 -.00000100 00000-0 10000-3 0 1369 -2 15677 10.5991 51.2679 0007922 276.4285 83.3647 1.00272568 62579 +1 15677U 85035A 09130.79874362 -.00000098 00000-0 10000-3 0 1361 +2 15677 10.6056 51.2344 0007910 277.1734 82.6165 1.00272598 62609 INTELSAT 511 -1 15873U 85055A 09128.14649662 -.00000369 00000-0 10000-3 0 3790 -2 15873 11.9400 39.5447 0015422 291.5326 68.2033 1.00099555 61985 +1 15873U 85055A 09131.14343804 -.00000364 00000-0 10000-3 0 3811 +2 15873 11.9459 39.5161 0015345 292.0034 67.7389 1.00097966 62015 GOES 7 -1 17561U 87022A 09129.38945263 .00000048 00000-0 10000-3 0 9390 -2 17561 12.0387 37.6059 0002311 207.0295 305.5104 1.00268050 64522 +1 17561U 87022A 09131.61564747 .00000050 00000-0 10000-3 0 9420 +2 17561 12.0425 37.5844 0002520 211.5699 24.5911 1.00268931 64540 GSTAR 3 -1 19483U 88081A 09127.72524336 -.00000114 00000-0 10000-3 0 2119 -2 19483 14.2673 21.3807 0007287 342.2875 17.6200 1.00272655 71952 +1 19483U 88081A 09130.71700537 -.00000111 00000-0 10000-3 0 2129 +2 19483 14.2711 21.3526 0007121 343.1997 16.7184 1.00272647 71980 TDRS 3 -1 19548U 88091B 09129.84336735 -.00000192 00000-0 10000-3 0 2500 -2 19548 11.7694 40.3030 0024286 319.3201 256.4836 1.00268025 62756 +1 19548U 88091B 09131.83292237 -.00000190 00000-0 10000-3 0 2519 +2 19548 11.7730 40.2843 0024296 319.4205 254.5738 1.00267738 62776 ASTRA 1A -1 19688U 88109B 09129.82090018 .00000001 00000-0 10000-3 0 5673 -2 19688 7.5243 64.7924 0018466 311.5794 48.0998 0.98335425 54671 +1 19688U 88109B 09130.83777694 .00000009 00000-0 10000-3 0 5700 +2 19688 7.5271 64.7818 0018123 313.2132 46.4608 0.98335340 54686 TDRS 4 -1 19883U 89021B 09129.22353135 -.00000283 00000-0 10000-3 0 5785 -2 19883 10.4230 52.2606 0002770 313.4225 256.1140 1.00273998246323 +1 19883U 89021B 09132.15587273 -.00000280 00000-0 10000-3 0 5803 +2 19883 10.4293 52.2352 0002823 315.9760 232.1365 1.00273019246350 INTELSAT 602 (IS-602) -1 20315U 89087A 09129.56568834 .00000034 00000-0 10000-3 0 8854 -2 20315 6.8160 66.6449 0001289 335.3247 206.9939 1.00271509 69330 +1 20315U 89087A 09132.54514410 .00000037 00000-0 10000-3 0 8872 +2 20315 6.8231 66.6115 0001414 346.9132 190.9813 1.00272432 69362 LEASAT 5 -1 20410U 90002B 09127.19543325 .00000000 00000-0 10000-3 0 1119 -2 20410 8.2464 35.6149 0000312 122.0677 237.8062 1.00264474 56021 +1 20410U 90002B 09132.87010661 -.00000311 00000-0 10000-3 0 1141 +2 20410 8.2558 35.5832 0000520 333.3444 275.0959 1.00273086 56087 INTELSAT 603 (IS-603) -1 20523U 90021A 09130.07280398 -.00000156 00000-0 10000-3 0 4570 -2 20523 6.2947 68.2295 0002294 333.6713 192.3503 1.00271632 63090 +1 20523U 90021A 09133.04906487 -.00000153 00000-0 10000-3 0 4593 +2 20523 6.2991 68.2067 0002417 344.7101 175.7302 1.00272197 63120 ASIASAT 1 -1 20558U 90030A 09123.55832115 -.00000177 00000-0 10000-3 0 6916 -2 20558 8.9485 60.8341 0003670 228.0188 131.8711 0.99246538 69635 +1 20558U 90030A 09131.61846772 -.00000254 00000-0 10000-3 0 6923 +2 20558 8.9683 60.7372 0003433 224.2124 135.6136 0.99246004 69713 INSAT-1D -1 20643U 90051A 09128.32429578 -.00000086 00000-0 10000-3 0 2396 -2 20643 9.7091 56.7603 0017717 24.5386 335.4175 1.00286863 56093 +1 20643U 90051A 09131.31556420 -.00000085 00000-0 10000-3 0 2429 +2 20643 9.7162 56.7266 0017934 24.4602 335.4911 1.00286957 56124 COSMOS 2085 -1 20693U 90061A 09128.25330732 -.00000137 00000-0 10000-3 0 9324 -2 20693 12.0703 36.1447 0003436 284.2160 75.6490 1.00264610 68846 +1 20693U 90061A 09132.24265818 -.00000132 00000-0 10000-3 0 9347 +2 20693 12.0774 36.1067 0003211 288.7873 71.0950 1.00264345 68883 SKYNET 4C -1 20776U 90079A 09129.02023586 .00000074 00000-0 00000+0 0 9297 -2 20776 9.7695 47.7229 0002955 343.8229 215.9478 1.00269830 68293 +1 20776U 90079A 09132.81741002 .00000078 00000-0 00000+0 0 9315 +2 20776 9.7773 47.6847 0002914 344.3510 146.1687 1.00271484 68339 EUTELSAT 2-F1 -1 20777U 90079B 09128.83902979 .00000035 00000-0 10000-3 0 8851 -2 20777 9.1548 59.8376 0001198 161.2313 198.6289 0.99343331 48691 +1 20777U 90079B 09131.85871814 .00000072 00000-0 10000-3 0 8873 +2 20777 9.1621 59.8012 0001237 189.3861 170.4876 0.99343724 48723 GALAXY 6 -1 20873U 90091B 09124.53634767 -.00000004 00000-0 10000-3 0 2730 -2 20873 6.0693 69.1301 0001443 16.6906 343.2357 0.99766160 62410 +1 20873U 90091B 09132.55427930 -.00000100 00000-0 10000-3 0 2730 +2 20873 6.0889 69.0297 0001858 17.9463 341.8750 0.99768276 62491 INMARSAT 2-F1 -1 20918U 90093A 09129.53623899 .00000107 00000-0 10000-3 0 4006 -2 20918 6.5227 55.5843 0003450 347.9112 234.9665 1.00273767 64281 +1 20918U 90093A 09132.41925334 .00000110 00000-0 10000-3 0 4044 +2 20918 6.5291 55.5614 0003397 353.4367 190.2177 1.00275053 64318 GSTAR 4 -1 20946U 90100B 09123.64184652 -.00000250 00000-0 10000-3 0 2739 -2 20946 6.2594 68.9865 0004005 210.1861 149.7234 0.99145439 62292 +1 20946U 90100B 09131.71016411 -.00000194 00000-0 10000-3 0 2730 +2 20946 6.2796 68.8855 0002827 205.9719 153.8319 0.99143060 62375 COSMOS 2133 -1 21111U 91010A 09128.27775867 -.00000113 00000-0 10000-3 0 1370 -2 21111 11.1864 42.2824 0004347 328.6147 31.2475 1.00285147 66787 +1 21111U 91010A 09131.26910928 -.00000112 00000-0 10000-3 0 1382 +2 21111 11.1926 42.2550 0004323 325.8807 33.9872 1.00285159 66815 INMARSAT 2-F2 -1 21149U 91018A 09129.42386352 -.00000138 00000-0 10000-3 0 5094 -2 21149 5.8354 55.8897 0003979 344.9449 241.0926 1.00270999 66576 +1 21149U 91018A 09132.38327394 -.00000136 00000-0 10000-3 0 5137 +2 21149 5.8418 55.8699 0004378 355.2784 219.0786 1.00271320 66600 TDRS 5 -1 21639U 91054B 09129.62818830 .00000103 00000-0 10000-3 0 4417 -2 21639 9.7738 56.0633 0011146 327.7048 262.2980 1.00265884 65075 +1 21639U 91054B 09132.58815888 .00000106 00000-0 10000-3 0 4431 +2 21639 9.7806 56.0253 0011235 328.8756 249.6173 1.00267295 65101 ANIK E1 -1 21726U 91067A 09129.19021197 -.00000290 00000-0 10000-3 0 1484 -2 21726 5.6682 71.0633 0004347 220.0174 139.7749 0.99171945 55310 +1 21726U 91067A 09131.20673884 -.00000264 00000-0 10000-3 0 1497 +2 21726 5.6732 71.0358 0004297 221.4874 138.2844 0.99171080 55338 INTELSAT 601 (IS-601) -1 21765U 91075A 09127.85495137 .00000124 00000-0 10000-3 0 7690 -2 21765 4.3862 72.8120 0000990 8.2013 140.0741 1.00273523 64019 +1 21765U 91075A 09132.92208189 .00000128 00000-0 10000-3 0 7710 +2 21765 4.3979 72.7467 0000679 354.8593 182.6422 1.00272686 64060 EUTELSAT 2-F3 -1 21803U 91083A 09128.02742048 -.00000082 00000-0 10000-3 0 7175 -2 21803 8.3220 62.9303 0002806 264.9022 94.9303 0.99299576 59610 +1 21803U 91083A 09132.05536396 -.00000179 00000-0 10000-3 0 7188 +2 21803 8.3317 62.8810 0002804 267.0038 92.8156 0.99300666 59658 GALAXY 5 -1 21906U 92013A 09128.33889827 -.00000005 00000-0 10000-3 0 9047 -2 21906 4.1348 73.9966 0015870 284.7095 74.9368 0.99284899 54369 +1 21906U 92013A 09132.36732256 .00000076 00000-0 10000-3 0 9067 +2 21906 4.1451 73.9469 0015887 284.6240 74.9597 0.99284699 54408 INMARSAT 2-F4 -1 21940U 92021B 09129.79988441 -.00000351 00000-0 10000-3 0 2235 -2 21940 4.4585 50.2854 0002193 9.5395 204.8819 1.00271285 62460 +1 21940U 92021B 09131.85291889 -.00000350 00000-0 10000-3 0 2271 +2 21940 4.4628 50.2832 0002453 357.7652 237.7772 1.00270572 62480 EUTELSAT 2-F4 -1 22028U 92041B 09123.60190718 -.00000224 00000-0 10000-3 0 1576 -2 22028 7.5100 66.1909 0003654 80.4996 279.4647 0.99081474 54273 +1 22028U 92041B 09131.67545300 -.00000220 00000-0 10000-3 0 1580 +2 22028 7.5303 66.0889 0003788 83.2762 276.6048 0.99079757 54358 SATCOM C3 -1 22117U 92060B 09127.18604716 -.00000236 00000-0 10000-3 0 1259 -2 22117 4.2856 72.9766 0001505 10.5202 129.5705 1.00269729 60964 +1 22117U 92060B 09131.35909918 -.00000233 00000-0 10000-3 0 1263 +2 22117 4.2955 72.9418 0001334 352.9788 213.5771 1.00270880 61003 HELLAS SAT 1 (DFS 3) -1 22175U 92066A 09127.74827911 -.00000222 00000-0 10000-3 0 3612 -2 22175 6.8113 66.9550 0005467 289.0625 70.7341 0.99728873 58270 +1 22175U 92066A 09129.75356039 -.00000202 00000-0 10000-3 0 3622 +2 22175 6.8167 66.9292 0004967 292.2520 67.5221 0.99728219 58293 GORIZONT 27 -1 22245U 92082A 09129.05985824 -.00000164 00000-0 10000-3 0 4449 -2 22245 11.1901 45.2919 0014406 227.3346 132.4276 1.00227715 64552 +1 22245U 92082A 09132.05294624 -.00000165 00000-0 10000-3 0 4456 +2 22245 11.1965 45.2610 0014378 227.4972 132.2790 1.00227434 64584 COSMOS 2224 -1 22269U 92088A 09122.54081646 -.00000079 00000-0 10000-3 0 5566 -2 22269 10.3167 48.1017 0001898 59.1458 300.8031 1.00264671 59455 +1 22269U 92088A 09131.51648951 -.00000072 00000-0 10000-3 0 5575 +2 22269 10.3355 48.0133 0001746 66.2861 293.6285 1.00265413 59546 TDRS 6 -1 22314U 93003B 09129.48046688 .00000093 00000-0 10000-3 0 4689 -2 22314 9.1206 59.1438 0006768 339.4150 190.5949 1.00278976 59791 +1 22314U 93003B 09131.51819318 .00000095 00000-0 10000-3 0 4709 +2 22314 9.1252 59.1227 0006591 337.0883 208.5930 1.00279826 59817 ASTRA 1C -1 22653U 93031A 09124.78296913 .00000004 00000-0 10000-3 0 4101 -2 22653 2.4781 78.3091 0004062 311.5146 116.8252 1.00272801 53625 +1 22653U 93031A 09131.95987231 .00000014 00000-0 10000-3 0 4110 +2 22653 2.4964 78.2140 0004108 311.6465 187.5724 1.00273954 53694 INSAT-2B -1 22724U 93048B 09128.10287766 -.00000166 00000-0 10000-3 0 2225 -2 22724 7.8271 64.0236 0013232 40.1048 319.8534 0.99985250 58118 +1 22724U 93048B 09131.10310274 -.00000191 00000-0 10000-3 0 2240 +2 22724 7.8347 63.9859 0013362 40.0337 319.9043 0.99985132 58143 ACTS -1 22796U 93058B 09128.82497806 -.00000093 00000-0 10000-3 0 6449 -2 22796 9.3380 58.2783 0005027 346.7024 13.1489 1.00273144 64259 +1 22796U 93058B 09131.81665864 -.00000091 00000-0 10000-3 0 6452 +2 22796 9.3447 58.2429 0005199 347.9664 11.8867 1.00273202 64286 INTELSAT 701 (IS-701) -1 22871U 93066A 09128.41067747 .00000052 00000-0 10000-3 0 3568 -2 22871 0.0044 309.3905 0003004 98.1234 146.6927 1.00273197 56807 +1 22871U 93066A 09131.41272824 .00000055 00000-0 10000-3 0 3570 +2 22871 0.0175 263.5938 0003191 153.8977 140.4160 1.00273379 56835 GORIZONT 29 -1 22907U 93072A 09129.07001519 -.00000176 00000-0 10000-3 0 6586 -2 22907 10.6873 48.7250 0012302 206.4814 153.3263 1.00169751 56639 +1 22907U 93072A 09131.06653719 -.00000181 00000-0 10000-3 0 6613 +2 22907 10.6914 48.7018 0012553 207.5449 152.2708 1.00169593 56659 SOLIDARIDAD 1 -1 22911U 93073A 09127.83157805 -.00000118 00000-0 10000-3 0 1798 -2 22911 7.8073 64.0071 0001524 37.0030 322.8722 1.00272229 55253 +1 22911U 93073A 09130.82322088 -.00000116 00000-0 10000-3 0 1808 +2 22911 7.8149 63.9699 0001929 40.6065 319.2443 1.00272097 55284 METEOSAT-6 (MOP-3) -1 22912U 93073B 09128.69545934 -.00000021 00000-0 10000-3 0 554 -2 22912 8.2813 60.3541 0002091 332.4753 151.5634 1.00273073 55073 +1 22912U 93073B 09129.64080230 -.00000020 00000-0 10000-3 0 596 +2 22912 8.2835 60.3430 0002077 332.5288 132.7806 1.00273223 55082 NATO 4B -1 22921U 93076A 09128.42135759 .00000145 00000-0 10000-3 0 1566 -2 22921 7.6895 53.0228 0002506 327.2457 32.5864 1.00278075 56498 +1 22921U 93076A 09129.41851586 .00000146 00000-0 10000-3 0 1582 +2 22921 7.6918 53.0137 0002503 327.1685 32.6556 1.00278566 56508 THAICOM 1 -1 22931U 93078B 09129.80975118 -.00000362 00000-0 10000-3 0 3736 -2 22931 0.2337 69.7263 0001704 210.9983 358.5020 1.00268864 55931 +1 22931U 93078B 09131.61862638 -.00000361 00000-0 10000-3 0 3740 +2 22931 0.2383 69.8054 0001645 213.1817 289.1980 1.00267940 55956 GOES 8 -1 23051U 94022A 09129.12029464 -.00000244 00000-0 10000-3 0 7798 -2 23051 5.6531 74.1808 0006127 187.8679 171.9558 0.98908454 62330 +1 23051U 94022A 09131.14218365 -.00000266 00000-0 10000-3 0 7832 +2 23051 5.6584 74.1531 0006090 187.5248 172.2753 0.98908344 62350 INTELSAT 702 (IS-702) -1 23124U 94034A 09127.64670972 -.00000021 00000-0 10000-3 0 2117 -2 23124 0.0162 293.3925 0006275 52.7424 178.3071 1.00351013 68713 +1 23124U 94034A 09131.84206041 .00000000 00000-0 10000-3 0 2145 +2 23124 0.0196 68.5784 0002872 302.8361 227.4789 1.00269559 68752 INTELSAT 2 (IS-2) -1 23175U 94040A 09128.62517066 -.00000030 00000-0 10000-3 0 4250 -2 23175 0.3611 85.3021 0002520 306.1111 229.3288 1.00272598 53637 +1 23175U 94040A 09132.61019755 -.00000027 00000-0 10000-3 0 4285 +2 23175 0.3708 85.2549 0002726 315.4567 218.5620 1.00272349 53672 BS-3N 1 23176U 94040B 09127.69267042 -.00000353 00000-0 00000+0 0 61 2 23176 0.0290 313.4863 0003250 58.1508 213.2844 1.00273385 54122 APSTAR 1 -1 23185U 94043A 09130.01665795 -.00000266 00000-0 10000-3 0 1813 -2 23185 4.3238 72.8202 0001118 319.7065 343.4036 1.00269294 54199 +1 23185U 94043A 09133.13514237 -.00000264 00000-0 10000-3 0 1844 +2 23185 4.3308 72.7886 0001148 323.9908 24.8481 1.00268271 54222 DIRECTV 2 (DBS 2) -1 23192U 94047A 09127.78539986 -.00000084 00000-0 10000-3 0 4470 -2 23192 2.2881 78.1184 0012591 197.7916 161.9765 0.98634402 64031 +1 23192U 94047A 09131.84006330 .00000007 00000-0 10000-3 0 4490 +2 23192 2.2984 78.0693 0012575 197.9814 161.6048 0.98633461 64079 BRASILSAT B1 -1 23199U 94049A 09128.44210049 -.00000271 00000-0 10000-3 0 2745 -2 23199 2.0587 79.0317 0001720 319.1978 279.3574 1.00271124 64873 +1 23199U 94049A 09131.47164676 -.00000269 00000-0 10000-3 0 2765 +2 23199 2.0657 78.9994 0001740 320.6315 291.5671 1.00270068 64908 OPTUS B3 -1 23227U 94055A 09128.60782420 -.00000075 00000-0 10000-3 0 3382 -2 23227 1.3511 80.1076 0005043 317.8943 211.3761 1.00272181 53807 +1 23227U 94055A 09132.48036324 -.00000072 00000-0 10000-3 0 3408 +2 23227 1.3610 80.0624 0005171 323.3268 163.9222 1.00272279 53845 NSS-703 -1 23305U 94064A 09128.58935181 .00000070 00000-0 10000-3 0 9335 -2 23305 0.0051 222.1898 0003122 195.1499 78.3674 1.00272657 53530 +1 23305U 94064A 09131.59890845 .00000073 00000-0 10000-3 0 9341 +2 23305 0.0138 241.0621 0002944 178.1260 82.9327 1.00272021 53562 SOLIDARIDAD 2 -1 23313U 94065A 09129.13404677 -.00000025 00000-0 10000-3 0 3366 -2 23313 1.1412 80.6365 0002496 322.7467 117.0492 1.00272454 53404 +1 23313U 94065A 09132.32410924 -.00000023 00000-0 10000-3 0 3394 +2 23313 1.1490 80.6055 0002426 327.9916 183.4171 1.00273057 53439 THAICOM 2 -1 23314U 94065B 09129.62116853 -.00000121 00000-0 10000-3 0 2554 -2 23314 0.0852 45.5822 0002009 265.3841 218.7029 1.00272162 53385 +1 23314U 94065B 09132.60306840 -.00000120 00000-0 10000-3 0 2574 +2 23314 0.0904 48.3950 0001922 260.2913 217.4184 1.00272363 53418 EXPRESS 1 -1 23319U 94067A 09128.80535156 -.00000100 00000-0 10000-3 0 6956 -2 23319 8.0110 63.3426 0002455 66.4198 293.4560 0.99819564 53226 +1 23319U 94067A 09130.80884849 -.00000079 00000-0 10000-3 0 6972 +2 23319 8.0160 63.3191 0002477 66.5323 293.3355 0.99819315 53242 ASTRA 1D -1 23331U 94070A 09122.86192086 .00000142 00000-0 00000+0 0 9004 -2 23331 1.5427 78.4043 0002653 305.5963 178.4412 1.00271330 53581 +1 23331U 94070A 09132.00000000 .00000156 00000-0 00000+0 0 9011 +2 23331 1.5470 77.8340 0002550 322.3030 221.0330 1.00266152 53670 RADUGA 32 -1 23448U 94087A 09128.30955484 -.00000100 00000-0 10000-3 0 1423 -2 23448 10.1435 52.8373 0004270 130.2315 229.6814 1.00284176 70281 +1 23448U 94087A 09131.30092322 -.00000099 00000-0 10000-3 0 1449 +2 23448 10.1505 52.8028 0004297 125.0378 234.8766 1.00284198 70318 INTELSAT 704 (IS-704) -1 23461U 95001A 09127.64671594 -.00000005 00000-0 10000-3 0 9408 -2 23461 0.0111 143.8774 0005493 249.3947 131.1611 1.00272257 52494 +1 23461U 95001A 09130.90000000 -.00000000 00000-0 00000+0 0 9421 +2 23461 0.0150 25.8680 0005929 37.8340 195.1030 1.00272006 52524 INTELSAT 705 (IS-705) -1 23528U 95013A 09129.14410815 -.00000282 00000-0 10000-3 0 8528 -2 23528 0.0033 331.4181 0003614 92.5198 165.0244 1.00270122 51684 +1 23528U 95013A 09132.15359209 -.00000280 00000-0 10000-3 0 8531 +2 23528 0.0075 337.5072 0003483 106.4415 151.3783 1.00270215 51710 BRASILSAT B2 -1 23536U 95016A 09129.44967134 -.00000168 00000-0 00000+0 0 164 -2 23536 1.2377 82.5950 0002969 331.7365 242.9306 1.00272565 51756 +1 23536U 95016A 09132.44345002 -.00000167 00000-0 00000+0 0 183 +2 23536 1.2449 82.5573 0002972 332.4199 243.0044 1.00272190 51782 AMSC 1 -1 23553U 95019A 09129.48701142 -.00000113 00000-0 00000+0 0 1199 -2 23553 4.4183 72.9308 0002587 342.4082 246.0950 1.00271432 51567 +1 23553U 95019A 09132.55316586 -.00000111 00000-0 00000+0 0 1205 +2 23553 4.4253 72.8924 0002521 337.8192 277.5655 1.00271730 51591 INTELSAT 706 (IS-706) -1 23571U 95023A 09129.75302914 .00000087 00000-0 10000-3 0 9213 -2 23571 0.0024 140.4351 0002841 254.4908 158.6976 1.00272241 51187 +1 23571U 95023A 09132.75718419 .00000088 00000-0 10000-3 0 9220 +2 23571 0.0208 348.3956 0003051 58.1355 151.5603 1.00273601 51214 DIRECTV 3 (DBS 3) 1 23598U 95029A 09128.43232567 -.00000221 00000-0 10000-3 0 603 2 23598 0.1837 86.3133 0002860 347.7327 225.9603 1.00270176 50894 TDRS 7 -1 23613U 95035B 09126.46511844 .00000114 00000-0 10000-3 0 5107 -2 23613 10.9510 48.6508 0005097 358.0608 194.7935 1.00283007 50571 +1 23613U 95035B 09131.61715273 .00000119 00000-0 10000-3 0 5129 +2 23613 10.9625 48.5987 0005447 345.1208 267.4434 1.00264212 50625 INTELSAT 4 (IS-4) -1 23636U 95040A 09128.73788826 -.00000059 00000-0 10000-3 0 9648 -2 23636 0.0079 227.0743 0003093 179.4798 157.7702 1.00272521 50377 +1 23636U 95040A 09131.64624638 -.00000056 00000-0 10000-3 0 9650 +2 23636 0.0044 202.4421 0003085 208.3030 123.4583 1.00272437 50408 COSMOS 2319 -1 23653U 95045A 09129.01874046 .00000052 00000-0 10000-3 0 41 -2 23653 9.7668 55.0685 0003551 49.9945 309.8983 1.00283866 50133 +1 23653U 95045A 09132.01011418 .00000055 00000-0 10000-3 0 55 +2 23653 9.7737 55.0330 0003614 49.4536 310.4516 1.00284804 50164 TELSTAR 4 (TELSTAR 402R) -1 23670U 95049A 09127.85375268 -.00000102 00000-0 10000-3 0 9211 -2 23670 5.2477 70.5088 0003715 240.6967 119.1354 1.00242015 49881 +1 23670U 95049A 09131.84368637 -.00000096 00000-0 10000-3 0 9231 +2 23670 5.2579 70.4563 0003228 245.7191 114.0392 1.00241923 49923 LUCH 1 -1 23680U 95054A 09129.33024297 -.00000115 00000-0 10000-3 0 7599 -2 23680 8.8824 63.8846 0007063 307.8193 51.9755 1.00272169 49758 +1 23680U 95054A 09132.32195087 -.00000113 00000-0 10000-3 0 7608 +2 23680 8.8896 63.8450 0007132 309.8179 49.9782 1.00272039 49787 ASTRA 1E -1 23686U 95055A 09121.00000000 .00000126 00000-0 00000+0 0 9923 -2 23686 0.0480 176.6630 0003282 268.0260 157.8900 1.00272552 49633 +1 23686U 95055A 09132.00000000 .00000139 00000-0 00000+0 0 9930 +2 23686 0.0440 142.8780 0002754 301.0970 169.4180 1.00269444 49746 ASIASAT 2 -1 23723U 95064A 09129.56749855 -.00000307 00000-0 10000-3 0 9345 -2 23723 0.0494 34.3837 0002709 354.8543 143.0478 1.00271848 49252 +1 23723U 95064A 09131.89474185 -.00000306 00000-0 10000-3 0 9377 +2 23723 0.0521 38.9072 0002702 356.0087 257.5034 1.00273885 49278 TELECOM 2C -1 23730U 95067A 09129.70925082 .00000020 00000-0 10000-3 0 1017 -2 23730 5.0753 71.0266 0003583 333.5060 81.7110 1.00273989 49288 +1 23730U 95067A 09131.96899049 .00000022 00000-0 10000-3 0 1024 +2 23730 5.0896 71.1549 0004136 332.9525 177.8765 1.00274211 49300 ECHOSTAR 1 -1 23754U 95073A 09129.39861796 .00000130 00000-0 10000-3 0 804 -2 23754 0.0047 252.5460 0002698 160.8427 169.3766 1.00272307 48799 +1 23754U 95073A 09132.35992197 .00000132 00000-0 10000-3 0 817 +2 23754 0.0059 257.4167 0002888 159.0524 155.2743 1.00272016 48829 INTELSAT 3R (IS-3R) 1 23764U 96002A 09128.60163316 -.00000270 00000-0 10000-3 0 6345 2 23764 0.0433 118.9439 0001930 282.8514 358.3098 1.00268835 48799 AFRICASAT-1 (MEASAT-1) -1 23765U 96002B 09127.46662321 .00000000 00000-0 10000-3 0 8352 -2 23765 1.5130 79.5957 0000629 11.1164 348.7104 1.00272534 48753 +1 23765U 96002B 09132.91752238 .00000135 00000-0 10000-3 0 8387 +2 23765 1.5272 79.5715 0000650 20.0386 147.4716 1.00272134 48817 KOREASAT 2 -1 23768U 96003A 09129.59883044 -.00000362 00000-0 10000-3 0 7518 -2 23768 2.2667 77.8861 0001605 35.4013 86.3216 1.00273028 48760 -HGS-3 -1 23779U 96006A 09127.95566450 .00000152 00000-0 10000-3 0 1981 -2 23779 0.0696 97.2979 0002473 291.5389 219.1322 1.00273256 48522 +1 23768U 96003A 09132.73642220 -.00000360 00000-0 10000-3 0 7548 +2 23768 2.2742 77.8475 0001408 20.9441 153.4534 1.00271429 48795 +PAKSAT 1 (ANATOLIA 1) +1 23779U 96006A 09130.90079529 .00000155 00000-0 10000-3 0 1990 +2 23779 0.0499 108.2638 0002365 301.4206 181.4650 1.00275262 48554 INTELSAT 707 (IS-707) -1 23816U 96015A 09129.34296321 -.00000285 00000-0 10000-3 0 8463 -2 23816 0.0182 5.4205 0002858 54.7205 237.6115 1.00270982 48180 +1 23816U 96015A 09131.98174149 -.00000283 00000-0 10000-3 0 8478 +2 23816 0.0056 259.5533 0003127 160.1038 110.6631 1.00271059 48215 INMARSAT 3-F1 -1 23839U 96020A 09127.71491863 .00000008 00000-0 10000-3 0 7215 -2 23839 0.1882 49.1549 0005179 7.4926 130.9207 1.00276918 47960 +1 23839U 96020A 09132.70396250 .00000014 00000-0 10000-3 0 7266 +2 23839 0.1581 43.2648 0004962 11.2926 133.9657 1.00270971 48015 ASTRA 1F -1 23842U 96021A 09121.00000000 .00000109 00000-0 00000+0 0 9764 -2 23842 0.0040 192.8610 0005020 184.5840 220.8100 1.00273284 47808 +1 23842U 96021A 09132.00000000 .00000121 00000-0 00000+0 0 9771 +2 23842 0.0120 311.6910 0004796 69.7130 227.6770 1.00267515 47916 MSAT M1 -1 23846U 96022A 09129.23418484 -.00000079 00000-0 10000-3 0 4724 -2 23846 1.7652 78.7216 0005380 321.3983 164.8644 1.00271904 47808 +1 23846U 96022A 09132.84261178 -.00000077 00000-0 10000-3 0 4741 +2 23846 1.7746 78.6343 0005626 324.7238 24.2203 1.00272056 47837 PALAPA C2 -1 23864U 96030A 09127.93994366 -.00000360 00000-0 10000-3 0 8655 -2 23864 0.0565 74.2949 0000852 358.8296 244.0769 1.00268117 47517 +1 23864U 96030A 09131.69290712 -.00000356 00000-0 10000-3 0 8674 +2 23864 0.0334 41.5271 0001176 35.1632 155.3289 1.00274142 47555 AMOS 1 -1 23865U 96030B 09128.01760936 -.00000015 00000-0 10000-3 0 750 -2 23865 0.8054 84.2164 0004208 298.8567 207.8839 1.00275199 47515 +1 23865U 96030B 09131.95866689 -.00000012 00000-0 10000-3 0 767 +2 23865 0.8116 84.3986 0004851 309.4820 179.6980 1.00271313 47553 GALAXY 9 (G-9) -1 23877U 96033A 09129.36777133 -.00000224 00000-0 10000-3 0 798 -2 23877 0.6849 80.9582 0001564 317.8350 239.8925 1.00269800 47477 +1 23877U 96033A 09131.13543245 -.00000223 00000-0 10000-3 0 813 +2 23877 0.6893 80.9366 0001583 318.0043 157.8342 1.00269399 47496 GORIZONT 32 -1 23880U 96034A 09129.08724056 -.00000116 00000-0 10000-3 0 2026 -2 23880 9.3422 56.9464 0002305 314.4830 233.4132 1.00271428 47442 +1 23880U 96034A 09131.95207564 -.00000114 00000-0 10000-3 0 2034 +2 23880 9.3482 56.9153 0002251 317.7963 184.2857 1.00271279 47470 INTELSAT 709 (IS-709) -1 23915U 96035A 09129.02464743 -.00000185 00000-0 10000-3 0 9364 -2 23915 0.0478 79.9259 0003581 334.7515 266.3074 1.00270788 47267 +1 23915U 96035A 09131.83689693 -.00000184 00000-0 10000-3 0 9379 +2 23915 0.0448 85.4375 0003887 341.9990 188.7405 1.00272130 47292 APSTAR 1A -1 23943U 96039A 09129.54842987 -.00000337 00000-0 10000-3 0 276 -2 23943 3.6289 74.3620 0001778 315.3436 165.2371 1.00272227 47088 +1 23943U 96039A 09131.88136431 -.00000336 00000-0 10000-3 0 310 +2 23943 3.6347 74.3443 0001803 317.3965 285.3597 1.00271210 47102 TURKSAT 1C -1 23949U 96040B 09129.77725941 .00000155 00000-0 10000-3 0 41 -2 23949 1.0726 79.2073 0003982 331.2265 128.0639 1.00270887 47011 +1 23949U 96040B 09131.63842832 .00000156 00000-0 10000-3 0 50 +2 23949 1.0772 79.1832 0004055 334.0101 77.1533 1.00271656 47030 TELECOM 2D -1 24209U 96044B 09128.73221361 -.00000065 00000-0 10000-3 0 8855 -2 24209 2.8034 76.2471 0004926 321.8176 84.3471 1.00271045 46829 +1 24209U 96044B 09132.49314304 -.00000063 00000-0 10000-3 0 8862 +2 24209 2.8266 76.4006 0005568 328.6063 355.0451 1.00272489 46857 INMARSAT 3-F2 -1 24307U 96053A 09127.59353476 -.00000126 00000-0 10000-3 0 8162 -2 24307 0.0989 13.1523 0005483 18.0958 32.4748 1.00270979 46384 +1 24307U 96053A 09131.92834822 -.00000121 00000-0 10000-3 0 8214 +2 24307 0.0834 356.3034 0005348 45.0101 147.2080 1.00270924 46421 ECHOSTAR 2 -1 24313U 96055A 09129.21964160 -.00000196 00000-0 10000-3 0 79 -2 24313 0.7803 80.6905 0002089 271.4626 225.4245 1.00343964 46428 +1 24313U 96055A 09132.29934726 -.00000198 00000-0 10000-3 0 90 +2 24313 0.7881 80.6495 0001972 273.9104 255.5387 1.00343220 46455 AMC-1 (GE-1) -1 24315U 96054A 09128.23374197 -.00000103 00000-0 10000-3 0 1244 -2 24315 0.0214 163.3100 0003321 235.5486 168.4656 1.00271325 46377 +1 24315U 96054A 09132.47321354 -.00000100 00000-0 10000-3 0 1272 +2 24315 0.0460 121.6910 0003318 291.8708 244.1571 1.00271940 46410 ARABSAT-2B -1 24652U 96063A 09128.64000999 .00000153 00000-0 10000-3 0 9870 -2 24652 0.0875 246.3884 0004139 165.9555 75.1159 1.00271590 46215 +1 24652U 96063A 09131.88011961 .00000155 00000-0 10000-3 0 9895 +2 24652 0.0831 249.4963 0003228 164.5034 163.1289 1.00274490 46241 MEASAT-2 -1 24653U 96063B 09129.43045370 -.00000217 00000-0 10000-3 0 9446 -2 24653 1.4780 79.7319 0001269 320.1374 130.4694 1.00272656 45786 +1 24653U 96063B 09132.49031819 -.00000216 00000-0 10000-3 0 9460 +2 24653 1.4851 79.6665 0001370 327.8827 147.3620 1.00271989 45816 EUROBIRD 9 -1 24665U 96067A 09128.72450119 .00000150 00000-0 10000-3 0 8696 -2 24665 0.1723 83.2901 0006650 5.5066 78.8887 1.00272314 46039 +1 24665U 96067A 09131.76242876 .00000152 00000-0 10000-3 0 8729 +2 24665 0.1799 83.3614 0006639 5.6540 95.3339 1.00273818 46068 INMARSAT 3-F3 -1 24674U 96070A 09128.48412567 .00000038 00000-0 10000-3 0 7849 -2 24674 0.1025 17.1215 0004629 36.4043 165.2746 1.00270966 45349 +1 24674U 96070A 09132.57222567 .00000042 00000-0 10000-3 0 7893 +2 24674 0.1064 19.1920 0004794 37.4653 197.8890 1.00272219 45386 AMC-2 (GE-2) 1 24713U 97002A 09129.42735882 -.00000114 00000-0 00000+0 0 9148 2 24713 0.0619 84.9116 0001797 287.6827 267.6060 1.00272050 44954 NAHUEL 1A -1 24714U 97002B 09129.31965439 -.00000260 00000-0 10000-3 0 8797 -2 24714 1.6693 79.3983 0004850 334.9774 216.1682 1.00270707 44950 +1 24714U 97002B 09130.46413622 -.00000259 00000-0 10000-3 0 8807 +2 24714 1.6722 79.3695 0004868 333.5216 270.7981 1.00270733 44966 JCSAT 4 -1 24732U 97007A 09129.38191191 -.00000201 00000-0 10000-3 0 6349 -2 24732 0.0042 172.7728 0001943 206.9659 135.0726 1.00271854 44688 +1 24732U 97007A 09132.48824274 -.00000199 00000-0 10000-3 0 6356 +2 24732 0.0043 172.7311 0001943 207.0688 176.3497 1.00271168 44716 INTELSAT 801 (IS-801) -1 24742U 97009A 09125.50334337 -.00000232 00000-0 10000-3 0 6112 -2 24742 0.6329 83.0214 0005331 316.1800 333.9828 1.00269735 44658 +1 24742U 97009A 09132.37627972 -.00000222 00000-0 10000-3 0 6125 +2 24742 0.6452 82.9460 0005581 330.3317 280.9641 1.00271410 44718 DIRECTV 6 (TEMPO 2) -1 24748U 97011A 09129.26298815 -.00000172 00000-0 10000-3 0 485 -2 24748 3.1022 76.0319 0026704 157.1088 202.7698 0.99031558 44552 +1 24748U 97011A 09131.28229428 -.00000111 00000-0 10000-3 0 498 +2 24748 3.1074 76.0064 0026533 156.7614 203.0649 0.99030611 44577 BSAT-1A -1 24769U 97016B 09128.85398725 -.00000350 00000-0 10000-3 0 8901 -2 24769 0.0054 328.2550 0001877 126.4054 189.2194 1.00272239 44209 +1 24769U 97016B 09132.74708549 -.00000347 00000-0 10000-3 0 8910 +2 24769 0.0192 7.6866 00... [truncated message content] |
From: <cs...@us...> - 2009-05-13 20:47:01
|
Revision: 311 http://gpredict.svn.sourceforge.net/gpredict/?rev=311&view=rev Author: csete Date: 2009-05-13 20:46:57 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed compile warnings. Modified Paths: -------------- trunk/src/sgpsdp/test-002.c Modified: trunk/src/sgpsdp/test-002.c =================================================================== --- trunk/src/sgpsdp/test-002.c 2009-05-13 20:45:33 UTC (rev 310) +++ trunk/src/sgpsdp/test-002.c 2009-05-13 20:46:57 UTC (rev 311) @@ -25,9 +25,9 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, - Boston, MA 02111-1307 - USA + 59 Temple Place, Suite 330, + Boston, MA 02111-1307 + USA */ /** \defgroup test001 Unit test for SGP4 * \ingroup tests @@ -42,32 +42,32 @@ /* structure to hold a set of data */ typedef struct { - double t; - double x; - double y; - double z; - double vx; - double vy; - double vz; + double t; + double x; + double y; + double z; + double vx; + double vy; + double vz; } dataset_t; const dataset_t expected[TEST_STEPS] = { - { 0.0, - 7473.37066650, 428.95261765, 5828.74786377, - 5.1071513, 6.44468284, -0.18613096 }, - { 360.0, - -3305.22537232, 32410.86328125, -24697.17675781, - -1.30113538, -1.15131518, -0.28333528 }, - { 720.0, - 14271.28759766, 24110.46411133, -4725.76837158, - -0.32050445, 2.67984074, -2.08405289 }, - { 1080.0, - -9990.05883789, 22717.35522461, -23616.890662501, - -1.01667246, -2.29026759, 0.72892364 }, - { 1440.0, - 9787.86975097, 33753.34667969, -15030.81176758, - -1.09425966, 0.92358845, -1.52230928} + { 0.0, + 7473.37066650, 428.95261765, 5828.74786377, + 5.1071513, 6.44468284, -0.18613096 }, + { 360.0, + -3305.22537232, 32410.86328125, -24697.17675781, + -1.30113538, -1.15131518, -0.28333528 }, + { 720.0, + 14271.28759766, 24110.46411133, -4725.76837158, + -0.32050445, 2.67984074, -2.08405289 }, + { 1080.0, + -9990.05883789, 22717.35522461, -23616.890662501, + -1.01667246, -2.29026759, 0.72892364 }, + { 1440.0, + 9787.86975097, 33753.34667969, -15030.81176758, + -1.09425966, 0.92358845, -1.52230928} }; @@ -77,75 +77,76 @@ int main (int argc, char **argv) { - FILE *fp; - int i; + FILE *fp; + char *b; + int i; - /* read tle file */ - fp = fopen ("test-002.tle", "r"); - if (fp != NULL) { + /* read tle file */ + fp = fopen ("test-002.tle", "r"); + if (fp != NULL) { - fgets (tle_str[0], 80, fp); - fgets (tle_str[1], 80, fp); - fgets (tle_str[2], 80, fp); - fclose (fp); + b = fgets (tle_str[0], 80, fp); + b = fgets (tle_str[1], 80, fp); + b = fgets (tle_str[2], 80, fp); + fclose (fp); - if (Get_Next_Tle_Set (tle_str, &sat.tle) == 1) { - printf ("TEST DATA:\n"); - } - else { - printf("Could not read TLE data 2\n"); - return 1; - } - } - else { - printf("Could not open test-001.tle\n"); - return 1; - } - - printf ("%s", tle_str[0]); - printf ("%s", tle_str[1]); - printf ("%s", tle_str[2]); + if (Get_Next_Tle_Set (tle_str, &sat.tle) == 1) { + printf ("TEST DATA:\n"); + } + else { + printf("Could not read TLE data 2\n"); + return 1; + } + } + else { + printf("Could not open test-001.tle\n"); + return 1; + } + + printf ("%s", tle_str[0]); + printf ("%s", tle_str[1]); + printf ("%s", tle_str[2]); - select_ephemeris (&sat); + select_ephemeris (&sat); - printf ("\nDEEP_SPACE_EPHEM: %d (expected %d)\n\n", - (sat.flags & DEEP_SPACE_EPHEM_FLAG), DEEP_SPACE_EPHEM_FLAG); + printf ("\nDEEP_SPACE_EPHEM: %d (expected %d)\n\n", + (sat.flags & DEEP_SPACE_EPHEM_FLAG), DEEP_SPACE_EPHEM_FLAG); - printf (" RESULT EXPECTED DELTA\n"); - printf ("---------------------------------------------------------------------------------\n"); + printf (" RESULT EXPECTED DELTA\n"); + printf ("---------------------------------------------------------------------------------\n"); - for (i = 0; i < TEST_STEPS; i++) { - - SDP4 (&sat, expected[i].t); - Convert_Sat_State (&sat.pos, &sat.vel); + for (i = 0; i < TEST_STEPS; i++) { + + SDP4 (&sat, expected[i].t); + Convert_Sat_State (&sat.pos, &sat.vel); - printf ("STEP %d t: %6.1f X: %15.8f %15.8f %.8f (%.5f%%)\n", - i+1, expected[i].t, sat.pos.x, expected[i].x, - fabs (sat.pos.x - expected[i].x), - 100.0 * fabs (sat.pos.x - expected[i].x) / fabs (expected[i].x)); - printf (" Y: %15.8f %15.8f %.8f (%.5f%%)\n", - sat.pos.y, expected[i].y, - fabs (sat.pos.y - expected[i].y), - 100.0 * fabs (sat.pos.y - expected[i].y) / fabs (expected[i].y)); - printf (" Z: %15.8f %15.8f %.8f (%.5f%%)\n", - sat.pos.z, expected[i].z, - fabs (sat.pos.z - expected[i].z), - 100.0 * fabs (sat.pos.z - expected[i].z) / fabs (expected[i].z)); - printf (" VX: %15.8f %15.8f %.8f (%.5f%%)\n", - sat.vel.x, expected[i].vx, - fabs (sat.vel.x - expected[i].vx), - 100.0 * fabs (sat.vel.x - expected[i].vx) / fabs (expected[i].vx)); - printf (" VY: %15.8f %15.8f %.8f (%.5f%%)\n", - sat.vel.y, expected[i].vy, - fabs (sat.vel.y - expected[i].vy), - 100.0 * fabs (sat.vel.y - expected[i].vy) / fabs (expected[i].vy)); - printf (" VZ: %15.8f %15.8f %.8f (%.5f%%)\n", - sat.vel.z, expected[i].vz, - fabs (sat.vel.z - expected[i].vz), - 100.0 * fabs (sat.vel.z - expected[i].vz) / fabs (expected[i].vz)); + printf ("STEP %d t: %6.1f X: %15.8f %15.8f %.8f (%.5f%%)\n", + i+1, expected[i].t, sat.pos.x, expected[i].x, + fabs (sat.pos.x - expected[i].x), + 100.0 * fabs (sat.pos.x - expected[i].x) / fabs (expected[i].x)); + printf (" Y: %15.8f %15.8f %.8f (%.5f%%)\n", + sat.pos.y, expected[i].y, + fabs (sat.pos.y - expected[i].y), + 100.0 * fabs (sat.pos.y - expected[i].y) / fabs (expected[i].y)); + printf (" Z: %15.8f %15.8f %.8f (%.5f%%)\n", + sat.pos.z, expected[i].z, + fabs (sat.pos.z - expected[i].z), + 100.0 * fabs (sat.pos.z - expected[i].z) / fabs (expected[i].z)); + printf (" VX: %15.8f %15.8f %.8f (%.5f%%)\n", + sat.vel.x, expected[i].vx, + fabs (sat.vel.x - expected[i].vx), + 100.0 * fabs (sat.vel.x - expected[i].vx) / fabs (expected[i].vx)); + printf (" VY: %15.8f %15.8f %.8f (%.5f%%)\n", + sat.vel.y, expected[i].vy, + fabs (sat.vel.y - expected[i].vy), + 100.0 * fabs (sat.vel.y - expected[i].vy) / fabs (expected[i].vy)); + printf (" VZ: %15.8f %15.8f %.8f (%.5f%%)\n", + sat.vel.z, expected[i].vz, + fabs (sat.vel.z - expected[i].vz), + 100.0 * fabs (sat.vel.z - expected[i].vz) / fabs (expected[i].vz)); - } + } - return 0; + return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 20:45:45
|
Revision: 310 http://gpredict.svn.sourceforge.net/gpredict/?rev=310&view=rev Author: csete Date: 2009-05-13 20:45:33 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed compile warnings. Modified Paths: -------------- trunk/src/sgpsdp/test-001.c Modified: trunk/src/sgpsdp/test-001.c =================================================================== --- trunk/src/sgpsdp/test-001.c 2009-05-13 20:42:07 UTC (rev 309) +++ trunk/src/sgpsdp/test-001.c 2009-05-13 20:45:33 UTC (rev 310) @@ -25,9 +25,9 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, - Boston, MA 02111-1307 - USA + 59 Temple Place, Suite 330, + Boston, MA 02111-1307 + USA */ /** \defgroup test001 Unit test for SGP4 * \ingroup tests @@ -42,32 +42,32 @@ /* structure to hold a set of data */ typedef struct { - double t; - double x; - double y; - double z; - double vx; - double vy; - double vz; + double t; + double x; + double y; + double z; + double vx; + double vy; + double vz; } dataset_t; const dataset_t expected[TEST_STEPS] = { - { 0.0, - 2328.97048951, -5995.22076416, 1719.97067261, - 2.91207230, -0.98341546, -7.09081703 }, - { 360.0, - 2456.10705566, -6071.93853760, 1222.89727783, - 2.67938992, -0.44829041, -7.22879231 }, - { 720.0, - 2567.56195068, -6112.50384522, 713.96397400, - 2.44024599, 0.09810869, -7.31995916 }, - { 1080.0, - 2663.09078980, -6115.48229980, 196.39640427, - 2.19611958, 0.65241995, -7.36282432 }, - { 1440.0, - 2742.55133057, -6079.67144775, -326.38095856, - 1.94850229, 1.21106251, -7.35619372} + { 0.0, + 2328.97048951, -5995.22076416, 1719.97067261, + 2.91207230, -0.98341546, -7.09081703 }, + { 360.0, + 2456.10705566, -6071.93853760, 1222.89727783, + 2.67938992, -0.44829041, -7.22879231 }, + { 720.0, + 2567.56195068, -6112.50384522, 713.96397400, + 2.44024599, 0.09810869, -7.31995916 }, + { 1080.0, + 2663.09078980, -6115.48229980, 196.39640427, + 2.19611958, 0.65241995, -7.36282432 }, + { 1440.0, + 2742.55133057, -6079.67144775, -326.38095856, + 1.94850229, 1.21106251, -7.35619372} }; @@ -77,75 +77,76 @@ int main (int argc, char **argv) { - FILE *fp; - int i; + FILE *fp; + char *b; + int i; - /* read tle file */ - fp = fopen ("test-001.tle", "r"); - if (fp != NULL) { + /* read tle file */ + fp = fopen ("test-001.tle", "r"); + if (fp != NULL) { - fgets (tle_str[0], 80, fp); - fgets (tle_str[1], 80, fp); - fgets (tle_str[2], 80, fp); - fclose (fp); + b = fgets (tle_str[0], 80, fp); + b = fgets (tle_str[1], 80, fp); + b = fgets (tle_str[2], 80, fp); + fclose (fp); - if (Get_Next_Tle_Set (tle_str, &sat.tle) == 1) { - printf ("TEST DATA:\n"); - } - else { - printf("Could not read TLE data 1\n"); - return 1; - } - } - else { - printf("Could not open test-001.tle\n"); - return 1; - } - - printf ("%s", tle_str[0]); - printf ("%s", tle_str[1]); - printf ("%s", tle_str[2]); - - select_ephemeris (&sat); + if (Get_Next_Tle_Set (tle_str, &sat.tle) == 1) { + printf ("TEST DATA:\n"); + } + else { + printf("Could not read TLE data 1\n"); + return 1; + } + } + else { + printf("Could not open test-001.tle\n"); + return 1; + } + + printf ("%s", tle_str[0]); + printf ("%s", tle_str[1]); + printf ("%s", tle_str[2]); + + select_ephemeris (&sat); - printf ("\nDEEP_SPACE_EPHEM: %d (expected 0)\n\n", - (sat.flags & DEEP_SPACE_EPHEM_FLAG)); + printf ("\nDEEP_SPACE_EPHEM: %d (expected 0)\n\n", + (sat.flags & DEEP_SPACE_EPHEM_FLAG)); - printf (" RESULT EXPECTED DELTA\n"); - printf ("------------------------------------------------------------------------------\n"); + printf (" RESULT EXPECTED DELTA\n"); + printf ("------------------------------------------------------------------------------\n"); - for (i = 0; i < TEST_STEPS; i++) { - - SGP4 (&sat, expected[i].t); - Convert_Sat_State (&sat.pos, &sat.vel); + for (i = 0; i < TEST_STEPS; i++) { + + SGP4 (&sat, expected[i].t); + Convert_Sat_State (&sat.pos, &sat.vel); - printf ("STEP %d t: %6.1f X: %14.8f %14.8f %.8f (%.5f%%)\n", - i+1, expected[i].t, sat.pos.x, expected[i].x, - fabs (sat.pos.x - expected[i].x), - 100.0 * fabs (sat.pos.x - expected[i].x) / fabs (expected[i].x)); - printf (" Y: %14.8f %14.8f %.8f (%.5f%%)\n", - sat.pos.y, expected[i].y, - fabs (sat.pos.y - expected[i].y), - 100.0 * fabs (sat.pos.y - expected[i].y) / fabs (expected[i].y)); - printf (" Z: %14.8f %14.8f %.8f (%.5f%%)\n", - sat.pos.z, expected[i].z, - fabs (sat.pos.z - expected[i].z), - 100.0 * fabs (sat.pos.z - expected[i].z) / fabs (expected[i].z)); - printf (" VX: %14.8f %14.8f %.8f (%.5f%%)\n", - sat.vel.x, expected[i].vx, - fabs (sat.vel.x - expected[i].vx), - 100.0 * fabs (sat.vel.x - expected[i].vx) / fabs (expected[i].vx)); - printf (" VY: %14.8f %14.8f %.8f (%.5f%%)\n", - sat.vel.y, expected[i].vy, - fabs (sat.vel.y - expected[i].vy), - 100.0 * fabs (sat.vel.y - expected[i].vy) / fabs (expected[i].vy)); - printf (" VZ: %14.8f %14.8f %.8f (%.5f%%)\n", - sat.vel.z, expected[i].vz, - fabs (sat.vel.z - expected[i].vz), - 100.0 * fabs (sat.vel.z - expected[i].vz) / fabs (expected[i].vz)); + printf ("STEP %d t: %6.1f X: %14.8f %14.8f %.8f (%.5f%%)\n", + i+1, expected[i].t, sat.pos.x, expected[i].x, + fabs (sat.pos.x - expected[i].x), + 100.0 * fabs (sat.pos.x - expected[i].x) / fabs (expected[i].x)); + printf (" Y: %14.8f %14.8f %.8f (%.5f%%)\n", + sat.pos.y, expected[i].y, + fabs (sat.pos.y - expected[i].y), + 100.0 * fabs (sat.pos.y - expected[i].y) / fabs (expected[i].y)); + printf (" Z: %14.8f %14.8f %.8f (%.5f%%)\n", + sat.pos.z, expected[i].z, + fabs (sat.pos.z - expected[i].z), + 100.0 * fabs (sat.pos.z - expected[i].z) / fabs (expected[i].z)); + printf (" VX: %14.8f %14.8f %.8f (%.5f%%)\n", + sat.vel.x, expected[i].vx, + fabs (sat.vel.x - expected[i].vx), + 100.0 * fabs (sat.vel.x - expected[i].vx) / fabs (expected[i].vx)); + printf (" VY: %14.8f %14.8f %.8f (%.5f%%)\n", + sat.vel.y, expected[i].vy, + fabs (sat.vel.y - expected[i].vy), + 100.0 * fabs (sat.vel.y - expected[i].vy) / fabs (expected[i].vy)); + printf (" VZ: %14.8f %14.8f %.8f (%.5f%%)\n", + sat.vel.z, expected[i].vz, + fabs (sat.vel.z - expected[i].vz), + 100.0 * fabs (sat.vel.z - expected[i].vz) / fabs (expected[i].vz)); - } + } - return 0; + return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 20:42:08
|
Revision: 309 http://gpredict.svn.sourceforge.net/gpredict/?rev=309&view=rev Author: csete Date: 2009-05-13 20:42:07 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed compile warnings. Modified Paths: -------------- trunk/src/gtk-sat-data.c Modified: trunk/src/gtk-sat-data.c =================================================================== --- trunk/src/gtk-sat-data.c 2009-05-13 20:39:23 UTC (rev 308) +++ trunk/src/gtk-sat-data.c 2009-05-13 20:42:07 UTC (rev 309) @@ -50,168 +50,168 @@ gint gtk_sat_data_read_qth (const gchar *filename, qth_t *qth) { - GError *error = NULL; - gchar *buff; - gchar **buffv; + GError *error = NULL; + gchar *buff; + gchar **buffv; - qth->data = g_key_file_new (); - g_key_file_set_list_separator (qth->data, ';'); + qth->data = g_key_file_new (); + g_key_file_set_list_separator (qth->data, ';'); - /* bail out with error message if data can not be read */ - if (!g_key_file_load_from_file (qth->data, filename, - G_KEY_FILE_KEEP_COMMENTS, &error)) { + /* bail out with error message if data can not be read */ + if (!g_key_file_load_from_file (qth->data, filename, + G_KEY_FILE_KEEP_COMMENTS, &error)) { - g_key_file_free (qth->data); + g_key_file_free (qth->data); - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not load data from %s (%s)"), - __FUNCTION__, filename, error->message); + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not load data from %s (%s)"), + __FUNCTION__, filename, error->message); - return FALSE; - } + return FALSE; + } - /* send a debug message, then read data */ - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: QTH data: %s"), - __FUNCTION__, filename); + /* send a debug message, then read data */ + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: QTH data: %s"), + __FUNCTION__, filename); - /*** FIXME: should check that strings are UTF-8? */ - /* QTH Name */ - buff = g_path_get_basename (filename); - buffv = g_strsplit (buff, ".qth", 0); - qth->name = g_strdup (buffv[0]); + /*** FIXME: should check that strings are UTF-8? */ + /* QTH Name */ + buff = g_path_get_basename (filename); + buffv = g_strsplit (buff, ".qth", 0); + qth->name = g_strdup (buffv[0]); - g_free (buff); - g_strfreev (buffv); - /* g_key_file_get_string (qth->data, */ - /* QTH_CFG_MAIN_SECTION, */ - /* QTH_CFG_NAME_KEY, */ - /* &error); */ - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading QTH name (%s)."), - __FUNCTION__, error->message); + g_free (buff); + g_strfreev (buffv); + /* g_key_file_get_string (qth->data, */ + /* QTH_CFG_MAIN_SECTION, */ + /* QTH_CFG_NAME_KEY, */ + /* &error); */ + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading QTH name (%s)."), + __FUNCTION__, error->message); - qth->name = g_strdup (_("ERROR")); - g_clear_error (&error); - } + qth->name = g_strdup (_("ERROR")); + g_clear_error (&error); + } - /* QTH location */ - qth->loc = g_key_file_get_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_LOC_KEY, - &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: QTH has no location (%s)."), - __FUNCTION__, error->message); + /* QTH location */ + qth->loc = g_key_file_get_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_LOC_KEY, + &error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: QTH has no location (%s)."), + __FUNCTION__, error->message); - qth->loc = g_strdup (""); - g_clear_error (&error); - } + qth->loc = g_strdup (""); + g_clear_error (&error); + } - /* QTH description */ - qth->desc = g_key_file_get_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_DESC_KEY, - &error); - if ((qth->desc == NULL) || (error != NULL)) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: QTH has no description."), - __FUNCTION__); + /* QTH description */ + qth->desc = g_key_file_get_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_DESC_KEY, + &error); + if ((qth->desc == NULL) || (error != NULL)) { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: QTH has no description."), + __FUNCTION__); - qth->desc = g_strdup (""); - g_clear_error (&error); - } + qth->desc = g_strdup (""); + g_clear_error (&error); + } - /* Weather station */ - qth->wx = g_key_file_get_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_WX_KEY, - &error); - if ((qth->wx == NULL) || (error != NULL)) { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: QTH has no weather station."), - __FUNCTION__); + /* Weather station */ + qth->wx = g_key_file_get_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_WX_KEY, + &error); + if ((qth->wx == NULL) || (error != NULL)) { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: QTH has no weather station."), + __FUNCTION__); - qth->wx = g_strdup (""); - g_clear_error (&error); - } + qth->wx = g_strdup (""); + g_clear_error (&error); + } - /* QTH Latitude */ - buff = g_key_file_get_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_LAT_KEY, - &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading QTH latitude (%s)."), - __FUNCTION__, error->message); + /* QTH Latitude */ + buff = g_key_file_get_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_LAT_KEY, + &error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading QTH latitude (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - if (buff != NULL) - g_free (buff); + if (buff != NULL) + g_free (buff); - qth->lat = 0.0; - } - else { - qth->lat = g_ascii_strtod (buff, NULL); - g_free (buff); - } + qth->lat = 0.0; + } + else { + qth->lat = g_ascii_strtod (buff, NULL); + g_free (buff); + } - /* QTH Longitude */ - buff = g_key_file_get_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_LON_KEY, - &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading QTH longitude (%s)."), - __FUNCTION__, error->message); + /* QTH Longitude */ + buff = g_key_file_get_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_LON_KEY, + &error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading QTH longitude (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - if (buff != NULL) - g_free (buff); + if (buff != NULL) + g_free (buff); - qth->lon = 0.0; - } - else { - qth->lon = g_ascii_strtod (buff, NULL); - g_free (buff); - } + qth->lon = 0.0; + } + else { + qth->lon = g_ascii_strtod (buff, NULL); + g_free (buff); + } - /* QTH Altitude */ - qth->alt = g_key_file_get_integer (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_ALT_KEY, - &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading QTH altitude (%s)."), - __FUNCTION__, error->message); + /* QTH Altitude */ + qth->alt = g_key_file_get_integer (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_ALT_KEY, + &error); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error reading QTH altitude (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - if (buff != NULL) - g_free (buff); + if (buff != NULL) + g_free (buff); - qth->alt = 0; - } - else { - } + qth->alt = 0; + } + else { + } - /* Now, send debug message and return */ - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: QTH data: %s, %.4f, %.4f, %d"), - __FUNCTION__, - qth->name, - qth->lat, - qth->lon, - qth->alt); + /* Now, send debug message and return */ + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: QTH data: %s, %.4f, %.4f, %d"), + __FUNCTION__, + qth->name, + qth->lat, + qth->lon, + qth->alt); - return TRUE; + return TRUE; } @@ -222,141 +222,141 @@ gint gtk_sat_data_save_qth (const gchar *filename, qth_t *qth) { - GError *error = NULL; - gchar *buff; - GIOChannel *cfgfile; - gsize length; - gsize written; - gchar *cfgstr; - gint ok = 1; + GError *error = NULL; + gchar *buff; + GIOChannel *cfgfile; + gsize length; + gsize written; + gchar *cfgstr; + gint ok = 1; - qth->data = g_key_file_new (); - g_key_file_set_list_separator (qth->data, ';'); + qth->data = g_key_file_new (); + g_key_file_set_list_separator (qth->data, ';'); - /* name */ - /* if (qth->name) { */ - /* g_key_file_set_string (qth->data, */ - /* QTH_CFG_MAIN_SECTION, */ - /* QTH_CFG_NAME_KEY, */ - /* qth->name); */ - /* } */ + /* name */ + /* if (qth->name) { */ + /* g_key_file_set_string (qth->data, */ + /* QTH_CFG_MAIN_SECTION, */ + /* QTH_CFG_NAME_KEY, */ + /* qth->name); */ + /* } */ - /* description */ - if (qth->desc && (g_utf8_strlen (qth->desc, -1) > 0)) { - g_key_file_set_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_DESC_KEY, - qth->desc); - } - - /* location */ - if (qth->loc && (g_utf8_strlen (qth->loc, -1) > 0)) { - g_key_file_set_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_LOC_KEY, - qth->loc); - } + /* description */ + if (qth->desc && (g_utf8_strlen (qth->desc, -1) > 0)) { + g_key_file_set_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_DESC_KEY, + qth->desc); + } + + /* location */ + if (qth->loc && (g_utf8_strlen (qth->loc, -1) > 0)) { + g_key_file_set_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_LOC_KEY, + qth->loc); + } - /* latitude */ - /* buff = g_strdup_printf ("%.4f", qth->lat);*/ - buff = g_malloc (10); - buff = g_ascii_dtostr (buff, 9, qth->lat); - g_key_file_set_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_LAT_KEY, - buff); - g_free (buff); + /* latitude */ + /* buff = g_strdup_printf ("%.4f", qth->lat);*/ + buff = g_malloc (10); + buff = g_ascii_dtostr (buff, 9, qth->lat); + g_key_file_set_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_LAT_KEY, + buff); + g_free (buff); - /* longitude */ - /* buff = g_strdup_printf ("%.4f", qth->lon); */ - buff = g_malloc (10); - buff = g_ascii_dtostr (buff, 9, qth->lon); - g_key_file_set_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_LON_KEY, - buff); - g_free (buff); + /* longitude */ + /* buff = g_strdup_printf ("%.4f", qth->lon); */ + buff = g_malloc (10); + buff = g_ascii_dtostr (buff, 9, qth->lon); + g_key_file_set_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_LON_KEY, + buff); + g_free (buff); - /* altitude */ - g_key_file_set_integer (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_ALT_KEY, - qth->alt); + /* altitude */ + g_key_file_set_integer (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_ALT_KEY, + qth->alt); - /* weather station */ - if (qth->wx && (g_utf8_strlen (qth->wx, -1) > 0)) { - g_key_file_set_string (qth->data, - QTH_CFG_MAIN_SECTION, - QTH_CFG_WX_KEY, - qth->wx); - } + /* weather station */ + if (qth->wx && (g_utf8_strlen (qth->wx, -1) > 0)) { + g_key_file_set_string (qth->data, + QTH_CFG_MAIN_SECTION, + QTH_CFG_WX_KEY, + qth->wx); + } - /* saving code */ + /* saving code */ - /* convert configuration data struct to charachter string */ - cfgstr = g_key_file_to_data (qth->data, &length, &error); + /* convert configuration data struct to charachter string */ + cfgstr = g_key_file_to_data (qth->data, &length, &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not create QTH data (%s)."), - __FUNCTION__, error->message); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not create QTH data (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - ok = 0; - } - else { + ok = 0; + } + else { - cfgfile = g_io_channel_new_file (filename, "w", &error); + cfgfile = g_io_channel_new_file (filename, "w", &error); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Could not create QTH file %s\n%s."), - __FUNCTION__, filename, error->message); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Could not create QTH file %s\n%s."), + __FUNCTION__, filename, error->message); - g_clear_error (&error); + g_clear_error (&error); - ok = 0; - } - else { - g_io_channel_write_chars (cfgfile, - cfgstr, - length, - &written, - &error); + ok = 0; + } + else { + g_io_channel_write_chars (cfgfile, + cfgstr, + length, + &written, + &error); - g_io_channel_shutdown (cfgfile, TRUE, NULL); - g_io_channel_unref (cfgfile); + g_io_channel_shutdown (cfgfile, TRUE, NULL); + g_io_channel_unref (cfgfile); - if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error writing QTH data (%s)."), - __FUNCTION__, error->message); + if (error != NULL) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Error writing QTH data (%s)."), + __FUNCTION__, error->message); - g_clear_error (&error); + g_clear_error (&error); - ok = 0; - } - else if (length != written) { - sat_log_log (SAT_LOG_LEVEL_WARN, - _("%s: Wrote only %d out of %d chars."), - __FUNCTION__, written, length); + ok = 0; + } + else if (length != written) { + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Wrote only %d out of %d chars."), + __FUNCTION__, written, length); - ok = 0; - } - else { - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: QTH data saved."), - __FUNCTION__); + ok = 0; + } + else { + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: QTH data saved."), + __FUNCTION__); - ok = 1; - } - } + ok = 1; + } + } - g_free (cfgstr); - } + g_free (cfgstr); + } - return ok; + return ok; } @@ -366,37 +366,37 @@ void gtk_sat_data_free_qth (qth_t *qth) { - if (qth->name) { - g_free (qth->name); - qth->name = NULL; - } + if (qth->name) { + g_free (qth->name); + qth->name = NULL; + } - if (qth->loc) { - g_free (qth->loc); - qth->loc = NULL; - } + if (qth->loc) { + g_free (qth->loc); + qth->loc = NULL; + } - if (qth->desc) { - g_free (qth->desc); - qth->desc = NULL; - } + if (qth->desc) { + g_free (qth->desc); + qth->desc = NULL; + } - if (qth->qra) { - g_free (qth->qra); - qth->qra = NULL; - } + if (qth->qra) { + g_free (qth->qra); + qth->qra = NULL; + } - if (qth->wx) { - g_free (qth->wx); - qth->wx = NULL; - } + if (qth->wx) { + g_free (qth->wx); + qth->wx = NULL; + } - if (qth->data) { - g_key_file_free (qth->data); - qth->data = NULL; - } + if (qth->data) { + g_key_file_free (qth->data); + qth->data = NULL; + } - g_free (qth); + g_free (qth); } @@ -413,128 +413,129 @@ gint gtk_sat_data_read_sat (gint catnum, sat_t *sat) { - FILE *fp; - gchar tle_str[3][80]; - gchar *filename = NULL, *path = NULL; - gchar catstr[6]; - guint i; - guint catnr; - gboolean found = FALSE; - guint errorcode = 0; + FILE *fp; + gchar tle_str[3][80]; + gchar *filename = NULL, *path = NULL; + gchar *b; + gchar catstr[6]; + guint i; + guint catnr; + gboolean found = FALSE; + guint errorcode = 0; - filename = tle_lookup (catnum); + filename = tle_lookup (catnum); - if (!filename) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Can not find #%d in any .tle file."), - __FUNCTION__, catnum); + if (!filename) { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Can not find #%d in any .tle file."), + __FUNCTION__, catnum); - return 1; - } + return 1; + } - /* create full file path */ - path = g_strdup_printf ("%s%s.gpredict2%stle%s%s", - g_get_home_dir (), - G_DIR_SEPARATOR_S, - G_DIR_SEPARATOR_S, - G_DIR_SEPARATOR_S, - filename); + /* create full file path */ + path = g_strdup_printf ("%s%s.gpredict2%stle%s%s", + g_get_home_dir (), + G_DIR_SEPARATOR_S, + G_DIR_SEPARATOR_S, + G_DIR_SEPARATOR_S, + filename); - fp = fopen (path, "r"); + fp = fopen (path, "r"); - if (fp != NULL) { + if (fp != NULL) { - while (fgets (tle_str[0], 80, fp) && !found) { - - /* read second and third lines */ - fgets (tle_str[1], 80, fp); - fgets (tle_str[2], 80, fp); + while (fgets (tle_str[0], 80, fp) && !found) { + + /* read second and third lines */ + b = fgets (tle_str[1], 80, fp); + b = fgets (tle_str[2], 80, fp); - /* copy catnum and convert to integer */ - for (i = 2; i < 7; i++) { - catstr[i-2] = tle_str[1][i]; - } - catstr[5] = '\0'; - catnr = (guint) g_ascii_strtod (catstr, NULL); + /* copy catnum and convert to integer */ + for (i = 2; i < 7; i++) { + catstr[i-2] = tle_str[1][i]; + } + catstr[5] = '\0'; + catnr = (guint) g_ascii_strtod (catstr, NULL); - if (catnr == catnum) { + if (catnr == catnum) { - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Found #%d in %s"), - __FUNCTION__, - catnum, - path); + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Found #%d in %s"), + __FUNCTION__, + catnum, + path); - found = TRUE; + found = TRUE; - if (Get_Next_Tle_Set (tle_str, &sat->tle) != 1) { - /* TLE data not good */ - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Invalid data for #%d"), - __FUNCTION__, - catnum); + if (Get_Next_Tle_Set (tle_str, &sat->tle) != 1) { + /* TLE data not good */ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Invalid data for #%d"), + __FUNCTION__, + catnum); - errorcode = 2; - } - else { - /* DATA OK, phew... */ - sat_log_log (SAT_LOG_LEVEL_DEBUG, - _("%s: Good data for #%d"), - __FUNCTION__, - catnum); + errorcode = 2; + } + else { + /* DATA OK, phew... */ + sat_log_log (SAT_LOG_LEVEL_DEBUG, + _("%s: Good data for #%d"), + __FUNCTION__, + catnum); - /* VERY, VERY important! If not done, some sats - will not get initialised, the first time SGP4/SDP4 - is called. Consequently, the resulting data will - be NAN, INF or similar nonsense. - For some reason, not even using g_new0 seems to - be enough. - */ - sat->flags = 0; + /* VERY, VERY important! If not done, some sats + will not get initialised, the first time SGP4/SDP4 + is called. Consequently, the resulting data will + be NAN, INF or similar nonsense. + For some reason, not even using g_new0 seems to + be enough. + */ + sat->flags = 0; - select_ephemeris (sat); + select_ephemeris (sat); - /* initialise variable fields */ - sat->jul_utc = 0.0; - sat->tsince = 0.0; - sat->az = 0.0; - sat->el = 0.0; - sat->range = 0.0; - sat->range_rate = 0.0; - sat->ra = 0.0; - sat->dec = 0.0; - sat->ssplat = 0.0; - sat->ssplon = 0.0; - sat->alt = 0.0; - sat->velo = 0.0; - sat->ma = 0.0; - sat->footprint = 0.0; - sat->phase = 0.0; - sat->aos = 0.0; - sat->los = 0.0; + /* initialise variable fields */ + sat->jul_utc = 0.0; + sat->tsince = 0.0; + sat->az = 0.0; + sat->el = 0.0; + sat->range = 0.0; + sat->range_rate = 0.0; + sat->ra = 0.0; + sat->dec = 0.0; + sat->ssplat = 0.0; + sat->ssplon = 0.0; + sat->alt = 0.0; + sat->velo = 0.0; + sat->ma = 0.0; + sat->footprint = 0.0; + sat->phase = 0.0; + sat->aos = 0.0; + sat->los = 0.0; - /* calculate satellite data at epoch */ - gtk_sat_data_init_sat (sat, NULL); + /* calculate satellite data at epoch */ + gtk_sat_data_init_sat (sat, NULL); - } - } + } + } - } + } - fclose (fp); - } - else { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Failed to open %s"), - __FUNCTION__, path); + fclose (fp); + } + else { + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Failed to open %s"), + __FUNCTION__, path); - errorcode = 3; - } + errorcode = 3; + } - g_free (path); - g_free (filename); + g_free (path); + g_free (filename); - return errorcode; + return errorcode; } @@ -548,66 +549,66 @@ void gtk_sat_data_init_sat (sat_t *sat, qth_t *qth) { - geodetic_t obs_geodetic; - obs_set_t obs_set; - geodetic_t sat_geodetic; - double jul_utc, age; + geodetic_t obs_geodetic; + obs_set_t obs_set; + geodetic_t sat_geodetic; + double jul_utc, age; - g_return_if_fail (sat != NULL); + g_return_if_fail (sat != NULL); - jul_utc = Julian_Date_of_Epoch (sat->tle.epoch); // => tsince = 0.0 - sat->jul_epoch = jul_utc; + jul_utc = Julian_Date_of_Epoch (sat->tle.epoch); // => tsince = 0.0 + sat->jul_epoch = jul_utc; - /* initialise observer location */ - if (qth != NULL) { - obs_geodetic.lon = qth->lon * de2ra; - obs_geodetic.lat = qth->lat * de2ra; - obs_geodetic.alt = qth->alt / 1000.0; - obs_geodetic.theta = 0; - } - else { - obs_geodetic.lon = 0.0; - obs_geodetic.lat = 0.0; - obs_geodetic.alt = 0.0; - obs_geodetic.theta = 0; - } + /* initialise observer location */ + if (qth != NULL) { + obs_geodetic.lon = qth->lon * de2ra; + obs_geodetic.lat = qth->lat * de2ra; + obs_geodetic.alt = qth->alt / 1000.0; + obs_geodetic.theta = 0; + } + else { + obs_geodetic.lon = 0.0; + obs_geodetic.lat = 0.0; + obs_geodetic.alt = 0.0; + obs_geodetic.theta = 0; + } - /* execute computations */ - if (sat->flags & DEEP_SPACE_EPHEM_FLAG) - SDP4 (sat, 0.0); - else - SGP4 (sat, 0.0); + /* execute computations */ + if (sat->flags & DEEP_SPACE_EPHEM_FLAG) + SDP4 (sat, 0.0); + else + SGP4 (sat, 0.0); - /* scale position and velocity to km and km/sec */ - Convert_Sat_State (&sat->pos, &sat->vel); + /* scale position and velocity to km and km/sec */ + Convert_Sat_State (&sat->pos, &sat->vel); - /* get the velocity of the satellite */ - Magnitude (&sat->vel); - sat->velo = sat->vel.w; - Calculate_Obs (jul_utc, &sat->pos, &sat->vel, &obs_geodetic, &obs_set); - Calculate_LatLonAlt (jul_utc, &sat->pos, &sat_geodetic); + /* get the velocity of the satellite */ + Magnitude (&sat->vel); + sat->velo = sat->vel.w; + Calculate_Obs (jul_utc, &sat->pos, &sat->vel, &obs_geodetic, &obs_set); + Calculate_LatLonAlt (jul_utc, &sat->pos, &sat_geodetic); - while (sat_geodetic.lon < -pi) - sat_geodetic.lon += twopi; - - while (sat_geodetic.lon > (pi)) - sat_geodetic.lon -= twopi; + while (sat_geodetic.lon < -pi) + sat_geodetic.lon += twopi; + + while (sat_geodetic.lon > (pi)) + sat_geodetic.lon -= twopi; - sat->az = Degrees (obs_set.az); - sat->el = Degrees (obs_set.el); - sat->range = obs_set.range; - sat->range_rate = obs_set.range_rate; - sat->ssplat = Degrees (sat_geodetic.lat); - sat->ssplon = Degrees (sat_geodetic.lon); - sat->alt = sat_geodetic.alt; - sat->ma = Degrees (sat->phase); - sat->ma *= 256.0/360.0; - sat->footprint = 2.0 * xkmper * acos (xkmper/sat->pos.w); - age = 0.0; - sat->orbit = (long) floor((sat->tle.xno * xmnpda/twopi + - age * sat->tle.bstar * ae) * age + - sat->tle.xmo/twopi) + sat->tle.revnum - 1; + sat->az = Degrees (obs_set.az); + sat->el = Degrees (obs_set.el); + sat->range = obs_set.range; + sat->range_rate = obs_set.range_rate; + sat->ssplat = Degrees (sat_geodetic.lat); + sat->ssplon = Degrees (sat_geodetic.lon); + sat->alt = sat_geodetic.alt; + sat->ma = Degrees (sat->phase); + sat->ma *= 256.0/360.0; + sat->footprint = 2.0 * xkmper * acos (xkmper/sat->pos.w); + age = 0.0; + sat->orbit = (long) floor((sat->tle.xno * xmnpda/twopi + + age * sat->tle.bstar * ae) * age + + sat->tle.xmo/twopi) + sat->tle.revnum - 1; - /* orbit type */ - sat->otype = get_orbit_type (sat); + /* orbit type */ + sat->otype = get_orbit_type (sat); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 20:39:26
|
Revision: 308 http://gpredict.svn.sourceforge.net/gpredict/?rev=308&view=rev Author: csete Date: 2009-05-13 20:39:23 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed compile warnings. Modified Paths: -------------- trunk/src/tle-update.c Modified: trunk/src/tle-update.c =================================================================== --- trunk/src/tle-update.c 2009-05-13 20:11:07 UTC (rev 307) +++ trunk/src/tle-update.c 2009-05-13 20:39:23 UTC (rev 308) @@ -629,6 +629,7 @@ gchar *path; gchar tle_str[3][80]; gchar catstr[6]; + gchar *b; FILE *fp; gint retcode = 0; guint catnr,i; @@ -644,8 +645,8 @@ /* read 3 lines at a time */ while (fgets (tle_str[0], 80, fp)) { /* read second and third lines */ - fgets (tle_str[1], 80, fp); - fgets (tle_str[2], 80, fp); + b = fgets (tle_str[1], 80, fp); + b = fgets (tle_str[2], 80, fp); /* copy catnum and convert to integer */ for (i = 2; i < 7; i++) { @@ -746,6 +747,7 @@ guint total = 0; /* total no. of sats in gpredict tle file */ gchar tle_str[3][80]; gchar catstr[6]; + gchar *b; FILE *fp; FILE *tmp; guint catnr,i; @@ -770,8 +772,8 @@ /* read 3 lines at a time */ while (fgets (tle_str[0], 80, fp)) { /* read second and third lines */ - fgets (tle_str[1], 80, fp); - fgets (tle_str[2], 80, fp); + b = fgets (tle_str[1], 80, fp); + b = fgets (tle_str[2], 80, fp); /* stats */ total++; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 20:11:16
|
Revision: 307 http://gpredict.svn.sourceforge.net/gpredict/?rev=307&view=rev Author: csete Date: 2009-05-13 20:11:07 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed bug 2691792: Potential array index out of range. Modified Paths: -------------- trunk/src/gtk-sat-list.c Modified: trunk/src/gtk-sat-list.c =================================================================== --- trunk/src/gtk-sat-list.c 2009-05-13 19:50:01 UTC (rev 306) +++ trunk/src/gtk-sat-list.c 2009-05-13 20:11:07 UTC (rev 307) @@ -50,89 +50,89 @@ /** \brief Column titles indexed with column symb. refs. */ const gchar *SAT_LIST_COL_TITLE[SAT_LIST_COL_NUMBER] = { - N_("Satellite"), - N_("Catnum"), - N_("Az"), - N_("El"), - N_("Dir"), - N_("Ra"), - N_("Dec"), - N_("Range"), - N_("Rate"), - N_("Next Event"), - N_("Next AOS"), - N_("Next LOS"), - N_("Lat"), - N_("Lon"), - N_("SSP"), - N_("Footp"), - N_("Alt"), - N_("Vel"), - N_("Dop"), - N_("Loss"), - N_("Del"), - N_("MA"), - N_("Phase"), - N_("Orbit"), - N_("Vis") + N_("Satellite"), + N_("Catnum"), + N_("Az"), + N_("El"), + N_("Dir"), + N_("Ra"), + N_("Dec"), + N_("Range"), + N_("Rate"), + N_("Next Event"), + N_("Next AOS"), + N_("Next LOS"), + N_("Lat"), + N_("Lon"), + N_("SSP"), + N_("Footp"), + N_("Alt"), + N_("Vel"), + N_("Dop"), + N_("Loss"), + N_("Del"), + N_("MA"), + N_("Phase"), + N_("Orbit"), + N_("Vis") }; /** \brief Column title hints indexed with column symb. refs. */ const gchar *SAT_LIST_COL_HINT[SAT_LIST_COL_NUMBER] = { - N_("Satellite Name"), - N_("Catalogue Number"), - N_("Azimuth"), - N_("Elevation"), - N_("Direction"), - N_("Right Ascension"), - N_("Declination"), - N_("Slant Range"), - N_("Range Rate"), - N_("Next Event"), - N_("Next AOS"), - N_("Next LOS"), - N_("Latitude"), - N_("Longitude"), - N_("Sub-Satellite Point"), - N_("Footprint"), - N_("Altitude"), - N_("Velocity"), - N_("Doppler Shift @ 100MHz"), - N_("Signal Loss @ 100MHz"), - N_("Signal Delay"), - N_("Mean Anomaly"), - N_("Orbit Phase"), - N_("Orbit Number"), - N_("Visibility") + N_("Satellite Name"), + N_("Catalogue Number"), + N_("Azimuth"), + N_("Elevation"), + N_("Direction"), + N_("Right Ascension"), + N_("Declination"), + N_("Slant Range"), + N_("Range Rate"), + N_("Next Event"), + N_("Next AOS"), + N_("Next LOS"), + N_("Latitude"), + N_("Longitude"), + N_("Sub-Satellite Point"), + N_("Footprint"), + N_("Altitude"), + N_("Velocity"), + N_("Doppler Shift @ 100MHz"), + N_("Signal Loss @ 100MHz"), + N_("Signal Delay"), + N_("Mean Anomaly"), + N_("Orbit Phase"), + N_("Orbit Number"), + N_("Visibility") }; const gfloat SAT_LIST_COL_XALIGN[SAT_LIST_COL_NUMBER] = { - 0.0, // name - 0.5, // catnum - 0.0, // az - 0.0, // el - 0.5, // direction - 0.0, // RA - 0.0, // dec - 0.0, // range - 0.0, // range rate - 0.5, // next event - 0.5, // AOS - 0.5, // LOS - 0.0, // lat - 0.0, // lon - 0.0, // SSP - 0.0, // footprint - 1.0, // alt - 0.0, // vel - 0.0, // doppler - 0.0, // loss - 0.0, // delay - 0.0, // MA - 0.0, // phase - 1.0, // orbit - 0.5, // visibility + 0.0, // name + 0.5, // catnum + 0.0, // az + 0.0, // el + 0.5, // direction + 0.0, // RA + 0.0, // dec + 0.0, // range + 0.0, // range rate + 0.5, // next event + 0.5, // AOS + 0.5, // LOS + 0.0, // lat + 0.0, // lon + 0.0, // SSP + 0.0, // footprint + 1.0, // alt + 0.0, // vel + 0.0, // doppler + 0.0, // loss + 0.0, // delay + 0.0, // MA + 0.0, // phase + 1.0, // orbit + 0.5, // visibility }; static void gtk_sat_list_class_init (GtkSatListClass *class); @@ -140,70 +140,70 @@ static void gtk_sat_list_destroy (GtkObject *object); static GtkTreeModel *create_and_fill_model (GHashTable *sats); static void sat_list_add_satellites (gpointer key, - gpointer value, - gpointer user_data); + gpointer value, + gpointer user_data); static gboolean sat_list_update_sats (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data); + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data); /* cell rendering related functions */ static void check_and_set_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i); + GtkCellRenderer *renderer, + gint i); static void latlon_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void degree_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void distance_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void range_rate_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void float_to_int_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void two_dec_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void event_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static gboolean popup_menu_cb (GtkWidget *treeview, - gpointer list); + gpointer list); static gboolean button_press_cb (GtkWidget *treeview, - GdkEventButton *event, - gpointer list); + GdkEventButton *event, + gpointer list); static void view_popup_menu (GtkWidget *treeview, - GdkEventButton *event, - gpointer list); + GdkEventButton *event, + gpointer list); static void Calculate_RADec (sat_t *sat, qth_t *qth, obs_astro_t *obs_set); @@ -216,49 +216,49 @@ GType gtk_sat_list_get_type () { - static GType gtk_sat_list_type = 0; + static GType gtk_sat_list_type = 0; - if (!gtk_sat_list_type) - { - static const GTypeInfo gtk_sat_list_info = - { - sizeof (GtkSatListClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_sat_list_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkSatList), - 5, /* n_preallocs */ - (GInstanceInitFunc) gtk_sat_list_init, - }; + if (!gtk_sat_list_type) + { + static const GTypeInfo gtk_sat_list_info = + { + sizeof (GtkSatListClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gtk_sat_list_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GtkSatList), + 5, /* n_preallocs */ + (GInstanceInitFunc) gtk_sat_list_init, + }; - gtk_sat_list_type = g_type_register_static (GTK_TYPE_VBOX, - "GtkSatList", - >k_sat_list_info, - 0); - } + gtk_sat_list_type = g_type_register_static (GTK_TYPE_VBOX, + "GtkSatList", + >k_sat_list_info, + 0); + } - return gtk_sat_list_type; + return gtk_sat_list_type; } static void gtk_sat_list_class_init (GtkSatListClass *class) { - GObjectClass *gobject_class; - GtkObjectClass *object_class; - GtkWidgetClass *widget_class; - GtkContainerClass *container_class; + GObjectClass *gobject_class; + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkContainerClass *container_class; - gobject_class = G_OBJECT_CLASS (class); - object_class = (GtkObjectClass*) class; - widget_class = (GtkWidgetClass*) class; - container_class = (GtkContainerClass*) class; + gobject_class = G_OBJECT_CLASS (class); + object_class = (GtkObjectClass*) class; + widget_class = (GtkWidgetClass*) class; + container_class = (GtkContainerClass*) class; - parent_class = g_type_class_peek_parent (class); + parent_class = g_type_class_peek_parent (class); - object_class->destroy = gtk_sat_list_destroy; + object_class->destroy = gtk_sat_list_destroy; } @@ -267,28 +267,28 @@ static void gtk_sat_list_init (GtkSatList *list) { - /* GtkWidget *vbox,*hbox; */ + /* GtkWidget *vbox,*hbox; */ - /* hbox = gtk_hbox_new (TRUE, 5); */ - /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("POLAR")); */ - /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("LIST")); */ + /* hbox = gtk_hbox_new (TRUE, 5); */ + /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("POLAR")); */ + /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("LIST")); */ - /* vbox = gtk_vbox_new (TRUE, 5); */ - /* gtk_box_pack_start_defaults (GTK_BOX (vbox), gtk_label_new ("MAP")); */ - /* gtk_box_pack_start_defaults (GTK_BOX (vbox), hbox); */ + /* vbox = gtk_vbox_new (TRUE, 5); */ + /* gtk_box_pack_start_defaults (GTK_BOX (vbox), gtk_label_new ("MAP")); */ + /* gtk_box_pack_start_defaults (GTK_BOX (vbox), hbox); */ - /* gtk_container_add (GTK_CONTAINER (module), vbox); */ - /* gtk_widget_show_all (vbox); */ + /* gtk_container_add (GTK_CONTAINER (module), vbox); */ + /* gtk_widget_show_all (vbox); */ - /* initialise data structures */ + /* initialise data structures */ } static void gtk_sat_list_destroy (GtkObject *object) { - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } @@ -297,116 +297,116 @@ GtkWidget * gtk_sat_list_new (GKeyFile *cfgdata, GHashTable *sats, qth_t *qth, guint32 columns) { - GtkWidget *widget; - GtkTreeModel *model; - guint i; + GtkWidget *widget; + GtkTreeModel *model; + guint i; - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; - widget = g_object_new (GTK_TYPE_SAT_LIST, NULL); + widget = g_object_new (GTK_TYPE_SAT_LIST, NULL); - GTK_SAT_LIST (widget)->update = gtk_sat_list_update; + GTK_SAT_LIST (widget)->update = gtk_sat_list_update; - /* Read configuration data. */ - /* ... */ + /* Read configuration data. */ + /* ... */ - GTK_SAT_LIST (widget)->satellites = sats; - GTK_SAT_LIST (widget)->qth = qth; + GTK_SAT_LIST (widget)->satellites = sats; + GTK_SAT_LIST (widget)->qth = qth; - /* initialise column flags */ - if (columns > 0) - GTK_SAT_LIST (widget)->flags = columns; - else - GTK_SAT_LIST (widget)->flags = mod_cfg_get_int (cfgdata, - MOD_CFG_LIST_SECTION, - MOD_CFG_LIST_COLUMNS, - SAT_CFG_INT_LIST_COLUMNS); - - /* get refresh rate and cycle counter */ - GTK_SAT_LIST (widget)->refresh = mod_cfg_get_int (cfgdata, - MOD_CFG_LIST_SECTION, - MOD_CFG_LIST_REFRESH, - SAT_CFG_INT_LIST_REFRESH); + /* initialise column flags */ + if (columns > 0) + GTK_SAT_LIST (widget)->flags = columns; + else + GTK_SAT_LIST (widget)->flags = mod_cfg_get_int (cfgdata, + MOD_CFG_LIST_SECTION, + MOD_CFG_LIST_COLUMNS, + SAT_CFG_INT_LIST_COLUMNS); + + /* get refresh rate and cycle counter */ + GTK_SAT_LIST (widget)->refresh = mod_cfg_get_int (cfgdata, + MOD_CFG_LIST_SECTION, + MOD_CFG_LIST_REFRESH, + SAT_CFG_INT_LIST_REFRESH); - GTK_SAT_LIST (widget)->counter = 1; + GTK_SAT_LIST (widget)->counter = 1; - /* create the tree view and add columns */ - GTK_SAT_LIST (widget)->treeview = gtk_tree_view_new (); + /* create the tree view and add columns */ + GTK_SAT_LIST (widget)->treeview = gtk_tree_view_new (); - gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (GTK_SAT_LIST (widget)->treeview), - sat_cfg_get_bool (SAT_CFG_BOOL_RULES_HINT)); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (GTK_SAT_LIST (widget)->treeview), + sat_cfg_get_bool (SAT_CFG_BOOL_RULES_HINT)); - /* create treeview columns */ - for (i = 0; i < SAT_LIST_COL_NUMBER; i++) { + /* create treeview columns */ + for (i = 0; i < SAT_LIST_COL_NUMBER; i++) { - renderer = gtk_cell_renderer_text_new (); - g_object_set (G_OBJECT (renderer), "xalign", SAT_LIST_COL_XALIGN[i], NULL); + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), "xalign", SAT_LIST_COL_XALIGN[i], NULL); - /* in win32 use special font for direction column because default font - does not have arrow symbols. - */ + /* in win32 use special font for direction column because default font + does not have arrow symbols. + */ #ifdef G_OS_WIN32 - if (i == SAT_LIST_COL_DIR) - g_object_set (G_OBJECT (renderer), - "font", "courier 12", - NULL); + if (i == SAT_LIST_COL_DIR) + g_object_set (G_OBJECT (renderer), + "font", "courier 12", + NULL); #endif - column = gtk_tree_view_column_new_with_attributes (_(SAT_LIST_COL_TITLE[i]), - renderer, - "text", i, - NULL); - gtk_tree_view_insert_column (GTK_TREE_VIEW (GTK_SAT_LIST (widget)->treeview), - column, -1); + column = gtk_tree_view_column_new_with_attributes (_(SAT_LIST_COL_TITLE[i]), + renderer, + "text", i, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (GTK_SAT_LIST (widget)->treeview), + column, -1); - /* only aligns the headers */ - gtk_tree_view_column_set_alignment (column, 0.5); + /* only aligns the headers */ + gtk_tree_view_column_set_alignment (column, 0.5); - /* set sort id */ - gtk_tree_view_column_set_sort_column_id (column, i); + /* set sort id */ + gtk_tree_view_column_set_sort_column_id (column, i); - /* set cell data function; allows to format data before rendering */ - check_and_set_cell_renderer (column, renderer, i); + /* set cell data function; allows to format data before rendering */ + check_and_set_cell_renderer (column, renderer, i); - /* hide columns that have not been specified */ - if (!(GTK_SAT_LIST (widget)->flags & (1 << i))) { - gtk_tree_view_column_set_visible (column, FALSE); - } - + /* hide columns that have not been specified */ + if (!(GTK_SAT_LIST (widget)->flags & (1 << i))) { + gtk_tree_view_column_set_visible (column, FALSE); + } + - } + } - /* create model and finalise treeview */ - model = create_and_fill_model (GTK_SAT_LIST (widget)->satellites); - gtk_tree_view_set_model (GTK_TREE_VIEW (GTK_SAT_LIST (widget)->treeview), model); + /* create model and finalise treeview */ + model = create_and_fill_model (GTK_SAT_LIST (widget)->satellites); + gtk_tree_view_set_model (GTK_TREE_VIEW (GTK_SAT_LIST (widget)->treeview), model); - /* satellite name should be initial sorting criteria */ - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), - SAT_LIST_COL_NAME, - GTK_SORT_ASCENDING), + /* satellite name should be initial sorting criteria */ + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), + SAT_LIST_COL_NAME, + GTK_SORT_ASCENDING), - g_object_unref (model); + g_object_unref (model); - g_signal_connect (GTK_SAT_LIST (widget)->treeview, "button-press-event", - G_CALLBACK (button_press_cb), widget); - g_signal_connect (GTK_SAT_LIST (widget)->treeview, "popup-menu", - G_CALLBACK (popup_menu_cb), widget); + g_signal_connect (GTK_SAT_LIST (widget)->treeview, "button-press-event", + G_CALLBACK (button_press_cb), widget); + g_signal_connect (GTK_SAT_LIST (widget)->treeview, "popup-menu", + G_CALLBACK (popup_menu_cb), widget); - GTK_SAT_LIST (widget)->swin = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (GTK_SAT_LIST (widget)->swin), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_SAT_LIST (widget)->swin = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (GTK_SAT_LIST (widget)->swin), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (GTK_SAT_LIST (widget)->swin), - GTK_SAT_LIST (widget)->treeview); + gtk_container_add (GTK_CONTAINER (GTK_SAT_LIST (widget)->swin), + GTK_SAT_LIST (widget)->treeview); - gtk_container_add (GTK_CONTAINER (widget), GTK_SAT_LIST (widget)->swin); - gtk_widget_show_all (widget); + gtk_container_add (GTK_CONTAINER (widget), GTK_SAT_LIST (widget)->swin); + gtk_widget_show_all (widget); - return widget; + return widget; } @@ -415,42 +415,42 @@ static GtkTreeModel * create_and_fill_model (GHashTable *sats) { - GtkListStore *liststore; + GtkListStore *liststore; - liststore = gtk_list_store_new (SAT_LIST_COL_NUMBER, - G_TYPE_STRING, // name - G_TYPE_INT, // catnum - G_TYPE_DOUBLE, // az - G_TYPE_DOUBLE, // el - G_TYPE_STRING, // direction - G_TYPE_DOUBLE, // RA - G_TYPE_DOUBLE, // Dec - G_TYPE_DOUBLE, // range - G_TYPE_DOUBLE, // range rate - G_TYPE_STRING, // next event - G_TYPE_DOUBLE, // next AOS - G_TYPE_DOUBLE, // next LOS - G_TYPE_DOUBLE, // ssp lat - G_TYPE_DOUBLE, // ssp lon - G_TYPE_STRING, // ssp qra - G_TYPE_DOUBLE, // footprint - G_TYPE_DOUBLE, // alt - G_TYPE_DOUBLE, // vel - G_TYPE_DOUBLE, // doppler - G_TYPE_DOUBLE, // path loss - G_TYPE_DOUBLE, // delay - G_TYPE_DOUBLE, // mean anomaly - G_TYPE_DOUBLE, // phase - G_TYPE_ULONG, // orbit - G_TYPE_STRING); // visibility + liststore = gtk_list_store_new (SAT_LIST_COL_NUMBER, + G_TYPE_STRING, // name + G_TYPE_INT, // catnum + G_TYPE_DOUBLE, // az + G_TYPE_DOUBLE, // el + G_TYPE_STRING, // direction + G_TYPE_DOUBLE, // RA + G_TYPE_DOUBLE, // Dec + G_TYPE_DOUBLE, // range + G_TYPE_DOUBLE, // range rate + G_TYPE_STRING, // next event + G_TYPE_DOUBLE, // next AOS + G_TYPE_DOUBLE, // next LOS + G_TYPE_DOUBLE, // ssp lat + G_TYPE_DOUBLE, // ssp lon + G_TYPE_STRING, // ssp qra + G_TYPE_DOUBLE, // footprint + G_TYPE_DOUBLE, // alt + G_TYPE_DOUBLE, // vel + G_TYPE_DOUBLE, // doppler + G_TYPE_DOUBLE, // path loss + G_TYPE_DOUBLE, // delay + G_TYPE_DOUBLE, // mean anomaly + G_TYPE_DOUBLE, // phase + G_TYPE_ULONG, // orbit + G_TYPE_STRING); // visibility - g_hash_table_foreach (sats, sat_list_add_satellites, liststore); + g_hash_table_foreach (sats, sat_list_add_satellites, liststore); - return GTK_TREE_MODEL (liststore); + return GTK_TREE_MODEL (liststore); } @@ -458,41 +458,41 @@ static void sat_list_add_satellites (gpointer key, gpointer value, gpointer user_data) { - GtkListStore *store = GTK_LIST_STORE (user_data); - GtkTreeIter item; - sat_t *sat = SAT (value); + GtkListStore *store = GTK_LIST_STORE (user_data); + GtkTreeIter item; + sat_t *sat = SAT (value); - gtk_list_store_append (store, &item); - gtk_list_store_set (store, &item, - SAT_LIST_COL_NAME, sat->tle.sat_name, - SAT_LIST_COL_CATNUM, sat->tle.catnr, - SAT_LIST_COL_AZ, sat->az, - SAT_LIST_COL_EL, sat->el, - SAT_LIST_COL_VISIBILITY, "-", - SAT_LIST_COL_RA, sat->ra, - SAT_LIST_COL_DEC, sat->dec, - SAT_LIST_COL_RANGE, sat->range, - SAT_LIST_COL_RANGE_RATE, sat->range_rate, - SAT_LIST_COL_DIR, "-", - SAT_LIST_COL_NEXT_EVENT, "--- N/A ---", - SAT_LIST_COL_AOS, sat->aos, - SAT_LIST_COL_LOS, sat->los, - SAT_LIST_COL_LAT, sat->ssplat, - SAT_LIST_COL_LON, sat->ssplon, - SAT_LIST_COL_SSP, "", - SAT_LIST_COL_FOOTPRINT, sat->footprint, - SAT_LIST_COL_ALT, sat->alt, - SAT_LIST_COL_VEL, sat->velo, - SAT_LIST_COL_DOPPLER, 0.0, - SAT_LIST_COL_LOSS, 0.0, - SAT_LIST_COL_DELAY, 0.0, - SAT_LIST_COL_MA, sat->ma, - SAT_LIST_COL_PHASE, sat->phase, - SAT_LIST_COL_ORBIT, sat->orbit, - -1); + gtk_list_store_append (store, &item); + gtk_list_store_set (store, &item, + SAT_LIST_COL_NAME, sat->tle.sat_name, + SAT_LIST_COL_CATNUM, sat->tle.catnr, + SAT_LIST_COL_AZ, sat->az, + SAT_LIST_COL_EL, sat->el, + SAT_LIST_COL_VISIBILITY, "-", + SAT_LIST_COL_RA, sat->ra, + SAT_LIST_COL_DEC, sat->dec, + SAT_LIST_COL_RANGE, sat->range, + SAT_LIST_COL_RANGE_RATE, sat->range_rate, + SAT_LIST_COL_DIR, "-", + SAT_LIST_COL_NEXT_EVENT, "--- N/A ---", + SAT_LIST_COL_AOS, sat->aos, + SAT_LIST_COL_LOS, sat->los, + SAT_LIST_COL_LAT, sat->ssplat, + SAT_LIST_COL_LON, sat->ssplon, + SAT_LIST_COL_SSP, "", + SAT_LIST_COL_FOOTPRINT, sat->footprint, + SAT_LIST_COL_ALT, sat->alt, + SAT_LIST_COL_VEL, sat->velo, + SAT_LIST_COL_DOPPLER, 0.0, + SAT_LIST_COL_LOSS, 0.0, + SAT_LIST_COL_DELAY, 0.0, + SAT_LIST_COL_MA, sat->ma, + SAT_LIST_COL_PHASE, sat->phase, + SAT_LIST_COL_ORBIT, sat->orbit, + -1); - + } @@ -501,45 +501,45 @@ void gtk_sat_list_update (GtkWidget *widget) { - GtkTreeModel *model; - GtkSatList *satlist = GTK_SAT_LIST (widget); + GtkTreeModel *model; + GtkSatList *satlist = GTK_SAT_LIST (widget); - /* first, do some sanity checks */ - if ((satlist == NULL) || !IS_GTK_SAT_LIST (satlist)) { - - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Invalid GtkSatList!"), - __FUNCTION__); - } + /* first, do some sanity checks */ + if ((satlist == NULL) || !IS_GTK_SAT_LIST (satlist)) { + + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Invalid GtkSatList!"), + __FUNCTION__); + } - /* check refresh rate */ - if (satlist->counter < satlist->refresh) { - satlist->counter++; - } - else { - satlist->counter = 1; + /* check refresh rate */ + if (satlist->counter < satlist->refresh) { + satlist->counter++; + } + else { + satlist->counter = 1; - /* get and tranverse the model */ - model = gtk_tree_view_get_model (GTK_TREE_VIEW (satlist->treeview)); + /* get and tranverse the model */ + model = gtk_tree_view_get_model (GTK_TREE_VIEW (satlist->treeview)); - /* optimisation: detach model from view while updating */ - /* No, we do not do it, because it makes selections and scrolling - impossible - */ - /* g_object_ref (model); */ - /* gtk_tree_view_set_model (GTK_TREE_VIEW (satlist->treeview), NULL); */ + /* optimisation: detach model from view while updating */ + /* No, we do not do it, because it makes selections and scrolling + impossible + */ + /* g_object_ref (model); */ + /* gtk_tree_view_set_model (GTK_TREE_VIEW (satlist->treeview), NULL); */ - /* update */ - gtk_tree_model_foreach (model, sat_list_update_sats, satlist); + /* update */ + gtk_tree_model_foreach (model, sat_list_update_sats, satlist); - /* re-attach model to view */ - /* gtk_tree_view_set_model (GTK_TREE_VIEW (satlist->treeview), model); */ + /* re-attach model to view */ + /* gtk_tree_view_set_model (GTK_TREE_VIEW (satlist->treeview), model); */ - /* g_object_unref (model); */ - } + /* g_object_unref (model); */ + } } @@ -547,250 +547,249 @@ /** \brief Update data in each column in a given row */ static gboolean sat_list_update_sats (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { - GtkSatList *satlist = GTK_SAT_LIST (data); - guint *catnum; - sat_t *sat; - gchar *buff; - gdouble doppler; - gdouble delay; - gdouble loss; - gdouble oldrate; - gint retcode; + GtkSatList *satlist = GTK_SAT_LIST (data); + guint *catnum; + sat_t *sat; + gchar *buff; + gdouble doppler; + gdouble delay; + gdouble loss; + gdouble oldrate; + gint retcode; - /* get the catalogue number for this row - then look it up in the hash table - */ - catnum = g_new0 (guint, 1); - gtk_tree_model_get (model, iter, SAT_LIST_COL_CATNUM, catnum, -1); - sat = SAT (g_hash_table_lookup (satlist->satellites, catnum)); + /* get the catalogue number for this row + then look it up in the hash table + */ + catnum = g_new0 (guint, 1); + gtk_tree_model_get (model, iter, SAT_LIST_COL_CATNUM, catnum, -1); + sat = SAT (g_hash_table_lookup (satlist->satellites, catnum)); - if (sat == NULL) { - /* satellite not tracked anymore => remove */ - sat_log_log (SAT_LOG_LEVEL_MSG, - _("%s: Failed to get data for #%d."), - __FUNCTION__, *catnum); + if (sat == NULL) { + /* satellite not tracked anymore => remove */ + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s: Failed to get data for #%d."), + __FUNCTION__, *catnum); - gtk_list_store_remove (GTK_LIST_STORE (model), iter); + gtk_list_store_remove (GTK_LIST_STORE (model), iter); - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Satellite #%d removed from list."), - __FUNCTION__, *catnum); - } - else { - /* store new data */ - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_AZ, sat->az, - SAT_LIST_COL_EL, sat->el, - SAT_LIST_COL_RANGE, sat->range, - SAT_LIST_COL_RANGE_RATE, sat->range_rate, - SAT_LIST_COL_LAT, sat->ssplat, - SAT_LIST_COL_LON, sat->ssplon, - SAT_LIST_COL_FOOTPRINT, sat->footprint, - SAT_LIST_COL_ALT, sat->alt, - SAT_LIST_COL_VEL, sat->velo, - SAT_LIST_COL_MA, sat->ma, - SAT_LIST_COL_PHASE, sat->phase, - SAT_LIST_COL_ORBIT, sat->orbit, - -1); + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Satellite #%d removed from list."), + __FUNCTION__, *catnum); + } + else { + /* store new data */ + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_AZ, sat->az, + SAT_LIST_COL_EL, sat->el, + SAT_LIST_COL_RANGE, sat->range, + SAT_LIST_COL_RANGE_RATE, sat->range_rate, + SAT_LIST_COL_LAT, sat->ssplat, + SAT_LIST_COL_LON, sat->ssplon, + SAT_LIST_COL_FOOTPRINT, sat->footprint, + SAT_LIST_COL_ALT, sat->alt, + SAT_LIST_COL_VEL, sat->velo, + SAT_LIST_COL_MA, sat->ma, + SAT_LIST_COL_PHASE, sat->phase, + SAT_LIST_COL_ORBIT, sat->orbit, + -1); - /* doppler shift @ 100 MHz */ - if (satlist->flags & SAT_LIST_FLAG_DOPPLER) { - doppler = -100.0e06 * (sat->range_rate / 299792.4580); // Hz - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_DOPPLER, doppler, - -1); - } + /* doppler shift @ 100 MHz */ + if (satlist->flags & SAT_LIST_FLAG_DOPPLER) { + doppler = -100.0e06 * (sat->range_rate / 299792.4580); // Hz + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_DOPPLER, doppler, + -1); + } - /* delay */ - if (satlist->flags & SAT_LIST_FLAG_DELAY) { - delay = sat->range / 299.7924580; // msec - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_DELAY, delay, - -1); - } + /* delay */ + if (satlist->flags & SAT_LIST_FLAG_DELAY) { + delay = sat->range / 299.7924580; // msec + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_DELAY, delay, + -1); + } - /* path loss */ - if (satlist->flags & SAT_LIST_FLAG_LOSS) { - loss = 72.4 + 20.0*log10(sat->range); // dB - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_LOSS, loss, - -1); - } + /* path loss */ + if (satlist->flags & SAT_LIST_FLAG_LOSS) { + loss = 72.4 + 20.0*log10(sat->range); // dB + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_LOSS, loss, + -1); + } - /* calculate direction */ - if (satlist->flags & SAT_LIST_FLAG_DIR) { + /* calculate direction */ + if (satlist->flags & SAT_LIST_FLAG_DIR) { - if (sat->otype == ORBIT_TYPE_GEO) { - buff = g_strdup ("G"); - } - else if (sat->otype == ORBIT_TYPE_DECAYED) { - buff = g_strdup ("D"); - } - else if (sat->range_rate > 0.001) { - /* going down */ - buff = g_strdup ("\342\206\223"); - } - else if ((sat->range_rate <= 0.001) && (sat->range_rate >= -0.001)) { - gtk_tree_model_get (model, iter, - SAT_LIST_COL_RANGE_RATE, &oldrate, - -1); - /* turning around; don't know which way ? */ - if (sat->range_rate < oldrate) { - /* starting to approach */ - buff = g_strdup ("\342\206\272"); - } - else { - /* to receed */ - buff = g_strdup ("\342\206\267"); - } - } - else if (sat->range_rate < -0.001) { - /* coming up */ - buff = g_strdup ("\342\206\221"); - } - else { - buff = g_strdup ("-"); - } + if (sat->otype == ORBIT_TYPE_GEO) { + buff = g_strdup ("G"); + } + else if (sat->otype == ORBIT_TYPE_DECAYED) { + buff = g_strdup ("D"); + } + else if (sat->range_rate > 0.001) { + /* going down */ + buff = g_strdup ("\342\206\223"); + } + else if ((sat->range_rate <= 0.001) && (sat->range_rate >= -0.001)) { + gtk_tree_model_get (model, iter, + SAT_LIST_COL_RANGE_RATE, &oldrate, + -1); + /* turning around; don't know which way ? */ + if (sat->range_rate < oldrate) { + /* starting to approach */ + buff = g_strdup ("\342\206\272"); + } + else { + /* to receed */ + buff = g_strdup ("\342\206\267"); + } + } + else if (sat->range_rate < -0.001) { + /* coming up */ + buff = g_strdup ("\342\206\221"); + } + else { + buff = g_strdup ("-"); + } - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_DIR, buff, - -1); + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_DIR, buff, + -1); - /* free memory */ - g_free (buff); + /* free memory */ + g_free (buff); - } - - /* SSP locator */ - if (satlist->flags & SAT_LIST_FLAG_SSP) { - - buff = g_try_malloc (7); + } + + /* SSP locator */ + if (satlist->flags & SAT_LIST_FLAG_SSP) { + + buff = g_try_malloc (7); - retcode = longlat2locator (sat->ssplon, sat->ssplat, buff, 3); - if (retcode == RIG_OK) { - buff[6] = '\0'; - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_SSP, buff, - -1); - } - g_free (buff); - } + retcode = longlat2locator (sat->ssplon, sat->ssplat, buff, 3); + if (retcode == RIG_OK) { + buff[6] = '\0'; + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_SSP, buff, + -1); + } + g_free (buff); + } - /* Ra and Dec */ - if (satlist->flags & (SAT_LIST_FLAG_RA | SAT_LIST_FLAG_DEC)) { - obs_astro_t astro; + /* Ra and Dec */ + if (satlist->flags & (SAT_LIST_FLAG_RA | SAT_LIST_FLAG_DEC)) { + obs_astro_t astro; - Calculate_RADec (sat, satlist->qth, &astro); + Calculate_RADec (sat, satlist->qth, &astro); - sat->ra = Degrees(astro.ra); - sat->dec = Degrees(astro.dec); + sat->ra = Degrees(astro.ra); + sat->dec = Degrees(astro.dec); - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_RA, sat->ra, - SAT_LIST_COL_DEC, sat->dec, - -1); - } + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_RA, sat->ra, + SAT_LIST_COL_DEC, sat->dec, + -1); + } - /* upcoming events */ - /*** FIXME: not necessary to update every time */ - if (satlist->flags & SAT_LIST_FLAG_AOS) { - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_AOS, sat->aos, - -1); - } - if (satlist->flags & SAT_LIST_FLAG_LOS) { - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_LOS, sat->los, - -1); + /* upcoming events */ + /*** FIXME: not necessary to update every time */ + if (satlist->flags & SAT_LIST_FLAG_AOS) { + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_AOS, sat->aos, + -1); + } + if (satlist->flags & SAT_LIST_FLAG_LOS) { + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_LOS, sat->los, + -1); - } - if (satlist->flags & SAT_LIST_FLAG_NEXT_EVENT) { - gdouble number; - gchar buff[TIME_FORMAT_MAX_LENGTH]; - gchar *tfstr; - gchar *fmtstr; - gchar *alstr; - time_t t; - guint size; + } + if (satlist->flags & SAT_LIST_FLAG_NEXT_EVENT) { + gdouble number; + gchar buff[TIME_FORMAT_MAX_LENGTH]; + gchar *tfstr; + gchar *fmtstr; + gchar *alstr; + time_t t; + guint size; - if (sat->aos > sat->los) { - /* next event is LOS */ - number = sat->los; - alstr = g_strdup ("LOS: "); - } - else { - /* next event is AOS */ - number = sat->aos; - alstr = g_strdup ("AOS: "); - } - - if (number == 0.0) { - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_NEXT_EVENT, "--- N/A ---", - -1); - } - else { + if (sat->aos > sat->los) { + /* next event is LOS */ + number = sat->los; + alstr = g_strdup ("LOS: "); + } + else { + /* next event is AOS */ + number = sat->aos; + alstr = g_strdup ("AOS: "); + } + + if (number == 0.0) { + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_NEXT_EVENT, "--- N/A ---", + -1); + } + else { - /* convert julian date to struct tm */ - t = (number - 2440587.5)*86400.; + /* convert julian date to struct tm */ + t = (number - 2440587.5)*86400.; - /* format the number */ - tfstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - fmtstr = g_strconcat (alstr, tfstr, NULL); - g_free (tfstr); + /* format the number */ + tfstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + fmtstr = g_strconcat (alstr, tfstr, NULL); + g_free (tfstr); - /* format either local time or UTC depending on check box */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (buff, TIME_FORMAT_MAX_LENGTH, - fmtstr, localtime (&t)); - else - size = strftime (buff, TIME_FORMAT_MAX_LENGTH, - fmtstr, gmtime (&t)); - - if (size < TIME_FORMAT_MAX_LENGTH) - buff[size]='\0'; - else - buff[TIME_FORMAT_MAX_LENGTH]='\0'; + /* format either local time or UTC depending on check box */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (buff, TIME_FORMAT_MAX_LENGTH, + fmtstr, localtime (&t)); + else + size = strftime (buff, TIME_FORMAT_MAX_LENGTH, + fmtstr, gmtime (&t)); + + if (size == 0) + /* size > MAX_LENGTH */ + buff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_NEXT_EVENT, buff, - -1); + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_NEXT_EVENT, buff, + -1); - g_free (fmtstr); - } + g_free (fmtstr); + } - g_free (alstr); - - } + g_free (alstr); + + } - if (satlist->flags & SAT_LIST_FLAG_VISIBILITY) { - sat_vis_t vis; + if (satlist->flags & SAT_LIST_FLAG_VISIBILITY) { + sat_vis_t vis; - vis = get_sat_vis (sat, satlist->qth, sat->jul_utc); - buff = g_strdup_printf ("%c", vis_to_chr (vis)); - gtk_list_store_set (GTK_LIST_STORE (model), iter, - SAT_LIST_COL_VISIBILITY, buff, - -1); - g_free (buff); - } + vis = get_sat_vis (sat, satlist->qth, sat->jul_utc); + buff = g_strdup_printf ("%c", vis_to_chr (vis)); + gtk_list_store_set (GTK_LIST_STORE (model), iter, + SAT_LIST_COL_VISIBILITY, buff, + -1); + g_free (buff); + } - } + } - g_free (catnum); + g_free (catnum); - /* Return value not documented what to return, but it seems that - FALSE continues to next row while TRUE breaks - */ - return FALSE; + /* Return value not documented what to return, but it seems that + FALSE continues to next row while TRUE breaks + */ + return FALSE; } @@ -798,88 +797,88 @@ /** \brief Set cell renderer function. */ static void check_and_set_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i) + GtkCellRenderer *renderer, + gint i) { - switch (i) { + switch (i) { - /* general float with 2 dec. precision - no extra format besides a degree char - */ - case SAT_LIST_COL_AZ: - case SAT_LIST_COL_EL: - case SAT_LIST_COL_RA: - case SAT_LIST_COL_DEC: - case SAT_LIST_COL_MA: - case SAT_LIST_COL_PHASE: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - degree_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + /* general float with 2 dec. precision + no extra format besides a degree char + */ + case SAT_LIST_COL_AZ: + case SAT_LIST_COL_EL: + case SAT_LIST_COL_RA: + case SAT_LIST_COL_DEC: + case SAT_LIST_COL_MA: + case SAT_LIST_COL_PHASE: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + degree_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - /* LAT/LON format */ - case SAT_LIST_COL_LAT: - case SAT_LIST_COL_LON: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - latlon_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + /* LAT/LON format */ + case SAT_LIST_COL_LAT: + case SAT_LIST_COL_LON: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + latlon_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - /* distances and velocities */ - case SAT_LIST_COL_RANGE: - case SAT_LIST_COL_ALT: - case SAT_LIST_COL_FOOTPRINT: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - distance_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + /* distances and velocities */ + case SAT_LIST_COL_RANGE: + case SAT_LIST_COL_ALT: + case SAT_LIST_COL_FOOTPRINT: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + distance_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SAT_LIST_COL_VEL: - case SAT_LIST_COL_RANGE_RATE: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - range_rate_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SAT_LIST_COL_VEL: + case SAT_LIST_COL_RANGE_RATE: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + range_rate_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SAT_LIST_COL_DOPPLER: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - float_to_int_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SAT_LIST_COL_DOPPLER: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + float_to_int_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SAT_LIST_COL_DELAY: - case SAT_LIST_COL_LOSS: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - two_dec_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SAT_LIST_COL_DELAY: + case SAT_LIST_COL_LOSS: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + two_dec_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SAT_LIST_COL_AOS: - case SAT_LIST_COL_LOS: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - event_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SAT_LIST_COL_AOS: + case SAT_LIST_COL_LOS: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + event_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - default: - break; + default: + break; - } + } } @@ -895,107 +894,107 @@ */ static void latlon_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number = 0.0; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); - gchar hmf = ' '; + gdouble number = 0.0; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); + gchar hmf = ' '; - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* check whether configuration requests the use - of N, S, E and W instead of signs - */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { + /* check whether configuration requests the use + of N, S, E and W instead of signs + */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { - if (coli == SAT_LIST_COL_LAT) { - if (number < 0.00) { - number = -number; - hmf = 'S'; - } - else { - hmf = 'N'; - } - } - else if (coli == SAT_LIST_COL_LON) { - if (number < 0.00) { - number = -number; - hmf = 'W'; - } - else { - hmf = 'E'; - } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Invalid column: %d"), - __FILE__, __LINE__, - coli); - hmf = '?'; - } - } + if (coli == SAT_LIST_COL_LAT) { + if (number < 0.00) { + number = -number; + hmf = 'S'; + } + else { + hmf = 'N'; + } + } + else if (coli == SAT_LIST_COL_LON) { + if (number < 0.00) { + number = -number; + hmf = 'W'; + } + else { + hmf = 'E'; + } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Invalid column: %d"), + __FILE__, __LINE__, + coli); + hmf = '?'; + } + } - /* format the number */ - buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* general floats with 2 digits + degree char */ static void degree_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* format the number */ - buff = g_strdup_printf ("%.2f\302\260", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.2f\302\260", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* distance and velocity, 0 decimal digits */ static void distance_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* convert distance to miles? */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - number = KM_TO_MI(number); - } + /* convert distance to miles? */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + number = KM_TO_MI(number); + } - /* format the number */ - buff = g_strdup_printf ("%.0f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.0f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* range rate is special, because we may need to convert to miles @@ -1003,123 +1002,122 @@ */ static void range_rate_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* convert distance to miles? */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - number = KM_TO_MI(number); - } + /* convert distance to miles? */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + number = KM_TO_MI(number); + } - /* format the number */ - buff = g_strdup_printf ("%.3f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.3f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* 0 decimal digits */ static void float_to_int_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* format the number */ - buff = g_strdup_printf ("%.0f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.0f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* 2 decimal digits */ static void two_dec_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* format the number */ - buff = g_strdup_printf ("%.2f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.2f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* AOS/LOS; convert julian date to string */ static void event_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar buff[TIME_FORMAT_MAX_LENGTH]; - gchar *fmtstr; - guint coli = GPOINTER_TO_UINT (column); - time_t t; - guint size; + gdouble number; + gchar buff[TIME_FORMAT_MAX_LENGTH]; + gchar *fmtstr; + guint coli = GPOINTER_TO_UINT (column); + time_t t; + guint size; - gtk_tree_model_get (model, iter, coli, &number, -1); - - if (number == 0.0) { - g_object_set (renderer, - "text", "--- N/A ---", - NULL); - } - else { + gtk_tree_model_get (model, iter, coli, &number, -1); + + if (number == 0.0) { + g_object_set (renderer, + "text", "--- N/A ---", + NULL); + } + else { - /* convert julian date to struct tm */ - t = (number - 2440587.5)*86400.; + /* convert julian date to struct tm */ + t = (number - 2440587.5)*86400.; - /* format the number */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + /* format the number */ +... [truncated message content] |
From: <cs...@us...> - 2009-05-13 19:50:07
|
Revision: 306 http://gpredict.svn.sourceforge.net/gpredict/?rev=306&view=rev Author: csete Date: 2009-05-13 19:50:01 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed bug 2691794: Potential array index out of range. Modified Paths: -------------- trunk/src/gtk-single-sat.c Modified: trunk/src/gtk-single-sat.c =================================================================== --- trunk/src/gtk-single-sat.c 2009-05-13 19:43:25 UTC (rev 305) +++ trunk/src/gtk-single-sat.c 2009-05-13 19:50:01 UTC (rev 306) @@ -53,57 +53,57 @@ /** \brief Column titles indexed with column symb. refs. */ const gchar *SINGLE_SAT_FIELD_TITLE[SINGLE_SAT_FIELD_NUMBER] = { - N_("Azimuth :"), - N_("Elevation :"), - N_("Direction :"), - N_("Right Asc. :"), - N_("Declination :"), - N_("Slant Range :"), - N_("Range Rate :"), - N_("Next Event :"), - N_("Next AOS :"), - N_("Next LOS :"), - N_("SSP Lat. :"), - N_("SSP Lon. :"), - N_("SSP Loc. :"), - N_("Footprint :"), - N_("Altitude :"), - N_("Velocity :"), - N_("Doppler :"), - N_("Sig. Loss :"), - N_("Sig. Delay :"), - N_("Mean Anom. :"), - N_("Orbit Phase :"), - N_("Orbit Num. :"), - N_("Visibility :") + N_("Azimuth :"), + N_("Elevation :"), + N_("Direction :"), + N_("Right Asc. :"), + N_("Declination :"), + N_("Slant Range :"), + N_("Range Rate :"), + N_("Next Event :"), + N_("Next AOS :"), + N_("Next LOS :"), + N_("SSP Lat. :"), + N_("SSP Lon. :"), + N_("SSP Loc. :"), + N_("Footprint :"), + N_("Altitude :"), + N_("Velocity :"), + N_("Doppler :"), + N_("Sig. Loss :"), + N_("Sig. Delay :"), + N_("Mean Anom. :"), + N_("Orbit Phase :"), + N_("Orbit Num. :"), + N_("Visibility :") }; /** \brief Column title hints indexed with column symb. refs. */ const gchar *SINGLE_SAT_FIELD_HINT[SINGLE_SAT_FIELD_NUMBER] = { - N_("Azimuth"), - N_("Elevation"), - N_("Direction"), - N_("Right Ascension"), - N_("Declination"), - N_("Slant Range"), - N_("Range Rate"), - N_("Next Event"), - N_("Next AOS"), - N_("Next LOS"), - N_("Latitude"), - N_("Longitude"), - N_("Sub-Satellite Point"), - N_("Footprint"), - N_("Altitude"), - N_("Velocity"), - N_("Doppler Shift @ 100MHz"), - N_("Signal loss @ 100MHz"), - N_("Signal Delay"), - N_("Mean Anomaly"), - N_("Orbit Phase"), - N_("Orbit Number"), - N_("Visibility") + N_("Azimuth"), + N_("Elevation"), + N_("Direction"), + N_("Right Ascension"), + N_("Declination"), + N_("Slant Range"), + N_("Range Rate"), + N_("Next Event"), + N_("Next AOS"), + N_("Next LOS"), + N_("Latitude"), + N_("Longitude"), + N_("Sub-Satellite Point"), + N_("Footprint"), + N_("Altitude"), + N_("Velocity"), + N_("Doppler Shift @ 100MHz"), + N_("Signal loss @ 100MHz"), + N_("Signal Delay"), + N_("Mean Anomaly"), + N_("Orbit Phase"), + N_("Orbit Number"), + N_("Visibility") }; @@ -126,48 +126,48 @@ GType gtk_single_sat_get_type () { - static GType gtk_single_sat_type = 0; + static GType gtk_single_sat_type = 0; - if (!gtk_single_sat_type) { + if (!gtk_single_sat_type) { - static const GTypeInfo gtk_single_sat_info = { - sizeof (GtkSingleSatClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_single_sat_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkSingleSat), - 5, /* n_preallocs */ - (GInstanceInitFunc) gtk_single_sat_init, - }; + static const GTypeInfo gtk_single_sat_info = { + sizeof (GtkSingleSatClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gtk_single_sat_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GtkSingleSat), + 5, /* n_preallocs */ + (GInstanceInitFunc) gtk_single_sat_init, + }; - gtk_single_sat_type = g_type_register_static (GTK_TYPE_VBOX, - "GtkSingleSat", - >k_single_sat_info, - 0); - } + gtk_single_sat_type = g_type_register_static (GTK_TYPE_VBOX, + "GtkSingleSat", + >k_single_sat_info, + 0); + } - return gtk_single_sat_type; + return gtk_single_sat_type; } static void gtk_single_sat_class_init (GtkSingleSatClass *class) { - GObjectClass *gobject_class; - GtkObjectClass *object_class; - GtkWidgetClass *widget_class; - GtkContainerClass *container_class; + GObjectClass *gobject_class; + GtkObjectClass *object_class; + GtkWidgetClass *widget_class; + GtkContainerClass *container_class; - gobject_class = G_OBJECT_CLASS (class); - object_class = (GtkObjectClass*) class; - widget_class = (GtkWidgetClass*) class; - container_class = (GtkContainerClass*) class; + gobject_class = G_OBJECT_CLASS (class); + object_class = (GtkObjectClass*) class; + widget_class = (GtkWidgetClass*) class; + container_class = (GtkContainerClass*) class; - parent_class = g_type_class_peek_parent (class); + parent_class = g_type_class_peek_parent (class); - object_class->destroy = gtk_single_sat_destroy; + object_class->destroy = gtk_single_sat_destroy; } @@ -176,28 +176,28 @@ static void gtk_single_sat_init (GtkSingleSat *list) { - /* GtkWidget *vbox,*hbox; */ + /* GtkWidget *vbox,*hbox; */ - /* hbox = gtk_hbox_new (TRUE, 5); */ - /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("POLAR")); */ - /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("LIST")); */ + /* hbox = gtk_hbox_new (TRUE, 5); */ + /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("POLAR")); */ + /* gtk_box_pack_start_defaults (GTK_BOX (hbox), gtk_label_new ("LIST")); */ - /* vbox = gtk_vbox_new (TRUE, 5); */ - /* gtk_box_pack_start_defaults (GTK_BOX (vbox), gtk_label_new ("MAP")); */ - /* gtk_box_pack_start_defaults (GTK_BOX (vbox), hbox); */ + /* vbox = gtk_vbox_new (TRUE, 5); */ + /* gtk_box_pack_start_defaults (GTK_BOX (vbox), gtk_label_new ("MAP")); */ + /* gtk_box_pack_start_defaults (GTK_BOX (vbox), hbox); */ - /* gtk_container_add (GTK_CONTAINER (module), vbox); */ - /* gtk_widget_show_all (vbox); */ + /* gtk_container_add (GTK_CONTAINER (module), vbox); */ + /* gtk_widget_show_all (vbox); */ - /* initialise data structures */ + /* initialise data structures */ } static void gtk_single_sat_destroy (GtkObject *object) { - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); } @@ -206,117 +206,117 @@ GtkWidget * gtk_single_sat_new (GKeyFile *cfgdata, GHashTable *sats, qth_t *qth, guint32 fields) { - GtkWidget *widget; - GtkWidget *hbox; /* horizontal box for header */ - GtkWidget *label1; - GtkWidget *label2; - sat_t *sat; - gchar *title; - guint i; + GtkWidget *widget; + GtkWidget *hbox; /* horizontal box for header */ + GtkWidget *label1; + GtkWidget *label2; + sat_t *sat; + gchar *title; + guint i; - widget = g_object_new (GTK_TYPE_SINGLE_SAT, NULL); + widget = g_object_new (GTK_TYPE_SINGLE_SAT, NULL); - GTK_SINGLE_SAT (widget)->update = gtk_single_sat_update; + GTK_SINGLE_SAT (widget)->update = gtk_single_sat_update; - /* Read configuration data. */ - /* ... */ + /* Read configuration data. */ + /* ... */ - g_hash_table_foreach (sats, store_sats, widget); - GTK_SINGLE_SAT (widget)->selected = 0; - GTK_SINGLE_SAT (widget)->qth = qth; - GTK_SINGLE_SAT (widget)->cfgdata = cfgdata; + g_hash_table_foreach (sats, store_sats, widget); + GTK_SINGLE_SAT (widget)->selected = 0; + GTK_SINGLE_SAT (widget)->qth = qth; + GTK_SINGLE_SAT (widget)->cfgdata = cfgdata; - /* initialise column flags */ - if (fields > 0) - GTK_SINGLE_SAT (widget)->flags = fields; - else - GTK_SINGLE_SAT (widget)->flags = mod_cfg_get_int (cfgdata, - MOD_CFG_SINGLE_SAT_SECTION, - MOD_CFG_SINGLE_SAT_FIELDS, - SAT_CFG_INT_SINGLE_SAT_FIELDS); - + /* initialise column flags */ + if (fields > 0) + GTK_SINGLE_SAT (widget)->flags = fields; + else + GTK_SINGLE_SAT (widget)->flags = mod_cfg_get_int (cfgdata, + MOD_CFG_SINGLE_SAT_SECTION, + MOD_CFG_SINGLE_SAT_FIELDS, + SAT_CFG_INT_SINGLE_SAT_FIELDS); + - /* get refresh rate and cycle counter */ - GTK_SINGLE_SAT (widget)->refresh = mod_cfg_get_int (cfgdata, - MOD_CFG_SINGLE_SAT_SECTION, - MOD_CFG_SINGLE_SAT_REFRESH, - SAT_CFG_INT_SINGLE_SAT_REFRESH); - GTK_SINGLE_SAT (widget)->counter = 1; + /* get refresh rate and cycle counter */ + GTK_SINGLE_SAT (widget)->refresh = mod_cfg_get_int (cfgdata, + MOD_CFG_SINGLE_SAT_SECTION, + MOD_CFG_SINGLE_SAT_REFRESH, + SAT_CFG_INT_SINGLE_SAT_REFRESH); + GTK_SINGLE_SAT (widget)->counter = 1; - /* popup button */ - GTK_SINGLE_SAT (widget)->popup_button = - gpredict_mini_mod_button ("gpredict-mod-popup.png", - _("Satellite options / shortcuts")); - g_signal_connect (GTK_SINGLE_SAT (widget)->popup_button, "clicked", - G_CALLBACK (gtk_single_sat_popup_cb), widget); + /* popup button */ + GTK_SINGLE_SAT (widget)->popup_button = + gpredict_mini_mod_button ("gpredict-mod-popup.png", + _("Satellite options / shortcuts")); + g_signal_connect (GTK_SINGLE_SAT (widget)->popup_button, "clicked", + G_CALLBACK (gtk_single_sat_popup_cb), widget); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), GTK_SINGLE_SAT (widget)->popup_button, FALSE, FALSE, 0); + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), GTK_SINGLE_SAT (widget)->popup_button, FALSE, FALSE, 0); - /* create header */ - sat = SAT (g_slist_nth_data (GTK_SINGLE_SAT (widget)->sats, 0)); - title = g_strdup_printf ("<b>%s</b>", sat ? sat->tle.sat_name : "noname"); + /* create header */ + sat = SAT (g_slist_nth_data (GTK_SINGLE_SAT (widget)->sats, 0)); + title = g_strdup_printf ("<b>%s</b>", sat ? sat->tle.sat_name : "noname"); - GTK_SINGLE_SAT (widget)->header = gtk_label_new (NULL); - gtk_label_set_markup (GTK_LABEL (GTK_SINGLE_SAT (widget)->header), title); - g_free (title); - gtk_misc_set_alignment (GTK_MISC (GTK_SINGLE_SAT (widget)->header), 0.0, 0.5); - gtk_box_pack_start (GTK_BOX (hbox), GTK_SINGLE_SAT (widget)->header, TRUE, TRUE, 10); + GTK_SINGLE_SAT (widget)->header = gtk_label_new (NULL); + gtk_label_set_markup (GTK_LABEL (GTK_SINGLE_SAT (widget)->header), title); + g_free (title); + gtk_misc_set_alignment (GTK_MISC (GTK_SINGLE_SAT (widget)->header), 0.0, 0.5); + gtk_box_pack_start (GTK_BOX (hbox), GTK_SINGLE_SAT (widget)->header, TRUE, TRUE, 10); - gtk_box_pack_start (GTK_BOX (widget), hbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (widget), hbox, FALSE, FALSE, 0); - /* create and initialise table */ - GTK_SINGLE_SAT (widget)->table = gtk_table_new (SINGLE_SAT_FIELD_NUMBER, 2, FALSE); - gtk_container_set_border_width (GTK_CONTAINER (GTK_SINGLE_SAT (widget)->table), 5); - gtk_table_set_row_spacings (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), 0); - gtk_table_set_col_spacings (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), 10); + /* create and initialise table */ + GTK_SINGLE_SAT (widget)->table = gtk_table_new (SINGLE_SAT_FIELD_NUMBER, 2, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (GTK_SINGLE_SAT (widget)->table), 5); + gtk_table_set_row_spacings (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), 0); + gtk_table_set_col_spacings (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), 10); - /* create and add label widgets */ - for (i = 0; i < SINGLE_SAT_FIELD_NUMBER; i++) { + /* create and add label widgets */ + for (i = 0; i < SINGLE_SAT_FIELD_NUMBER; i++) { - if (GTK_SINGLE_SAT (widget)->flags & (1 << i)) { + if (GTK_SINGLE_SAT (widget)->flags & (1 << i)) { - label1 = gtk_label_new (_(SINGLE_SAT_FIELD_TITLE[i])); - gtk_misc_set_alignment (GTK_MISC (label1), 1.0, 0.5); - gtk_table_attach (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), label1, - 0, 1, i, i+1, - GTK_FILL, GTK_SHRINK, 0, 0); + label1 = gtk_label_new (_(SINGLE_SAT_FIELD_TITLE[i])); + gtk_misc_set_alignment (GTK_MISC (label1), 1.0, 0.5); + gtk_table_attach (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), label1, + 0, 1, i, i+1, + GTK_FILL, GTK_SHRINK, 0, 0); - label2 = gtk_label_new ("-"); - gtk_misc_set_alignment (GTK_MISC (label2), 0.0, 0.5); - gtk_table_attach (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), label2, - 1, 2, i, i+1, - GTK_FILL, GTK_SHRINK, 0, 0); + label2 = gtk_label_new ("-"); + gtk_misc_set_alignment (GTK_MISC (label2), 0.0, 0.5); + gtk_table_attach (GTK_TABLE (GTK_SINGLE_SAT (widget)->table), label2, + 1, 2, i, i+1, + GTK_FILL, GTK_SHRINK, 0, 0); /* add tooltips */ gtk_widget_set_tooltip_text (label1, _(SINGLE_SAT_FIELD_HINT[i])); gtk_widget_set_tooltip_text (label2, _(SINGLE_SAT_FIELD_HINT[i])); - /* store reference */ - GTK_SINGLE_SAT (widget)->labels[i] = label2; - } - else - GTK_SINGLE_SAT (widget)->labels[i] = NULL; - } + /* store reference */ + GTK_SINGLE_SAT (widget)->labels[i] = label2; + } + else + GTK_SINGLE_SAT (widget)->labels[i] = NULL; + } - /* create and initialise scrolled window */ - GTK_SINGLE_SAT (widget)->swin = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (GTK_SINGLE_SAT (widget)->swin), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (GTK_SINGLE_SAT (widget)->swin), - GTK_SINGLE_SAT (widget)->table); + /* create and initialise scrolled window */ + GTK_SINGLE_SAT (widget)->swin = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (GTK_SINGLE_SAT (widget)->swin), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (GTK_SINGLE_SAT (widget)->swin), + GTK_SINGLE_SAT (widget)->table); - gtk_box_pack_end (GTK_BOX (widget), GTK_SINGLE_SAT (widget)->swin, TRUE, TRUE, 0); + gtk_box_pack_end (GTK_BOX (widget), GTK_SINGLE_SAT (widget)->swin, TRUE, TRUE, 0); - gtk_widget_show_all (widget); + gtk_widget_show_all (widget); - return widget; + return widget; } @@ -329,47 +329,47 @@ void gtk_single_sat_update (GtkWidget *widget) { - GtkSingleSat *ssat = GTK_SINGLE_SAT (widget); - guint i; + GtkSingleSat *ssat = GTK_SINGLE_SAT (widget); + guint i; - /* first, do some sanity checks */ - if ((ssat == NULL) || !IS_GTK_SINGLE_SAT (ssat)) { + /* first, do some sanity checks */ + if ((ssat == NULL) || !IS_GTK_SINGLE_SAT (ssat)) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s: Invalid GtkSingleSat!"), - __FUNCTION__); - } + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s: Invalid GtkSingleSat!"), + __FUNCTION__); + } - /* check refresh rate */ - if (ssat->counter < ssat->refresh) { - ssat->counter++; - } - else { + /* check refresh rate */ + if (ssat->counter < ssat->refresh) { + ssat->counter++; + } + else { - /* we calculate here to avoid double calc */ - if ((ssat->flags & SINGLE_SAT_FLAG_RA) || - (ssat->flags & SINGLE_SAT_FLAG_DEC)) { + /* we calculate here to avoid double calc */ + if ((ssat->flags & SINGLE_SAT_FLAG_RA) || + (ssat->flags & SINGLE_SAT_FLAG_DEC)) { - sat_t *sat = SAT (g_slist_nth_data (ssat->sats, ssat->selected)); - obs_astro_t astro; + sat_t *sat = SAT (g_slist_nth_data (ssat->sats, ssat->selected)); + obs_astro_t astro; - Calculate_RADec (sat, ssat->qth, &astro); - sat->ra = Degrees(astro.ra); - sat->dec = Degrees(astro.dec); - } + Calculate_RADec (sat, ssat->qth, &astro); + sat->ra = Degrees(astro.ra); + sat->dec = Degrees(astro.dec); + } - /* update visible fields one by one */ - for (i = 0; i < SINGLE_SAT_FIELD_NUMBER; i++) { + /* update visible fields one by one */ + for (i = 0; i < SINGLE_SAT_FIELD_NUMBER; i++) { - if (ssat->flags & (1 << i)) - update_field (ssat, i); + if (ssat->flags & (1 << i)) + update_field (ssat, i); - } - ssat->counter = 1; - } + } + ssat->counter = 1; + } } @@ -379,31 +379,31 @@ static void update_field (GtkSingleSat *ssat, guint i) { - sat_t *sat; - gchar *buff = NULL; - gchar tbuf[TIME_FORMAT_MAX_LENGTH]; - gchar hmf = ' '; - gdouble number; - gint retcode; - gchar *fmtstr; - gchar *alstr; - time_t t; - guint size; - sat_vis_t vis; + sat_t *sat; + gchar *buff = NULL; + gchar tbuf[TIME_FORMAT_MAX_LENGTH]; + gchar hmf = ' '; + gdouble number; + gint retcode; + gchar *fmtstr; + gchar *alstr; + time_t t; + guint size; + sat_vis_t vis; - /* make some sanity checks */ - if (ssat->labels[i] == NULL) { + /* make some sanity checks */ + if (ssat->labels[i] == NULL) { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Can not update invisible field (I:%d F:%d)"), - __FILE__, __LINE__, i, ssat->flags); + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Can not update invisible field (I:%d F:%d)"), + __FILE__, __LINE__, i, ssat->flags); - return; - } + return; + } - /* get selected satellite */ - sat = SAT (g_slist_nth_data (ssat->sats, ssat->selected)); + /* get selected satellite */ + sat = SAT (g_slist_nth_data (ssat->sats, ssat->selected)); if G_UNLIKELY(!sat) { sat_log_log (SAT_LOG_LEVEL_BUG, @@ -412,302 +412,299 @@ return; } - /* update requested field */ - switch (i) { + /* update requested field */ + switch (i) { - case SINGLE_SAT_FIELD_AZ: - buff = g_strdup_printf ("%6.2f\302\260", sat->az); - break; + case SINGLE_SAT_FIELD_AZ: + buff = g_strdup_printf ("%6.2f\302\260", sat->az); + break; - case SINGLE_SAT_FIELD_EL: - buff = g_strdup_printf ("%6.2f\302\260", sat->el); - break; + case SINGLE_SAT_FIELD_EL: + buff = g_strdup_printf ("%6.2f\302\260", sat->el); + break; - case SINGLE_SAT_FIELD_DIR: - if (sat->otype == ORBIT_TYPE_GEO) { - buff = g_strdup ("Geostationary"); - } - else if (sat->otype == ORBIT_TYPE_DECAYED) { - buff = g_strdup ("Decayed"); - } - else if (sat->range_rate > 0.0) { - /* Receeding */ - buff = g_strdup ("Receeding"); - } - else if (sat->range_rate < 0.0) { - /* Approaching */ - buff = g_strdup ("Approaching"); - } - else { - buff = g_strdup ("N/A"); - } - break; + case SINGLE_SAT_FIELD_DIR: + if (sat->otype == ORBIT_TYPE_GEO) { + buff = g_strdup ("Geostationary"); + } + else if (sat->otype == ORBIT_TYPE_DECAYED) { + buff = g_strdup ("Decayed"); + } + else if (sat->range_rate > 0.0) { + /* Receeding */ + buff = g_strdup ("Receeding"); + } + else if (sat->range_rate < 0.0) { + /* Approaching */ + buff = g_strdup ("Approaching"); + } + else { + buff = g_strdup ("N/A"); + } + break; - case SINGLE_SAT_FIELD_RA: - buff = g_strdup_printf ("%6.2f\302\260", sat->ra); - break; + case SINGLE_SAT_FIELD_RA: + buff = g_strdup_printf ("%6.2f\302\260", sat->ra); + break; - case SINGLE_SAT_FIELD_DEC: - buff = g_strdup_printf ("%6.2f\302\260", sat->dec); - break; + case SINGLE_SAT_FIELD_DEC: + buff = g_strdup_printf ("%6.2f\302\260", sat->dec); + break; - case SINGLE_SAT_FIELD_RANGE: - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - buff = g_strdup_printf ("%.0f mi", KM_TO_MI (sat->range)); - } - else { - buff = g_strdup_printf ("%.0f km", sat->range); - } - break; + case SINGLE_SAT_FIELD_RANGE: + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + buff = g_strdup_printf ("%.0f mi", KM_TO_MI (sat->range)); + } + else { + buff = g_strdup_printf ("%.0f km", sat->range); + } + break; - case SINGLE_SAT_FIELD_RANGE_RATE: - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - buff = g_strdup_printf ("%.3f mi/sec", KM_TO_MI (sat->range_rate)); - } - else { - buff = g_strdup_printf ("%.3f km/sec", sat->range_rate); - } - break; + case SINGLE_SAT_FIELD_RANGE_RATE: + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + buff = g_strdup_printf ("%.3f mi/sec", KM_TO_MI (sat->range_rate)); + } + else { + buff = g_strdup_printf ("%.3f km/sec", sat->range_rate); + } + break; - case SINGLE_SAT_FIELD_NEXT_EVENT: - if (sat->aos > sat->los) { - /* next event is LOS */ - number = sat->los; - alstr = g_strdup ("LOS: "); - } - else { - /* next event is AOS */ - number = sat->aos; - alstr = g_strdup ("AOS: "); - } - if (number > 0.0) { + case SINGLE_SAT_FIELD_NEXT_EVENT: + if (sat->aos > sat->los) { + /* next event is LOS */ + number = sat->los; + alstr = g_strdup ("LOS: "); + } + else { + /* next event is AOS */ + number = sat->aos; + alstr = g_strdup ("AOS: "); + } + if (number > 0.0) { - /* convert julian date to struct tm */ - t = (number - 2440587.5)*86400.; + /* convert julian date to struct tm */ + t = (number - 2440587.5)*86400.; - /* format the number */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + /* format the number */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - /* format either local time or UTC depending on check box */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - - if (size < TIME_FORMAT_MAX_LENGTH) - tbuf[size]='\0'; - else - tbuf[TIME_FORMAT_MAX_LENGTH]='\0'; + /* format either local time or UTC depending on check box */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + + if (size == 0) + /* size > MAX_LENGTH */ + tbuf[TIME_FORMAT_MAX_LENGTH-1]='\0'; - g_free (fmtstr); + g_free (fmtstr); - buff = g_strconcat (alstr, tbuf, NULL); + buff = g_strconcat (alstr, tbuf, NULL); - } - else { - buff = g_strdup (_("N/A")); - } + } + else { + buff = g_strdup (_("N/A")); + } - g_free (alstr); + g_free (alstr); - break; + break; - case SINGLE_SAT_FIELD_AOS: - if (sat->aos > 0.0) { - /* convert julian date to struct tm */ - t = (sat->aos - 2440587.5)*86400.; + case SINGLE_SAT_FIELD_AOS: + if (sat->aos > 0.0) { + /* convert julian date to struct tm */ + t = (sat->aos - 2440587.5)*86400.; - /* format the number */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + /* format the number */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - /* format either local time or UTC depending on check box */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - - if (size < TIME_FORMAT_MAX_LENGTH) - tbuf[size]='\0'; - else - tbuf[TIME_FORMAT_MAX_LENGTH]='\0'; + /* format either local time or UTC depending on check box */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + + if (size == 0) + /* size > MAX_LENGTH */ + tbuf[TIME_FORMAT_MAX_LENGTH-1]='\0'; - g_free (fmtstr); + g_free (fmtstr); - buff = g_strdup (tbuf); - } - else { - buff = g_strdup (_("N/A")); - } - break; + buff = g_strdup (tbuf); + } + else { + buff = g_strdup (_("N/A")); + } + break; - case SINGLE_SAT_FIELD_LOS: - if (sat->los > 0.0) { - /* convert julian date to struct tm */ - t = (sat->los - 2440587.5)*86400.; + case SINGLE_SAT_FIELD_LOS: + if (sat->los > 0.0) { + /* convert julian date to struct tm */ + t = (sat->los - 2440587.5)*86400.; - /* format the number */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + /* format the number */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - /* format either local time or UTC depending on check box */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - - if (size < TIME_FORMAT_MAX_LENGTH) - tbuf[size]='\0'; - else - tbuf[TIME_FORMAT_MAX_LENGTH]='\0'; + /* format either local time or UTC depending on check box */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuf, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + + if (size == 0) + /* size > MAX_LENGTH */ + tbuf[TIME_FORMAT_MAX_LENGTH-1]='\0'; - g_free (fmtstr); + g_free (fmtstr); - buff = g_strdup (tbuf); - } - else { - buff = g_strdup (_("N/A")); - } - break; + buff = g_strdup (tbuf); + } + else { + buff = g_strdup (_("N/A")); + } + break; - case SINGLE_SAT_FIELD_LAT: - number = sat->ssplat; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { - if (number < 0.00) { - number = -number; - hmf = 'S'; - } - else { - hmf = 'N'; - } - } - buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); - break; + case SINGLE_SAT_FIELD_LAT: + number = sat->ssplat; + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { + if (number < 0.00) { + number = -number; + hmf = 'S'; + } + else { + hmf = 'N'; + } + } + buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); + break; - case SINGLE_SAT_FIELD_LON: - number = sat->ssplon; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { - if (number < 0.00) { - number = -number; - hmf = 'W'; - } - else { - hmf = 'E'; - } - } - buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); - break; + case SINGLE_SAT_FIELD_LON: + number = sat->ssplon; + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { + if (number < 0.00) { + number = -number; + hmf = 'W'; + } + else { + hmf = 'E'; + } + } + buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); + break; - case SINGLE_SAT_FIELD_SSP: - /* SSP locator */ - buff = g_try_malloc (7); + case SINGLE_SAT_FIELD_SSP: + /* SSP locator */ + buff = g_try_malloc (7); - retcode = longlat2locator (sat->ssplon, sat->ssplat, buff, 3); - if (retcode == RIG_OK) { - buff[6] = '\0'; - } - else { - g_free (buff); - buff = NULL; - } + retcode = longlat2locator (sat->ssplon, sat->ssplat, buff, 3); + if (retcode == RIG_OK) { + buff[6] = '\0'; + } + else { + g_free (buff); + buff = NULL; + } - break; + break; - case SINGLE_SAT_FIELD_FOOTPRINT: - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - buff = g_strdup_printf ("%.0f mi", KM_TO_MI (sat->footprint)); - } - else { - buff = g_strdup_printf ("%.0f km", sat->footprint); - } - break; + case SINGLE_SAT_FIELD_FOOTPRINT: + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + buff = g_strdup_printf ("%.0f mi", KM_TO_MI (sat->footprint)); + } + else { + buff = g_strdup_printf ("%.0f km", sat->footprint); + } + break; - case SINGLE_SAT_FIELD_ALT: - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - buff = g_strdup_printf ("%.0f mi", KM_TO_MI (sat->alt)); - } - else { - buff = g_strdup_printf ("%.0f km", sat->alt); - } - break; + case SINGLE_SAT_FIELD_ALT: + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + buff = g_strdup_printf ("%.0f mi", KM_TO_MI (sat->alt)); + } + else { + buff = g_strdup_printf ("%.0f km", sat->alt); + } + break; - case SINGLE_SAT_FIELD_VEL: - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - buff = g_strdup_printf ("%.3f mi/sec", KM_TO_MI (sat->velo)); - } - else { - buff = g_strdup_printf ("%.3f km/sec", sat->velo); - } - break; + case SINGLE_SAT_FIELD_VEL: + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + buff = g_strdup_printf ("%.3f mi/sec", KM_TO_MI (sat->velo)); + } + else { + buff = g_strdup_printf ("%.3f km/sec", sat->velo); + } + break; - case SINGLE_SAT_FIELD_DOPPLER: - number = -100.0e06 * (sat->range_rate / 299792.4580); // Hz - buff = g_strdup_printf ("%.0f Hz", number); - break; + case SINGLE_SAT_FIELD_DOPPLER: + number = -100.0e06 * (sat->range_rate / 299792.4580); // Hz + buff = g_strdup_printf ("%.0f Hz", number); + break; - case SINGLE_SAT_FIELD_LOSS: - number = 72.4 + 20.0*log10(sat->range); // dB - buff = g_strdup_printf ("%.2f dB", number); - break; + case SINGLE_SAT_FIELD_LOSS: + number = 72.4 + 20.0*log10(sat->range); // dB + buff = g_strdup_printf ("%.2f dB", number); + break; - case SINGLE_SAT_FIELD_DELAY: - number = sat->range / 299.7924580; // msec - buff = g_strdup_printf ("%.2f msec", number); - break; + case SINGLE_SAT_FIELD_DELAY: + number = sat->range / 299.7924580; // msec + buff = g_strdup_printf ("%.2f msec", number); + break; - case SINGLE_SAT_FIELD_MA: - buff = g_strdup_printf ("%.2f\302\260", sat->ma); - break; + case SINGLE_SAT_FIELD_MA: + buff = g_strdup_printf ("%.2f\302\260", sat->ma); + break; - case SINGLE_SAT_FIELD_PHASE: - buff = g_strdup_printf ("%.2f\302\260", sat->phase); - break; + case SINGLE_SAT_FIELD_PHASE: + buff = g_strdup_printf ("%.2f\302\260", sat->phase); + break; - case SINGLE_SAT_FIELD_ORBIT: - buff = g_strdup_printf ("%lu", sat->orbit); - break; + case SINGLE_SAT_FIELD_ORBIT: + buff = g_strdup_printf ("%lu", sat->orbit); + break; - case SINGLE_SAT_FIELD_VISIBILITY: - vis = get_sat_vis (sat, ssat->qth, sat->jul_utc); - buff = vis_to_str (vis); - break; + case SINGLE_SAT_FIELD_VISIBILITY: + vis = get_sat_vis (sat, ssat->qth, sat->jul_utc); + buff = vis_to_str (vis); + break; - default: - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Invalid field number (%d)"), - __FILE__, __LINE__, i); + default: + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Invalid field number (%d)"), + __FILE__, __LINE__, i); - break; + break; - } + } - if (buff != NULL) { - gtk_label_set_text (GTK_LABEL (ssat->labels[i]), buff); - g_free (buff); - } + if (buff != NULL) { + gtk_label_set_text (GTK_LABEL (ssat->labels[i]), buff); + g_free (buff); + } } @@ -719,10 +716,10 @@ static void store_sats (gpointer key, gpointer value, gpointer user_data) { - GtkSingleSat *single_sat = GTK_SINGLE_SAT (user_data); - sat_t *sat = SAT (value); + GtkSingleSat *single_sat = GTK_SINGLE_SAT (user_data); + sat_t *sat = SAT (value); - single_sat->sats = g_slist_append (single_sat->sats, sat); + single_sat->sats = g_slist_append (single_sat->sats, sat); } @@ -731,51 +728,51 @@ static void Calculate_RADec (sat_t *sat, qth_t *qth, obs_astro_t *obs_set) { - /* Reference: Methods of Orbit Determination by */ - /* Pedro Ramon Escobal, pp. 401-402 */ + /* Reference: Methods of Orbit Determination by */ + /* Pedro Ramon Escobal, pp. 401-402 */ - double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, - az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, - Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; - geodetic_t geodetic; + double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, + az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, + Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; + geodetic_t geodetic; - geodetic.lon = qth->lon * de2ra; - geodetic.lat = qth->lat * de2ra; - geodetic.alt = qth->alt / 1000.0; - geodetic.theta = 0; + geodetic.lon = qth->lon * de2ra; + geodetic.lat = qth->lat * de2ra; + geodetic.alt = qth->alt / 1000.0; + geodetic.theta = 0; - az = sat->az * de2ra; - el = sat->el * de2ra; - phi = geodetic.lat; - theta = FMod2p(ThetaG_JD(sat->jul_utc) + geodetic.lon); - sin_theta = sin(theta); - cos_theta = cos(theta); - sin_phi = sin(phi); - cos_phi = cos(phi); - Lxh = -cos(az) * cos(el); - Lyh = sin(az) * cos(el); - Lzh = sin(el); - Sx = sin_phi * cos_theta; - Ex = -sin_theta; - Zx = cos_theta * cos_phi; - Sy = sin_phi * sin_theta; - Ey = cos_theta; - Zy = sin_theta*cos_phi; - Sz = -cos_phi; - Ez = 0; - Zz = sin_phi; - Lx = Sx*Lxh + Ex * Lyh + Zx*Lzh; - Ly = Sy*Lxh + Ey * Lyh + Zy*Lzh; - Lz = Sz*Lxh + Ez * Lyh + Zz*Lzh; - obs_set->dec = ArcSin(Lz); /* Declination (radians)*/ - cos_delta = sqrt(1 - Sqr(Lz)); - sin_alpha = Ly / cos_delta; - cos_alpha = Lx / cos_delta; - obs_set->ra = AcTan(sin_alpha,cos_alpha); /* Right Ascension (radians)*/ - obs_set->ra = FMod2p(obs_set->ra); + az = sat->az * de2ra; + el = sat->el * de2ra; + phi = geodetic.lat; + theta = FMod2p(ThetaG_JD(sat->jul_utc) + geodetic.lon); + sin_theta = sin(theta); + cos_theta = cos(theta); + sin_phi = sin(phi); + cos_phi = cos(phi); + Lxh = -cos(az) * cos(el); + Lyh = sin(az) * cos(el); + Lzh = sin(el); + Sx = sin_phi * cos_theta; + Ex = -sin_theta; + Zx = cos_theta * cos_phi; + Sy = sin_phi * sin_theta; + Ey = cos_theta; + Zy = sin_theta*cos_phi; + Sz = -cos_phi; + Ez = 0; + Zz = sin_phi; + Lx = Sx*Lxh + Ex * Lyh + Zx*Lzh; + Ly = Sy*Lxh + Ey * Lyh + Zy*Lzh; + Lz = Sz*Lxh + Ez * Lyh + Zz*Lzh; + obs_set->dec = ArcSin(Lz); /* Declination (radians)*/ + cos_delta = sqrt(1 - Sqr(Lz)); + sin_alpha = Ly / cos_delta; + cos_alpha = Lx / cos_delta; + obs_set->ra = AcTan(sin_alpha,cos_alpha); /* Right Ascension (radians)*/ + obs_set->ra = FMod2p(obs_set->ra); } @@ -787,133 +784,133 @@ static void gtk_single_sat_popup_cb (GtkWidget *button, gpointer data) { - GtkSingleSat *single_sat = GTK_SINGLE_SAT (data); - GtkWidget *menu; - GtkWidget *select_menu; - GtkWidget *menuitem; - GtkWidget *image; - GtkWidget *label; - GSList *group = NULL; - gchar *buff; - sat_t *sat; - sat_t *sati; /* used to create list of satellites */ - guint i,n; + GtkSingleSat *single_sat = GTK_SINGLE_SAT (data); + GtkWidget *menu; + GtkWidget *select_menu; + GtkWidget *menuitem; + GtkWidget *image; + GtkWidget *label; + GSList *group = NULL; + gchar *buff; + sat_t *sat; + sat_t *sati; /* used to create list of satellites */ + guint i,n; - sat = SAT (g_slist_nth_data (single_sat->sats, single_sat->selected)); - n = g_slist_length (single_sat->sats); - - menu = gtk_menu_new (); + sat = SAT (g_slist_nth_data (single_sat->sats, single_sat->selected)); + n = g_slist_length (single_sat->sats); + + menu = gtk_menu_new (); - /* satellite name/info */ - menuitem = gtk_image_menu_item_new (); - label = gtk_label_new (NULL); - gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); - buff = g_strdup_printf ("<b>%s</b>", sat->tle.sat_name); - gtk_label_set_markup (GTK_LABEL (label), buff); - g_free (buff); - gtk_container_add (GTK_CONTAINER (menuitem), label); - image = gtk_image_new_from_stock (GTK_STOCK_INFO, - GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + /* satellite name/info */ + menuitem = gtk_image_menu_item_new (); + label = gtk_label_new (NULL); + gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5); + buff = g_strdup_printf ("<b>%s</b>", sat->tle.sat_name); + gtk_label_set_markup (GTK_LABEL (label), buff); + g_free (buff); + gtk_container_add (GTK_CONTAINER (menuitem), label); + image = gtk_image_new_from_stock (GTK_STOCK_INFO, + GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); - /* attach data to menuitem and connect callback */ - g_object_set_data (G_OBJECT (menuitem), "sat", sat); - g_object_set_data (G_OBJECT (menuitem), "qth", single_sat->qth); - g_signal_connect (menuitem, "activate", - G_CALLBACK (show_sat_info), - gtk_widget_get_toplevel (button)); + /* attach data to menuitem and connect callback */ + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", single_sat->qth); + g_signal_connect (menuitem, "activate", + G_CALLBACK (show_sat_info), + gtk_widget_get_toplevel (button)); - gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - /* separator */ - menuitem = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + /* separator */ + menuitem = gtk_separator_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - /* next pass and predict passes */ - menuitem = gtk_image_menu_item_new_with_label (_("Show next pass")); - image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, - GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); - g_object_set_data (G_OBJECT (menuitem), "sat", sat); - g_object_set_data (G_OBJECT (menuitem), "qth", single_sat->qth); -/* g_signal_connect (menuitem, "activate", - G_CALLBACK (show_next_pass), - gtk_widget_get_toplevel (button));*/ + /* next pass and predict passes */ + menuitem = gtk_image_menu_item_new_with_label (_("Show next pass")); + image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, + GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", single_sat->qth); +/* g_signal_connect (menuitem, "activate", + G_CALLBACK (show_next_pass), + gtk_widget_get_toplevel (button));*/ g_signal_connect (menuitem, "activate", G_CALLBACK (show_next_pass_cb), data); - + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - - menuitem = gtk_image_menu_item_new_with_label (_("Future passes")); - image = gtk_image_new_from_stock (GTK_STOCK_INDEX, - GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); - g_object_set_data (G_OBJECT (menuitem), "sat", sat); - g_object_set_data (G_OBJECT (menuitem), "qth", single_sat->qth); -/* g_signal_connect (menuitem, "activate", - G_CALLBACK (show_future_passes), - gtk_widget_get_toplevel (button));*/ + + menuitem = gtk_image_menu_item_new_with_label (_("Future passes")); + image = gtk_image_new_from_stock (GTK_STOCK_INDEX, + GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); + g_object_set_data (G_OBJECT (menuitem), "sat", sat); + g_object_set_data (G_OBJECT (menuitem), "qth", single_sat->qth); +/* g_signal_connect (menuitem, "activate", + G_CALLBACK (show_future_passes), + gtk_widget_get_toplevel (button));*/ g_signal_connect (menuitem, "activate", G_CALLBACK (show_next_passes_cb), data); gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - /* separator */ -// menuitem = gtk_separator_menu_item_new (); -// gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + /* separator */ +// menuitem = gtk_separator_menu_item_new (); +// gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - /* Alarm */ -// menuitem = gtk_check_menu_item_new_with_label (_("Alarm")); -// gtk_widget_set_sensitive (menuitem, FALSE); -// gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + /* Alarm */ +// menuitem = gtk_check_menu_item_new_with_label (_("Alarm")); +// gtk_widget_set_sensitive (menuitem, FALSE); +// gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - /* Announce */ -// menuitem = gtk_check_menu_item_new_with_label (_("Announce")); -// gtk_widget_set_sensitive (menuitem, FALSE); -// gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + /* Announce */ +// menuitem = gtk_check_menu_item_new_with_label (_("Announce")); +// gtk_widget_set_sensitive (menuitem, FALSE); +// gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - /* separator */ - menuitem = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + /* separator */ + menuitem = gtk_separator_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - select_menu = gtk_menu_new (); + select_menu = gtk_menu_new (); - for (i = 0; i < n; i++) { + for (i = 0; i < n; i++) { - sati = SAT (g_slist_nth_data (single_sat->sats, i)); + sati = SAT (g_slist_nth_data (single_sat->sats, i)); - menuitem = gtk_radio_menu_item_new_with_label (group, sati->tle.sat_name); - group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (menuitem)); + menuitem = gtk_radio_menu_item_new_with_label (group, sati->tle.sat_name); + group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (menuitem)); - if (i == single_sat->selected) { - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), TRUE); - } + if (i == single_sat->selected) { + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), TRUE); + } - /* store item index so that it is available in the callback */ - g_object_set_data (G_OBJECT (menuitem), "index", GUINT_TO_POINTER (i)); + /* store item index so that it is available in the callback */ + g_object_set_data (G_OBJECT (menuitem), "index", GUINT_TO_POINTER (i)); - /* connect signal */ - g_signal_connect_after (menuitem, "activate", - G_CALLBACK (select_satellite), single_sat); + /* connect signal */ + g_signal_connect_after (menuitem, "activate", + G_CALLBACK (select_satellite), single_sat); - gtk_menu_shell_append (GTK_MENU_SHELL (select_menu), menuitem); - //gtk_widget_show (menuitem); - } + gtk_menu_shell_append (GTK_MENU_SHELL (select_menu), menuitem); + //gtk_widget_show (menuitem); + } - /* select sat */ - menuitem = gtk_menu_item_new_with_label (_("Select satellite")); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), select_menu); - gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); + /* select sat */ + menuitem = gtk_menu_item_new_with_label (_("Select satellite")); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), select_menu); + gtk_menu_shell_append (GTK_MENU_SHELL(menu), menuitem); - gtk_widget_show_all (menu); + gtk_widget_show_all (menu); - /* Note: event can be NULL here when called from view_onPopupMenu; - * gdk_event_get_time() accepts a NULL argument */ - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, - 0, gdk_event_get_time ((GdkEvent*) NULL)); - + /* Note: event can be NULL here when called from view_onPopupMenu; + * gdk_event_get_time() accepts a NULL argument */ + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, + 0, gdk_event_get_time ((GdkEvent*) NULL)); + } @@ -922,25 +919,25 @@ static void select_satellite (GtkWidget *menuitem, gpointer data) { - GtkSingleSat *ssat = GTK_SINGLE_SAT (data); - guint i = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (menuitem), "index")); - gchar *title; - sat_t *sat; + GtkSingleSat *ssat = GTK_SINGLE_SAT (data); + guint i = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (menuitem), "index")); + gchar *title; + sat_t *sat; - /* there are many "ghost"-trigging of this signal, but we only need to make - a new selection when the received menuitem is selected - */ - if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem))) { - ssat->selected = i; + /* there are many "ghost"-trigging of this signal, but we only need to make + a new selection when the received menuitem is selected + */ + if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem))) { + ssat->selected = i; - sat = SAT (g_slist_nth_data (ssat->sats, i)); + sat = SAT (g_slist_nth_data (ssat->sats, i)); - title = g_strdup_printf ("<b>%s</b>", sat->tle.sat_name); - gtk_label_set_markup (GTK_LABEL (ssat->header), title); - g_free (title); + title = g_strdup_printf ("<b>%s</b>", sat->tle.sat_name); + gtk_label_set_markup (GTK_LABEL (ssat->header), title); + g_free (title); - } + } } @@ -951,12 +948,12 @@ gtk_single_sat_reload_sats (GtkWidget *single_sat, GHashTable *sats) { - /* free GSlists */ - g_slist_free (GTK_SINGLE_SAT (single_sat)->sats); - GTK_SINGLE_SAT (single_sat)->sats = NULL; + /* free GSlists */ + g_slist_free (GTK_SINGLE_SAT (single_sat)->sats); + GTK_SINGLE_SAT (single_sat)->sats = NULL; - /* reload satellites */ - g_hash_table_foreach (sats, store_sats, single_sat); + /* reload satellites */ + g_hash_table_foreach (sats, store_sats, single_sat); } @@ -970,44 +967,44 @@ */ void gtk_single_sat_reconf (GtkWidget *widget, - GKeyFile *newcfg, - GHashTable *sats, - qth_t *qth, - gboolean local) + GKeyFile *newcfg, + GHashTable *sats, + qth_t *qth, + gboolean local) { - guint32 fields; + guint32 fields; - /* store pointer to new cfg data */ - GTK_SINGLE_SAT (widget)->cfgdata = newcfg; + /* store pointer to new cfg data */ + GTK_SINGLE_SAT (widget)->cfgdata = newcfg; - /* get visible fields from new configuration */ - fields = mod_cfg_get_int (newcfg, - MOD_CFG_SINGLE_SAT_SECTION, - MOD_CFG_SINGLE_SAT_FIELDS, - SAT_CFG_INT_SINGLE_SAT_FIELDS); + /* get visible fields from new configuration */ + fields = mod_cfg_get_int (newcfg, + MOD_CFG_SINGLE_SAT_SECTION, + MOD_CFG_SINGLE_SAT_FIELDS, + SAT_CFG_INT_SINGLE_SAT_FIELDS); - if (fields != GTK_SINGLE_SAT (widget)->flags) { - GTK_SINGLE_SAT (widget)->flags = fields; + if (fields != GTK_SINGLE_SAT (widget)->flags) { + GTK_SINGLE_SAT (widget)->flags = fields; - /* */ - } + /* */ + } - /* if this is a local reconfiguration sats may have changed */ - if (local) { - gtk_single_sat_reload_sats (widget, sats); - } + /* if this is a local reconfiguration sats may have changed */ + if (local) { + gtk_single_sat_reload_sats (widget, sats); + } - /* QTH may have changed too since we have a default QTH */ - GTK_SINGLE_SAT (widget)->qth = qth; + /* QTH may have changed too since we have a default QTH */ + GTK_SINGLE_SAT (widget)->qth = qth; - /* get refresh rate and cycle counter */ - GTK_SINGLE_SAT (widget)->refresh = mod_cfg_get_int (newcfg, - MOD_CFG_SINGLE_SAT_SECTION, - MOD_CFG_SINGLE_SAT_REFRESH, - SAT_CFG_INT_SINGLE_SAT_REFRESH); - GTK_SINGLE_SAT (widget)->counter = 1; + /* get refresh rate and cycle counter */ + GTK_SINGLE_SAT (widget)->refresh = mod_cfg_get_int (newcfg, + MOD_CFG_SINGLE_SAT_SECTION, + MOD_CFG_SINGLE_SAT_REFRESH, + SAT_CFG_INT_SINGLE_SAT_REFRESH); + GTK_SINGLE_SAT (widget)->counter = 1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 19:43:28
|
Revision: 305 http://gpredict.svn.sourceforge.net/gpredict/?rev=305&view=rev Author: csete Date: 2009-05-13 19:43:25 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed bug 2691795: Potential array index out of range. Modified Paths: -------------- trunk/src/pass-to-txt.c Modified: trunk/src/pass-to-txt.c =================================================================== --- trunk/src/pass-to-txt.c 2009-05-13 19:23:07 UTC (rev 304) +++ trunk/src/pass-to-txt.c 2009-05-13 19:43:25 UTC (rev 305) @@ -44,700 +44,703 @@ const gchar *SPCT[] = { - N_(" Time"), - N_(" Az "), /* 6 */ - N_(" El "), - N_(" Ra "), - N_(" Dec "), - N_("Range"), - N_(" Rate "), - N_(" Lat "), - N_(" Lon "), - N_(" SSP "), - N_("Footp"), - N_(" Alt "), - N_(" Vel "), - N_(" Dop "), - N_(" Loss "), - N_(" Del "), - N_(" MA "), - N_(" Pha "), - N_("Vis") + N_(" Time"), + N_(" Az "), /* 6 */ + N_(" El "), + N_(" Ra "), + N_(" Dec "), + N_("Range"), + N_(" Rate "), + N_(" Lat "), + N_(" Lon "), + N_(" SSP "), + N_("Footp"), + N_(" Alt "), + N_(" Vel "), + N_(" Dop "), + N_(" Loss "), + N_(" Del "), + N_(" MA "), + N_(" Pha "), + N_("Vis") }; const guint COLW[] = { - 0, - 6, - 6, - 6, - 6, - 5, - 6, - 6, - 7, - 6, - 5, - 5, - 5, - 5, - 6, - 5, - 6, - 6, - 3 + 0, + 6, + 6, + 6, + 6, + 5, + 6, + 6, + 7, + 6, + 5, + 5, + 5, + 5, + 6, + 5, + 6, + 6, + 3 }; const gchar *MPCT[] = { - N_(" AOS"), - N_(" TCA"), /* 6 */ - N_(" LOS"), - N_("Duration"), - N_("Max El"), - N_("AOS Az"), - N_("Max El Az"), - N_("LOS Az"), - N_("Orbit"), - N_("Vis") + N_(" AOS"), + N_(" TCA"), /* 6 */ + N_(" LOS"), + N_("Duration"), + N_("Max El"), + N_("AOS Az"), + N_("Max El Az"), + N_("LOS Az"), + N_("Orbit"), + N_("Vis") }; const guint MCW[] = { - 0, - 0, - 0, - 8, - 6, - 6, - 9, - 6, - 5, - 3 + 0, + 0, + 0, + 8, + 6, + 6, + 9, + 6, + 5, + 3 }; static void Calc_RADec (gdouble jul_utc, gdouble saz, gdouble sel, - qth_t *qth, obs_astro_t *obs_set); + qth_t *qth, obs_astro_t *obs_set); gchar * pass_to_txt_pgheader (pass_t *pass, qth_t *qth, gint fields) { - gboolean loc; - gchar *utc; - gchar *header; - gchar aosbuff[TIME_FORMAT_MAX_LENGTH]; - gchar losbuff[TIME_FORMAT_MAX_LENGTH]; - gchar *fmtstr; - time_t aos,los; - guint size; + gboolean loc; + gchar *utc; + gchar *header; + gchar aosbuff[TIME_FORMAT_MAX_LENGTH]; + gchar losbuff[TIME_FORMAT_MAX_LENGTH]; + gchar *fmtstr; + time_t aos,los; + guint size; - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - loc = sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME); - aos = (pass->aos - 2440587.5)*86400.; - los = (pass->los - 2440587.5)*86400.; + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + loc = sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME); + aos = (pass->aos - 2440587.5)*86400.; + los = (pass->los - 2440587.5)*86400.; - if (loc) { - utc = g_strdup (_("Local")); + if (loc) { + utc = g_strdup (_("Local")); - /* AOS */ - size = strftime (aosbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&aos)); - if (size < TIME_FORMAT_MAX_LENGTH) - aosbuff[size]='\0'; - else - aosbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + /* AOS */ + size = strftime (aosbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&aos)); + if (size == 0) + /* size > MAX_LENGTH */ + aosbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - /* LOS */ - size = strftime (losbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&los)); - if (size < TIME_FORMAT_MAX_LENGTH) - losbuff[size]='\0'; - else - losbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + /* LOS */ + size = strftime (losbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&los)); + if (size == 0) + /* size > MAX_LENGTH */ + losbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - } - else { - utc = g_strdup (_("UTC")); + } + else { + utc = g_strdup (_("UTC")); - /* AOS */ - size = strftime (aosbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&aos)); - if (size < TIME_FORMAT_MAX_LENGTH) - aosbuff[size]='\0'; - else - aosbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + /* AOS */ + size = strftime (aosbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&aos)); + if (size == 0) + /* size > MAX_LENGTH */ + aosbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - /* LOS */ - size = strftime (losbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&los)); - if (size < TIME_FORMAT_MAX_LENGTH) - losbuff[size]='\0'; - else - losbuff[TIME_FORMAT_MAX_LENGTH]='\0'; - } + /* LOS */ + size = strftime (losbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&los)); + if (size == 0) + /* size > MAX_LENGTH */ + losbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; + } - header = g_strdup_printf (_("Pass details for %s (orbit %d)\n" - "Observer: %s, %s\n" - "LAT:%.2f LON:%.2f\n" - "AOS: %s %s\n" - "LOS: %s %s\n"), - pass->satname, pass->orbit, - qth->name, qth->loc, qth->lat, qth->lon, - aosbuff, utc, losbuff, utc); + header = g_strdup_printf (_("Pass details for %s (orbit %d)\n" + "Observer: %s, %s\n" + "LAT:%.2f LON:%.2f\n" + "AOS: %s %s\n" + "LOS: %s %s\n"), + pass->satname, pass->orbit, + qth->name, qth->loc, qth->lat, qth->lon, + aosbuff, utc, losbuff, utc); - g_free (utc); + g_free (utc); - return header; + return header; } gchar * pass_to_txt_tblheader (pass_t *pass, qth_t *qth, gint fields) { - gchar *fmtstr; - time_t t; - guint size; - gchar tbuff[TIME_FORMAT_MAX_LENGTH]; - guint i; - guint linelength = 0; - gchar *line; - gchar *sep; - gchar *buff; + gchar *fmtstr; + time_t t; + guint size; + gchar tbuff[TIME_FORMAT_MAX_LENGTH]; + guint i; + guint linelength = 0; + gchar *line; + gchar *sep; + gchar *buff; - /* first, get the length of the time field */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - t = (pass->aos - 2440587.5)*86400.; + /* first, get the length of the time field */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + t = (pass->aos - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - g_free (fmtstr); + g_free (fmtstr); - /* add time column */ - buff = g_strnfill (size - 4, ' '); - line = g_strconcat (_(SPCT[0]), buff, NULL); - linelength = size + 1; - g_free (buff); + /* add time column */ + buff = g_strnfill (size - 4, ' '); + line = g_strconcat (_(SPCT[0]), buff, NULL); + linelength = size + 1; + g_free (buff); - for (i = 1; i < NUMCOL; i++) { + for (i = 1; i < NUMCOL; i++) { - if (fields & (1 << i)) { + if (fields & (1 << i)) { - /* add column to line */ - buff = g_strconcat (line, " ", _(SPCT[i]), NULL); - g_free (line); - line = g_strdup (buff); - g_free (buff); + /* add column to line */ + buff = g_strconcat (line, " ", _(SPCT[i]), NULL); + g_free (line); + line = g_strdup (buff); + g_free (buff); - /* update line length */ - linelength += COLW[i] + 1; - } + /* update line length */ + linelength += COLW[i] + 1; + } - } + } - /* add separator line */ - sep = g_strnfill (linelength, '-'); - buff = g_strdup_printf ("%s\n%s\n%s\n", sep, line, sep); - g_free (line); - g_free (sep); + /* add separator line */ + sep = g_strnfill (linelength, '-'); + buff = g_strdup_printf ("%s\n%s\n%s\n", sep, line, sep); + g_free (line); + g_free (sep); - return buff; + return buff; } gchar * pass_to_txt_tblcontents (pass_t *pass, qth_t *qth, gint fields) { - gchar *fmtstr; - time_t t; - guint size; - gchar tbuff[TIME_FORMAT_MAX_LENGTH]; - guint i,num; - gchar *line; - gchar *data = NULL; - gchar *buff; - pass_detail_t *detail; - obs_astro_t astro; - gdouble ra,dec,numf; - gchar *ssp; + gchar *fmtstr; + time_t t; + guint size; + gchar tbuff[TIME_FORMAT_MAX_LENGTH]; + guint i,num; + gchar *line; + gchar *data = NULL; + gchar *buff; + pass_detail_t *detail; + obs_astro_t astro; + gdouble ra,dec,numf; + gchar *ssp; - /* first, get the length of the time field */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - t = (pass->aos - 2440587.5)*86400.; + /* first, get the length of the time field */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + t = (pass->aos - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (size == 0) + /* size > MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - /* get number of rows */ - num = g_slist_length (pass->details); + /* get number of rows */ + num = g_slist_length (pass->details); - for (i = 0; i < num; i++) { + for (i = 0; i < num; i++) { - /* get detail */ - detail = PASS_DETAIL (g_slist_nth_data (pass->details, i)); + /* get detail */ + detail = PASS_DETAIL (g_slist_nth_data (pass->details, i)); - /* time */ - t = (detail->time - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + /* time */ + t = (detail->time - 2440587.5)*86400.; + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + + if (size == 0) + /* size > MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - if (size < TIME_FORMAT_MAX_LENGTH) - tbuff[size]='\0'; - else - tbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + line = g_strdup_printf (" %s", tbuff); - line = g_strdup_printf (" %s", tbuff); + /* Az */ + if (fields & SINGLE_PASS_FLAG_AZ) { + buff = g_strdup_printf ("%s %6.2f", line, detail->az); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Az */ - if (fields & SINGLE_PASS_FLAG_AZ) { - buff = g_strdup_printf ("%s %6.2f", line, detail->az); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* El */ + if (fields & SINGLE_PASS_FLAG_EL) { + buff = g_strdup_printf ("%s %6.2f", line, detail->el); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* El */ - if (fields & SINGLE_PASS_FLAG_EL) { - buff = g_strdup_printf ("%s %6.2f", line, detail->el); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Ra */ + if (fields & SINGLE_PASS_FLAG_RA) { + Calc_RADec (detail->time, detail->az, detail->el, qth, &astro); + ra = Degrees(astro.ra); + buff = g_strdup_printf ("%s %6.2f", line, ra); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Ra */ - if (fields & SINGLE_PASS_FLAG_RA) { - Calc_RADec (detail->time, detail->az, detail->el, qth, &astro); - ra = Degrees(astro.ra); - buff = g_strdup_printf ("%s %6.2f", line, ra); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Dec */ + if (fields & SINGLE_PASS_FLAG_DEC) { + Calc_RADec (detail->time, detail->az, detail->el, qth, &astro); + dec = Degrees(astro.dec); + buff = g_strdup_printf ("%s %6.2f", line, dec); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Dec */ - if (fields & SINGLE_PASS_FLAG_DEC) { - Calc_RADec (detail->time, detail->az, detail->el, qth, &astro); - dec = Degrees(astro.dec); - buff = g_strdup_printf ("%s %6.2f", line, dec); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Range */ + if (fields & SINGLE_PASS_FLAG_RANGE) { + buff = g_strdup_printf ("%s %5.0f", line, detail->range); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Range */ - if (fields & SINGLE_PASS_FLAG_RANGE) { - buff = g_strdup_printf ("%s %5.0f", line, detail->range); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Range Rate */ + if (fields & SINGLE_PASS_FLAG_RANGE_RATE) { + buff = g_strdup_printf ("%s %6.3f", line, detail->range_rate); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Range Rate */ - if (fields & SINGLE_PASS_FLAG_RANGE_RATE) { - buff = g_strdup_printf ("%s %6.3f", line, detail->range_rate); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Lat */ + if (fields & SINGLE_PASS_FLAG_LAT) { + buff = g_strdup_printf ("%s %6.2f", line, detail->lat); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Lat */ - if (fields & SINGLE_PASS_FLAG_LAT) { - buff = g_strdup_printf ("%s %6.2f", line, detail->lat); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Lon */ + if (fields & SINGLE_PASS_FLAG_LON) { + buff = g_strdup_printf ("%s %7.2f", line, detail->lon); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Lon */ - if (fields & SINGLE_PASS_FLAG_LON) { - buff = g_strdup_printf ("%s %7.2f", line, detail->lon); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* SSP */ + if (fields & SINGLE_PASS_FLAG_SSP) { + ssp = g_try_malloc (7); + longlat2locator (detail->lon, detail->lat, ssp, 3); + buff = g_strdup_printf ("%s %s", line, ssp); + g_free (line); + line = g_strdup (buff); + g_free (buff); + g_free (ssp); - /* SSP */ - if (fields & SINGLE_PASS_FLAG_SSP) { - ssp = g_try_malloc (7); - longlat2locator (detail->lon, detail->lat, ssp, 3); - buff = g_strdup_printf ("%s %s", line, ssp); - g_free (line); - line = g_strdup (buff); - g_free (buff); - g_free (ssp); + } - } + /* Footprint */ + if (fields & SINGLE_PASS_FLAG_FOOTPRINT) { + buff = g_strdup_printf ("%s %5.0f", line, detail->footprint); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Footprint */ - if (fields & SINGLE_PASS_FLAG_FOOTPRINT) { - buff = g_strdup_printf ("%s %5.0f", line, detail->footprint); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Alt */ + if (fields & SINGLE_PASS_FLAG_ALT) { + buff = g_strdup_printf ("%s %5.0f", line, detail->alt); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Alt */ - if (fields & SINGLE_PASS_FLAG_ALT) { - buff = g_strdup_printf ("%s %5.0f", line, detail->alt); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Vel */ + if (fields & SINGLE_PASS_FLAG_VEL) { + buff = g_strdup_printf ("%s %5.3f", line, detail->velo); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Vel */ - if (fields & SINGLE_PASS_FLAG_VEL) { - buff = g_strdup_printf ("%s %5.3f", line, detail->velo); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Doppler */ + if (fields & SINGLE_PASS_FLAG_DOPPLER) { + numf = -100.0e06 * (detail->range_rate / 299792.4580); + buff = g_strdup_printf ("%s %5.0f", line, numf); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Doppler */ - if (fields & SINGLE_PASS_FLAG_DOPPLER) { - numf = -100.0e06 * (detail->range_rate / 299792.4580); - buff = g_strdup_printf ("%s %5.0f", line, numf); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Loss */ + if (fields & SINGLE_PASS_FLAG_LOSS) { + numf = 72.4 + 20.0*log10(detail->range); // dB + buff = g_strdup_printf ("%s %6.2f", line, numf); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Loss */ - if (fields & SINGLE_PASS_FLAG_LOSS) { - numf = 72.4 + 20.0*log10(detail->range); // dB - buff = g_strdup_printf ("%s %6.2f", line, numf); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Delay */ + if (fields & SINGLE_PASS_FLAG_DELAY) { + numf = detail->range / 299.7924580; // msec + buff = g_strdup_printf ("%s %5.2f", line, numf); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Delay */ - if (fields & SINGLE_PASS_FLAG_DELAY) { - numf = detail->range / 299.7924580; // msec - buff = g_strdup_printf ("%s %5.2f", line, numf); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* MA */ + if (fields & SINGLE_PASS_FLAG_MA) { + buff = g_strdup_printf ("%s %6.2f", line, detail->ma); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* MA */ - if (fields & SINGLE_PASS_FLAG_MA) { - buff = g_strdup_printf ("%s %6.2f", line, detail->ma); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Phase */ + if (fields & SINGLE_PASS_FLAG_PHASE) { + buff = g_strdup_printf ("%s %6.2f", line, detail->phase); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Phase */ - if (fields & SINGLE_PASS_FLAG_PHASE) { - buff = g_strdup_printf ("%s %6.2f", line, detail->phase); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Visibility */ + if (fields & SINGLE_PASS_FLAG_VIS) { + buff = g_strdup_printf ("%s %c", line, vis_to_chr (detail->vis)); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Visibility */ - if (fields & SINGLE_PASS_FLAG_VIS) { - buff = g_strdup_printf ("%s %c", line, vis_to_chr (detail->vis)); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* append line to return string */ + if (i == 0) { + data = g_strdup_printf ("%s\n", line); + g_free (line); + } + else { + buff = g_strconcat (data, line, "\n", NULL); + g_free (data); + data = g_strdup (buff); + g_free (buff); + } + } - /* append line to return string */ - if (i == 0) { - data = g_strdup_printf ("%s\n", line); - g_free (line); - } - else { - buff = g_strconcat (data, line, "\n", NULL); - g_free (data); - data = g_strdup (buff); - g_free (buff); - } - } + g_free (fmtstr); - g_free (fmtstr); - - return data; + return data; } gchar * passes_to_txt_pgheader (GSList *passes, qth_t *qth, gint fields) { - gchar *header; - pass_t *pass; + gchar *header; + pass_t *pass; - pass = PASS (g_slist_nth_data (passes, 0)); + pass = PASS (g_slist_nth_data (passes, 0)); - header = g_strdup_printf (_("Upcoming passes for %s\n" - "Observer: %s, %s\n" - "LAT:%.2f LON:%.2f\n"), - pass->satname, qth->name, qth->loc, - qth->lat, qth->lon); + header = g_strdup_printf (_("Upcoming passes for %s\n" + "Observer: %s, %s\n" + "LAT:%.2f LON:%.2f\n"), + pass->satname, qth->name, qth->loc, + qth->lat, qth->lon); - return header; + return header; } gchar * passes_to_txt_tblheader (GSList *passes, qth_t *qth, gint fields) { - gchar *fmtstr; - time_t t; - guint size; - gchar tbuff[TIME_FORMAT_MAX_LENGTH]; - guint i; - guint linelength = 0; - gchar *line; - gchar *sep; - gchar *buff; - pass_t *pass; + gchar *fmtstr; + time_t t; + guint size; + gchar tbuff[TIME_FORMAT_MAX_LENGTH]; + guint i; + guint linelength = 0; + gchar *line; + gchar *sep; + gchar *buff; + pass_t *pass; - /* first, get the length of the time field */ - pass = PASS (g_slist_nth_data (passes, 0)); - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - t = (pass->aos - 2440587.5)*86400.; + /* first, get the length of the time field */ + pass = PASS (g_slist_nth_data (passes, 0)); + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + t = (pass->aos - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + + if (size == 0) + /* size > TIME_FORMAT_MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - g_free (fmtstr); + g_free (fmtstr); - /* add AOS, TCA, and LOS columns */ - buff = g_strnfill (size - 3, ' '); - line = g_strconcat (_(MPCT[0]), buff, _(MPCT[1]), buff, _(MPCT[2]), buff, NULL); - linelength = 3 * (size + 2); - g_free (buff); + /* add AOS, TCA, and LOS columns */ + buff = g_strnfill (size - 3, ' '); + line = g_strconcat (_(MPCT[0]), buff, _(MPCT[1]), buff, _(MPCT[2]), buff, NULL); + linelength = 3 * (size + 2); + g_free (buff); - for (i = 3; i < 10; i++) { + for (i = 3; i < 10; i++) { - if (fields & (1 << i)) { + if (fields & (1 << i)) { - /* add column to line */ - buff = g_strconcat (line, " ", _(MPCT[i]), NULL); - g_free (line); - line = g_strdup (buff); - g_free (buff); + /* add column to line */ + buff = g_strconcat (line, " ", _(MPCT[i]), NULL); + g_free (line); + line = g_strdup (buff); + g_free (buff); - /* update line length */ - linelength += MCW[i] + 2; - } + /* update line length */ + linelength += MCW[i] + 2; + } - } + } - /* add separator line */ - sep = g_strnfill (linelength, '-'); - buff = g_strdup_printf ("%s\n%s\n%s\n", sep, line, sep); - g_free (line); - g_free (sep); + /* add separator line */ + sep = g_strnfill (linelength, '-'); + buff = g_strdup_printf ("%s\n%s\n%s\n", sep, line, sep); + g_free (line); + g_free (sep); - return buff; + return buff; } gchar * passes_to_txt_tblcontents (GSList *passes, qth_t *qth, gint fields) { - gchar *fmtstr; - time_t t; - guint size; - gchar tbuff[TIME_FORMAT_MAX_LENGTH]; - guint i,num; - gchar *line; - gchar *data = NULL; - gchar *buff; - pass_t *pass; + gchar *fmtstr; + time_t t; + guint size; + gchar tbuff[TIME_FORMAT_MAX_LENGTH]; + guint i,num; + gchar *line = NULL; + gchar *data = NULL; + gchar *buff; + pass_t *pass; - pass = PASS (g_slist_nth_data (passes, 0)); + pass = PASS (g_slist_nth_data (passes, 0)); - /* first, get the length of the time field */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - t = (pass->aos - 2440587.5)*86400.; + /* first, get the length of the time field */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + t = (pass->aos - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - /* get number of rows */ - num = g_slist_length (passes); + if (size == 0) + /* size > TIME_FORMAT_MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - for (i = 0; i < num; i++) { + /* get number of rows */ + num = g_slist_length (passes); - pass = PASS (g_slist_nth_data (passes, i)); + for (i = 0; i < num; i++) { - /* AOS */ - t = (pass->aos - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + pass = PASS (g_slist_nth_data (passes, i)); - if (size < TIME_FORMAT_MAX_LENGTH) - tbuff[size]='\0'; - else - tbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + /* AOS */ + t = (pass->aos - 2440587.5)*86400.; + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - line = g_strdup_printf (" %s", tbuff); + if (size == 0) + /* size > TIME_FORMAT_MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - /* TCA */ - t = (pass->tca - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + /* TCA */ + t = (pass->tca - 2440587.5)*86400.; + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - if (size < TIME_FORMAT_MAX_LENGTH) - tbuff[size]='\0'; - else - tbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + if (size == 0) + /* size > TIME_FORMAT_MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - buff = g_strdup (line); - g_free (line); - line = g_strdup_printf ("%s %s", buff, tbuff); - g_free (buff); + + buff = g_strdup (line); + g_free (line); + line = g_strdup_printf ("%s %s", buff, tbuff); + g_free (buff); - /* LOS */ - t = (pass->los - 2440587.5)*86400.; - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + /* LOS */ + t = (pass->los - 2440587.5)*86400.; + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (tbuff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - if (size < TIME_FORMAT_MAX_LENGTH) - tbuff[size]='\0'; - else - tbuff[TIME_FORMAT_MAX_LENGTH]='\0'; + if (size == 0) + /* size > TIME_FORMAT_MAX_LENGTH */ + tbuff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; - buff = g_strdup (line); - g_free (line); - line = g_strdup_printf ("%s %s", buff, tbuff); - g_free (buff); - /* Duration */ - if (fields & (1 << MULTI_PASS_COL_DURATION)) { - guint h,m,s; - gchar *ch,*cm,*cs; + buff = g_strdup (line); + g_free (line); + line = g_strdup_printf ("%s %s", buff, tbuff); + g_free (buff); - /* convert julian date to seconds */ - s = (guint) ((pass->los - pass->aos) * 86400); + /* Duration */ + if (fields & (1 << MULTI_PASS_COL_DURATION)) { + guint h,m,s; + gchar *ch,*cm,*cs; - /* extract hours */ - h = (guint) floor (s/3600); - s -= 3600*h; + /* convert julian date to seconds */ + s = (guint) ((pass->los - pass->aos) * 86400); - /* leading zero */ - if (h < 10) - ch = g_strdup ("0"); - else - ch = g_strdup (""); + /* extract hours */ + h = (guint) floor (s/3600); + s -= 3600*h; - /* extract minutes */ - m = (guint) floor (s/60); - s -= 60*m; + /* leading zero */ + if (h < 10) + ch = g_strdup ("0"); + else + ch = g_strdup (""); - /* leading zero */ - if (m < 10) - cm = g_strdup (":0"); - else - cm = g_strdup (":"); + /* extract minutes */ + m = (guint) floor (s/60); + s -= 60*m; - /* leading zero */ - if (s < 10) - cs = g_strdup (":0"); - else - cs = g_strdup (":"); + /* leading zero */ + if (m < 10) + cm = g_strdup (":0"); + else + cm = g_strdup (":"); - buff = g_strdup_printf ("%s %s%d%s%d%s%d", line, ch, h, cm, m, cs, s); - g_free (line); - line = g_strdup (buff); - g_free (buff); - g_free (ch); - g_free (cm); - g_free (cs); - } + /* leading zero */ + if (s < 10) + cs = g_strdup (":0"); + else + cs = g_strdup (":"); - /* Max El */ - if (fields & (1 << MULTI_PASS_COL_MAX_EL)) { - buff = g_strdup_printf ("%s %6.2f", line, pass->max_el); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + buff = g_strdup_printf ("%s %s%d%s%d%s%d", line, ch, h, cm, m, cs, s); + g_free (line); + line = g_strdup (buff); + g_free (buff); + g_free (ch); + g_free (cm); + g_free (cs); + } - /* AOS Az */ - if (fields & (1 << MULTI_PASS_COL_AOS_AZ)) { - buff = g_strdup_printf ("%s %6.2f", line, pass->aos_az); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Max El */ + if (fields & (1 << MULTI_PASS_COL_MAX_EL)) { + buff = g_strdup_printf ("%s %6.2f", line, pass->max_el); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Max El Az */ - if (fields & (1 << MULTI_PASS_COL_MAX_EL_AZ)) { - buff = g_strdup_printf ("%s %9.2f", line, pass->maxel_az); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* AOS Az */ + if (fields & (1 << MULTI_PASS_COL_AOS_AZ)) { + buff = g_strdup_printf ("%s %6.2f", line, pass->aos_az); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* LOS Az */ - if (fields & (1 << MULTI_PASS_COL_LOS_AZ)) { - buff = g_strdup_printf ("%s %6.2f", line, pass->los_az); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Max El Az */ + if (fields & (1 << MULTI_PASS_COL_MAX_EL_AZ)) { + buff = g_strdup_printf ("%s %9.2f", line, pass->maxel_az); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Orbit */ - if (fields & (1 << MULTI_PASS_COL_ORBIT)) { - buff = g_strdup_printf ("%s %5d", line, pass->orbit); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* LOS Az */ + if (fields & (1 << MULTI_PASS_COL_LOS_AZ)) { + buff = g_strdup_printf ("%s %6.2f", line, pass->los_az); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* Visibility */ - if (fields & (1 << MULTI_PASS_COL_VIS)) { - buff = g_strdup_printf ("%s %s", line, pass->vis); - g_free (line); - line = g_strdup (buff); - g_free (buff); - } + /* Orbit */ + if (fields & (1 << MULTI_PASS_COL_ORBIT)) { + buff = g_strdup_printf ("%s %5d", line, pass->orbit); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - /* append line to return string */ - if (i == 0) { - data = g_strdup_printf ("%s\n", line); - g_free (line); - } - else { - buff = g_strconcat (data, line, "\n", NULL); - g_free (data); - data = g_strdup (buff); - g_free (buff); - } + /* Visibility */ + if (fields & (1 << MULTI_PASS_COL_VIS)) { + buff = g_strdup_printf ("%s %s", line, pass->vis); + g_free (line); + line = g_strdup (buff); + g_free (buff); + } - } + /* append line to return string */ + if (i == 0) { + data = g_strdup_printf ("%s\n", line); + g_free (line); + } + else { + buff = g_strconcat (data, line, "\n", NULL); + g_free (data); + data = g_strdup (buff); + g_free (buff); + } - g_free (fmtstr); + } - return data; + g_free (fmtstr); + + return data; } @@ -745,49 +748,49 @@ /*** FIXME: formalise with other copies */ static void Calc_RADec (gdouble jul_utc, gdouble saz, gdouble sel, - qth_t *qth, obs_astro_t *obs_set) + qth_t *qth, obs_astro_t *obs_set) { - double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, - az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, - Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; - geodetic_t geodetic; + double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, + az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, + Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; + geodetic_t geodetic; - geodetic.lon = qth->lon * de2ra; - geodetic.lat = qth->lat * de2ra; - geodetic.alt = qth->alt / 1000.0; - geodetic.theta = 0; + geodetic.lon = qth->lon * de2ra; + geodetic.lat = qth->lat * de2ra; + geodetic.alt = qth->alt / 1000.0; + geodetic.theta = 0; - az = saz * de2ra; - el = sel * de2ra; - phi = geodetic.lat; - theta = FMod2p(ThetaG_JD(jul_utc) + geodetic.lon); - sin_theta = sin(theta); - cos_theta = cos(theta); - sin_phi = sin(phi); - cos_phi = cos(phi); - Lxh = -cos(az) * cos(el); - Lyh = sin(az) * cos(el); - Lzh = sin(el); - Sx = sin_phi * cos_theta; - Ex = -sin_theta; - Zx = cos_theta * cos_phi; - Sy = sin_phi * sin_theta; - Ey = cos_theta; - Zy = sin_theta*cos_phi; - Sz = -cos_phi; - Ez = 0; - Zz = sin_phi; - Lx = Sx*Lxh + Ex * Lyh + Zx*Lzh; - Ly = Sy*Lxh + Ey * Lyh + Zy*Lzh; - Lz = Sz*Lxh + Ez * Lyh + Zz*Lzh; - obs_set->dec = ArcSin(Lz); /* Declination (radians)*/ - cos_delta = sqrt(1 - Sqr(Lz)); - sin_alpha = Ly / cos_delta; - cos_alpha = Lx / cos_delta; - obs_set->ra = AcTan(sin_alpha,cos_alpha); /* Right Ascension (radians)*/ - obs_set->ra = FMod2p(obs_set->ra); + az = saz * de2ra; + el = sel * de2ra; + phi = geodetic.lat; + theta = FMod2p(ThetaG_JD(jul_utc) + geodetic.lon); + sin_theta = sin(theta); + cos_theta = cos(theta); + sin_phi = sin(phi); + cos_phi = cos(phi); + Lxh = -cos(az) * cos(el); + Lyh = sin(az) * cos(el); + Lzh = sin(el); + Sx = sin_phi * cos_theta; + Ex = -sin_theta; + Zx = cos_theta * cos_phi; + Sy = sin_phi * sin_theta; + Ey = cos_theta; + Zy = sin_theta*cos_phi; + Sz = -cos_phi; + Ez = 0; + Zz = sin_phi; + Lx = Sx*Lxh + Ex * Lyh + Zx*Lzh; + Ly = Sy*Lxh + Ey * Lyh + Zy*Lzh; + Lz = Sz*Lxh + Ez * Lyh + Zz*Lzh; + obs_set->dec = ArcSin(Lz); /* Declination (radians)*/ + cos_delta = sqrt(1 - Sqr(Lz)); + sin_alpha = Ly / cos_delta; + cos_alpha = Lx / cos_delta; + obs_set->ra = AcTan(sin_alpha,cos_alpha); /* Right Ascension (radians)*/ + obs_set->ra = FMod2p(obs_set->ra); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 19:23:14
|
Revision: 304 http://gpredict.svn.sourceforge.net/gpredict/?rev=304&view=rev Author: csete Date: 2009-05-13 19:23:07 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed indentation. Modified Paths: -------------- trunk/src/sat-pass-dialogs.c Modified: trunk/src/sat-pass-dialogs.c =================================================================== --- trunk/src/sat-pass-dialogs.c 2009-05-13 19:22:04 UTC (rev 303) +++ trunk/src/sat-pass-dialogs.c 2009-05-13 19:23:07 UTC (rev 304) @@ -55,171 +55,171 @@ /** \brief Column titles for multi-pass lists */ const gchar *MULTI_PASS_COL_TITLE[MULTI_PASS_COL_NUMBER] = { - N_("AOS"), - N_("TCA"), - N_("LOS"), - N_("Duration"), - N_("Max El"), - N_("AOS Az"), - N_("Max El Az"), - N_("LOS Az"), - N_("Orbit"), - N_("Vis") + N_("AOS"), + N_("TCA"), + N_("LOS"), + N_("Duration"), + N_("Max El"), + N_("AOS Az"), + N_("Max El Az"), + N_("LOS Az"), + N_("Orbit"), + N_("Vis") }; /** \brief Descriptive text for multi-pass list columns. */ const gchar *MULTI_PASS_COL_HINT[MULTI_PASS_COL_NUMBER] = { - N_("Aquisition of signal (AOS)"), - N_("Time of Closest Approach (TCA)"), - N_("Loss of signal (LOS)"), - N_("Duration of pass"), - N_("Maximum elevation"), - N_("Azimuth at AOS"), - N_("Az at max. elevation"), - N_("Azimuth at LOS"), - N_("Orbit number"), - N_("Visibility during pass") + N_("Aquisition of signal (AOS)"), + N_("Time of Closest Approach (TCA)"), + N_("Loss of signal (LOS)"), + N_("Duration of pass"), + N_("Maximum elevation"), + N_("Azimuth at AOS"), + N_("Az at max. elevation"), + N_("Azimuth at LOS"), + N_("Orbit number"), + N_("Visibility during pass") }; const gdouble MULTI_PASS_COL_XALIGN[MULTI_PASS_COL_NUMBER] = { - 0.5, // AOS - 0.5, // TCA - 0.5, // LOS - 0.5, // duration - 1.0, // max el - 1.0, // aos az - 1.0, // max el az - 1.0, // los az - 1.0, // orbit - 0.5, // visibility + 0.5, // AOS + 0.5, // TCA + 0.5, // LOS + 0.5, // duration + 1.0, // max el + 1.0, // aos az + 1.0, // max el az + 1.0, // los az + 1.0, // orbit + 0.5, // visibility }; /** \brief Column titles indexed with column symb. refs. */ const gchar *SINGLE_PASS_COL_TITLE[SINGLE_PASS_COL_NUMBER] = { - N_("Time"), - N_("Az"), - N_("El"), - N_("Ra"), - N_("Dec"), - N_("Range"), - N_("Rate"), - N_("Lat"), - N_("Lon"), - N_("SSP"), - N_("Footp"), - N_("Alt"), - N_("Vel"), - N_("Dop"), - N_("Loss"), - N_("Del"), - N_("MA"), - N_("Phase"), - N_("Vis") + N_("Time"), + N_("Az"), + N_("El"), + N_("Ra"), + N_("Dec"), + N_("Range"), + N_("Rate"), + N_("Lat"), + N_("Lon"), + N_("SSP"), + N_("Footp"), + N_("Alt"), + N_("Vel"), + N_("Dop"), + N_("Loss"), + N_("Del"), + N_("MA"), + N_("Phase"), + N_("Vis") }; /** \brief Column title hints indexed with column symb. refs. */ const gchar *SINGLE_PASS_COL_HINT[SINGLE_PASS_COL_NUMBER] = { - N_("Time"), - N_("Azimuth"), - N_("Elevation"), - N_("Right Ascension"), - N_("Declination"), - N_("Slant Range"), - N_("Range Rate"), - N_("Latitude"), - N_("Longitude"), - N_("Sub-Satellite Point"), - N_("Footprint"), - N_("Altitude"), - N_("Velocity"), - N_("Doppler Shift @ 100MHz"), - N_("Signal Loss @ 100MHz"), - N_("Signal Delay"), - N_("Mean Anomaly"), - N_("Orbit Phase"), - N_("Visibility") + N_("Time"), + N_("Azimuth"), + N_("Elevation"), + N_("Right Ascension"), + N_("Declination"), + N_("Slant Range"), + N_("Range Rate"), + N_("Latitude"), + N_("Longitude"), + N_("Sub-Satellite Point"), + N_("Footprint"), + N_("Altitude"), + N_("Velocity"), + N_("Doppler Shift @ 100MHz"), + N_("Signal Loss @ 100MHz"), + N_("Signal Delay"), + N_("Mean Anomaly"), + N_("Orbit Phase"), + N_("Visibility") }; const gdouble SINGLE_PASS_COL_XALIGN[SINGLE_PASS_COL_NUMBER] = { - 0.5, // time - 1.0, // az - 1.0, // el - 1.0, // RA - 1.0, // dec - 1.0, // range - 1.0, // range rate - 1.0, // lat - 1.0, // lon - 0.0, // SSP - 1.0, // footprint - 1.0, // alt - 0.0, // vel - 1.0, // doppler - 0.0, // loss - 0.0, // delay - 1.0, // MA - 1.0, // phase - 0.5, // visibility + 0.5, // time + 1.0, // az + 1.0, // el + 1.0, // RA + 1.0, // dec + 1.0, // range + 1.0, // range rate + 1.0, // lat + 1.0, // lon + 0.0, // SSP + 1.0, // footprint + 1.0, // alt + 0.0, // vel + 1.0, // doppler + 0.0, // loss + 0.0, // delay + 1.0, // MA + 1.0, // phase + 0.5, // visibility }; static void check_and_set_single_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i); + GtkCellRenderer *renderer, + gint i); static void check_and_set_multi_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i); + GtkCellRenderer *renderer, + gint i); static void latlon_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void degree_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void distance_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void range_rate_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void float_to_int_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void two_dec_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void time_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static void duration_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column); + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); static gint single_pass_dialog_delete (GtkWidget *, GdkEvent *, gpointer); @@ -231,15 +231,15 @@ static gboolean popup_menu_cb (GtkWidget *treeview, gpointer data); static gboolean button_press_cb (GtkWidget *treeview, - GdkEventButton *event, - gpointer data); + GdkEventButton *event, + gpointer data); static void view_popup_menu (GtkWidget *treeview, - GdkEventButton *event, - gpointer data); + GdkEventButton *event, + gpointer data); static void Calc_RADec (gdouble jul_utc, gdouble saz, gdouble sel, - qth_t *qth, obs_astro_t *obs_set); + qth_t *qth, obs_astro_t *obs_set); static void single_pass_response (GtkWidget *dialog, gint response, gpointer data); static void multi_pass_response (GtkWidget *dialog, gint response, gpointer data); @@ -266,264 +266,264 @@ void show_pass (const gchar *satname, qth_t *qth, pass_t *pass, GtkWidget *toplevel) { - GtkWidget *dialog; /* the dialogue window */ - GtkWidget *notebook; /* the notebook widet */ - GtkWidget *list; - GtkListStore *liststore; - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - GtkTreeIter item; - GtkWidget *swin; /* scrolled window containing the list view */ - GtkWidget *polar; /* polar plot */ - GtkWidget *azel; /* Az/El plot */ - GtkWidget *hbox; /* hbox used in tab headers */ - GtkWidget *image; /* icon used in tab header */ - gchar *title; - guint flags; - guint i, num; - pass_detail_t *detail; - gchar *buff; - gint retcode; - gdouble doppler; - gdouble delay; - gdouble loss; - obs_astro_t astro; - gdouble ra,dec; + GtkWidget *dialog; /* the dialogue window */ + GtkWidget *notebook; /* the notebook widet */ + GtkWidget *list; + GtkListStore *liststore; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + GtkTreeIter item; + GtkWidget *swin; /* scrolled window containing the list view */ + GtkWidget *polar; /* polar plot */ + GtkWidget *azel; /* Az/El plot */ + GtkWidget *hbox; /* hbox used in tab headers */ + GtkWidget *image; /* icon used in tab header */ + gchar *title; + guint flags; + guint i, num; + pass_detail_t *detail; + gchar *buff; + gint retcode; + gdouble doppler; + gdouble delay; + gdouble loss; + obs_astro_t astro; + gdouble ra,dec; - /* get columns flags */ - flags = sat_cfg_get_int (SAT_CFG_INT_PRED_SINGLE_COL); + /* get columns flags */ + flags = sat_cfg_get_int (SAT_CFG_INT_PRED_SINGLE_COL); - /* create list */ - list = gtk_tree_view_new (); - gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (list), TRUE); + /* create list */ + list = gtk_tree_view_new (); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (list), TRUE); - for (i = 0; i < SINGLE_PASS_COL_NUMBER; i++) { + for (i = 0; i < SINGLE_PASS_COL_NUMBER; i++) { - renderer = gtk_cell_renderer_text_new (); - g_object_set (G_OBJECT (renderer), "xalign", SINGLE_PASS_COL_XALIGN[i], NULL); - column = gtk_tree_view_column_new_with_attributes (_(SINGLE_PASS_COL_TITLE[i]), - renderer, - "text", i, - NULL); - gtk_tree_view_insert_column (GTK_TREE_VIEW (list), column, -1); + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), "xalign", SINGLE_PASS_COL_XALIGN[i], NULL); + column = gtk_tree_view_column_new_with_attributes (_(SINGLE_PASS_COL_TITLE[i]), + renderer, + "text", i, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (list), column, -1); - /* only aligns the headers */ - gtk_tree_view_column_set_alignment (column, 0.5); + /* only aligns the headers */ + gtk_tree_view_column_set_alignment (column, 0.5); - /* set cell data function; allows to format data before rendering */ - check_and_set_single_cell_renderer (column, renderer, i); + /* set cell data function; allows to format data before rendering */ + check_and_set_single_cell_renderer (column, renderer, i); - /* hide columns that have not been specified */ - if (!(flags & (1 << i))) { - gtk_tree_view_column_set_visible (column, FALSE); - } + /* hide columns that have not been specified */ + if (!(flags & (1 << i))) { + gtk_tree_view_column_set_visible (column, FALSE); + } - } + } - /* create and fill model */ - liststore = gtk_list_store_new (SINGLE_PASS_COL_NUMBER, - G_TYPE_DOUBLE, // time - G_TYPE_DOUBLE, // az - G_TYPE_DOUBLE, // el - G_TYPE_DOUBLE, // ra - G_TYPE_DOUBLE, // dec - G_TYPE_DOUBLE, // range - G_TYPE_DOUBLE, // range rate - G_TYPE_DOUBLE, // lat - G_TYPE_DOUBLE, // lon - G_TYPE_STRING, // SSP - G_TYPE_DOUBLE, // footprint - G_TYPE_DOUBLE, // alt - G_TYPE_DOUBLE, // vel - G_TYPE_DOUBLE, // doppler - G_TYPE_DOUBLE, // loss - G_TYPE_DOUBLE, // delay - G_TYPE_DOUBLE, // ma - G_TYPE_DOUBLE, // phase - G_TYPE_STRING); // visibility + /* create and fill model */ + liststore = gtk_list_store_new (SINGLE_PASS_COL_NUMBER, + G_TYPE_DOUBLE, // time + G_TYPE_DOUBLE, // az + G_TYPE_DOUBLE, // el + G_TYPE_DOUBLE, // ra + G_TYPE_DOUBLE, // dec + G_TYPE_DOUBLE, // range + G_TYPE_DOUBLE, // range rate + G_TYPE_DOUBLE, // lat + G_TYPE_DOUBLE, // lon + G_TYPE_STRING, // SSP + G_TYPE_DOUBLE, // footprint + G_TYPE_DOUBLE, // alt + G_TYPE_DOUBLE, // vel + G_TYPE_DOUBLE, // doppler + G_TYPE_DOUBLE, // loss + G_TYPE_DOUBLE, // delay + G_TYPE_DOUBLE, // ma + G_TYPE_DOUBLE, // phase + G_TYPE_STRING); // visibility - /* add rows to list store */ - num = g_slist_length (pass->details); + /* add rows to list store */ + num = g_slist_length (pass->details); - - for (i = 0; i < num; i++) { + + for (i = 0; i < num; i++) { - detail = PASS_DETAIL(g_slist_nth_data (pass->details, i)); + detail = PASS_DETAIL(g_slist_nth_data (pass->details, i)); - gtk_list_store_append (liststore, &item); - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_TIME, detail->time, - SINGLE_PASS_COL_AZ, detail->az, - SINGLE_PASS_COL_EL, detail->el, - SINGLE_PASS_COL_RANGE, detail->range, - SINGLE_PASS_COL_RANGE_RATE, detail->range_rate, - SINGLE_PASS_COL_LAT, detail->lat, - SINGLE_PASS_COL_LON, detail->lon, - SINGLE_PASS_COL_FOOTPRINT, detail->footprint, - SINGLE_PASS_COL_ALT, detail->alt, - SINGLE_PASS_COL_VEL, detail->velo, - SINGLE_PASS_COL_MA, detail->ma, - SINGLE_PASS_COL_PHASE, detail->phase, - -1); - - /* SINGLE_PASS_COL_RA */ - /* SINGLE_PASS_COL_DEC */ - if (flags & (SINGLE_PASS_FLAG_RA | SINGLE_PASS_FLAG_DEC)) { + gtk_list_store_append (liststore, &item); + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_TIME, detail->time, + SINGLE_PASS_COL_AZ, detail->az, + SINGLE_PASS_COL_EL, detail->el, + SINGLE_PASS_COL_RANGE, detail->range, + SINGLE_PASS_COL_RANGE_RATE, detail->range_rate, + SINGLE_PASS_COL_LAT, detail->lat, + SINGLE_PASS_COL_LON, detail->lon, + SINGLE_PASS_COL_FOOTPRINT, detail->footprint, + SINGLE_PASS_COL_ALT, detail->alt, + SINGLE_PASS_COL_VEL, detail->velo, + SINGLE_PASS_COL_MA, detail->ma, + SINGLE_PASS_COL_PHASE, detail->phase, + -1); + + /* SINGLE_PASS_COL_RA */ + /* SINGLE_PASS_COL_DEC */ + if (flags & (SINGLE_PASS_FLAG_RA | SINGLE_PASS_FLAG_DEC)) { - Calc_RADec (detail->time, detail->az, detail->el, qth, &astro); + Calc_RADec (detail->time, detail->az, detail->el, qth, &astro); - ra = Degrees(astro.ra); - dec = Degrees(astro.dec); + ra = Degrees(astro.ra); + dec = Degrees(astro.dec); - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_RA, ra, - SINGLE_PASS_COL_DEC, dec, - -1); - } - - /* SINGLE_PASS_COL_SSP */ - if (flags & SINGLE_PASS_FLAG_SSP) { - - buff = g_try_malloc (7); + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_RA, ra, + SINGLE_PASS_COL_DEC, dec, + -1); + } + + /* SINGLE_PASS_COL_SSP */ + if (flags & SINGLE_PASS_FLAG_SSP) { + + buff = g_try_malloc (7); - retcode = longlat2locator (detail->lon, detail->lat, buff, 3); - if (retcode == RIG_OK) { - buff[6] = '\0'; - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_SSP, buff, - -1); - } - g_free (buff); - } - - /* SINGLE_PASS_COL_DOPPLER */ - if (flags & SINGLE_PASS_FLAG_DOPPLER) { - doppler = -100.0e06 * (detail->range_rate / 299792.4580); // Hz - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_DOPPLER, doppler, - -1); - } + retcode = longlat2locator (detail->lon, detail->lat, buff, 3); + if (retcode == RIG_OK) { + buff[6] = '\0'; + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_SSP, buff, + -1); + } + g_free (buff); + } + + /* SINGLE_PASS_COL_DOPPLER */ + if (flags & SINGLE_PASS_FLAG_DOPPLER) { + doppler = -100.0e06 * (detail->range_rate / 299792.4580); // Hz + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_DOPPLER, doppler, + -1); + } - /* SINGLE_PASS_COL_LOSS */ - if (flags & SINGLE_PASS_FLAG_LOSS) { - loss = 72.4 + 20.0*log10(detail->range); // dB - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_LOSS, loss, - -1); - } + /* SINGLE_PASS_COL_LOSS */ + if (flags & SINGLE_PASS_FLAG_LOSS) { + loss = 72.4 + 20.0*log10(detail->range); // dB + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_LOSS, loss, + -1); + } - /* SINGLE_PASS_COL_DELAY */ - if (flags & SINGLE_PASS_FLAG_DELAY) { - delay = detail->range / 299.7924580; // msec - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_DELAY, delay, - -1); - } + /* SINGLE_PASS_COL_DELAY */ + if (flags & SINGLE_PASS_FLAG_DELAY) { + delay = detail->range / 299.7924580; // msec + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_DELAY, delay, + -1); + } - /* SINGLE_PASS_COL_VIS */ - if (flags & SINGLE_PASS_FLAG_VIS) { - buff = g_strdup_printf ("%c", vis_to_chr (detail->vis)); - gtk_list_store_set (liststore, &item, - SINGLE_PASS_COL_VIS, buff, - -1); - g_free (buff); - } + /* SINGLE_PASS_COL_VIS */ + if (flags & SINGLE_PASS_FLAG_VIS) { + buff = g_strdup_printf ("%c", vis_to_chr (detail->vis)); + gtk_list_store_set (liststore, &item, + SINGLE_PASS_COL_VIS, buff, + -1); + g_free (buff); + } - } + } - /* connect model to tree view */ - gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (liststore)); - g_object_unref (liststore); + /* connect model to tree view */ + gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (liststore)); + g_object_unref (liststore); - /* scrolled window */ - swin = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), - GTK_POLICY_NEVER, - GTK_POLICY_AUTOMATIC); + /* scrolled window */ + swin = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (swin), list); + gtk_container_add (GTK_CONTAINER (swin), list); - /* create notebook and add pages */ - notebook = gtk_notebook_new (); - image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_MENU); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Data")), FALSE, TRUE, 5); - gtk_widget_show_all (hbox); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), swin, hbox); + /* create notebook and add pages */ + notebook = gtk_notebook_new (); + image = gtk_image_new_from_stock (GTK_STOCK_JUSTIFY_FILL, GTK_ICON_SIZE_MENU); + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Data")), FALSE, TRUE, 5); + gtk_widget_show_all (hbox); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), swin, hbox); - /* polar plot */ - polar = gtk_polar_plot_new (qth, pass); - buff = icon_file_name ("gpredict-polar-small.png"); - image = gtk_image_new_from_file (buff); - g_free (buff); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Polar")), FALSE, TRUE, 5); - gtk_widget_show_all (hbox); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), polar, hbox); + /* polar plot */ + polar = gtk_polar_plot_new (qth, pass); + buff = icon_file_name ("gpredict-polar-small.png"); + image = gtk_image_new_from_file (buff); + g_free (buff); + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Polar")), FALSE, TRUE, 5); + gtk_widget_show_all (hbox); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), polar, hbox); - /* Az/El plot */ - azel = gtk_azel_plot_new (qth, pass); - buff = icon_file_name ("gpredict-azel-small.png"); - image = gtk_image_new_from_file (buff); - g_free (buff); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Az/El")), FALSE, TRUE, 5); - gtk_widget_show_all (hbox); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), azel, hbox); + /* Az/El plot */ + azel = gtk_azel_plot_new (qth, pass); + buff = icon_file_name ("gpredict-azel-small.png"); + image = gtk_image_new_from_file (buff); + g_free (buff); + hbox = gtk_hbox_new (FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Az/El")), FALSE, TRUE, 5); + gtk_widget_show_all (hbox); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), azel, hbox); - /* create dialog */ - title = g_strdup_printf (_("Pass details for %s (orbit %d)"), - satname, pass->orbit); + /* create dialog */ + title = g_strdup_printf (_("Pass details for %s (orbit %d)"), + satname, pass->orbit); - /* use NULL as parent to avoid conflict when using undocked windows - as parents. - */ - dialog = gtk_dialog_new_with_buttons (title, - GTK_WINDOW (toplevel), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_PRINT, RESPONSE_PRINT, - GTK_STOCK_SAVE, RESPONSE_SAVE, - GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, - NULL); - g_free (title); + /* use NULL as parent to avoid conflict when using undocked windows + as parents. + */ + dialog = gtk_dialog_new_with_buttons (title, + GTK_WINDOW (toplevel), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_PRINT, RESPONSE_PRINT, + GTK_STOCK_SAVE, RESPONSE_SAVE, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, + NULL); + g_free (title); - /* Make Close button default */ - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); + /* Make Close button default */ + gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); - /* window icon */ - buff = icon_file_name ("gpredict-sat-list.png"); - gtk_window_set_icon_from_file (GTK_WINDOW (dialog), buff, NULL); - g_free (buff); + /* window icon */ + buff = icon_file_name ("gpredict-sat-list.png"); + gtk_window_set_icon_from_file (GTK_WINDOW (dialog), buff, NULL); + g_free (buff); - /* allow interaction with other windows */ - gtk_window_set_modal (GTK_WINDOW (dialog), FALSE); + /* allow interaction with other windows */ + gtk_window_set_modal (GTK_WINDOW (dialog), FALSE); - g_object_set_data (G_OBJECT (dialog), "sat", (gpointer) satname); - g_object_set_data (G_OBJECT (dialog), "qth", qth); - g_object_set_data (G_OBJECT (dialog), "pass", pass); + g_object_set_data (G_OBJECT (dialog), "sat", (gpointer) satname); + g_object_set_data (G_OBJECT (dialog), "qth", qth); + g_object_set_data (G_OBJECT (dialog), "pass", pass); - g_signal_connect (dialog, "response", - G_CALLBACK (single_pass_response), NULL); - g_signal_connect (dialog, "destroy", - G_CALLBACK (single_pass_dialog_destroy), NULL); - g_signal_connect (dialog, "delete_event", - G_CALLBACK (single_pass_dialog_delete), NULL); + g_signal_connect (dialog, "response", + G_CALLBACK (single_pass_response), NULL); + g_signal_connect (dialog, "destroy", + G_CALLBACK (single_pass_dialog_destroy), NULL); + g_signal_connect (dialog, "delete_event", + G_CALLBACK (single_pass_dialog_delete), NULL); - gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), notebook); + gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), notebook); - gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 300); - gtk_widget_show_all (dialog); + gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 300); + gtk_widget_show_all (dialog); } @@ -540,23 +540,23 @@ single_pass_response (GtkWidget *dialog, gint response, gpointer data) { - switch (response) { + switch (response) { - case RESPONSE_PRINT: + case RESPONSE_PRINT: sat_log_log (SAT_LOG_LEVEL_ERROR, _("%s: PRINT not implemented"), __FUNCTION__); - break; + break; - case RESPONSE_SAVE: - save_pass (dialog); - break; + case RESPONSE_SAVE: + save_pass (dialog); + break; - /* Close button or delete events */ - default: - gtk_widget_destroy (dialog); - break; - } + /* Close button or delete events */ + default: + gtk_widget_destroy (dialog); + break; + } } @@ -564,87 +564,87 @@ /** \brief Set cell renderer function. */ static void check_and_set_single_cell_renderer (GtkTreeViewColumn *column, - GtkCellRenderer *renderer, - gint i) + GtkCellRenderer *renderer, + gint i) { - switch (i) { + switch (i) { - /* general float with 2 dec. precision - no extra format besides a degree char - */ - case SINGLE_PASS_COL_AZ: - case SINGLE_PASS_COL_EL: - case SINGLE_PASS_COL_RA: - case SINGLE_PASS_COL_DEC: - case SINGLE_PASS_COL_MA: - case SINGLE_PASS_COL_PHASE: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - degree_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + /* general float with 2 dec. precision + no extra format besides a degree char + */ + case SINGLE_PASS_COL_AZ: + case SINGLE_PASS_COL_EL: + case SINGLE_PASS_COL_RA: + case SINGLE_PASS_COL_DEC: + case SINGLE_PASS_COL_MA: + case SINGLE_PASS_COL_PHASE: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + degree_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - /* LAT/LON format */ - case SINGLE_PASS_COL_LAT: - case SINGLE_PASS_COL_LON: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - latlon_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + /* LAT/LON format */ + case SINGLE_PASS_COL_LAT: + case SINGLE_PASS_COL_LON: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + latlon_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - /* distances and velocities */ - case SINGLE_PASS_COL_RANGE: - case SINGLE_PASS_COL_ALT: - case SINGLE_PASS_COL_FOOTPRINT: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - distance_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + /* distances and velocities */ + case SINGLE_PASS_COL_RANGE: + case SINGLE_PASS_COL_ALT: + case SINGLE_PASS_COL_FOOTPRINT: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + distance_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SINGLE_PASS_COL_VEL: - case SINGLE_PASS_COL_RANGE_RATE: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - range_rate_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SINGLE_PASS_COL_VEL: + case SINGLE_PASS_COL_RANGE_RATE: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + range_rate_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SINGLE_PASS_COL_DOPPLER: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - float_to_int_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SINGLE_PASS_COL_DOPPLER: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + float_to_int_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SINGLE_PASS_COL_DELAY: - case SINGLE_PASS_COL_LOSS: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - two_dec_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SINGLE_PASS_COL_DELAY: + case SINGLE_PASS_COL_LOSS: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + two_dec_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - case SINGLE_PASS_COL_TIME: - gtk_tree_view_column_set_cell_data_func (column, - renderer, - time_cell_data_function, - GUINT_TO_POINTER (i), - NULL); - break; + case SINGLE_PASS_COL_TIME: + gtk_tree_view_column_set_cell_data_func (column, + renderer, + time_cell_data_function, + GUINT_TO_POINTER (i), + NULL); + break; - default: - break; + default: + break; - } + } } @@ -660,109 +660,109 @@ */ static void latlon_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number = 0.0; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); - gchar hmf = ' '; + gdouble number = 0.0; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); + gchar hmf = ' '; - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* check whether configuration requests the use - of N, S, E and W instead of signs - */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { + /* check whether configuration requests the use + of N, S, E and W instead of signs + */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_NSEW)) { - if (coli == SINGLE_PASS_COL_LAT) { - if (number < 0.00) { - number = -number; - hmf = 'S'; - } - else { - hmf = 'N'; - } - } - else if (coli == SINGLE_PASS_COL_LON) { - if (number < 0.00) { - number = -number; - hmf = 'W'; - } - else { - hmf = 'E'; - } - } - else { - sat_log_log (SAT_LOG_LEVEL_BUG, - _("%s:%d: Invalid column: %d"), - __FILE__, __LINE__, - coli); - hmf = '?'; - } - } + if (coli == SINGLE_PASS_COL_LAT) { + if (number < 0.00) { + number = -number; + hmf = 'S'; + } + else { + hmf = 'N'; + } + } + else if (coli == SINGLE_PASS_COL_LON) { + if (number < 0.00) { + number = -number; + hmf = 'W'; + } + else { + hmf = 'E'; + } + } + else { + sat_log_log (SAT_LOG_LEVEL_BUG, + _("%s:%d: Invalid column: %d"), + __FILE__, __LINE__, + coli); + hmf = '?'; + } + } - /* format the number */ - buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); - g_object_set (renderer, - "text", buff, - "xalign", 1.0, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.2f\302\260%c", number, hmf); + g_object_set (renderer, + "text", buff, + "xalign", 1.0, + NULL); + g_free (buff); } /* general floats with 2 digits + degree char */ static void degree_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* format the number */ - buff = g_strdup_printf ("%.2f\302\260", number); - g_object_set (renderer, - "text", buff, - "xalign", 1.0, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.2f\302\260", number); + g_object_set (renderer, + "text", buff, + "xalign", 1.0, + NULL); + g_free (buff); } /* distance and velocity, 0 decimal digits */ static void distance_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* convert distance to miles? */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - number = KM_TO_MI(number); - } + /* convert distance to miles? */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + number = KM_TO_MI(number); + } - /* format the number */ - buff = g_strdup_printf ("%.0f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.0f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* range rate is special, because we may need to convert to miles @@ -770,127 +770,127 @@ */ static void range_rate_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* convert distance to miles? */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { - number = KM_TO_MI(number); - } + /* convert distance to miles? */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_IMPERIAL)) { + number = KM_TO_MI(number); + } - /* format the number */ - buff = g_strdup_printf ("%.3f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.3f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* 0 decimal digits */ static void float_to_int_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* format the number */ - buff = g_strdup_printf ("%.0f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.0f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* 2 decimal digits */ static void two_dec_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar *buff; - guint coli = GPOINTER_TO_UINT (column); + gdouble number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); - gtk_tree_model_get (model, iter, coli, &number, -1); + gtk_tree_model_get (model, iter, coli, &number, -1); - /* format the number */ - buff = g_strdup_printf ("%.2f", number); - g_object_set (renderer, - "text", buff, - NULL); - g_free (buff); + /* format the number */ + buff = g_strdup_printf ("%.2f", number); + g_object_set (renderer, + "text", buff, + NULL); + g_free (buff); } /* AOS/LOS; convert julian date to string */ static void time_cell_data_function (GtkTreeViewColumn *col, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer column) + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) { - gdouble number; - gchar buff[TIME_FORMAT_MAX_LENGTH]; - gchar *fmtstr; - guint coli = GPOINTER_TO_UINT (column); - time_t t; - guint size; + gdouble number; + gchar buff[TIME_FORMAT_MAX_LENGTH]; + gchar *fmtstr; + guint coli = GPOINTER_TO_UINT (column); + time_t t; + guint size; - gtk_tree_model_get (model, iter, coli, &number, -1); - - if (number == 0.0) { - g_object_set (renderer, - "text", "--- N/A ---", - NULL); - } - else { + gtk_tree_model_get (model, iter, coli, &number, -1); + + if (number == 0.0) { + g_object_set (renderer, + "text", "--- N/A ---", + NULL); + } + else { - /* convert julian date to struct tm */ - t = (number - 2440587.5)*86400.; + /* convert julian date to struct tm */ + t = (number - 2440587.5)*86400.; - /* format the number */ - fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); + /* format the number */ + fmtstr = sat_cfg_get_str (SAT_CFG_STR_TIME_FORMAT); - /* format either local time or UTC depending on check box */ - if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) - size = strftime (buff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); - else - size = strftime (buff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); - + /* format either local time or UTC depending on check box */ + if (sat_cfg_get_bool (SAT_CFG_BOOL_USE_LOCAL_TIME)) + size = strftime (buff, TIME_FORMAT_MAX_LENGTH, fmtstr, localtime (&t)); + else + size = strftime (buff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (size == 0) /* size > MAX_LENGTH */ buff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; /* - if (size < TIME_FORMAT_MAX_LENGTH) - buff[size]='\0'; - else - buff[TIME_FORMAT_MAX_LENGTH]='\0'; + if (size < TIME_FORMAT_MAX_LENGTH) + buff[size]='\0'; + else + buff[TIME_FORMAT_MAX_LENGTH]='\0'; */ - g_object_set (renderer, - "text", buff, - NULL); + g_object_set (renderer, + "text", buff, + NULL); - g_free (fmtstr); - } + g_free (fmtstr); + } } @@ -899,67 +899,67 @@ static gint single_pass_dialog_delete (GtkWidget *dialog, GdkEvent *event, gpointer pass) { - /* dialog will be destroyed */ - return FALSE; + /* dialog will be destroyed */ + return FALSE; } static void single_pass_dialog_destroy (GtkWidget *dialog, gpointer data) { - pass_t *pass = PASS(g_object_get_data (G_OBJECT (dialog), "pass")); + pass_t *pass = PASS(g_object_get_data (G_OBJECT (dialog), "pass")); - free_pass (PASS(pass)); + free_pass (PASS(pass)); - gtk_widget_destroy (dialog); + gtk_widget_destroy (dialog); } /*** FIXME: formalise with other copies */ static void Calc_RADec (gdouble jul_utc, gdouble saz, gdouble sel, - qth_t *qth, obs_astro_t *obs_set) + qth_t *qth, obs_astro_t *obs_set) { - double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, - az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, - Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; - geodetic_t geodetic; + double phi,theta,sin_theta,cos_theta,sin_phi,cos_phi, + az,el,Lxh,Lyh,Lzh,Sx,Ex,Zx,Sy,Ey,Zy,Sz,Ez,Zz, + Lx,Ly,Lz,cos_delta,sin_alpha,cos_alpha; + geodetic_t geodetic; - geodetic.lon = qth->lon * de2ra; - geodetic.lat = qth->lat * de2ra; - geodetic.alt = qth->alt / 1000.0; - geodetic.theta = 0; + geodetic.lon = qth->lon * de2ra; + geodetic.lat = qth->lat * de2ra; + geodetic.alt = qth->alt / 1000.0; + geodetic.theta = 0; - az = saz * de2ra; - el = sel * de2ra; - phi = geodetic.lat; - theta = FMod2p(ThetaG_JD(jul_utc) + geodetic.lon); - sin_theta = sin(theta); - cos_theta = cos(theta); - sin_phi = sin(phi); - cos_phi = cos(phi); - Lxh = -cos(az) * cos(el); - Lyh = sin(az) * cos(el); - Lzh = sin(el); - Sx = sin_phi * cos_theta; - Ex = -sin_theta; - Zx = cos_theta * cos_phi; - Sy = sin_phi * sin_theta; - Ey = cos_theta; - Zy = sin_theta*cos_phi; - Sz = -cos_phi; - Ez = 0; - Zz = sin_phi; - Lx = Sx*Lxh + Ex * Lyh + Zx*Lzh; - Ly = Sy*Lxh + Ey * Lyh + Zy*Lzh; - Lz = Sz*Lxh + Ez * Lyh + Zz*Lzh; - obs_set->dec = ArcSin(Lz); /* Declination (radians)*/ - cos_delta = sqrt(1 - Sqr(Lz)); - sin_alpha = Ly / cos_delta; - cos_alpha = Lx / cos_delta; - obs_set->ra = AcTan(sin_alpha,cos_alpha); /* Right Ascension (radians)*/ - obs_set->ra = FMod2p(obs_set->ra); + az = saz * de2ra; + el = sel * de2ra; + phi = geodetic.lat; + theta = FMod2p(ThetaG_JD(jul_utc) + geodetic.lon); + sin_theta = sin(theta); + cos_theta = cos(theta); + sin_phi = sin(phi); + cos_phi = cos(phi); + Lxh = -cos(az) * cos(el); + Lyh = sin(az) * cos(el); + Lzh = sin(el); + Sx = sin_phi * cos_theta; + Ex = -sin_theta; + Zx = cos_theta * cos_phi; + Sy = sin_phi * sin_theta; + Ey = cos_theta; + Zy = sin_theta*cos_phi; + Sz = -cos_phi; + Ez = 0; + Zz = sin_phi; + Lx = Sx*Lxh + Ex * Lyh + Zx*Lzh; + Ly = Sy*Lxh + Ey * Lyh + Zy*Lzh; + Lz = Sz*Lxh + Ez * Lyh + Zz*Lzh; + obs_set->dec = ArcSin(Lz); /* Declination (radians)*/ + cos_delta = sqrt(1 - Sqr(Lz)); + sin_alpha = Ly / cos_delta; + cos_alpha = Lx / cos_delta; + obs_set->ra = AcTan(sin_alpha,cos_alpha); /* Right Ascension (radians)*/ + obs_set->ra = FMod2p(obs_set->ra); } @@ -979,156 +979,156 @@ void show_passes (const gchar *satname, qth_t *qth, GSList *passes, GtkWidget *toplevel) { - GtkWidget *dialog; - GtkWidget *list; - GtkListStore *liststore; - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - GtkTreeIter item; - GtkWidget *swin; - gchar *title; - guint flags; - guint i, num; - pass_t *pass = NULL; - gchar *buff; + GtkWidget *dialog; + GtkWidget *list; + GtkListStore *liststore; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + GtkTreeIter item; + GtkWidget *swin; + gchar *title; + guint flags; + guint i, num; + pass_t *pass = NULL; + gchar *buff; - /* get columns flags */ - flags = sat_cfg_get_int (SAT_CFG_INT_PRED_MULTI_COL); + /* get columns flags */ + flags = sat_cfg_get_int (SAT_CFG_INT_PRED_MULTI_COL); - /* create list */ - list = gtk_tree_view_new (); - gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (list), TRUE); + /* create list */ + list = gtk_tree_view_new (); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (list), TRUE); - for (i = 0; i < MULTI_PASS_COL_NUMBER; i++) { + for (i = 0; i < MULTI_PASS_COL_NUMBER; i++) { - renderer = gtk_cell_renderer_text_new (); - g_object_set (G_OBJECT (renderer), "xalign", MULTI_PASS_COL_XALIGN[i], NULL); - column = gtk_tree_view_column_new_with_attributes (_(MULTI_PASS_COL_TITLE[i]), - renderer, - "text", i, - NULL); - gtk_tree_view_insert_column (GTK_TREE_VIEW (list), column, -1); + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), "xalign", MULTI_PASS_COL_XALIGN[i], NULL); + column = gtk_tree_view_column_new_with_attributes (_(MULTI_PASS_COL_TITLE[i]), + renderer, + "text", i, + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (list), column, -1); - /* only aligns the headers */ - gtk_tree_view_column_set_alignment (column, 0.5); + /* only aligns the headers */ + gtk_tree_view_column_set_alignment (column, 0.5); - /* set cell data function; allows to format data before rendering */ - check_and_set_multi_cell_renderer (column, renderer, i); + /* set cell data function; allows to format data before rendering */ + check_and_set_multi_cell_renderer (column, renderer, i); - /* hide columns that have not been specified */ - if (!(flags & (1 << i))) { - gtk_tree_view_column_set_visible (column, FALSE); - } + /* hide columns that have not been specified */ + if (!(flags & (1 << i))) { + gtk_tree_view_column_set_visible (column, FALSE); + } - } + } - /* create and fill model */ - liststore = gtk_list_store_new (MULTI_PASS_COL_NUMBER+1, - G_TYPE_DOUBLE, // aos time - G_TYPE_DOUBLE, // tca time - G_TYPE_DOUBLE, // los time - G_TYPE_DOUBLE, // duration - G_TYPE_DOUBLE, // aos az - G_TYPE_DOUBLE, // max el - G_TYPE_DOUBLE, // az @ max el - G_TYPE_DOUBLE, // los az - G_TYPE_INT, // orbit - G_TYPE_STRING, // visibility - G_TYPE_INT); // row number + /* create and fill model */ + liststore = gtk_list_store_new (MULTI_PASS_COL_NUMBER+1, + G_TYPE_DOUBLE, // aos time + G_TYPE_DOUBLE, // tca time + G_TYPE_DOUBLE, // los time + G_TYPE_DOUBLE, // duration + G_TYPE_DOUBLE, // aos az + G_TYPE_DOUBLE, // max el + G_TYPE_DOUBLE, // az @ max el + G_TYPE_DOUBLE, // los az + G_TYPE_INT, // orbit + G_TYPE_STRING, // visibility + G_TYPE_INT); // row number - /* add rows to list store */ - num = g_slist_length (passes); - - for (i = 0; i < num; i++) { + /* add rows to list store */ + num = g_slist_length (passes); + + for (i = 0; i < num; i++) { - pass = PASS(g_slist_nth_data (passes, i)); + pass = PASS(g_slist_nth_data (passes, i)); - gtk_list_store_append (liststore, &item); - gtk_list_store_set (liststore, &item, - MULTI_PASS_COL_AOS_TIME, pass->aos, - MULTI_PASS_COL_TCA, pass->tca, - MULTI_PASS_COL_LOS_TIME, pass->los, - MULTI_PASS_COL_DURATION, (pass->los - pass->aos), - MULTI_PASS_COL_AOS_AZ, pass->aos_az, - MULTI_PASS_COL_MAX_EL, pass->max_el, - MULTI_PASS_COL_MAX_EL_AZ, pass->maxel_az, - MULTI_PASS_COL_LOS_AZ, pass->los_az, - MULTI_PASS_COL_ORBIT, pass->orbit, - MULTI_PASS_COL_VIS, pass->vis, - MULTI_PASS_COL_NUMBER, i, - -1); + gtk_list_store_append (liststore, &item); + gtk_list_store_set (liststore, &item, + MULTI_PASS_COL_AOS_TIME, pass->aos, + MULTI_PASS_COL_TCA, pass->tca, + MULTI_PASS_COL_LOS_TIME, pass->los, + MULTI_PASS_COL_DURATION, (pass->los - pass->aos), + MULTI_PASS_COL_AOS_AZ, pass->aos_az, + MULTI_PASS_COL_MAX_EL, pass->max_el, + MULTI_PASS_COL_MAX_EL_AZ, pass->maxel_az, + MULTI_PASS_COL_LOS_AZ, pass->los_az, + MULTI_PASS_COL_ORBIT, pass->orbit, + MULTI_PASS_COL_VIS, pass->vis, + MULTI_PASS_COL_NUMBER, i, + -1); - } + } - /* connect model to tree view */ - gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (liststore)); - g_object_unref (liststore); + /* connect model to tree view */ + gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (liststore)); + g_object_unref (liststore); - /* store reference to passes and QTH */ - g_object_set_data (G_OBJECT (list), "passes", passes); - g_object_set_data (G_OBJECT (list), "qth", qth); + /* store reference to passes and QTH */ + g_object_set_data (G_OBJECT (list), "passes", passes); + g_object_set_data (G_OBJECT (list), "qth", qth); - /* mouse events => popup menu */ - g_signal_connect (list, "button-press-event", - G_CALLBACK (button_press_cb), NULL); - g_signal_connect (list, "popup-menu", - G_CALLBACK (popup_menu_cb), NULL); + /* mouse events => popup menu */ + g_signal_connect (list, "button-press-event", + G_CALLBACK (button_press_cb), NULL); + g_signal_connect (list, "popup-menu", + G_CALLBACK (popup_menu_cb), NULL); - /* scrolled window */ - swin = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), - GTK_POLICY_NEVER, - GTK_POLICY_AUTOMATIC); + /* scrolled window */ + swin = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (swin), list); + gtk_container_add (GTK_CONTAINER (swin), list); - /* create dialog */ - title = g_strdup_printf (_("Upcoming passes for %s"), satname); + /* create dialog */ + title = g_strdup_printf (_("Upcoming passes for %s"), satname); - /* use NULL as parent to avoid conflict when using undocked windows - as parents. */ - dialog = gtk_dialog_new_with_buttons (title, - GTK_WINDOW (toplevel), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_PRINT, RESPONSE_PRINT, - GTK_STOCK_SAVE, RESPONSE_SAVE, - GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE, - NULL); - g_free (title); + /* use NULL as parent to avoid conflict when using undocked windows + as parents. */ + dialog = gtk_dialog_new_with_buttons (title, + GTK_WINDOW (toplevel), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_PRINT, RESPONSE_PRINT, + GTK_STOCK_SAVE, RESPONSE_SAVE, + GTK_STOCK_CLOSE, + GTK_RESPONSE_CLOSE, + NULL); + g_free (title); - /* Make Close button default */ - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); + /* Make Close button default */ + gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); - /* window icon */ - buff = icon_file_name ("gpredict-sat-list.png"); - gtk_window_set_icon_from_file (GTK_WINDOW (dialog), buff, NULL); - g_free (buff); + /* window icon */ + buff = icon_file_name ("gpredict-sat-list.png"); + gtk_window_set_icon_from_file (GTK_WINDOW (dialog), buff, NULL); + g_free (buff); - /* allow interaction with other windows */ - gtk_window_set_modal (GTK_WINDOW (dialog), FALSE); + /* allow interaction with other windows */ + gtk_window_set_modal (GTK_WIND... [truncated message content] |
From: <cs...@us...> - 2009-05-13 19:22:08
|
Revision: 303 http://gpredict.svn.sourceforge.net/gpredict/?rev=303&view=rev Author: csete Date: 2009-05-13 19:22:04 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed bug 2691797: Potential array index out of range. Modified Paths: -------------- trunk/src/sat-pass-dialogs.c Modified: trunk/src/sat-pass-dialogs.c =================================================================== --- trunk/src/sat-pass-dialogs.c 2009-05-13 19:04:31 UTC (rev 302) +++ trunk/src/sat-pass-dialogs.c 2009-05-13 19:22:04 UTC (rev 303) @@ -876,11 +876,15 @@ else size = strftime (buff, TIME_FORMAT_MAX_LENGTH, fmtstr, gmtime (&t)); + if (size == 0) + /* size > MAX_LENGTH */ + buff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; + /* if (size < TIME_FORMAT_MAX_LENGTH) buff[size]='\0'; else buff[TIME_FORMAT_MAX_LENGTH]='\0'; - +*/ g_object_set (renderer, "text", buff, NULL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-13 19:04:44
|
Revision: 302 http://gpredict.svn.sourceforge.net/gpredict/?rev=302&view=rev Author: csete Date: 2009-05-13 19:04:31 +0000 (Wed, 13 May 2009) Log Message: ----------- Fixed a bug that caused the rig type to switch from DUPLEX to RX within the first cycle. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-rig-ctrl.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-05-11 13:04:14 UTC (rev 301) +++ trunk/ChangeLog 2009-05-13 19:04:31 UTC (rev 302) @@ -1,3 +1,9 @@ +2009-05-13 Alexadnru Csete <oz...@gm...> + + * src/gtk-rig-ctrl.c: + Fixed bug that caused rig type to switch from DUPLEX -> RX after first cycle. + + 2009-05-10 Alexandru Csete <oz...@gm...> * src/sat-pref-rig-data.h: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-05-11 13:04:14 UTC (rev 301) +++ trunk/NEWS 2009-05-13 19:04:31 UTC (rev 302) @@ -4,6 +4,11 @@ * Windows: New installer instead of ZIP distribution. * Mac OS X package. +Changes in version 1.0 beta 4 (13 May 2009) + +- Fixed a bug that cause rig type to switch from DUPLEX -> RX + (Thanks Thomas DL1JBE=. + Changes in version 1.0 beta 3 (10 May 2009) - Feature request 2691964: Full-duplex controller. Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2009-05-11 13:04:14 UTC (rev 301) +++ trunk/src/gtk-rig-ctrl.c 2009-05-13 19:04:31 UTC (rev 302) @@ -1194,6 +1194,7 @@ ctrl->lasttxf = gtk_freq_knob_get_value (GTK_FREQ_KNOB(ctrl->RigFreqUp)); set_vfo (ctrl, ctrl->conf->vfoUp); set_freq_simplex (ctrl, ctrl->conf, ctrl->lasttxf); + break; default: /* this is an error! */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-11 13:04:19
|
Revision: 301 http://gpredict.svn.sourceforge.net/gpredict/?rev=301&view=rev Author: csete Date: 2009-05-11 13:04:14 +0000 (Mon, 11 May 2009) Log Message: ----------- Increment version number. Modified Paths: -------------- trunk/configure.ac Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2009-05-11 12:04:08 UTC (rev 300) +++ trunk/configure.ac 2009-05-11 13:04:14 UTC (rev 301) @@ -2,7 +2,7 @@ AM_CONFIG_HEADER(build-config.h) -AM_INIT_AUTOMAKE(gpredict, 1.0b3) +AM_INIT_AUTOMAKE(gpredict, 1.0b4) AM_MAINTAINER_MODE AC_PROG_INTLTOOL([0.21]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-11 12:04:17
|
Revision: 300 http://gpredict.svn.sourceforge.net/gpredict/?rev=300&view=rev Author: csete Date: 2009-05-11 12:04:08 +0000 (Mon, 11 May 2009) Log Message: ----------- Tagging release 1.0 beta 3. Added Paths: ----------- tags/release-1.0b3/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 15:01:58
|
Revision: 299 http://gpredict.svn.sourceforge.net/gpredict/?rev=299&view=rev Author: csete Date: 2009-05-10 15:01:49 +0000 (Sun, 10 May 2009) Log Message: ----------- Updated.TLE. Modified Paths: -------------- trunk/data/amateur.tle trunk/data/cubesat.tle trunk/data/galileo.tle trunk/data/geo.tle trunk/data/gps-ops.tle trunk/data/iridium.tle trunk/data/military.tle trunk/data/radar.tle trunk/data/science.tle trunk/data/weather.tle Modified: trunk/data/amateur.tle =================================================================== --- trunk/data/amateur.tle 2009-05-10 15:01:04 UTC (rev 298) +++ trunk/data/amateur.tle 2009-05-10 15:01:49 UTC (rev 299) @@ -1,177 +1,186 @@ -OSCAR III [-] -1 01293U 65016F 09103.85492669 .00000198 00000-0 15668-3 0 4997 -2 01293 70.0745 310.4534 0020377 254.3041 105.5825 14.04701364250775 -AO-5 [-] -1 04321U 70008B 09103.57303574 -.00000031 00000-0 10000-3 0 1465 -2 04321 102.1308 113.4692 0027784 102.4644 257.9534 12.52156316792670 -AO-6 [-] -1 06236U 72082B 09102.92836293 -.00000027 00000-0 10000-3 0 1390 -2 06236 101.3977 118.9386 0004026 21.8467 338.2779 12.53076890669239 -AO-7 [P] -1 07530U 74089B 09103.12637683 -.00000027 00000-0 10000-3 0 4508 -2 07530 101.4321 130.1795 0012098 37.1001 323.0908 12.53575580574560 -AO-8 [-] -1 10703U 78026B 09104.18409753 -.00000158 00000-0 -80559-4 0 4638 -2 10703 98.8397 151.7117 0006117 352.9513 7.1554 13.98830968587077 -AO-10 [-] -1 14129U 83058B 09103.14151878 -.00000390 00000-0 10000-3 0 6432 -2 14129 25.9457 162.1239 5989230 213.8487 87.0276 2.05871491166318 -UO-11 [P] -1 14781U 84021B 09103.29765600 .00000399 00000-0 60284-4 0 9359 -2 14781 98.1127 147.1629 0009018 179.6903 180.4320 14.79705993348236 -FO-12 [-] -1 16909U 86061B 09104.15642843 -.00000083 00000-0 10000-3 0 5401 -2 16909 50.0139 358.7319 0011424 44.6673 315.5080 12.44452449 31008 -UO-14 [-] -1 20437U 90005B 09102.98599045 .00000000 00000-0 15837-4 0 8965 -2 20437 98.3338 63.7416 0011452 6.6453 353.4877 14.31541200 3726 -UO-15 [-] -1 20438U 90005C 09103.92087540 -.00000033 00000-0 36231-5 0 3901 -2 20438 98.3930 57.4019 0010710 31.7341 328.4483 14.30442144 3287 -AO-16 [P] -1 20439U 90005D 09103.56382733 .00000004 00000-0 16880-4 0 5809 -2 20439 98.2732 74.9270 0011255 8.3292 351.8076 14.31820905 3903 -DO-17 [-] -1 20440U 90005E 09103.85774311 .00000007 00000-0 17805-4 0 2921 -2 20440 98.2481 80.0835 0011201 3.0980 357.0273 14.32124261 4088 -WO-18 [-] -1 20441U 90005F 09103.08173751 .00000013 00000-0 19989-4 0 7992 -2 20441 98.2546 77.9777 0011959 8.5277 351.6110 14.31888828 3905 -LO-19 [P] -1 20442U 90005G 09103.49165899 -.00000047 00000-0 -21968-5 0 5002 -2 20442 98.2372 82.3696 0012058 4.9492 355.1794 14.32056824 4051 -FO-20 [-] -1 20480U 90013C 09103.71021412 -.00000052 00000-0 -35684-4 0 1135 -2 20480 99.0683 36.3676 0540026 316.3951 39.5639 12.83360968898632 -AO-21 [-] -1 21087U 91006A 09103.33699822 .00000031 00000-0 16151-4 0 2433 -2 21087 82.9372 94.0658 0036738 104.0062 256.5173 13.75042210913505 -RS-12 & RS-13 [-] -1 21089U 91007A 09103.47428837 .00000059 00000-0 46109-4 0 1241 -2 21089 82.9208 314.6749 0029695 147.0407 213.2612 13.74486371912305 -UO-22 [-] -1 21575U 91050B 09103.82620719 -.00000001 00000-0 13555-4 0 5286 -2 21575 98.4409 53.6637 0006985 206.1027 153.9820 14.39669857931449 -KO-23 [-] -1 22077U 92052B 09103.45992938 -.00000037 00000-0 10000-3 0 7182 -2 22077 66.0827 102.2141 0013803 294.7869 65.1707 12.86448074783198 -AO-24 [-] -1 22654U 93031B 09096.01515389 -.00000128 00000-0 10000-3 0 2530 -2 22654 5.1252 338.8141 2875731 156.5075 219.5322 1.42205278 78095 -AO-27 [+] -1 22825U 93061C 09103.81002265 -.00000067 00000-0 -97729-5 0 2206 -2 22825 98.4326 59.2812 0009393 93.6368 266.5879 14.29262357810710 -IO-26 [P] -1 22826U 93061D 09103.32159149 -.00000008 00000-0 13351-4 0 9420 -2 22826 98.4239 59.5845 0009957 91.4277 268.8050 14.29514105810744 -KO-25 [-] -1 22828U 93061F 09103.85932299 -.00000039 00000-0 11898-5 0 1549 -2 22828 98.4175 60.0258 0010835 66.4392 293.7922 14.29814657779099 -PO-28 [+] -1 22829U 93061G 09103.44121208 -.00000031 00000-0 42853-5 0 1902 -2 22829 98.4122 60.7503 0010646 64.0858 296.1407 14.30212728811043 -RS-15 [P] -1 23439U 94085A 09102.96885713 -.00000039 00000-0 10000-3 0 2154 -2 23439 64.8140 10.2790 0146931 64.2062 297.3938 11.27553203588763 -FO-29 [P] -1 24278U 96046B 09101.66796276 -.00000034 00000-0 81136-7 0 173 -2 24278 98.5635 344.6166 0350800 162.6159 198.7353 13.52942059624757 -MO-30 [-] -1 24305U 96052B 09103.92800012 -.00000004 00000-0 -20675-4 0 891 -2 24305 82.9362 41.5611 0031711 73.4021 287.0619 13.73568232631850 -TO-31 [-] -1 25396U 98043C 09104.04747276 .00000054 00000-0 41602-4 0 3776 -2 25396 98.3364 135.3393 0003488 70.5599 289.5965 14.23775702559174 -GO-32 [P] -1 25397U 98043D 09103.03918790 .00000032 00000-0 32143-4 0 8676 -2 25397 98.3306 128.8546 0002251 86.4444 273.6997 14.23157331558866 -SO-33 [P] -1 25509U 98061B 09104.17056248 .00000082 00000-0 41162-5 0 4301 -2 25509 31.4297 54.4761 0354571 138.8615 223.9307 14.28248787546678 -PO-34 [-] -1 25520U 98064B 09103.00854533 .00000406 00000-0 10170-4 0 2246 -2 25520 28.4600 331.3169 0004931 310.7059 49.3106 15.17320950578741 -ARISS [+] -1 25544U 98067A 09104.08106641 .00010982 00000-0 86085-4 0 6684 -2 25544 51.6407 275.5284 0008674 236.5696 226.4625 15.72136261595864 -SO-35 [-] -1 25636U 99008C 09103.10177624 .00000012 00000-0 10801-4 0 2809 -2 25636 96.4504 302.8663 0149515 68.1499 293.5525 14.43459860533716 -UO-36 [-] -1 25693U 99021A 09103.07903580 -.00000034 00000-0 14472-4 0 8888 -2 25693 64.5572 315.8669 0012439 203.7787 156.2759 14.78744494538213 -OO-38 [-] -1 26063U 00004C 09103.48676340 -.00000043 00000-0 52425-5 0 4808 -2 26063 100.1983 238.2547 0037212 83.4738 277.0676 14.35860128482669 -SO-41 [-] -1 26545U 00057A 09103.44346522 .00000164 00000-0 40010-4 0 2282 -2 26545 64.5581 317.0723 0054983 288.6999 70.8172 14.80576836461617 -MO-46 [-] -1 26548U 00057D 09103.59174147 -.00000146 00000-0 10775-5 0 3663 -2 26548 64.5572 280.6536 0050715 282.1462 77.3933 14.83352503462377 -SO-42 [-] -1 26549U 00057E 09103.08543788 .00000007 00000-0 20463-4 0 3084 -2 26549 64.5597 334.4606 0058192 292.7466 66.7504 14.79432507461237 -AO-40 [-] -1 26609U 00072B 09101.69023753 -.00000365 00000-0 10000-3 0 2147 -2 26609 9.1659 24.0036 7961285 193.6848 111.0582 1.25584529 38793 -NO-44 [P] -1 26931U 01043C 09102.86933795 .00000077 00000-0 62495-4 0 1436 -2 26931 67.0515 232.6178 0005280 269.2958 90.7569 14.29553097393244 -NO-45 [-] -1 26932U 01043D 09102.83522368 -.00000058 00000-0 97361-5 0 1468 -2 26932 67.0492 232.6400 0005288 242.1027 117.9539 14.29605841393280 -BO-47 & BO-48 [-] -1 27422U 02021B 09104.22095248 .00000023 00000-0 26456-4 0 193 -2 27422 98.5228 184.9463 0013162 54.1256 306.1141 14.28488073360273 -AO-49 [-] -1 27605U 02058A 09103.68286274 -.00000021 00000-0 18651-4 0 8843 -2 27605 64.5586 208.3859 0073823 220.6097 138.9475 14.72394361339440 -SO-50 [+] -1 27607U 02058C 09103.82558308 -.00000035 00000-0 16651-4 0 8608 -2 27607 64.5592 220.5635 0074034 219.7171 139.8504 14.71426810339205 -DTUSAT [-] -1 27842U 03031C 09102.62243855 .00000042 00000-0 39782-4 0 5318 -2 27842 98.7078 113.6945 0009055 318.3425 41.7069 14.20974510300034 -CO-55 [+] -1 27844U 03031E 09103.26637653 .00000053 00000-0 44749-4 0 5551 -2 27844 98.7144 113.3465 0009704 336.6635 23.4109 14.20631532300048 -AAU CUBESAT [-] -1 27846U 03031G 09102.55164328 .00000039 00000-0 38249-4 0 4661 -2 27846 98.7075 113.6203 0008834 317.6074 42.4427 14.20974471300029 -CANX-1 [-] -1 27847U 03031H 09103.54521991 .00000026 00000-0 32251-4 0 4815 -2 27847 98.7077 114.5912 0009122 315.9085 44.1358 14.20957597300115 -CO-57 [+] -1 27848U 03031J 09103.51664155 .00000026 00000-0 32616-4 0 5011 -2 27848 98.7171 112.6562 0009586 339.4311 20.6474 14.20434381300049 -RS-22 [+] -1 27939U 03042A 09103.71721399 .00000042 00000-0 17069-4 0 7644 -2 27939 97.9542 340.9025 0013370 340.9679 19.1022 14.63307307296144 -AO-51 [+] -1 28375U 04025K 09103.09412915 .00000004 00000-0 14011-4 0 3629 -2 28375 98.0551 116.4879 0084316 323.5879 35.9588 14.40638233251583 -VO-52 [+] -1 28650U 05017B 09101.93091129 -.00000058 00000-0 -76273-6 0 2022 -2 28650 97.7490 165.6851 0026043 244.6955 115.1595 14.81569413212836 -UWE-1 [-] -1 28892U 05043C 09102.91725867 .00000138 00000-0 38433-4 0 3102 -2 28892 98.0641 354.8371 0016980 188.6863 171.4048 14.59723257184322 -XO-53 [-] -1 28894U 05043E 09104.17900780 .00000035 00000-0 16918-4 0 4351 -2 28894 98.0640 356.3106 0017157 187.2706 172.8246 14.59662466184514 -CO-58 [+] -1 28895U 05043F 09101.36975667 -.00000040 00000-0 11429-5 0 2769 -2 28895 98.0696 353.8301 0017611 193.5404 166.5320 14.59756030183989 -NCUBE-2 [-] -1 28897U 05043H 09104.17733673 .00000089 00000-0 28107-4 0 8221 -2 28897 98.0649 356.4727 0016872 186.0018 174.0983 14.59934441176688 -CO-56 [P] -1 28941U 06005C 09103.97668116 .00051667 34351-5 21801-3 0 9892 -2 28941 98.1361 266.7456 0101360 14.1475 346.2513 15.77981695177101 -PEHUENSAT 1 [+] -1 29712U 07001D 09104.21724610 .00000548 00000-0 78129-4 0 3998 -2 29712 97.8345 162.1388 0015233 120.4745 239.7975 14.80503990122001 -DO-64 [+] -1 32789U 08021G 09104.20664592 .00000508 00000-0 71228-4 0 3405 -2 32789 97.9519 168.7284 0014660 237.9563 122.0222 14.81663589 51973 +OSCAR 3 (OSCAR III) +1 01293U 65016F 09129.84593305 .00000065 00000-0 73950-4 0 5198 +2 01293 70.0690 254.2752 0020042 223.5592 136.3935 14.04706040254425 +OSCAR 5 (AO-5) +1 04321U 70008B 09128.97987477 -.00000031 00000-0 10000-3 0 1602 +2 04321 102.1339 139.3621 0027866 54.5086 305.8582 12.52156358795856 +OSCAR 6 (AO-6) +1 06236U 72082B 09129.91366090 -.00000027 00000-0 10000-3 0 1470 +2 06236 101.3935 144.8380 0003868 329.6931 30.3919 12.53077170672617 +OSCAR 7 (AO-7) +1 07530U 74089B 09129.46246283 -.00000027 00000-0 10000-3 0 4730 +2 07530 101.4293 155.5588 0011828 346.6069 13.4686 12.53575632577868 +OSCAR 8 (AO-8) +1 10703U 78026B 09129.86237353 .00000080 00000-0 84967-4 0 4869 +2 10703 98.8330 176.4574 0005945 281.7322 78.3171 13.98843861590660 +PHASE 3B (AO-10) +1 14129U 83058B 09127.41174471 .00000156 00000-0 10000-3 0 6532 +2 14129 25.9225 158.1693 5997022 220.4938 74.3643 2.05867130166810 +UOSAT 2 (UO-11) +1 14781U 84021B 09129.53497152 -.00000296 00000-0 -32188-4 0 9561 +2 14781 98.1101 173.6589 0010197 100.5379 259.6981 14.79707413352110 +JAS-1 (FO-12) +1 16909U 86061B 09129.85597192 -.00000083 00000-0 10000-3 0 5524 +2 16909 50.0170 279.7294 0011584 109.7023 250.5062 12.44452743 34206 +UOSAT 3 (UO-14) +1 20437U 90005B 09129.05678998 -.00000002 00000-0 15067-4 0 9179 +2 20437 98.3374 88.7808 0010171 290.3345 69.6740 14.31543193 7459 +UOSAT 4 (UO-15) +1 20438U 90005C 09129.87176608 -.00000015 00000-0 10250-4 0 4102 +2 20438 98.3967 82.4569 0009453 316.8829 43.1609 14.30443774 6997 +PACSAT (AO-16) +1 20439U 90005D 09129.48979731 .00000002 00000-0 16051-4 0 6009 +2 20439 98.2757 99.6588 0010088 289.0426 70.9670 14.31823165 7618 +DOVE (DO-17) +1 20440U 90005E 09129.98783697 .00000001 00000-0 15514-4 0 3133 +2 20440 98.2500 104.9480 0010116 282.8437 77.1622 14.32126523 7826 +WEBERSAT (WO-18) +1 20441U 90005F 09130.05465464 -.00000001 00000-0 15057-4 0 8210 +2 20441 98.2575 103.6571 0010602 285.0012 74.9996 14.31891137 7761 +LUSAT (LO-19) +1 20442U 90005G 09129.62298274 -.00000028 00000-0 48500-5 0 5200 +2 20442 98.2378 107.1980 0010921 283.6233 76.3719 14.32058889 7791 +JAS-1B (FO-20) +1 20480U 90013C 09129.67000485 -.00000069 00000-0 -75006-4 0 1360 +2 20480 99.0694 57.5092 0539517 257.5491 96.4761 12.83360629901962 +INFORMATOR 1 & RS-14 +1 21087U 91006A 09129.96932617 .00000027 00000-0 12344-4 0 2673 +2 21087 82.9406 74.3343 0036414 32.9120 327.4283 13.75043217917164 +COSMOS 2123 & RS-12/13 +1 21089U 91007A 09129.46228856 .00000030 00000-0 14835-4 0 1472 +2 21089 82.9187 295.3780 0030879 77.5842 282.8763 13.74486709915876 +UOSAT 5 (UO-22) +1 21575U 91050B 09129.47190821 -.00000003 00000-0 13072-4 0 5490 +2 21575 98.4425 78.9343 0007919 129.6883 230.4993 14.39672483935139 +KITSAT 1 (KO-23) +1 22077U 92052B 09130.04742346 -.00000037 00000-0 10000-3 0 7419 +2 22077 66.0865 46.5296 0014384 288.3973 71.5468 12.86448253786615 +ARASENE (AO-24) +1 22654U 93031B 09129.06016113 -.00000124 00000-0 10000-3 0 2618 +2 22654 5.0990 338.1973 2872503 158.4299 216.2971 1.42205456 78566 +EYESAT-1 (AO-27) +1 22825U 93061C 09128.38218509 -.00000042 00000-0 24433-6 0 2402 +2 22825 98.4332 83.0652 0008664 28.8041 331.3608 14.29264671814224 +ITAMSAT (IO-26) +1 22826U 93061D 09129.35930521 -.00000004 00000-0 15008-4 0 9643 +2 22826 98.4265 84.7763 0009292 20.9161 339.2402 14.29516425814467 +KITSAT 2 (KO-25) +1 22828U 93061F 09128.98183336 -.00000034 00000-0 31592-5 0 1728 +2 22828 98.4188 84.3260 0009794 356.1822 3.9295 14.29816587782681 +POSAT (PO-28) +1 22829U 93061G 09129.46621217 -.00000064 00000-0 -81978-5 0 2119 +2 22829 98.4150 85.9251 0009601 351.0131 9.0858 14.30214570814765 +RADIO ROSTO (RS-15) +1 23439U 94085A 09128.95547571 -.00000039 00000-0 10000-3 0 2204 +2 23439 64.8194 328.2615 0147615 59.2448 302.2918 11.27553592591693 +JAS-2 (FO-29) +1 24278U 96046B 09129.84435215 .00000111 00000-0 14590-3 0 368 +2 24278 98.5597 9.0272 0351436 89.7451 274.3948 13.52943570628567 +UNAMSAT-2 (MO-30) +1 24305U 96052B 09129.78756125 -.00000000 00000-0 -16276-4 0 1112 +2 24305 82.9391 22.4425 0030449 4.4602 355.6819 13.73569425635403 +TMSAT-1 (TO-31) +1 25396U 98043C 09129.90900924 -.00000003 00000-0 16717-4 0 3986 +2 25396 98.3341 159.8674 0002396 9.8377 350.2840 14.23776588562858 +TECHSAT 1B (GO-32) +1 25397U 98043D 09129.61502251 -.00000040 00000-0 50523-6 0 8886 +2 25397 98.3279 154.0184 0001567 49.3145 310.8179 14.23157937562648 +SEDSAT 1 (SO-33) +1 25509U 98061B 09129.47268370 .00000520 00000-0 92399-4 0 4496 +2 25509 31.4353 271.3933 0355075 359.9708 0.1029 14.28252564550298 +PAN SAT (PO-34) +1 25520U 98064B 09129.38394057 .00000433 00000-0 11476-4 0 2425 +2 25520 28.4594 154.6951 0005488 239.0431 120.9624 15.17332018582758 +ISS (ZARYA) +1 25544U 98067A 09129.50840848 .00010895 00000-0 83540-4 0 8220 +2 25544 51.6392 145.2703 0009192 343.4625 153.2209 15.72670568599864 +SUNSAT (SO-35) +1 25636U 99008C 09129.99761383 .00000028 00000-0 15653-4 0 3027 +2 25636 96.4488 323.2750 0147945 343.4886 16.1527 14.43462111537599 +UOSAT 12 (UO-36) +1 25693U 99021A 09129.79228316 -.00000071 00000-0 93931-5 0 9073 +2 25693 64.5576 233.7967 0009274 204.7869 155.2798 14.78747118542168 +OPAL (OO-38) +1 26063U 00004C 09129.82670113 -.00000001 00000-0 19834-4 0 5010 +2 26063 100.2050 269.3842 0036847 10.0731 350.1188 14.35862730486442 +SAUDISAT 1A (SO-41) +1 26545U 00057A 09129.78591705 -.00000052 00000-0 12615-4 0 2470 +2 26545 64.5575 235.8982 0056066 284.5091 74.9796 14.80581302465510 +TIUNGSAT-1 (MO-46) +1 26548U 00057D 09127.39039493 -.00000158 00000-0 -33686-6 0 3886 +2 26548 64.5560 206.9973 0051506 278.6361 80.8832 14.83357994465905 +SAUDISAT 1B (SO-42) +1 26549U 00057E 09129.17786179 .00000042 00000-0 24968-4 0 3279 +2 26549 64.5572 254.2030 0059492 288.3156 71.1509 14.79438173465099 +PHASE 3D (AO-40) +1 26609U 00072B 09125.51528958 -.00000438 00000-0 10000-3 0 2254 +2 26609 9.3392 20.5550 7961681 201.0314 82.1254 1.25583412 39091 +PCSAT (NO-44) +1 26931U 01043C 09130.01487622 .00000226 00000-0 12054-3 0 1641 +2 26931 67.0511 162.6865 0005392 270.1682 89.8804 14.29556857397123 +SAPPHIRE (NO-45) +1 26932U 01043D 09129.56000291 -.00000056 00000-0 10297-4 0 1676 +2 26932 67.0542 163.8025 0004501 248.6209 111.4411 14.29607872397103 +IDEFIX & ARIANE 42P R/B +1 27422U 02021B 09130.20724163 .00000006 00000-0 19459-4 0 405 +2 27422 98.5217 210.3340 0012154 339.3904 20.6789 14.28491198363986 +RUBIN-2 & SAFIR-M +1 27605U 02058A 09129.28874374 -.00000090 00000-0 82482-5 0 9033 +2 27605 64.5564 130.4978 0071577 215.0837 144.5499 14.72398592343216 +SAUDISAT 1C (SO-50) +1 27607U 02058C 09129.17641685 .00000020 00000-0 25151-4 0 8805 +2 27607 64.5570 143.5710 0071974 214.1526 145.4925 14.71433774342933 +DTUSAT +1 27842U 03031C 09129.59094963 .00000021 00000-0 29763-4 0 5514 +2 27842 98.7062 140.2812 0008520 233.9810 126.0573 14.20977821303861 +CUTE-1 (CO-55) +1 27844U 03031E 09129.04404900 .00000077 00000-0 56018-4 0 5741 +2 27844 98.7142 138.7639 0008805 256.3554 103.6650 14.20636098303709 +AAU CUBESAT +1 27846U 03031G 09129.59056784 -.00000009 00000-0 15864-4 0 4857 +2 27846 98.7062 140.2750 0008602 233.1750 126.8622 14.20977516303866 +CANX-1 +1 27847U 03031H 09128.54244189 .00000032 00000-0 35022-4 0 4998 +2 27847 98.7067 139.2344 0008495 237.3316 122.7051 14.20960722303663 +CUBESAT XI-IV (CO-57) +1 27848U 03031J 09128.52304463 .00000021 00000-0 30083-4 0 5204 +2 27848 98.7154 137.3112 0008887 263.9446 96.0713 14.20437877303597 +MOZHAYETS 4 (RS-22) +1 27939U 03042A 09129.15424061 .00000097 00000-0 27728-4 0 7852 +2 27939 97.9524 5.4356 0012283 255.2211 104.7645 14.63313583299863 +ECHO (AO-51) +1 28375U 04025K 09129.69505652 .00000006 00000-0 14504-4 0 3847 +2 28375 98.0539 141.5429 0082863 242.2420 117.0348 14.40640787255412 +HAMSAT (VO-52) +1 28650U 05017B 09129.21595519 .00000438 00000-0 61941-4 0 2210 +2 28650 97.7442 192.0803 0027766 154.5969 205.6637 14.81581731216878 +UWE-1 +1 28892U 05043C 09129.23925004 .00000073 00000-0 24787-4 0 3319 +2 28892 98.0612 20.4259 0018353 108.3802 251.9376 14.59731205188165 +SSETI EXPRESS (XO-53) +1 28894U 05043E 09129.40534074 .00000008 00000-0 11234-4 0 4562 +2 28894 98.0614 20.8317 0018600 110.0254 250.2956 14.59665969188196 +CUBESAT XI-V (CO-58) +1 28895U 05043F 09129.40477422 .00000148 00000-0 40497-4 0 2977 +2 28895 98.0663 21.0985 0019225 108.6586 251.6699 14.59764872188079 +NCUBE-2 +1 28897U 05043H 09130.15283713 .00000082 00000-0 26574-4 0 8446 +2 28897 98.0617 21.7369 0018264 106.4991 253.8245 14.59942298180478 +CUTE-1.7+APD (CO-56) +1 28941U 06005C 09130.02054874 .00048551 34455-5 19134-3 0 630 +2 28941 98.1366 297.4349 0095237 275.3612 83.6756 15.80147863181210 +PEHUENSAT 1 +1 29712U 07001D 09130.16992995 .00000457 00000-0 66323-4 0 4672 +2 29712 97.8312 187.4811 0015253 42.2701 317.9692 14.80532368125842 +DELFI-C3 +1 32789U 08021G 09129.73389039 .00000349 00000-0 51012-4 0 3626 +2 32789 97.9502 194.0693 0016278 152.7549 207.4517 14.81686590 55758 +PRISM +1 33493U 09002B 09130.18800128 .00000210 00000-0 34353-4 0 3667 +2 33493 98.0533 242.2386 0020374 8.6469 351.5093 14.80660363 15849 +STARS +1 33498U 09002G 09130.18697045 .00000119 00000-0 27219-4 0 3283 +2 33498 98.0344 240.4146 0014394 86.3982 273.8869 14.71301414 15729 +KKS-1 +1 33499U 09002H 09130.16365860 .00000052 00000-0 16570-4 0 3351 +2 33499 98.0366 240.3026 0011589 83.3065 276.9455 14.70679042 15710 Modified: trunk/data/cubesat.tle =================================================================== --- trunk/data/cubesat.tle 2009-05-10 15:01:04 UTC (rev 298) +++ trunk/data/cubesat.tle 2009-05-10 15:01:49 UTC (rev 299) @@ -1,75 +1,75 @@ DTUSAT -1 27842U 03031C 09102.62243855 .00000042 00000-0 39782-4 0 5318 -2 27842 98.7078 113.6945 0009055 318.3425 41.7069 14.20974510300034 +1 27842U 03031C 09129.59094963 .00000021 00000-0 29763-4 0 5514 +2 27842 98.7062 140.2812 0008520 233.9810 126.0573 14.20977821303861 CUTE-1 (CO-55) -1 27844U 03031E 09103.26637653 .00000053 00000-0 44749-4 0 5551 -2 27844 98.7144 113.3465 0009704 336.6635 23.4109 14.20631532300048 +1 27844U 03031E 09129.04404900 .00000077 00000-0 56018-4 0 5741 +2 27844 98.7142 138.7639 0008805 256.3554 103.6650 14.20636098303709 QUAKESAT -1 27845U 03031F 09103.05825088 .00000065 00000-0 50940-4 0 5306 -2 27845 98.7202 112.5409 0009132 355.3913 4.7177 14.20260971299921 +1 27845U 03031F 09129.61756406 .00000075 00000-0 55704-4 0 5497 +2 27845 98.7199 138.7325 0008059 274.8902 85.1358 14.20266560303697 AAU CUBESAT -1 27846U 03031G 09102.55164328 .00000039 00000-0 38249-4 0 4661 -2 27846 98.7075 113.6203 0008834 317.6074 42.4427 14.20974471300029 +1 27846U 03031G 09129.59056784 -.00000009 00000-0 15864-4 0 4857 +2 27846 98.7062 140.2750 0008602 233.1750 126.8622 14.20977516303866 CANX-1 -1 27847U 03031H 09103.54521991 .00000026 00000-0 32251-4 0 4815 -2 27847 98.7077 114.5912 0009122 315.9085 44.1358 14.20957597300115 +1 27847U 03031H 09128.54244189 .00000032 00000-0 35022-4 0 4998 +2 27847 98.7067 139.2344 0008495 237.3316 122.7051 14.20960722303663 CUBESAT XI-IV (CO-57) -1 27848U 03031J 09103.51664155 .00000026 00000-0 32616-4 0 5011 -2 27848 98.7171 112.6562 0009586 339.4311 20.6474 14.20434381300049 +1 27848U 03031J 09128.52304463 .00000021 00000-0 30083-4 0 5204 +2 27848 98.7154 137.3112 0008887 263.9446 96.0713 14.20437877303597 UWE-1 -1 28892U 05043C 09102.91725867 .00000138 00000-0 38433-4 0 3102 -2 28892 98.0641 354.8371 0016980 188.6863 171.4048 14.59723257184322 +1 28892U 05043C 09129.23925004 .00000073 00000-0 24787-4 0 3319 +2 28892 98.0612 20.4259 0018353 108.3802 251.9376 14.59731205188165 CUBESAT XI-V (CO-58) -1 28895U 05043F 09101.36975667 -.00000040 00000-0 11429-5 0 2769 -2 28895 98.0696 353.8301 0017611 193.5404 166.5320 14.59756030183989 +1 28895U 05043F 09129.40477422 .00000148 00000-0 40497-4 0 2977 +2 28895 98.0663 21.0985 0019225 108.6586 251.6699 14.59764872188079 NCUBE-2 -1 28897U 05043H 09104.17733673 .00000089 00000-0 28107-4 0 8221 -2 28897 98.0649 356.4727 0016872 186.0018 174.0983 14.59934441176688 +1 28897U 05043H 09130.15283713 .00000082 00000-0 26574-4 0 8446 +2 28897 98.0617 21.7369 0018264 106.4991 253.8245 14.59942298180478 CUTE-1.7+APD (CO-56) -1 28941U 06005C 09103.97668116 .00051667 34351-5 21801-3 0 9892 -2 28941 98.1361 266.7456 0101360 14.1475 346.2513 15.77981695177101 +1 28941U 06005C 09130.02054874 .00048551 34455-5 19134-3 0 630 +2 28941 98.1366 297.4349 0095237 275.3612 83.6756 15.80147863181210 GENESAT-1 -1 29655U 06058C 09102.77666865 .00014587 00000-0 15163-3 0 6822 -2 29655 40.0216 232.7559 0002200 314.0735 45.9899 15.64176532132226 +1 29655U 06058C 09130.15925641 .00013306 00000-0 13523-3 0 7057 +2 29655 40.0246 61.4668 0001861 249.8548 110.2069 15.64801567136510 CSTB1 -1 31122U 07012F 09104.12875427 .00000554 00000-0 13192-3 0 6090 -2 31122 97.9999 163.9133 0086939 112.9114 248.1263 14.55230433105847 +1 31122U 07012F 09129.15674666 .00000553 00000-0 13192-3 0 6293 +2 31122 97.9966 187.8864 0085971 36.3044 324.3930 14.55237807109487 MAST -1 31126U 07012K 09103.18702341 -.00000141 00000-0 -21396-4 0 5698 -2 31126 97.9949 160.9493 0095650 121.2339 239.8240 14.53488134105599 +1 31126U 07012K 09129.20875863 -.00000006 00000-0 90363-5 0 5903 +2 31126 97.9916 185.7909 0095667 41.2849 319.5510 14.53493502109376 LIBERTAD-1 -1 31128U 07012M 09104.20361598 -.00000046 00000-0 00000+0 0 6046 -2 31128 97.9927 160.2313 0103594 123.2499 237.8703 14.52032732105610 +1 31128U 07012M 09129.70013376 -.00000046 00000-0 00000+0 0 6259 +2 31128 97.9908 184.5145 0103753 44.9749 315.9798 14.52038910109312 POLYSAT CP3 -1 31129U 07012N 09104.15956073 .00000121 00000-0 38330-4 0 8541 -2 31129 97.9947 160.2820 0103345 123.1510 237.9647 14.52122049105599 +1 31129U 07012N 09130.13686404 .00000134 00000-0 41383-4 0 9127 +2 31129 97.9927 185.0306 0103659 43.6248 317.3100 14.52128500109367 CAPE1 -1 31130U 07012P 09103.64389161 .00000028 00000-0 16953-4 0 5757 -2 31130 97.9969 159.7136 0104166 125.0831 236.0163 14.52048642105327 +1 31130U 07012P 09129.14015232 .00000163 00000-0 48294-4 0 5950 +2 31130 97.9948 183.9999 0103734 46.9078 314.0734 14.52055106109029 POLYSAT CP4 -1 31132U 07012Q 09103.16852396 .00000249 00000-0 64782-4 0 5816 -2 31132 98.0006 162.9250 0086877 115.6980 245.3219 14.55197738105570 +1 31132U 07012Q 09130.19109662 -.00000146 00000-0 -21855-4 0 6015 +2 31132 97.9973 188.8001 0086490 32.3456 328.3004 14.55201915109500 NTS (CANX-6) -1 32784U 08021B 09104.19702709 .00000083 00000-0 17642-4 0 3409 -2 32784 97.9524 168.5143 0014961 231.8701 128.1162 14.81032168 51958 +1 32784U 08021B 09129.87040275 .00000045 00000-0 12699-4 0 3634 +2 32784 97.9478 193.9745 0016721 147.2230 213.0028 14.81039647 55755 CUTE-1.7+APD II -1 32785U 08021C 09104.23101889 .00000287 00000-0 43446-4 0 3392 -2 32785 97.9519 168.7108 0013806 238.4579 121.5281 14.81468830 51979 +1 32785U 08021C 09129.89684201 .00000265 00000-0 40599-4 0 3601 +2 32785 97.9472 194.1734 0015527 151.5602 208.6451 14.81477640 55776 COMPASS-1 -1 32787U 08021E 09104.21288100 .00000524 00000-0 73473-4 0 3313 -2 32787 97.9480 168.5623 0014850 237.7307 122.2467 14.81578766 51973 +1 32787U 08021E 09130.21443887 .00000457 00000-0 64793-4 0 3520 +2 32787 97.9446 194.3548 0016526 152.2096 207.9998 14.81593151 55829 AAUSAT-II -1 32788U 08021F 09103.44319498 .00000245 00000-0 37868-4 0 3300 -2 32788 97.9487 167.8475 0013969 242.2652 117.7151 14.81698720 51862 +1 32788U 08021F 09130.11792791 .00000297 00000-0 44418-4 0 3536 +2 32788 97.9447 194.3118 0016202 152.7894 207.4175 14.81714967 55817 DELFI-C3 -1 32789U 08021G 09104.20664592 .00000508 00000-0 71228-4 0 3405 -2 32789 97.9519 168.7284 0014660 237.9563 122.0222 14.81663589 51973 +1 32789U 08021G 09129.73389039 .00000349 00000-0 51012-4 0 3626 +2 32789 97.9502 194.0693 0016278 152.7549 207.4517 14.81686590 55758 CANX-2 -1 32790U 08021H 09103.82777229 .00000073 00000-0 16190-4 0 3253 -2 32790 97.9520 168.2869 0014384 237.6278 122.3527 14.81454475 51898 +1 32790U 08021H 09129.83153150 .00000193 00000-0 31360-4 0 3476 +2 32790 97.9475 194.0836 0016153 152.5338 207.6726 14.81464694 55746 SEEDS II -1 32791U 08021J 09104.18092247 .00000164 00000-0 27770-4 0 3228 -2 32791 97.9472 168.5611 0014990 238.6551 121.3195 14.81412933 51939 +1 32791U 08021J 09129.71258923 -.00000041 00000-0 15593-5 0 3449 +2 32791 97.9475 193.8888 0016568 151.4665 208.7455 14.81424079 55713 PSLV DEB -1 32797U 08021L 09102.15582155 .00002199 00000-0 27758-3 0 1538 -2 32797 97.9759 167.5172 0015224 252.4668 107.4282 14.82873744 50379 +1 32797U 08021L 09124.15288384 .00002115 00000-0 26659-3 0 1592 +2 32797 97.9749 189.4621 0015238 164.9664 195.0234 14.82967991 53638 Modified: trunk/data/galileo.tle =================================================================== --- trunk/data/galileo.tle 2009-05-10 15:01:04 UTC (rev 298) +++ trunk/data/galileo.tle 2009-05-10 15:01:49 UTC (rev 299) @@ -1,6 +1,6 @@ GIOVE-A -1 28922U 05051A 09102.31576667 .00000029 00000-0 10000-3 0 4717 -2 28922 56.0622 159.1026 0007820 330.5253 29.5153 1.70191068 20446 +1 28922U 05051A 09129.34352618 .00000066 00000-0 10000-3 0 4808 +2 28922 56.0686 158.3929 0006709 332.7155 27.1753 1.70184097 20904 GIOVE-B -1 32781U 08020A 09102.45200554 .00000001 00000-0 10000-3 0 1546 -2 32781 55.9533 194.0164 0019074 211.9807 147.9459 1.70950658 6003 +1 32781U 08020A 09128.77476884 .00000035 00000-0 10000-3 0 1648 +2 32781 55.9496 193.3120 0019932 214.8765 145.0801 1.70950656 6450 Modified: trunk/data/geo.tle =================================================================== --- trunk/data/geo.tle 2009-05-10 15:01:04 UTC (rev 298) +++ trunk/data/geo.tle 2009-05-10 15:01:49 UTC (rev 299) @@ -1,1146 +1,1146 @@ LES 9 -1 08747U 76023B 09103.25827060 -.00000065 00000-0 10000-3 0 2705 -2 08747 10.8397 150.2480 0023365 320.4277 79.1956 1.00266137 66779 +1 08747U 76023B 09129.07669736 -.00000053 00000-0 10000-3 0 2793 +2 08747 10.8634 149.5326 0023161 320.6532 39.2961 1.00266355 67038 MARISAT 2 -1 09478U 76101A 09101.91101131 -.00000163 00000-0 10000-3 0 1347 -2 09478 13.2268 356.3389 0098380 199.3032 160.2659 0.97591810 62247 +1 09478U 76101A 09129.57665506 -.00000086 00000-0 10000-3 0 1412 +2 09478 13.2314 356.1663 0097989 199.7350 159.8133 0.97590204 62510 GOES 3 -1 10953U 78062A 09102.72723886 -.00000136 00000-0 10000-3 0 4626 -2 10953 14.3386 0.6211 0003997 336.7946 23.1436 1.00268328 66013 +1 10953U 78062A 09128.65693070 -.00000135 00000-0 10000-3 0 4907 +2 10953 14.3478 0.4129 0003911 357.9789 1.9562 1.00267485 66272 ESIAFI 1 (COMSTAR 4) -1 12309U 81018A 09102.25422122 -.00000145 00000-0 10000-3 0 2195 -2 12309 13.8803 10.7419 0006740 281.7548 78.1178 1.00262267104535 +1 12309U 81018A 09128.18554363 -.00000136 00000-0 10000-3 0 2277 +2 12309 13.9013 10.5338 0005854 285.2927 74.5774 1.00260871104791 SATCOM C5 -1 13631U 82105A 09101.82473520 -.00000109 00000-0 10000-3 0 6129 -2 13631 12.4240 32.1662 0006400 276.3037 83.5604 1.00272894 63454 +1 13631U 82105A 09127.75297365 -.00000111 00000-0 10000-3 0 6190 +2 13631 12.4674 31.9303 0004886 285.7829 74.0725 1.00272838 63719 TDRS 1 -1 13969U 83026B 09102.90158280 -.00000303 00000-0 10000-3 0 8509 -2 13969 13.2920 9.7704 0021356 240.3271 226.6045 1.00265854 68347 +1 13969U 83026B 09127.26160720 -.00000307 00000-0 10000-3 0 8590 +2 13969 13.3131 9.5887 0022325 235.2135 25.7782 1.00273279 68583 GSTAR 1 -1 15677U 85035A 09101.87904190 -.00000100 00000-0 10000-3 0 1264 -2 15677 10.5414 51.5589 0009007 268.8335 91.0070 1.00272520 62315 +1 15677U 85035A 09127.80705077 -.00000100 00000-0 10000-3 0 1369 +2 15677 10.5991 51.2679 0007922 276.4285 83.3647 1.00272568 62579 INTELSAT 511 -1 15873U 85055A 09102.17523276 -.00000335 00000-0 10000-3 0 3688 -2 15873 11.8894 39.8010 0016257 288.8787 70.8868 1.00112039 61727 +1 15873U 85055A 09128.14649662 -.00000369 00000-0 10000-3 0 3790 +2 15873 11.9400 39.5447 0015422 291.5326 68.2033 1.00099555 61985 GOES 7 -1 17561U 87022A 09102.62721679 .00000052 00000-0 10000-3 0 9059 -2 17561 11.9976 37.8104 0003047 219.4368 352.9456 1.00259366 64258 +1 17561U 87022A 09129.38945263 .00000048 00000-0 10000-3 0 9390 +2 17561 12.0387 37.6059 0002311 207.0295 305.5104 1.00268050 64522 GSTAR 3 -1 19483U 88081A 09102.79413058 -.00000111 00000-0 10000-3 0 2002 -2 19483 14.2344 21.6077 0007277 331.5763 28.3216 1.00272624 71700 +1 19483U 88081A 09127.72524336 -.00000114 00000-0 10000-3 0 2119 +2 19483 14.2673 21.3807 0007287 342.2875 17.6200 1.00272655 71952 TDRS 3 -1 19548U 88091B 09102.81260266 -.00000195 00000-0 10000-3 0 2348 -2 19548 11.7168 40.5699 0024881 314.9461 223.0327 1.00273261 62488 +1 19548U 88091B 09129.84336735 -.00000192 00000-0 10000-3 0 2500 +2 19548 11.7694 40.3030 0024286 319.3201 256.4836 1.00268025 62756 ASTRA 1A -1 19688U 88109B 09102.36595695 -.00000022 00000-0 10000-3 0 5588 -2 19688 7.4558 65.1139 0018095 306.6693 53.1348 0.98335170 54407 +1 19688U 88109B 09129.82090018 .00000001 00000-0 10000-3 0 5673 +2 19688 7.5243 64.7924 0018466 311.5794 48.0998 0.98335425 54671 TDRS 4 -1 19883U 89021B 09103.45513796 -.00000283 00000-0 10000-3 0 5615 -2 19883 10.3633 52.5438 0002993 298.9811 328.1987 1.00266458246063 +1 19883U 89021B 09129.22353135 -.00000283 00000-0 10000-3 0 5785 +2 19883 10.4230 52.2606 0002770 313.4225 256.1140 1.00273998246323 INTELSAT 602 (IS-602) -1 20315U 89087A 09102.43279275 .00000032 00000-0 10000-3 0 8699 -2 20315 6.7499 66.9827 0001390 301.4654 165.9372 1.00272946 69067 +1 20315U 89087A 09129.56568834 .00000034 00000-0 10000-3 0 8854 +2 20315 6.8160 66.6449 0001289 335.3247 206.9939 1.00271509 69330 LEASAT 5 -1 20410U 90002B 09102.61377698 -.00000317 00000-0 10000-3 0 994 -2 20410 8.2028 35.7413 0000488 357.5280 128.6585 1.00272743 55788 +1 20410U 90002B 09127.19543325 .00000000 00000-0 10000-3 0 1119 +2 20410 8.2464 35.6149 0000312 122.0677 237.8062 1.00264474 56021 INTELSAT 603 (IS-603) -1 20523U 90021A 09103.07838897 -.00000159 00000-0 10000-3 0 4475 -2 20523 6.2290 68.5606 0002331 324.0727 177.0157 1.00272572 62820 +1 20523U 90021A 09130.07280398 -.00000156 00000-0 10000-3 0 4570 +2 20523 6.2947 68.2295 0002294 333.6713 192.3503 1.00271632 63090 ASIASAT 1 -1 20558U 90030A 09102.39926337 .00000042 00000-0 10000-3 0 6858 -2 20558 8.8972 61.0842 0004267 225.9285 133.9957 0.99239806 69423 +1 20558U 90030A 09123.55832115 -.00000177 00000-0 10000-3 0 6916 +2 20558 8.9485 60.8341 0003670 228.0188 131.8711 0.99246538 69635 INSAT-1D -1 20643U 90051A 09102.39996470 -.00000073 00000-0 10000-3 0 2098 -2 20643 9.6493 57.0618 0016938 22.0757 337.9424 1.00285721 55834 +1 20643U 90051A 09128.32429578 -.00000086 00000-0 10000-3 0 2396 +2 20643 9.7091 56.7603 0017717 24.5386 335.4175 1.00286863 56093 COSMOS 2085 -1 20693U 90061A 09102.32320099 -.00000143 00000-0 10000-3 0 9269 -2 20693 12.0243 36.3866 0004944 274.7069 85.1767 1.00266540 68587 +1 20693U 90061A 09128.25330732 -.00000137 00000-0 10000-3 0 9324 +2 20693 12.0703 36.1447 0003436 284.2160 75.6490 1.00264610 68846 SKYNET 4C -1 20776U 90079A 09102.88478928 .00000074 00000-0 00000+0 0 9151 -2 20776 9.7144 47.9711 0002821 326.5048 158.5364 1.00269873 68034 +1 20776U 90079A 09129.02023586 .00000074 00000-0 00000+0 0 9297 +2 20776 9.7695 47.7229 0002955 343.8229 215.9478 1.00269830 68293 EUTELSAT 2-F1 -1 20777U 90079B 09102.66950528 -.00000247 00000-0 10000-3 0 8752 -2 20777 9.0918 60.1501 0002019 166.0030 193.9585 0.99349654 48431 +1 20777U 90079B 09128.83902979 .00000035 00000-0 10000-3 0 8851 +2 20777 9.1548 59.8376 0001198 161.2313 198.6289 0.99343331 48691 GALAXY 6 -1 20873U 90091B 09102.48506328 .00000123 00000-0 10000-3 0 2631 -2 20873 6.0142 69.4067 0000578 314.7241 45.2664 0.99756514 62190 +1 20873U 90091B 09124.53634767 -.00000004 00000-0 10000-3 0 2730 +2 20873 6.0693 69.1301 0001443 16.6906 343.2357 0.99766160 62410 INMARSAT 2-F1 -1 20918U 90093A 09102.29178251 .00000105 00000-0 10000-3 0 3598 -2 20918 6.4601 55.8019 0003950 325.1054 142.7045 1.00271622 64019 +1 20918U 90093A 09129.53623899 .00000107 00000-0 10000-3 0 4006 +2 20918 6.5227 55.5843 0003450 347.9112 234.9665 1.00273767 64281 GSTAR 4 -1 20946U 90100B 09102.46177134 .00000086 00000-0 10000-3 0 2661 -2 20946 6.2055 69.2531 0004239 208.5288 151.4506 0.99139776 62087 +1 20946U 90100B 09123.64184652 -.00000250 00000-0 10000-3 0 2739 +2 20946 6.2594 68.9865 0004005 210.1861 149.7234 0.99145439 62292 COSMOS 2133 -1 21111U 91010A 09102.35287332 -.00000102 00000-0 10000-3 0 1307 -2 21111 11.1344 42.5381 0004578 314.8090 45.0858 1.00285182 66520 +1 21111U 91010A 09128.27775867 -.00000113 00000-0 10000-3 0 1370 +2 21111 11.1864 42.2824 0004347 328.6147 31.2475 1.00285147 66787 INMARSAT 2-F2 -1 21149U 91018A 09103.31499336 -.00000141 00000-0 10000-3 0 4724 -2 21149 5.7754 56.0728 0004313 320.2031 200.7652 1.00271853 66312 +1 21149U 91018A 09129.42386352 -.00000138 00000-0 10000-3 0 5094 +2 21149 5.8354 55.8897 0003979 344.9449 241.0926 1.00270999 66576 TDRS 5 -1 21639U 91054B 09101.49881197 .00000101 00000-0 10000-3 0 4270 -2 21639 9.7082 56.3921 0010123 318.7207 196.5638 1.00272618 64791 +1 21639U 91054B 09129.62818830 .00000103 00000-0 10000-3 0 4417 +2 21639 9.7738 56.0633 0011146 327.7048 262.2980 1.00265884 65075 ANIK E1 -1 21726U 91067A 09102.97486706 .00000073 00000-0 10000-3 0 1378 -2 21726 5.6016 71.4094 0006398 216.8507 143.1146 0.99167404 55053 +1 21726U 91067A 09129.19021197 -.00000290 00000-0 10000-3 0 1484 +2 21726 5.6682 71.0633 0004347 220.0174 139.7749 0.99171945 55310 INTELSAT 601 (IS-601) -1 21765U 91075A 09102.89281692 .00000122 00000-0 10000-3 0 7560 -2 21765 4.3203 73.1631 0001135 350.0022 146.9393 1.00271694 63765 +1 21765U 91075A 09127.85495137 .00000124 00000-0 10000-3 0 7690 +2 21765 4.3862 72.8120 0000990 8.2013 140.0741 1.00273523 64019 EUTELSAT 2-F3 -1 21803U 91083A 09103.46502216 -.00000072 00000-0 10000-3 0 7019 -2 21803 8.2658 63.2249 0002300 279.3636 299.8428 0.99294412 59367 +1 21803U 91083A 09128.02742048 -.00000082 00000-0 10000-3 0 7175 +2 21803 8.3220 62.9303 0002806 264.9022 94.9303 0.99299576 59610 GALAXY 5 -1 21906U 92013A 09102.15506409 -.00000147 00000-0 10000-3 0 8913 -2 21906 4.0685 74.3423 0016182 276.9479 82.9440 0.99292020 54108 +1 21906U 92013A 09128.33889827 -.00000005 00000-0 10000-3 0 9047 +2 21906 4.1348 73.9966 0015870 284.7095 74.9368 0.99284899 54369 INMARSAT 2-F4 -1 21940U 92021B 09102.91845287 -.00000355 00000-0 10000-3 0 1839 -2 21940 4.4010 50.3007 0003282 318.9188 271.6361 1.00273164 62193 +1 21940U 92021B 09129.79988441 -.00000351 00000-0 10000-3 0 2235 +2 21940 4.4585 50.2854 0002193 9.5395 204.8819 1.00271285 62460 EUTELSAT 2-F4 -1 22028U 92041B 09102.40785633 .00000037 00000-0 10000-3 0 1523 -2 22028 7.4576 66.4526 0003413 88.7138 271.3062 0.99075470 54067 +1 22028U 92041B 09123.60190718 -.00000224 00000-0 10000-3 0 1576 +2 22028 7.5100 66.1909 0003654 80.4996 279.4647 0.99081474 54273 SATCOM C3 -1 22117U 92060B 09103.44809400 -.00000237 00000-0 10000-3 0 1092 -2 22117 4.2271 73.2663 0001804 11.2981 199.4713 1.00271972 60721 +1 22117U 92060B 09127.18604716 -.00000236 00000-0 10000-3 0 1259 +2 22117 4.2856 72.9766 0001505 10.5202 129.5705 1.00269729 60964 HELLAS SAT 1 (DFS 3) -1 22175U 92066A 09103.68567981 -.00000230 00000-0 10000-3 0 3548 -2 22175 6.7508 67.2590 0005830 274.8998 85.0148 0.99736434 58034 +1 22175U 92066A 09127.74827911 -.00000222 00000-0 10000-3 0 3612 +2 22175 6.8113 66.9550 0005467 289.0625 70.7341 0.99728873 58270 GORIZONT 27 -1 22245U 92082A 09103.12054950 -.00000127 00000-0 10000-3 0 4344 -2 22245 11.1362 45.5642 0014336 226.5528 133.2685 1.00229091 64297 +1 22245U 92082A 09129.05985824 -.00000164 00000-0 10000-3 0 4449 +2 22245 11.1901 45.2919 0014406 227.3346 132.4276 1.00227715 64552 COSMOS 2224 -1 22269U 92088A 09098.60509719 -.00000073 00000-0 10000-3 0 5521 -2 22269 10.2661 48.3479 0002243 72.1425 287.8116 1.00263054 59217 +1 22269U 92088A 09122.54081646 -.00000079 00000-0 10000-3 0 5566 +2 22269 10.3167 48.1017 0001898 59.1458 300.8031 1.00264671 59455 TDRS 6 -1 22314U 93003B 09102.43445528 .00000089 00000-0 10000-3 0 4530 -2 22314 9.0568 59.4704 0006807 325.5126 160.7544 1.00268890 59528 +1 22314U 93003B 09129.48046688 .00000093 00000-0 10000-3 0 4689 +2 22314 9.1206 59.1438 0006768 339.4150 190.5949 1.00278976 59791 ASTRA 1C -1 22653U 93031A 09101.12422981 .00000006 00000-0 10000-3 0 4023 -2 22653 2.4186 78.6233 0003946 293.8242 233.7214 1.00272183 53387 +1 22653U 93031A 09124.78296913 .00000004 00000-0 10000-3 0 4101 +2 22653 2.4781 78.3091 0004062 311.5146 116.8252 1.00272801 53625 INSAT-2B -1 22724U 93048B 09102.10029998 .00000047 00000-0 10000-3 0 2124 -2 22724 7.7635 64.3477 0011959 39.5890 320.4747 0.99980015 57850 +1 22724U 93048B 09128.10287766 -.00000166 00000-0 10000-3 0 2225 +2 22724 7.8271 64.0236 0013232 40.1048 319.8534 0.99985250 58118 ACTS -1 22796U 93058B 09101.90004417 -.00000094 00000-0 10000-3 0 6363 -2 22796 9.2756 58.5990 0004013 330.8743 29.0594 1.00272941 63980 +1 22796U 93058B 09128.82497806 -.00000093 00000-0 10000-3 0 6449 +2 22796 9.3380 58.2783 0005027 346.7024 13.1489 1.00273144 64259 INTELSAT 701 (IS-701) -1 22871U 93066A 09102.64480936 .00000048 00000-0 10000-3 0 3468 -2 22871 0.0219 206.7551 0002728 163.7203 242.6167 1.00273284 56546 +1 22871U 93066A 09128.41067747 .00000052 00000-0 10000-3 0 3568 +2 22871 0.0044 309.3905 0003004 98.1234 146.6927 1.00273197 56807 GORIZONT 29 -1 22907U 93072A 09102.11730503 -.00000089 00000-0 10000-3 0 6486 -2 22907 10.6272 49.0123 0014230 207.7930 152.0647 1.00170015 56367 +1 22907U 93072A 09129.07001519 -.00000176 00000-0 10000-3 0 6586 +2 22907 10.6873 48.7250 0012302 206.4814 153.3263 1.00169751 56639 SOLIDARIDAD 1 -1 22911U 93073A 09102.90113089 -.00000119 00000-0 10000-3 0 1695 -2 22911 7.7467 64.3197 0000288 322.5225 37.4430 1.00273442 55001 +1 22911U 93073A 09127.83157805 -.00000118 00000-0 10000-3 0 1798 +2 22911 7.8073 64.0071 0001524 37.0030 322.8722 1.00272229 55253 METEOSAT-6 (MOP-3) -1 22912U 93073B 09102.79346179 -.00000022 00000-0 10000-3 0 132 -2 22912 8.2199 60.6564 0002156 305.0521 188.4880 1.00269276 54812 +1 22912U 93073B 09128.69545934 -.00000021 00000-0 10000-3 0 554 +2 22912 8.2813 60.3541 0002091 332.4753 151.5634 1.00273073 55073 NATO 4B -1 22921U 93076A 09102.49301354 .00000144 00000-0 10000-3 0 1470 -2 22921 7.6322 53.2522 0005366 353.5876 6.2395 1.00269699 56237 +1 22921U 93076A 09128.42135759 .00000145 00000-0 10000-3 0 1566 +2 22921 7.6895 53.0228 0002506 327.2457 32.5864 1.00278075 56498 THAICOM 1 -1 22931U 93078B 09102.81037669 -.00000367 00000-0 10000-3 0 3542 -2 22931 0.1688 64.1320 0001594 229.6219 319.1495 1.00271706 55666 +1 22931U 93078B 09129.80975118 -.00000362 00000-0 10000-3 0 3736 +2 22931 0.2337 69.7263 0001704 210.9983 358.5020 1.00268864 55931 GOES 8 -1 23051U 94022A 09102.83455839 -.00000125 00000-0 10000-3 0 7457 -2 23051 5.5851 74.5538 0006770 189.3597 170.6506 0.98904789 62075 +1 23051U 94022A 09129.12029464 -.00000244 00000-0 10000-3 0 7798 +2 23051 5.6531 74.1808 0006127 187.8679 171.9558 0.98908454 62330 INTELSAT 702 (IS-702) -1 23124U 94034A 09098.67053434 .00000073 00000-0 10000-3 0 1941 -2 23124 0.0336 270.0650 0002596 109.5884 113.6288 1.00272139 68427 +1 23124U 94034A 09127.64670972 -.00000021 00000-0 10000-3 0 2117 +2 23124 0.0162 293.3925 0006275 52.7424 178.3071 1.00351013 68713 INTELSAT 2 (IS-2) -1 23175U 94040A 09102.54075912 -.00000035 00000-0 10000-3 0 4066 -2 23175 0.2959 86.2341 0002662 285.7280 192.6651 1.00271976 53378 +1 23175U 94040A 09128.62517066 -.00000030 00000-0 10000-3 0 4250 +2 23175 0.3611 85.3021 0002520 306.1111 229.3288 1.00272598 53637 BS-3N -1 23176U 94040B 09099.63534190 .00000000 00000-0 10000-3 0 9998 -2 23176 0.0230 130.1365 0003024 250.8053 155.6007 1.00263528 53848 +1 23176U 94040B 09127.69267042 -.00000353 00000-0 00000+0 0 61 +2 23176 0.0290 313.4863 0003250 58.1508 213.2844 1.00273385 54122 APSTAR 1 -1 23185U 94043A 09104.14619385 -.00000269 00000-0 10000-3 0 1613 -2 23185 4.2601 73.1268 0001084 300.1762 23.7597 1.00270566 53933 +1 23185U 94043A 09130.01665795 -.00000266 00000-0 10000-3 0 1813 +2 23185 4.3238 72.8202 0001118 319.7065 343.4036 1.00269294 54199 DIRECTV 2 (DBS 2) -1 23192U 94047A 09102.44211631 .00000030 00000-0 10000-3 0 4391 -2 23192 2.2230 78.4542 0013448 198.0743 162.1111 0.98632815 63789 +1 23192U 94047A 09127.78539986 -.00000084 00000-0 10000-3 0 4470 +2 23192 2.2881 78.1184 0012591 197.7916 161.9765 0.98634402 64031 BRASILSAT B1 -1 23199U 94049A 09102.38200384 -.00000275 00000-0 10000-3 0 2622 -2 23199 1.9937 79.3092 0002169 321.1543 229.7463 1.00268924 64614 +1 23199U 94049A 09128.44210049 -.00000271 00000-0 10000-3 0 2745 +2 23199 2.0587 79.0317 0001720 319.1978 279.3574 1.00271124 64873 OPTUS B3 -1 23227U 94055A 09102.45370166 -.00000079 00000-0 10000-3 0 3235 -2 23227 1.2856 80.4477 0004403 291.1352 156.5345 1.00272316 53542 +1 23227U 94055A 09128.60782420 -.00000075 00000-0 10000-3 0 3382 +2 23227 1.3511 80.1076 0005043 317.8943 211.3761 1.00272181 53807 NSS-703 -1 23305U 94064A 09102.83014344 .00000066 00000-0 10000-3 0 9227 -2 23305 0.0219 161.0671 0003217 229.8669 166.0596 1.00272285 53271 +1 23305U 94064A 09128.58935181 .00000070 00000-0 10000-3 0 9335 +2 23305 0.0051 222.1898 0003122 195.1499 78.3674 1.00272657 53530 SOLIDARIDAD 2 -1 23313U 94065A 09104.23008468 -.00000029 00000-0 10000-3 0 3193 -2 23313 1.0781 80.9617 0002432 310.7661 138.7328 1.00273391 53159 +1 23313U 94065A 09129.13404677 -.00000025 00000-0 10000-3 0 3366 +2 23313 1.1412 80.6365 0002496 322.7467 117.0492 1.00272454 53404 THAICOM 2 -1 23314U 94065B 09102.88746581 -.00000126 00000-0 10000-3 0 2410 -2 23314 0.1065 42.3786 0004093 258.0832 298.7070 1.00270908 53111 +1 23314U 94065B 09129.62116853 -.00000121 00000-0 10000-3 0 2554 +2 23314 0.0852 45.5822 0002009 265.3841 218.7029 1.00272162 53385 EXPRESS 1 -1 23319U 94067A 09101.75921706 -.00000282 00000-0 10000-3 0 6839 -2 23319 7.9455 63.6755 0002120 68.2589 291.7160 0.99827972 52955 +1 23319U 94067A 09128.80535156 -.00000100 00000-0 10000-3 0 6956 +2 23319 8.0110 63.3426 0002455 66.4198 293.4560 0.99819564 53226 ASTRA 1D -1 23331U 94070A 09101.00000000 .00000148 00000-0 00000+0 0 8938 -2 23331 1.4660 79.1510 0002226 305.0040 206.5090 1.00271816 53363 +1 23331U 94070A 09122.86192086 .00000142 00000-0 00000+0 0 9004 +2 23331 1.5427 78.4043 0002653 305.5963 178.4412 1.00271330 53581 RADUGA 32 -1 23448U 94087A 09102.38455384 -.00000090 00000-0 10000-3 0 1346 -2 23448 10.0851 53.1238 0004141 144.8778 215.0931 1.00283787 70025 +1 23448U 94087A 09128.30955484 -.00000100 00000-0 10000-3 0 1423 +2 23448 10.1435 52.8373 0004270 130.2315 229.6814 1.00284176 70281 INTELSAT 704 (IS-704) -1 23461U 95001A 09101.93448153 -.00000008 00000-0 10000-3 0 9307 -2 23461 0.0105 244.6527 0005142 128.8079 229.2252 1.00273093 52232 +1 23461U 95001A 09127.64671594 -.00000005 00000-0 10000-3 0 9408 +2 23461 0.0111 143.8774 0005493 249.3947 131.1611 1.00272257 52494 INTELSAT 705 (IS-705) -1 23528U 95013A 09100.91477079 -.00000290 00000-0 10000-3 0 8436 -2 23528 0.0088 150.8330 0003185 239.7600 87.9600 1.00270105 51408 +1 23528U 95013A 09129.14410815 -.00000282 00000-0 10000-3 0 8528 +2 23528 0.0033 331.4181 0003614 92.5198 165.0244 1.00270122 51684 BRASILSAT B2 -1 23536U 95016A 09103.47599113 -.00000173 00000-0 00000+0 0 28 -2 23536 1.1736 82.9437 0002260 318.7614 239.3939 1.00272605 51492 +1 23536U 95016A 09129.44967134 -.00000168 00000-0 00000+0 0 164 +2 23536 1.2377 82.5950 0002969 331.7365 242.9306 1.00272565 51756 AMSC 1 -1 23553U 95019A 09103.48353532 -.00000117 00000-0 10000-3 0 1107 -2 23553 4.3507 73.2776 0002712 307.6187 253.6665 1.00271899 51304 +1 23553U 95019A 09129.48701142 -.00000113 00000-0 00000+0 0 1199 +2 23553 4.4183 72.9308 0002587 342.4082 246.0950 1.00271432 51567 INTELSAT 706 (IS-706) -1 23571U 95023A 09103.48611111 .00000082 00000-0 10000-3 0 9100 -2 23571 0.0361 259.8536 0003399 137.1617 34.6394 1.00269479 50921 +1 23571U 95023A 09129.75302914 .00000087 00000-0 10000-3 0 9213 +2 23571 0.0024 140.4351 0002841 254.4908 158.6976 1.00272241 51187 DIRECTV 3 (DBS 3) -1 23598U 95029A 09103.31383897 -.00000225 00000-0 10000-3 0 420 -2 23598 0.1219 88.4842 0002350 331.2001 172.9144 1.00271161 50648 +1 23598U 95029A 09128.43232567 -.00000221 00000-0 10000-3 0 603 +2 23598 0.1837 86.3133 0002860 347.7327 225.9603 1.00270176 50894 TDRS 7 -1 23613U 95035B 09100.28391310 .00000115 00000-0 10000-3 0 4967 -2 23613 10.8936 48.9351 0004150 335.5311 125.5126 1.00271274 50310 +1 23613U 95035B 09126.46511844 .00000114 00000-0 10000-3 0 5107 +2 23613 10.9510 48.6508 0005097 358.0608 194.7935 1.00283007 50571 INTELSAT 4 (IS-4) -1 23636U 95040A 09102.73539381 -.00000063 00000-0 10000-3 0 9555 -2 23636 0.0663 80.8527 0003173 299.6747 157.2531 1.00272284 50112 +1 23636U 95040A 09128.73788826 -.00000059 00000-0 10000-3 0 9648 +2 23636 0.0079 227.0743 0003093 179.4798 157.7702 1.00272521 50377 COSMOS 2319 -1 23653U 95045A 09102.09563342 .00000044 00000-0 10000-3 0 9954 -2 23653 9.7051 55.3671 0002840 49.3332 310.6396 1.00275850 49861 +1 23653U 95045A 09129.01874046 .00000052 00000-0 10000-3 0 41 +2 23653 9.7668 55.0685 0003551 49.9945 309.8983 1.00283866 50133 TELSTAR 4 (TELSTAR 402R) -1 23670U 95049A 09101.91846589 -.00000122 00000-0 10000-3 0 9110 -2 23670 5.1831 70.8345 0004679 232.9856 127.0029 1.00243266 49622 +1 23670U 95049A 09127.85375268 -.00000102 00000-0 10000-3 0 9211 +2 23670 5.2477 70.5088 0003715 240.6967 119.1354 1.00242015 49881 LUCH 1 -1 23680U 95054A 09101.40821133 -.00000118 00000-0 10000-3 0 7505 -2 23680 8.8144 64.2455 0007254 305.5753 54.3307 1.00273430 49474 +1 23680U 95054A 09129.33024297 -.00000115 00000-0 10000-3 0 7599 +2 23680 8.8824 63.8846 0007063 307.8193 51.9755 1.00272169 49758 ASTRA 1E -1 23686U 95055A 09101.00000000 .00000129 00000-0 00000+0 0 9889 -2 23686 0.0680 164.0390 0002082 272.2080 146.5880 1.00266921 49436 +1 23686U 95055A 09121.00000000 .00000126 00000-0 00000+0 0 9923 +2 23686 0.0480 176.6630 0003282 268.0260 157.8900 1.00272552 49633 ASIASAT 2 -1 23723U 95064A 09102.66204508 -.00000313 00000-0 10000-3 0 9110 -2 23723 0.0649 46.6405 0002533 327.8487 165.3175 1.00272116 48982 +1 23723U 95064A 09129.56749855 -.00000307 00000-0 10000-3 0 9345 +2 23723 0.0494 34.3837 0002709 354.8543 143.0478 1.00271848 49252 TELECOM 2C -1 23730U 95067A 09102.97034718 .00000015 00000-0 10000-3 0 893 -2 23730 5.0185 71.5319 0004293 297.5442 184.5798 1.00271667 49019 +1 23730U 95067A 09129.70925082 .00000020 00000-0 10000-3 0 1017 +2 23730 5.0753 71.0266 0003583 333.5060 81.7110 1.00273989 49288 ECHOSTAR 1 -1 23754U 95073A 09102.59878751 .00000124 00000-0 10000-3 0 708 -2 23754 0.0669 74.7323 0002649 315.9539 237.6965 1.00272537 48520 +1 23754U 95073A 09129.39861796 .00000130 00000-0 10000-3 0 804 +2 23754 0.0047 252.5460 0002698 160.8427 169.3766 1.00272307 48799 INTELSAT 3R (IS-3R) -1 23764U 96002A 09093.90900823 -.00000287 00000-0 10000-3 0 6248 -2 23764 0.0057 183.6313 0003630 182.2312 110.7007 1.00269361 48446 +1 23764U 96002A 09128.60163316 -.00000270 00000-0 10000-3 0 6345 +2 23764 0.0433 118.9439 0001930 282.8514 358.3098 1.00268835 48799 AFRICASAT-1 (MEASAT-1) -1 23765U 96002B 09102.73359650 .00000128 00000-0 10000-3 0 8219 -2 23765 1.4515 79.8545 0000827 357.7326 73.5365 1.00271074 48518 +1 23765U 96002B 09127.46662321 .00000000 00000-0 10000-3 0 8352 +2 23765 1.5130 79.5957 0000629 11.1164 348.7104 1.00272534 48753 KOREASAT 2 -1 23768U 96003A 09102.82094654 -.00000366 00000-0 10000-3 0 7363 -2 23768 2.1990 78.2171 0000543 359.0228 175.9409 1.00273284 48493 +1 23768U 96003A 09129.59883044 -.00000362 00000-0 10000-3 0 7518 +2 23768 2.2667 77.8861 0001605 35.4013 86.3216 1.00273028 48760 HGS-3 -1 23779U 96006A 09102.94632659 .00000149 00000-0 10000-3 0 1827 -2 23779 0.0583 112.1698 0002755 287.2273 180.5768 1.00274265 48277 +1 23779U 96006A 09127.95566450 .00000152 00000-0 10000-3 0 1981 +2 23779 0.0696 97.2979 0002473 291.5389 219.1322 1.00273256 48522 INTELSAT 707 (IS-707) -1 23816U 96015A 09103.36530722 -.00000289 00000-0 10000-3 0 8344 -2 23816 0.0237 206.8685 0003531 191.6235 241.6902 1.00270694 47923 +1 23816U 96015A 09129.34296321 -.00000285 00000-0 10000-3 0 8463 +2 23816 0.0182 5.4205 0002858 54.7205 237.6115 1.00270982 48180 INMARSAT 3-F1 -1 23839U 96020A 09102.80336603 .00000007 00000-0 10000-3 0 6834 -2 23839 0.2571 60.8599 0005518 316.8451 177.0915 1.00272456 47712 +1 23839U 96020A 09127.71491863 .00000008 00000-0 10000-3 0 7215 +2 23839 0.1882 49.1549 0005179 7.4926 130.9207 1.00276918 47960 ASTRA 1F -1 23842U 96021A 09101.00000000 .00000112 00000-0 00000+0 0 9722 -2 23842 0.0310 218.6510 0004776 153.3080 206.5750 1.00264728 47604 +1 23842U 96021A 09121.00000000 .00000109 00000-0 00000+0 0 9764 +2 23842 0.0040 192.8610 0005020 184.5840 220.8100 1.00273284 47808 MSAT M1 -1 23846U 96022A 09103.19952082 -.00000084 00000-0 10000-3 0 4533 -2 23846 1.6966 79.1157 0006102 303.1377 144.5890 1.00271888 47542 +1 23846U 96022A 09129.23418484 -.00000079 00000-0 10000-3 0 4724 +2 23846 1.7652 78.7216 0005380 321.3983 164.8644 1.00271904 47808 PALAPA C2 -1 23864U 96030A 09102.82394564 -.00000363 00000-0 10000-3 0 8518 -2 23864 0.0098 133.0844 0001574 265.9334 211.6967 1.00273126 47267 +1 23864U 96030A 09127.93994366 -.00000360 00000-0 10000-3 0 8655 +2 23864 0.0565 74.2949 0000852 358.8296 244.0769 1.00268117 47517 AMOS 1 -1 23865U 96030B 09103.89615358 -.00000019 00000-0 10000-3 0 660 -2 23865 0.7365 85.1244 0004331 288.5226 149.6143 1.00272526 47278 +1 23865U 96030B 09128.01760936 -.00000015 00000-0 10000-3 0 750 +2 23865 0.8054 84.2164 0004208 298.8567 207.8839 1.00275199 47515 GALAXY 9 (G-9) -1 23877U 96033A 09103.48945359 -.00000229 00000-0 10000-3 0 683 -2 23877 0.6181 81.3059 0001501 322.2378 253.4445 1.00271027 47216 +1 23877U 96033A 09129.36777133 -.00000224 00000-0 10000-3 0 798 +2 23877 0.6849 80.9582 0001564 317.8350 239.8925 1.00269800 47477 GORIZONT 32 -1 23880U 96034A 09103.02713580 -.00000117 00000-0 10000-3 0 1820 -2 23880 9.2828 57.2351 0002372 296.3967 203.8950 1.00272202 47184 +1 23880U 96034A 09129.08724056 -.00000116 00000-0 10000-3 0 2026 +2 23880 9.3422 56.9464 0002305 314.4830 233.4132 1.00271428 47442 INTELSAT 709 (IS-709) -1 23915U 96035A 09102.87911374 -.00000190 00000-0 10000-3 0 9226 -2 23915 0.0595 69.3688 0003528 335.9968 197.4457 1.00270925 47006 +1 23915U 96035A 09129.02464743 -.00000185 00000-0 10000-3 0 9364 +2 23915 0.0478 79.9259 0003581 334.7515 266.3074 1.00270788 47267 APSTAR 1A -1 23943U 96039A 09102.71843622 -.00000341 00000-0 10000-3 0 87 -2 23943 3.5655 74.6473 0001508 279.1784 235.8351 1.00274996 46814 +1 23943U 96039A 09129.54842987 -.00000337 00000-0 10000-3 0 276 +2 23943 3.6289 74.3620 0001778 315.3436 165.2371 1.00272227 47088 TURKSAT 1C -1 23949U 96040B 09099.88274038 .00000145 00000-0 10000-3 0 9931 -2 23949 0.9966 79.4260 0003657 295.3134 172.2875 1.00275296 46717 +1 23949U 96040B 09129.77725941 .00000155 00000-0 10000-3 0 41 +2 23949 1.0726 79.2073 0003982 331.2265 128.0639 1.00270887 47011 TELECOM 2D -1 24209U 96044B 09104.09445146 -.00000068 00000-0 10000-3 0 8760 -2 24209 2.7508 76.6111 0005290 298.5474 213.4092 1.00274123 46571 +1 24209U 96044B 09128.73221361 -.00000065 00000-0 10000-3 0 8855 +2 24209 2.8034 76.2471 0004926 321.8176 84.3471 1.00271045 46829 INMARSAT 3-F2 -1 24307U 96053A 09103.00956275 -.00000128 00000-0 10000-3 0 7800 -2 24307 0.0855 14.7871 0005078 6.8020 167.6722 1.00271962 46133 +1 24307U 96053A 09127.59353476 -.00000126 00000-0 10000-3 0 8162 +2 24307 0.0989 13.1523 0005483 18.0958 32.4748 1.00270979 46384 ECHOSTAR 2 -1 24313U 96055A 09103.42411943 -.00000163 00000-0 10000-3 0 9882 -2 24313 0.7160 80.9211 0002187 261.7635 276.1568 1.00347898 46160 +1 24313U 96055A 09129.21964160 -.00000196 00000-0 10000-3 0 79 +2 24313 0.7803 80.6905 0002089 271.4626 225.4245 1.00343964 46428 AMC-1 (GE-1) -1 24315U 96054A 09103.38087156 -.00000107 00000-0 10000-3 0 1120 -2 24315 0.0098 169.7795 0003378 201.3304 224.6931 1.00272288 46122 +1 24315U 96054A 09128.23374197 -.00000103 00000-0 10000-3 0 1244 +2 24315 0.0214 163.3100 0003321 235.5486 168.4656 1.00271325 46377 ARABSAT-2B -1 24652U 96063A 09102.81547586 .00000149 00000-0 10000-3 0 9728 -2 24652 0.0264 216.3085 0004262 186.8617 121.9938 1.00275180 45959 +1 24652U 96063A 09128.64000999 .00000153 00000-0 10000-3 0 9870 +2 24652 0.0875 246.3884 0004139 165.9555 75.1159 1.00271590 46215 MEASAT-2 -1 24653U 96063B 09103.19787179 -.00000222 00000-0 10000-3 0 9267 -2 24653 1.4120 79.8877 0001659 308.6895 32.1620 1.00272062 45515 +1 24653U 96063B 09129.43045370 -.00000217 00000-0 10000-3 0 9446 +2 24653 1.4780 79.7319 0001269 320.1374 130.4694 1.00272656 45786 EUROBIRD 9 -1 24665U 96067A 09103.84355619 .00000147 00000-0 10000-3 0 8518 -2 24665 0.1107 82.1154 0003216 303.8896 155.2904 1.00436284 45782 +1 24665U 96067A 09128.72450119 .00000150 00000-0 10000-3 0 8696 +2 24665 0.1723 83.2901 0006650 5.5066 78.8887 1.00272314 46039 INMARSAT 3-F3 -1 24674U 96070A 09103.29473483 .00000036 00000-0 10000-3 0 7472 -2 24674 0.1299 37.0707 0004169 350.2996 98.4656 1.00274625 45097 +1 24674U 96070A 0... [truncated message content] |
From: <cs...@us...> - 2009-05-10 15:01:11
|
Revision: 298 http://gpredict.svn.sourceforge.net/gpredict/?rev=298&view=rev Author: csete Date: 2009-05-10 15:01:04 +0000 (Sun, 10 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/NEWS Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-05-10 15:00:26 UTC (rev 297) +++ trunk/NEWS 2009-05-10 15:01:04 UTC (rev 298) @@ -4,7 +4,7 @@ * Windows: New installer instead of ZIP distribution. * Mac OS X package. -Changes in version 1.0 beta 3 (TBD) +Changes in version 1.0 beta 3 (10 May 2009) - Feature request 2691964: Full-duplex controller. - Fixed a bug that caused long delays when opening or reconfiguring modules This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 15:00:27
|
Revision: 297 http://gpredict.svn.sourceforge.net/gpredict/?rev=297&view=rev Author: csete Date: 2009-05-10 15:00:26 +0000 (Sun, 10 May 2009) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-05-10 14:59:51 UTC (rev 296) +++ trunk/ChangeLog 2009-05-10 15:00:26 UTC (rev 297) @@ -1,3 +1,26 @@ +2009-05-10 Alexandru Csete <oz...@gm...> + + * src/sat-pref-rig-data.h: + * src/sat-pref-rig.c: + Added VFO UP/DOWN columns. + + * src/trsp-conf.c: + Changed error messages severity to WARNING when reading transponder data. + +2009-05-09 Alexandru Csete <oz...@gm...> + + * src/radio-conf.[ch]: + Added parameter to store uplink and downlink VFOs for full-duplex capable + radios. + + * src/sat-pref-rig-editor.c: + Added selector for VFO up/down combination for duplex radios. + + * src/gtk-rig-ctrl.c: + Moved error checking to cycle controlled. + Implemented full-duplex controller. + + 2009-05-01 Alexandru Csete <oz...@gm...> * src/gtk-sat-module.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2009-05-10 14:59:51 UTC (rev 296) +++ trunk/NEWS 2009-05-10 15:00:26 UTC (rev 297) @@ -6,7 +6,7 @@ Changes in version 1.0 beta 3 (TBD) -* Implemented full-duplex controller. +- Feature request 2691964: Full-duplex controller. - Fixed a bug that caused long delays when opening or reconfiguring modules containing a polar view. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 14:59:52
|
Revision: 296 http://gpredict.svn.sourceforge.net/gpredict/?rev=296&view=rev Author: csete Date: 2009-05-10 14:59:51 +0000 (Sun, 10 May 2009) Log Message: ----------- Updated user manual. Modified Paths: -------------- trunk/doc/um/gpredict-user-manual.odt Modified: trunk/doc/um/gpredict-user-manual.odt =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 14:38:55
|
Revision: 295 http://gpredict.svn.sourceforge.net/gpredict/?rev=295&view=rev Author: csete Date: 2009-05-10 14:38:54 +0000 (Sun, 10 May 2009) Log Message: ----------- changed column names so that list fits into window. Modified Paths: -------------- trunk/src/sat-pref-rig.c Modified: trunk/src/sat-pref-rig.c =================================================================== --- trunk/src/sat-pref-rig.c 2009-05-10 13:57:23 UTC (rev 294) +++ trunk/src/sat-pref-rig.c 2009-05-10 14:38:54 UTC (rev 295) @@ -197,7 +197,7 @@ /* transverter down */ renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("Downconverter LO"), renderer, + column = gtk_tree_view_column_new_with_attributes (_("LO Down"), renderer, "text", RIG_LIST_COL_LO, NULL); gtk_tree_view_column_set_cell_data_func (column, renderer, @@ -208,7 +208,7 @@ /* transverter up */ renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes (_("Upconverter LO"), renderer, + column = gtk_tree_view_column_new_with_attributes (_("LO Up"), renderer, "text", RIG_LIST_COL_LOUP, NULL); gtk_tree_view_column_set_cell_data_func (column, renderer, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 14:14:12
|
Revision: 294 http://gpredict.svn.sourceforge.net/gpredict/?rev=294&view=rev Author: csete Date: 2009-05-10 13:57:23 +0000 (Sun, 10 May 2009) Log Message: ----------- Changed error messages severity to WARNING when reading transponder data. Modified Paths: -------------- trunk/src/trsp-conf.c Modified: trunk/src/trsp-conf.c =================================================================== --- trunk/src/trsp-conf.c 2009-05-10 13:16:46 UTC (rev 293) +++ trunk/src/trsp-conf.c 2009-05-10 13:57:23 UTC (rev 294) @@ -97,8 +97,8 @@ trsp->uplow = g_key_file_get_double (cfg, groups[i], KEY_UP_LOW, &error); if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading %s:%s from %s"), + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Error reading %s:%s from %s. Using defult."), __FUNCTION__, groups[i], KEY_UP_LOW, name); g_clear_error (&error); trsp->uplow = 0.0; @@ -106,8 +106,8 @@ trsp->uphigh = g_key_file_get_double (cfg, groups[i], KEY_UP_HIGH, &error); if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading %s:%s from %s"), + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Error reading %s:%s from %s. Using defult."), __FUNCTION__, groups[i], KEY_UP_HIGH, name); g_clear_error (&error); trsp->uphigh = trsp->uplow; @@ -115,8 +115,8 @@ trsp->downlow = g_key_file_get_double (cfg, groups[i], KEY_DOWN_LOW, &error); if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading %s:%s from %s"), + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Error reading %s:%s from %s. Using defult."), __FUNCTION__, groups[i], KEY_DOWN_LOW, name); g_clear_error (&error); trsp->downlow = 0.0; @@ -124,8 +124,8 @@ trsp->downhigh = g_key_file_get_double (cfg, groups[i], KEY_DOWN_HIGH, &error); if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading %s:%s from %s"), + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Error reading %s:%s from %s. Using defult."), __FUNCTION__, groups[i], KEY_DOWN_HIGH, name); g_clear_error (&error); trsp->downhigh = trsp->downlow; @@ -133,8 +133,8 @@ trsp->invert = g_key_file_get_boolean (cfg, groups[i], KEY_INVERT, &error); if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s: Error reading %s:%s from %s"), + sat_log_log (SAT_LOG_LEVEL_WARN, + _("%s: Error reading %s:%s from %s. Assume non-inverting."), __FUNCTION__, groups[i], KEY_INVERT, name); g_clear_error (&error); trsp->invert = FALSE; @@ -142,7 +142,7 @@ trsp->mode = g_key_file_get_string (cfg, groups[i], KEY_MODE, &error); if (error != NULL) { - sat_log_log (SAT_LOG_LEVEL_ERROR, + sat_log_log (SAT_LOG_LEVEL_WARN, _("%s: Error reading %s:%s from %s"), __FUNCTION__, groups[i], KEY_MODE, name); g_clear_error (&error); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 13:16:48
|
Revision: 293 http://gpredict.svn.sourceforge.net/gpredict/?rev=293&view=rev Author: csete Date: 2009-05-10 13:16:46 +0000 (Sun, 10 May 2009) Log Message: ----------- Correctly initialise full-duplex controller when radio is engaged. Modified Paths: -------------- trunk/src/gtk-rig-ctrl.c Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2009-05-10 11:17:17 UTC (rev 292) +++ trunk/src/gtk-rig-ctrl.c 2009-05-10 13:16:46 UTC (rev 293) @@ -1165,16 +1165,18 @@ } else { switch (ctrl->conf->type) { + case RIG_TYPE_RX: ctrl->lastrxf = gtk_freq_knob_get_value (GTK_FREQ_KNOB(ctrl->RigFreqDown)); set_freq_simplex (ctrl, ctrl->conf, ctrl->lastrxf); break; + case RIG_TYPE_TX: ctrl->lasttxf = gtk_freq_knob_get_value (GTK_FREQ_KNOB(ctrl->RigFreqUp)); set_freq_simplex (ctrl, ctrl->conf, ctrl->lasttxf); break; + case RIG_TYPE_TRX: - case RIG_TYPE_DUPLEX: if (get_ptt (ctrl, ctrl->conf)) { ctrl->lasttxf = gtk_freq_knob_get_value (GTK_FREQ_KNOB(ctrl->RigFreqUp)); set_freq_simplex (ctrl, ctrl->conf, ctrl->lasttxf); @@ -1184,6 +1186,15 @@ set_freq_simplex (ctrl, ctrl->conf, ctrl->lastrxf); } break; + + case RIG_TYPE_DUPLEX: + ctrl->lastrxf = gtk_freq_knob_get_value (GTK_FREQ_KNOB(ctrl->RigFreqDown)); + set_vfo (ctrl, ctrl->conf->vfoDown); + set_freq_simplex (ctrl, ctrl->conf, ctrl->lastrxf); + ctrl->lasttxf = gtk_freq_knob_get_value (GTK_FREQ_KNOB(ctrl->RigFreqUp)); + set_vfo (ctrl, ctrl->conf->vfoUp); + set_freq_simplex (ctrl, ctrl->conf, ctrl->lasttxf); + default: /* this is an error! */ ctrl->conf->type = RIG_TYPE_RX; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2009-05-10 11:17:24
|
Revision: 292 http://gpredict.svn.sourceforge.net/gpredict/?rev=292&view=rev Author: csete Date: 2009-05-10 11:17:17 +0000 (Sun, 10 May 2009) Log Message: ----------- Added VFO UP/DOWN columns. Modified Paths: -------------- trunk/src/sat-pref-rig-data.h trunk/src/sat-pref-rig.c Modified: trunk/src/sat-pref-rig-data.h =================================================================== --- trunk/src/sat-pref-rig-data.h 2009-05-10 11:10:48 UTC (rev 291) +++ trunk/src/sat-pref-rig-data.h 2009-05-10 11:17:17 UTC (rev 292) @@ -35,6 +35,8 @@ RIG_LIST_COL_PORT, /*!< Port number */ RIG_LIST_COL_TYPE, /*!< Radio type */ RIG_LIST_COL_PTT, /*!< PTT */ + RIG_LIST_COL_VFOUP, /*!< VFO Up */ + RIG_LIST_COL_VFODOWN, /*!< VFO down */ RIG_LIST_COL_LO, /*!< Local oscillator freq (downlink) */ RIG_LIST_COL_LOUP, /*!< Local oscillato freq (uplink) */ RIG_LIST_COL_NUM /*!< The number of fields in the list. */ Modified: trunk/src/sat-pref-rig.c =================================================================== --- trunk/src/sat-pref-rig.c 2009-05-10 11:10:48 UTC (rev 291) +++ trunk/src/sat-pref-rig.c 2009-05-10 11:17:17 UTC (rev 292) @@ -73,6 +73,11 @@ GtkTreeModel *model, GtkTreeIter *iter, gpointer column); +static void render_vfo (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column); /* global objects */ @@ -168,6 +173,28 @@ NULL); gtk_tree_view_insert_column (GTK_TREE_VIEW (riglist), column, -1); + /* VFO Up */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("VFO Up"), renderer, + "text", RIG_LIST_COL_VFOUP, + NULL); + gtk_tree_view_column_set_cell_data_func (column, renderer, + render_vfo, + GUINT_TO_POINTER(RIG_LIST_COL_VFOUP), + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (riglist), column, -1); + + /* VFO Down */ + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes (_("VFO Down"), renderer, + "text", RIG_LIST_COL_VFODOWN, + NULL); + gtk_tree_view_column_set_cell_data_func (column, renderer, + render_vfo, + GUINT_TO_POINTER(RIG_LIST_COL_VFODOWN), + NULL); + gtk_tree_view_insert_column (GTK_TREE_VIEW (riglist), column, -1); + /* transverter down */ renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Downconverter LO"), renderer, @@ -213,6 +240,8 @@ G_TYPE_INT, // port G_TYPE_INT, // type G_TYPE_INT, // PTT + G_TYPE_INT, // VFO Up + G_TYPE_INT, // VFO Down G_TYPE_DOUBLE, // LO DOWN G_TYPE_DOUBLE // LO UO ); @@ -242,6 +271,8 @@ RIG_LIST_COL_PORT, conf.port, RIG_LIST_COL_TYPE, conf.type, RIG_LIST_COL_PTT, conf.ptt, + RIG_LIST_COL_VFOUP, conf.vfoUp, + RIG_LIST_COL_VFODOWN, conf.vfoDown, RIG_LIST_COL_LO, conf.lo, RIG_LIST_COL_LOUP, conf.loup, -1); @@ -354,6 +385,8 @@ .port = 4532, .type = RIG_TYPE_RX, .ptt = 0, + .vfoUp = 0, + .vfoDown = 0, .lo = 0.0, .loup = 0.0, }; @@ -397,6 +430,8 @@ RIG_LIST_COL_PORT, &conf.port, RIG_LIST_COL_TYPE, &conf.type, RIG_LIST_COL_PTT, &conf.ptt, + RIG_LIST_COL_VFOUP, &conf.vfoUp, + RIG_LIST_COL_VFODOWN, &conf.vfoDown, RIG_LIST_COL_LO, &conf.lo, RIG_LIST_COL_LOUP, &conf.loup, -1); @@ -438,6 +473,8 @@ .port = 4532, .type = RIG_TYPE_RX, .ptt = 0, + .vfoUp = 0, + .vfoDown = 0, .lo = 0.0, .loup = 0.0, }; @@ -455,6 +492,8 @@ RIG_LIST_COL_PORT, conf.port, RIG_LIST_COL_TYPE, conf.type, RIG_LIST_COL_PTT, conf.ptt, + RIG_LIST_COL_VFOUP, conf.vfoUp, + RIG_LIST_COL_VFODOWN, conf.vfoDown, RIG_LIST_COL_LO, conf.lo, RIG_LIST_COL_LOUP, conf.loup, -1); @@ -488,6 +527,8 @@ .port = 4532, .type = RIG_TYPE_RX, .ptt = 0, + .vfoUp = 0, + .vfoDown = 0, .lo = 0.0, .loup = 0.0, }; @@ -516,6 +557,8 @@ RIG_LIST_COL_PORT, &conf.port, RIG_LIST_COL_TYPE, &conf.type, RIG_LIST_COL_PTT, &conf.ptt, + RIG_LIST_COL_VFOUP, &conf.vfoUp, + RIG_LIST_COL_VFODOWN, &conf.vfoDown, RIG_LIST_COL_LO, &conf.lo, RIG_LIST_COL_LOUP, &conf.loup, -1); @@ -547,6 +590,8 @@ RIG_LIST_COL_PORT, conf.port, RIG_LIST_COL_TYPE, conf.type, RIG_LIST_COL_PTT, conf.ptt, + RIG_LIST_COL_VFOUP, conf.vfoUp, + RIG_LIST_COL_VFODOWN, conf.vfoDown, RIG_LIST_COL_LO, conf.lo, RIG_LIST_COL_LOUP, conf.loup, -1); @@ -751,7 +796,55 @@ g_free (buff); } +/** \brief Render VFO selection. + * \param col Pointer to the tree view column. + * \param renderer Pointer to the renderer. + * \param model Pointer to the tree model. + * \param iter Pointer to the tree iterator. + * \param column The column number in the model. + * + * This function is used to render the VFO up/down selections for + * full duplex radios. + */ +static void render_vfo (GtkTreeViewColumn *col, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer column) +{ + gint number; + gchar *buff; + guint coli = GPOINTER_TO_UINT (column); + + gtk_tree_model_get (model, iter, coli, &number, -1); + switch (number) { + + case VFO_A: + buff = g_strdup_printf ("VFO A"); + break; + + case VFO_B: + buff = g_strdup_printf ("VFO B"); + break; + + case VFO_MAIN: + buff = g_strdup_printf ("Main"); + break; + + case VFO_SUB: + buff = g_strdup_printf ("Sub"); + break; + + default: + buff = g_strdup_printf ("-"); + break; + } + g_object_set (renderer, "text", buff, NULL); + g_free (buff); +} + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |