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.
|