Thread: [Gpredict-svn] SF.net SVN: gpredict:[619] trunk (Page 3)
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
From: <cs...@us...> - 2010-05-20 19:44:25
|
Revision: 619 http://gpredict.svn.sourceforge.net/gpredict/?rev=619&view=rev Author: csete Date: 2010-05-20 19:44:15 +0000 (Thu, 20 May 2010) Log Message: ----------- Applied patch 3002348: Option context never freed (Thanks to Charles Suprin AA1VS). Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/main.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-05-20 19:33:58 UTC (rev 618) +++ trunk/ChangeLog 2010-05-20 19:44:15 UTC (rev 619) @@ -6,7 +6,10 @@ * src/first-time.c: Applied patch 3002345: Free catfilename. + * src/main.c: + Applied patch 3002348: Option context never freed. + 2010-05-04 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sky-at-glance.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-05-20 19:33:58 UTC (rev 618) +++ trunk/NEWS 2010-05-20 19:44:15 UTC (rev 619) @@ -32,6 +32,7 @@ - Applied patch 2951724: Allow TX Doppler correction for FT-817, 857 and 897 (Thanks to Charles Suprin AA1VS). - Applied patch 3002344: Remove Uninitialized Jump (Thanks to Charles Suprin AA1VS). - Applied patch 3002345: Free catfilename (Thanks to Charles Suprin AA1VS). +- Applied patch 3002348: Option context never freed (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/main.c =================================================================== --- trunk/src/main.c 2010-05-20 19:33:58 UTC (rev 618) +++ trunk/src/main.c 2010-05-20 19:44:15 UTC (rev 619) @@ -185,6 +185,7 @@ gtk_main (); + g_option_context_free(context); #ifdef WIN32 // Cleanup Windozze Sockets CloseWinSock2(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-06-18 10:08:54
|
Revision: 622 http://gpredict.svn.sourceforge.net/gpredict/?rev=622&view=rev Author: csete Date: 2010-06-18 10:08:48 +0000 (Fri, 18 Jun 2010) Log Message: ----------- Applied patch 3009727: Free satellite hash references. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-sat-data.c trunk/src/gtk-sat-data.h trunk/src/gtk-sat-module.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-06-18 09:49:11 UTC (rev 621) +++ trunk/ChangeLog 2010-06-18 10:08:48 UTC (rev 622) @@ -3,6 +3,12 @@ * src/main.c: Applied patch 3009725: Delete Explicit Call to gtk_set_locale. + * src/gtk-sat-data.[ch]: + Added function to free satellite name, nickname and website (patch 3009727). + + * src/gtk-sat-module.c: + Use new gtk_sat_data_free_sat() function (patch 3009727). + 2010-05-23 Alexandru Csete <oz9aec at gmail.com> Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-06-18 09:49:11 UTC (rev 621) +++ trunk/NEWS 2010-06-18 10:08:48 UTC (rev 622) @@ -35,6 +35,7 @@ - Applied patch 3002348: Option context never freed (Thanks to Charles Suprin AA1VS). - Applied patch 3005548: Cut and Paste Error In print_pass.h (Thanks to Charles Suprin AA1VS). - Applied patch 3009725: Delete Explicit Call to gtk_set_locale (Thanks to Charles Suprin AA1VS). +- Applied patch 3009727: Free satellite hash references (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/gtk-sat-data.c =================================================================== --- trunk/src/gtk-sat-data.c 2010-06-18 09:49:11 UTC (rev 621) +++ trunk/src/gtk-sat-data.c 2010-06-18 10:08:48 UTC (rev 622) @@ -301,3 +301,31 @@ gtk_sat_data_init_sat (dest, qth); } + + +/** \brief Free satellite data + * \param sat Pointer to the satellite data to free + * + * This function frees the memory that has been dyunamically allocated + * when creating a new satellite object. + */ +void gtk_sat_data_free_sat(sat_t *sat) +{ + + if (sat){ + if (sat->name){ + g_free(sat->name); + sat->name=NULL; + } + if (sat->nickname){ + g_free(sat->nickname); + sat->nickname=NULL; + } + if (sat->website){ + g_free(sat->website); + sat->website=NULL; + } + + g_free(sat); + } +} Modified: trunk/src/gtk-sat-data.h =================================================================== --- trunk/src/gtk-sat-data.h 2010-06-18 09:49:11 UTC (rev 621) +++ trunk/src/gtk-sat-data.h 2010-06-18 10:08:48 UTC (rev 622) @@ -36,5 +36,5 @@ gint gtk_sat_data_read_sat (gint catnum, sat_t *sat); void gtk_sat_data_init_sat (sat_t *sat, qth_t *qth); void gtk_sat_data_copy_sat (const sat_t *source, sat_t *dest, qth_t *qth); - +void gtk_sat_data_free_sat (sat_t *sat); #endif Modified: trunk/src/gtk-sat-module.c =================================================================== --- trunk/src/gtk-sat-module.c 2010-06-18 09:49:11 UTC (rev 621) +++ trunk/src/gtk-sat-module.c 2010-06-18 10:08:48 UTC (rev 622) @@ -80,6 +80,7 @@ const gchar *cfgfile); static void gtk_sat_module_load_sats (GtkSatModule *module); +static void gtk_sat_module_free_sat (gpointer sat); static gboolean gtk_sat_module_timeout_cb (gpointer module); static void gtk_sat_module_update_sat (gpointer key, gpointer val, @@ -165,7 +166,7 @@ module->satellites = g_hash_table_new_full (g_int_hash, g_int_equal, g_free, - g_free); + gtk_sat_module_free_sat); module->rotctrlwin = NULL; module->rotctrl = NULL; @@ -703,6 +704,15 @@ } +/** \brief Free satellite data + * + * This function is called automatically for each satellite when + * the hash table is destroyed. + */ +static void gtk_sat_module_free_sat (gpointer sat) +{ + gtk_sat_data_free_sat (SAT(sat)); +} /** \brief Module timeout callback. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-07-10 01:40:29
|
Revision: 629 http://gpredict.svn.sourceforge.net/gpredict/?rev=629&view=rev Author: csete Date: 2010-07-10 00:27:52 +0000 (Sat, 10 Jul 2010) Log Message: ----------- Fixed incorrect frequency and added more modes for SEEDS II. Modified Paths: -------------- trunk/ChangeLog trunk/data/trsp/32791.trsp Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-07-10 00:16:57 UTC (rev 628) +++ trunk/ChangeLog 2010-07-10 00:27:52 UTC (rev 629) @@ -10,7 +10,10 @@ * data/trsp/36122.trsp: Fixed incorrect V/U packet frequencies. + * data/trsp/32791.trsp: + Fixed incorrect frequency and added more modes. + 2010-06-18 Alexandru Csete <oz9aec at gmail.com> * src/main.c: Modified: trunk/data/trsp/32791.trsp =================================================================== --- trunk/data/trsp/32791.trsp 2010-07-10 00:16:57 UTC (rev 628) +++ trunk/data/trsp/32791.trsp 2010-07-10 00:27:52 UTC (rev 629) @@ -1,2 +1,9 @@ [Mode U TLM] -DOWN_LOW=437385000 +DOWN_LOW=437485000 + +[Mode U SSTV] +DOWN_LOW=437485000 + +[Mode U Digi] +DOWN_LOW=437485000 + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-07-12 08:53:31
|
Revision: 637 http://gpredict.svn.sourceforge.net/gpredict/?rev=637&view=rev Author: csete Date: 2010-07-12 08:53:24 +0000 (Mon, 12 Jul 2010) Log Message: ----------- Allow docked modules to be reordered by dragging the tabs. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/mod-mgr.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-07-11 12:01:32 UTC (rev 636) +++ trunk/ChangeLog 2010-07-12 08:53:24 UTC (rev 637) @@ -1,3 +1,9 @@ +2010-07-12 alexandru Csete >oz9aec at gmail.com> + + * src/mod-mgr.c: + Allow docked modules to be reordered by dragging the tabs. + + 2010-07-11 Alexandru Csete <oz9aec at gmail.com> * data/satdata: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-07-11 12:01:32 UTC (rev 636) +++ trunk/NEWS 2010-07-12 08:53:24 UTC (rev 637) @@ -41,6 +41,7 @@ - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance over light background map regions. - Fixed incorrect uplink and downlink frequencies for HO-68, mode V/U packet. +- Modules that are docked in the main window can be reordered by dragging the tabs. Changes in version 1.1 (5 Oct 2009) Modified: trunk/src/mod-mgr.c =================================================================== --- trunk/src/mod-mgr.c 2010-07-11 12:01:32 UTC (rev 636) +++ trunk/src/mod-mgr.c 2010-07-12 08:53:24 UTC (rev 637) @@ -202,6 +202,9 @@ module, gtk_label_new (GTK_SAT_MODULE (module)->name)); + /* allow nmodule to be dragged to different position */ + gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK(nbook), module, TRUE); + gtk_notebook_set_current_page (GTK_NOTEBOOK (nbook), page); /* send message to logger */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-07-12 12:49:58
|
Revision: 639 http://gpredict.svn.sourceforge.net/gpredict/?rev=639&view=rev Author: csete Date: 2010-07-12 12:49:51 +0000 (Mon, 12 Jul 2010) Log Message: ----------- Include TCA when creating a copy of a pass. Modified Paths: -------------- trunk/ChangeLog trunk/src/predict-tools.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-07-12 09:34:16 UTC (rev 638) +++ trunk/ChangeLog 2010-07-12 12:49:51 UTC (rev 639) @@ -6,7 +6,10 @@ * src/configure-ac: Require GooCanvas 0.15. Updated dependencies to match Ubuntu 9.10 Karmic. + * src/predict-tools.c: + Include TCA when creating copy of a pass. + 2010-07-11 Alexandru Csete <oz9aec at gmail.com> * data/satdata: Modified: trunk/src/predict-tools.c =================================================================== --- trunk/src/predict-tools.c 2010-07-12 09:34:16 UTC (rev 638) +++ trunk/src/predict-tools.c 2010-07-12 12:49:51 UTC (rev 639) @@ -661,6 +661,7 @@ if (new != NULL) { new->aos = pass->aos; new->los = pass->los; + new->tca = pass->tca; new->max_el = pass->max_el; new->aos_az = pass->aos_az; new->los_az = pass->los_az; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-07-12 13:34:53
|
Revision: 640 http://gpredict.svn.sourceforge.net/gpredict/?rev=640&view=rev Author: csete Date: 2010-07-12 13:34:47 +0000 (Mon, 12 Jul 2010) Log Message: ----------- Implemented pass summary pop-up when mouse hovers over a pass. Works like tootlips. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sky-glance.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-07-12 12:49:51 UTC (rev 639) +++ trunk/ChangeLog 2010-07-12 13:34:47 UTC (rev 640) @@ -9,7 +9,11 @@ * src/predict-tools.c: Include TCA when creating copy of a pass. + * src/gtk-sky-glance.c: + Implemented pass summary pop-up when mouse hovers over a pass. Works like + tooltips. + 2010-07-11 Alexandru Csete <oz9aec at gmail.com> * data/satdata: Modified: trunk/src/gtk-sky-glance.c =================================================================== --- trunk/src/gtk-sky-glance.c 2010-07-12 12:49:51 UTC (rev 639) +++ trunk/src/gtk-sky-glance.c 2010-07-12 13:34:47 UTC (rev 640) @@ -101,13 +101,13 @@ static GooCanvasItemModel* create_canvas_model (GtkSkyGlance *skg); +static void create_sat (gpointer key, gpointer value, gpointer data); + static gdouble t2x (GtkSkyGlance *skg, gdouble t); static gdouble x2t (GtkSkyGlance *skg, gdouble x); +static gchar *time_to_str (gdouble julutc); -static void create_sat (gpointer key, gpointer value, gpointer data); - - static GtkVBoxClass *parent_class = NULL; @@ -280,6 +280,7 @@ /* create the canvas */ GTK_SKY_GLANCE (skg)->canvas = goo_canvas_new (); + g_object_set (G_OBJECT (GTK_SKY_GLANCE(skg)->canvas), "has-tooltip", TRUE, NULL); gtk_widget_modify_base (GTK_SKY_GLANCE (skg)->canvas, GTK_STATE_NORMAL, &bg_color); gtk_widget_set_size_request (GTK_SKY_GLANCE (skg)->canvas, GTK_SKY_GLANCE (skg)->w, @@ -824,8 +825,6 @@ } - - //g_print("Mouse enter: %s AOS:\n"); return TRUE; @@ -983,7 +982,13 @@ GooCanvasItemModel *root; GooCanvasItemModel *lab; + /* tooltips vars */ + gchar *tooltip; /* the complete tooltips string */ + gchar *aosstr; /* AOS time string */ + gchar *losstr; /* LOS time string */ + gchar *tcastr; /* TCA time string */ + /* FIXME: Include current pass if sat is up now */ @@ -1021,10 +1026,32 @@ skypass->catnum = sat->tle.catnr; tmppass = (pass_t *) g_slist_nth_data (passes, i); skypass->pass = copy_pass (tmppass); + + aosstr = time_to_str (skypass->pass->aos); + losstr = time_to_str (skypass->pass->los); + tcastr = time_to_str (skypass->pass->tca); + + /* box tooltip will contain pass summary */ + tooltip = g_strdup_printf("<big><b>%s</b>\n</big>\n"\ + "<tt>AOS: %s Az:%.0f\302\260\n" \ + "TCA: %s Az:%.0f\302\260 / El:%.1f\302\260\n" \ + "LOS: %s Az:%.0f\302\260</tt>\n" \ + "\n<i>Click for details</i>", + skypass->pass->satname, + aosstr, skypass->pass->aos_az, + tcastr, skypass->pass->maxel_az, skypass->pass->max_el, + losstr, skypass->pass->los_az); + + g_free (aosstr); + g_free (losstr); + g_free (tcastr); + skypass->box = goo_canvas_rect_model_new (root, 10, 10, 20, 20, /* dummy coordinates */ "stroke-color-rgba", bcol, "fill-color-rgba", fcol, + "tooltip", tooltip, NULL); + g_free (tooltip); /* store this pass in list */ skg->passes = g_slist_append (skg->passes, skypass); @@ -1053,3 +1080,47 @@ skg->satlab = g_slist_append (skg->satlab, lab); } } + + + +/** \brief Convert "jul_utc" time to formatted string + * \param julutc The time to convert + * \return A newly allocated string containing the formatted time (should be freed by caller) + * + * \bug This code is duplicated many places. + */ +static gchar *time_to_str (gdouble julutc) +{ + gchar buff[TIME_FORMAT_MAX_LENGTH]; + gchar *fmtstr; + gchar *timestr; + time_t t; + guint size; + + + /* convert julian date to struct time_t */ + t = (julutc - 2440587.5)*86400.; + + /* 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)); + } + + g_free (fmtstr); + + + if (size == 0) + /* size > MAX_LENGTH */ + buff[TIME_FORMAT_MAX_LENGTH-1] = '\0'; + + timestr = g_strdup (buff); + + + return timestr; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-07-12 19:46:54
|
Revision: 645 http://gpredict.svn.sourceforge.net/gpredict/?rev=645&view=rev Author: csete Date: 2010-07-12 19:46:48 +0000 (Mon, 12 Jul 2010) Log Message: ----------- Added satellite tooltips in polar view showing current Az, El and time to LOS. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-polar-view.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-07-12 14:32:25 UTC (rev 644) +++ trunk/ChangeLog 2010-07-12 19:46:48 UTC (rev 645) @@ -18,7 +18,10 @@ * src/sat-cfg.c: Changed default value of SKY_AT_GLANCE/COLOUR_07 to be darker. + * src/gtk-polar-view.c: + Added satellite tooltips showing current Az, El and time to LOS. + 2010-07-11 Alexandru Csete <oz9aec at gmail.com> * data/satdata: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-07-12 14:32:25 UTC (rev 644) +++ trunk/NEWS 2010-07-12 19:46:48 UTC (rev 645) @@ -6,6 +6,7 @@ Closes feature request 2821408. - Sky at a glance is now more interactive. Show pass summary when mouse hovers over pass and click on pass shows the details. +- Added satellite tooltips in polar view showing current Az, El and time to LOS. * Feature request 2866570: Set operating mode via CAT. * Feature request 2873824: Flip Passes. * Feature request 2778735: Visual indicator for RX/TX/TRX. Modified: trunk/src/gtk-polar-view.c =================================================================== --- trunk/src/gtk-polar-view.c 2010-07-12 14:32:25 UTC (rev 644) +++ trunk/src/gtk-polar-view.c 2010-07-12 19:46:48 UTC (rev 645) @@ -88,6 +88,7 @@ static void clear_selection (gpointer key, gpointer val, gpointer data); static GooCanvasItemModel* create_canvas_model (GtkPolarView *polv); static void get_canvas_bg_color (GtkPolarView *polv, GdkColor *color); +static gchar *los_time_to_str (GtkPolarView *polv, sat_t *sat); static GtkVBoxClass *parent_class = NULL; @@ -237,12 +238,13 @@ /* create the canvas */ GTK_POLAR_VIEW (polv)->canvas = goo_canvas_new (); + g_object_set (G_OBJECT (GTK_POLAR_VIEW (polv)->canvas), "has-tooltip", TRUE, NULL); get_canvas_bg_color (GTK_POLAR_VIEW (polv), &bg_color); gtk_widget_modify_base (GTK_POLAR_VIEW (polv)->canvas, GTK_STATE_NORMAL, &bg_color); gtk_widget_set_size_request (GTK_POLAR_VIEW (polv)->canvas, POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); goo_canvas_set_bounds (GOO_CANVAS (GTK_POLAR_VIEW (polv)->canvas), 0, 0, - POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); + POLV_DEFAULT_SIZE, POLV_DEFAULT_SIZE); /* connect size-request signal */ @@ -792,6 +794,8 @@ gint idx,i; gdouble now;// = get_current_daynum (); gchar *text; + gchar *losstr; + gchar *tooltip; guint32 colour; @@ -870,78 +874,48 @@ /* if sat is already on canvas */ if (obj != NULL) { - /* update sat */ + + /* update LOS count down */ + if (sat->los > 0.0) { + losstr = los_time_to_str(polv, sat); + } + else { + losstr = g_strdup_printf (_("%s\nAlways in range"), sat->nickname); + } + + /* update tooltip */ + tooltip = g_strdup_printf("<big><b>%s</b>\n</big>"\ + "<tt>Az: %5.1f\302\260\n" \ + "El: %5.1f\302\260\n" \ + "%s</tt>", + sat->nickname, + sat->az, sat->el, + losstr); + g_object_set (obj->marker, "x", x - MARKER_SIZE_HALF, "y", y - MARKER_SIZE_HALF, + "tooltip", tooltip, NULL); g_object_set (obj->label, "x", x, "y", y+2, + "tooltip", tooltip, NULL); + g_free (tooltip); + /* update selection info if satellite is selected */ if (obj->selected) { - guint h,m,s; - gchar *ch,*cm,*cs; - gdouble number, now; - - if (sat->los > 0.0) { - now = polv->tstamp;//get_current_daynum (); - number = sat->los - now; - - /* convert julian date to seconds */ - s = (guint) (number * 86400); - - /* extract hours */ - h = (guint) floor (s/3600); - s -= 3600*h; - - /* leading zero */ - if ((h > 0) && (h < 10)) - ch = g_strdup ("0"); - else - ch = g_strdup (""); - - /* extract minutes */ - m = (guint) floor (s/60); - s -= 60*m; - - /* leading zero */ - if (m < 10) - cm = g_strdup ("0"); - else - cm = g_strdup (""); - - /* leading zero */ - if (s < 10) - cs = g_strdup (":0"); - else - cs = g_strdup (":"); - - if (h > 0) { - text = g_strdup_printf (_("%s\nLOS in %s%d:%s%d%s%d"), - sat->nickname, ch, h, cm, m, cs, s); - } - else { - text = g_strdup_printf (_("%s\nLOS in %s%d%s%d"), - sat->nickname, cm, m, cs, s); - } - g_free (ch); - g_free (cm); - g_free (cs); - } - else { - text = g_strdup_printf (_("%s\nAlways in range"), sat->nickname); - } + text = g_strdup_printf ("%s\n%s",sat->nickname, losstr); g_object_set (polv->sel, "text", text, NULL); - g_free (text); } - g_free (catnum); + g_free (losstr); + g_free (catnum); // FIXME: why free here, what about else? } else { /* add sat to canvas */ @@ -957,6 +931,14 @@ MOD_CFG_POLAR_SAT_COL, SAT_CFG_INT_POLAR_SAT_COL); + /* create tooltip */ + tooltip = g_strdup_printf("<big><b>%s</b>\n</big>"\ + "<tt>Az: %5.1f\302\260\n" \ + "El: %5.1f\302\260\n" \ + "</tt>", + sat->nickname, + sat->az, sat->el); + obj->marker = goo_canvas_rect_model_new (root, x - MARKER_SIZE_HALF, y - MARKER_SIZE_HALF, @@ -964,6 +946,7 @@ 2*MARKER_SIZE_HALF, "fill-color-rgba", colour, "stroke-color-rgba", colour, + "tooltip", tooltip, NULL); obj->label = goo_canvas_text_model_new (root, sat->nickname, x, @@ -972,7 +955,10 @@ GTK_ANCHOR_NORTH, "font", "Sans 8", "fill-color-rgba", colour, + "tooltip", tooltip, NULL); + + g_free (tooltip); goo_canvas_item_model_raise (obj->marker, NULL); goo_canvas_item_model_raise (obj->label, NULL); @@ -1604,3 +1590,59 @@ GTK_POLAR_VIEW (polv)->naos = 0.0; GTK_POLAR_VIEW (polv)->ncat = 0; } + + + +/** \brief Convert LOS timestamp to human readable countdown string */ +static gchar *los_time_to_str (GtkPolarView *polv, sat_t *sat) +{ + guint h,m,s; + gchar *ch,*cm,*cs; + gdouble number, now; + gchar *text = NULL; + + + now = polv->tstamp;//get_current_daynum (); + number = sat->los - now; + + /* convert julian date to seconds */ + s = (guint) (number * 86400); + + /* extract hours */ + h = (guint) floor (s/3600); + s -= 3600*h; + + /* leading zero */ + if ((h > 0) && (h < 10)) + ch = g_strdup ("0"); + else + ch = g_strdup (""); + + /* extract minutes */ + m = (guint) floor (s/60); + s -= 60*m; + + /* leading zero */ + if (m < 10) + cm = g_strdup ("0"); + else + cm = g_strdup (""); + + /* leading zero */ + if (s < 10) + cs = g_strdup (":0"); + else + cs = g_strdup (":"); + + if (h > 0) { + text = g_strdup_printf (_("LOS in %s%d:%s%d%s%d"), ch, h, cm, m, cs, s); + } + else { + text = g_strdup_printf (_("LOS in %s%d%s%d"), cm, m, cs, s); + } + g_free (ch); + g_free (cm); + g_free (cs); + + return text; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-08-21 08:50:54
|
Revision: 648 http://gpredict.svn.sourceforge.net/gpredict/?rev=648&view=rev Author: csete Date: 2010-08-21 08:50:48 +0000 (Sat, 21 Aug 2010) Log Message: ----------- Fixed bug 3050068: Unable to update TLE from local files. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/tle-update.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-08-21 06:55:00 UTC (rev 647) +++ trunk/ChangeLog 2010-08-21 08:50:48 UTC (rev 648) @@ -8,6 +8,9 @@ Applied patch 3050047 from Patrick Strasser OE6PSE to include current pass in the list of future passes. + * src/tle-update.c: + Fixed bug 3050068: Unable to update TLE from local files. + 2010-07-12 Alexandru Csete <oz9aec at gmail.com> Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-08-21 06:55:00 UTC (rev 647) +++ trunk/NEWS 2010-08-21 08:50:48 UTC (rev 648) @@ -16,7 +16,8 @@ - Fixed bug 2918672: Trailing whitespace and newline in satellite names. - Fixed bug 2914679: Unable to save Future passes. - Fixed bug 2674626: Process 100% CPU load with one kepler element. -- Fixed bug 2792349: Segfault on certain satellites (Geo) +- Fixed bug 2792349: Segfault on certain satellites (Geo). +- Fixed bug 3050068: Unable to update TLE from local files. - Applied patch 2876485: Fix a memory leak in the rotator controller (Thanks to Charles Suprin AA1VS). - Applied patch 2877878: Change Flag to Lock in tle-update (thanks to Charles Suprin AA1VS). - Applied patch 2877918: Fixes segfault in TLE updater (thanks to Charles Suprin AA1VS). Modified: trunk/src/tle-update.c =================================================================== --- trunk/src/tle-update.c 2010-08-21 06:55:00 UTC (rev 647) +++ trunk/src/tle-update.c 2010-08-21 08:50:48 UTC (rev 648) @@ -55,7 +55,9 @@ /* private function prototypes */ static size_t my_write_func (void *ptr, size_t size, size_t nmemb, FILE *stream); static gint read_fresh_tle (const gchar *dir, const gchar *fnam, GHashTable *data); +static gboolean is_tle_file (const gchar *dir, const gchar *fnam); + static void update_tle_in_file (const gchar *ldname, const gchar *fname, GHashTable *data, @@ -159,28 +161,32 @@ } else { - /* read fresh tle files into memory */ + /* scan directory for tle files */ while ((fnam = g_dir_read_name (cache_dir)) != NULL) { - /* status message */ - if (!silent && (label1 != NULL)) { - text = g_strdup_printf (_("Reading data from %s"), fnam); - gtk_label_set_text (GTK_LABEL (label1), text); - g_free (text); - - - /* Force the drawing queue to be processed otherwise there will - not be any visual feedback, ie. frozen GUI - - see Gtk+ FAQ http://www.gtk.org/faq/#AEN602 - */ - while (g_main_context_iteration (NULL, FALSE)); - - /* give user a chance to follow progress */ - g_usleep (G_USEC_PER_SEC / 100); + /* check that we got a TLE file */ + if (is_tle_file(dir, fnam)) { + + /* status message */ + if (!silent && (label1 != NULL)) { + text = g_strdup_printf (_("Reading data from %s"), fnam); + gtk_label_set_text (GTK_LABEL (label1), text); + g_free (text); + + + /* Force the drawing queue to be processed otherwise there will + not be any visual feedback, ie. frozen GUI + - see Gtk+ FAQ http://www.gtk.org/faq/#AEN602 + */ + while (g_main_context_iteration (NULL, FALSE)); + + /* give user a chance to follow progress */ + g_usleep (G_USEC_PER_SEC / 100); + } + + /* now, do read the fresh data */ + num = read_fresh_tle (dir, fnam, data); } - - /* now, do read the fresh data */ - num = read_fresh_tle (dir, fnam, data); if (num < 1) { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -712,12 +718,44 @@ } +/** \brief Check whether file is TLE file. + * \param dir The directory. + * \param fnam The file name. + * + * This function checks whether the file with path dir/fnam is a potential + * TLE file. Checks performed: + * - It is a real file + * - suffix is .txt or .tle + */ +static gboolean is_tle_file (const gchar *dir, const gchar *fnam) +{ + gchar *path; + gboolean fileIsOk = FALSE; + + + path = g_strconcat (dir, G_DIR_SEPARATOR_S, fnam, NULL); + + if (g_file_test (path, G_FILE_TEST_IS_REGULAR) && + (g_str_has_suffix(fnam, ".tle") || g_str_has_suffix(fnam, ".txt"))) + { + fileIsOk = TRUE; + } + + g_free (path); + + return fileIsOk; +} + /** \brief Read fresh TLE data into hash table. * \param dir The directory to read from. * \param fnam The name of the file to read from. * \param fresh_data Hash table where the data should be stored. * \return The number of satellites successfully read. + * + * This function will read fresh TLE data from local files into memory. + * If there is a saetllite category (.cat file) with the same name as the + * input file it will also update the satellites in that category. */ static gint read_fresh_tle (const gchar *dir, const gchar *fnam, GHashTable *data) { @@ -736,6 +774,7 @@ gchar *catname, *catpath, *buff, **buffv; FILE *catfile; gchar category[80]; + gboolean catsync = FALSE; /* whether .cat file should be synced */ @@ -757,95 +796,97 @@ if (catfile!=NULL) { b = fgets (category, 80, catfile); fclose (catfile); + catsync = TRUE; } else { - /* FIXME not sure what goes here AA1VS */ - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%s: Failed to open %s"), - __FILE__, __FUNCTION__, catpath); - return (retcode); + /* There is no category with this name (could be update from custom file) */ + sat_log_log (SAT_LOG_LEVEL_MSG, + _("%s:%s: There is no category called %s"), + __FILE__, __FUNCTION__, fnam); } /* reopen a new catfile and write category name */ - catfile = g_fopen (catpath, "w"); - if (catfile!=NULL) { - - fputs (category, catfile); - + if (catsync) { + catfile = g_fopen (catpath, "w"); + if (catfile != NULL) { + fputs (category, catfile); + } + else { + catsync = FALSE; + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Could not reopne .cat file while reading TLE from %s"), + __FILE__, __FUNCTION__, fnam); + } + /* .cat file now contains the category name; satellite catnums will be added during update in the while loop */ + } + - /* read 3 lines at a time */ - while (fgets (tle_str[0], 80, fp)) { - /* read second and third lines */ - b = fgets (tle_str[1], 80, fp); - b = fgets (tle_str[2], 80, fp); + /* read 3 lines at a time */ + while (fgets (tle_str[0], 80, fp)) { + /* read second and third lines */ + b = fgets (tle_str[1], 80, fp); + b = fgets (tle_str[2], 80, fp); - tle_str[1][69] = '\0'; - tle_str[2][69] = '\0'; + tle_str[1][69] = '\0'; + tle_str[2][69] = '\0'; - /* 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 (Get_Next_Tle_Set (tle_str, &tle) != 1) { - /* TLE data not good */ - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%s: Invalid data for %d"), - __FILE__, __FUNCTION__, catnr); - } - else { - /* DATA OK, phew... */ - /* sat_log_log (SAT_LOG_LEVEL_DEBUG, */ - /* _("%s: Good data for %d"), */ - /* __FUNCTION__, */ - /* catnr); */ + if (Get_Next_Tle_Set (tle_str, &tle) != 1) { + /* TLE data not good */ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s:%s: Invalid data for %d"), + __FILE__, __FUNCTION__, catnr); + } + else { + if (catsync) { /* store catalog number in catfile */ buff = g_strdup_printf ("%d\n", catnr); fputs (buff, catfile); g_free (buff); + } - /* add data to hash table */ - key = g_try_new0 (guint, 1); - *key = catnr; + /* add data to hash table */ + key = g_try_new0 (guint, 1); + *key = catnr; - /* check if satellite already in hash table */ - if (g_hash_table_lookup (data, key) == NULL) { + /* check if satellite already in hash table */ + if (g_hash_table_lookup (data, key) == NULL) { - /* create new_tle structure */ - ntle = g_try_new (new_tle_t, 1); - ntle->catnum = catnr; - ntle->epoch = tle.epoch; - ntle->satname = g_strdup (g_strchomp(tle_str[0])); - ntle->line1 = g_strdup (tle_str[1]); - ntle->line2 = g_strdup (tle_str[2]); - ntle->srcfile = g_strdup (fnam); - ntle->isnew = TRUE; /* flag will be reset when using data */ + /* create new_tle structure */ + ntle = g_try_new (new_tle_t, 1); + ntle->catnum = catnr; + ntle->epoch = tle.epoch; + ntle->satname = g_strdup (g_strchomp(tle_str[0])); + ntle->line1 = g_strdup (tle_str[1]); + ntle->line2 = g_strdup (tle_str[2]); + ntle->srcfile = g_strdup (fnam); + ntle->isnew = TRUE; /* flag will be reset when using data */ - g_hash_table_insert (data, key, ntle); - retcode++; - } - else { - g_free (key); - } + g_hash_table_insert (data, key, ntle); + retcode++; } - + else { + g_free (key); + } } + } + + if (catsync) { /* close category file */ fclose (catfile); } - else { - sat_log_log (SAT_LOG_LEVEL_ERROR, - _("%s:%s: Failed to open %s"), - __FILE__, __FUNCTION__, catpath); - } g_free (catpath); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-09-04 11:06:45
|
Revision: 649 http://gpredict.svn.sourceforge.net/gpredict/?rev=649&view=rev Author: csete Date: 2010-09-04 11:06:39 +0000 (Sat, 04 Sep 2010) Log Message: ----------- Applied patch 3059022 from Charles Suprin AA1VS fixing crash if module file is empty on empty (bugs 3057771 and 3058753). Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-sat-module.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-08-21 08:50:48 UTC (rev 648) +++ trunk/ChangeLog 2010-09-04 11:06:39 UTC (rev 649) @@ -1,5 +1,12 @@ 2010-08-21 Alexandru Csete <oz9aec at gmail.com> + * src/gtk-sat-module.c: + Applied patch 3059022 from Charles Suprin AA1VS fixing crash if module file + is empty on empty (bugs 3057771 and 3058753). + + +2010-08-21 Alexandru Csete <oz9aec at gmail.com> + * src/gtk-sat-selector.c: Applied patch 3050047 from Patrick Strasser OE6PSE to improve searching in the satellite selector. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-08-21 08:50:48 UTC (rev 648) +++ trunk/NEWS 2010-09-04 11:06:39 UTC (rev 649) @@ -18,6 +18,7 @@ - Fixed bug 2674626: Process 100% CPU load with one kepler element. - Fixed bug 2792349: Segfault on certain satellites (Geo). - Fixed bug 3050068: Unable to update TLE from local files. +- Fixed bugs 3057771 and 3058753: Crash if module file is empty. - Applied patch 2876485: Fix a memory leak in the rotator controller (Thanks to Charles Suprin AA1VS). - Applied patch 2877878: Change Flag to Lock in tle-update (thanks to Charles Suprin AA1VS). - Applied patch 2877918: Fixes segfault in TLE updater (thanks to Charles Suprin AA1VS). @@ -41,6 +42,7 @@ - Applied patch 3009725: Delete Explicit Call to gtk_set_locale (Thanks to Charles Suprin AA1VS). - Applied patch 3009727: Free satellite hash references (Thanks to Charles Suprin AA1VS). - Applied patch 3050047: Improve sat search and prediction of upcoming passes (Thanks to Patrick Strasser OE6PSE) +- Applied patch 3059022: Fix gpredict crashed with NULL pointer exception (Thanks to Charles Suprin AA1VS). - Slightly improved UI for the single-satellite view. - Command line options for cleaning user's TLE and transponder data, see --help for list. - Satellite Map: Added shadow to satellite marker and label to enhance visual appearance Modified: trunk/src/gtk-sat-module.c =================================================================== --- trunk/src/gtk-sat-module.c 2010-08-21 08:50:48 UTC (rev 648) +++ trunk/src/gtk-sat-module.c 2010-09-04 11:06:39 UTC (rev 649) @@ -270,6 +270,15 @@ /* load configuration; note that this will also set the module name */ gtk_sat_module_read_cfg_data (GTK_SAT_MODULE (widget), cfgfile); + /*check that we loaded some reasonable data*/ + if (GTK_SAT_MODULE(widget)->cfgdata==NULL){ + sat_log_log (SAT_LOG_LEVEL_ERROR, + _("%s: Module %s has problems."), + __FUNCTION__, cfgfile); + + return NULL; + } + /* module state */ if ((g_key_file_has_key (GTK_SAT_MODULE (widget)->cfgdata, MOD_CFG_GLOBAL_SECTION, @@ -484,7 +493,7 @@ G_KEY_FILE_KEEP_COMMENTS, &error)) { g_key_file_free (module->cfgdata); - + module->cfgdata=NULL; sat_log_log (SAT_LOG_LEVEL_ERROR, _("%s: Could not load config data from %s (%s)."), __FUNCTION__, cfgfile, error->message); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2010-10-09 21:48:09
|
Revision: 665 http://gpredict.svn.sourceforge.net/gpredict/?rev=665&view=rev Author: aa1vs Date: 2010-10-09 21:48:03 +0000 (Sat, 09 Oct 2010) Log Message: ----------- Update ChangeLog and NEWS Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-10-02 22:29:38 UTC (rev 664) +++ trunk/ChangeLog 2010-10-09 21:48:03 UTC (rev 665) @@ -1,3 +1,45 @@ +2010-10-02 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rig-ctrl.c + Fix bug with set and unset toggle buffer size being incorrect + causing junk to be sent to rigctld. + + * src/gtk-rig-ctrl.c + * src/gtk-rot-ctrl.c + Catch NULLs in ctrl->conf + + * src/sat-pref-qth.c + * src/sat-pref-rig.c + * src/sat-pref-rot.c + Add sorting to rig, rot, and qth preference screens. + +2010-09-24 Charles Suprin <hamaa1vs at gmail.com> + + * src/first-time.c + Applied patch from bug 3074990 from Zlika catching crash if data + directory does not exist. Added error message to log. + +2010-09-17 Charles Suprin <hamaa1vs at gmail.com> + + * src/first-time.c + * src/gtk-sat-selector.c + * src/gtk-sat-tree.c + * src/main.c + * src/mod-cfg.c + * src/sat-log.c + * src/sat-pref-qth.c + * src/tle-update.c + Make file name checks check for suffix not substring + + * src/gtk-rig-ctrl.c + * src/gtk-rot-ctrl.c + Fix potential memory leak + +2010-09-14 Alexandru Csete <oz9aec at gmail.com> + + * data/satdata: + Updated satellite database. + 2010-08-21 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-module.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-10-02 22:29:38 UTC (rev 664) +++ trunk/NEWS 2010-10-09 21:48:03 UTC (rev 665) @@ -19,6 +19,8 @@ - Fixed bug 2792349: Segfault on certain satellites (Geo). - Fixed bug 3050068: Unable to update TLE from local files. - Fixed bugs 3057771 and 3058753: Crash if module file is empty. +- Fixed bug 3074990: Crash if directory does not exist +- Fixed bug 3080019: Corrupted hw file cause crash. - Applied patch 2876485: Fix a memory leak in the rotator controller (Thanks to Charles Suprin AA1VS). - Applied patch 2877878: Change Flag to Lock in tle-update (thanks to Charles Suprin AA1VS). - Applied patch 2877918: Fixes segfault in TLE updater (thanks to Charles Suprin AA1VS). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-10-15 22:53:59
|
Revision: 681 http://gpredict.svn.sourceforge.net/gpredict/?rev=681&view=rev Author: csete Date: 2010-10-15 22:53:52 +0000 (Fri, 15 Oct 2010) Log Message: ----------- Minor cleaning and improved docs. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-sky-glance.c trunk/src/gtk-sky-glance.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-10-15 13:30:42 UTC (rev 680) +++ trunk/ChangeLog 2010-10-15 22:53:52 UTC (rev 681) @@ -1,3 +1,9 @@ +2010-10-15 Alexandru Csete <oz9aec at gmail.com> + + * src/gtk-sky-glance.[ch]: + Minor cleaning and improved documentation. + + 2010-10-10 Alexandru Csete <oz9aec at gmail.com> * Gpredict 1.2 released. Modified: trunk/src/gtk-sky-glance.c =================================================================== --- trunk/src/gtk-sky-glance.c 2010-10-15 13:30:42 UTC (rev 680) +++ trunk/src/gtk-sky-glance.c 2010-10-15 22:53:52 UTC (rev 681) @@ -2,7 +2,7 @@ /* Gpredict: Real-time satellite tracking and orbit prediction program - Copyright (C) 2001-2009 Alexandru Csete, OZ9AEC. + Copyright (C) 2001-2010 Alexandru Csete, OZ9AEC. Authors: Alexandru Csete <oz...@gm...> @@ -26,10 +26,13 @@ along with this program; if not, visit http://www.fsf.org/ */ /** \brief Sky at a glance Widget. + * + * The sky at a glance widget provides a convenient overview of the upcoming + * satellite passes in a timeline format. The widget is tied to a specific + * module and uses the QTH and satellite data from the module. * * Note about the sizing policy: - * Initially we require 30 pixels per sat + 5 pix margin between the sats. - * Additionally. + * Initially we require 10 pixels per sat + 5 pix margin between the sats. * * When we get additional space due to resizing, the space will be allocated * to make the rectangles taller. @@ -178,8 +181,13 @@ } -/* for some reason, this function is called twice when - parent is destroyed. +/** \brief Destroy the GtkSkyGlance widget + * \param object Pointer to the GtkSkyGlance widget + * + * This function is called when the GtkSkyGlance widget is destroyed. It frees + * the memory that has been allocated when the widget was created. + * + * \bug For some reason, this function is called twice when parent is destroyed. */ static void gtk_sky_glance_destroy (GtkObject *object) @@ -232,6 +240,7 @@ /** \brief Create a new GtkSkyGlance widget. * \param sats Pointer to the hash table containing the asociated satellites. * \param qth Pointer to the ground station data. + * \param ts The t0 for the timeline or 0 to use the current date and time. */ GtkWidget* gtk_sky_glance_new (GHashTable *sats, qth_t *qth, gdouble ts) @@ -315,6 +324,9 @@ } +/** \brief Create the model for the GtkSkyGlance canvas + * \param skg Pointer to the GtkSkyGlance widget + */ static GooCanvasItemModel * create_canvas_model (GtkSkyGlance *skg) { @@ -609,9 +621,9 @@ /** \brief Manage mouse motion events. */ static gboolean on_motion_notify (GooCanvasItem *item, - GooCanvasItem *target, - GdkEventMotion *event, - gpointer data) + GooCanvasItem *target, + GdkEventMotion *event, + gpointer data) { GtkSkyGlance *skg = GTK_SKY_GLANCE (data); GooCanvasPoints *pts; @@ -674,9 +686,9 @@ /** \brief Finish canvas item setup. - * \param canvas - * \param item - * \param model + * \param canvas Pointer to the GooCanvas object + * \param item Pointer to the GooCanvasItem that received the signals + * \param model Pointer to the model associated with the GooCanvasItem object * \param data Pointer to the GtkSkyGlance object. * * This function is called when a canvas item is created. Its purpose is to connect @@ -891,7 +903,7 @@ } -/* fetch the basic colour and add alpha channel */ +/** \brief Fetch the basic colour and add alpha channel */ static void get_colours (guint i, guint *bcol, guint *fcol) { guint tmp; Modified: trunk/src/gtk-sky-glance.h =================================================================== --- trunk/src/gtk-sky-glance.h 2010-10-15 13:30:42 UTC (rev 680) +++ trunk/src/gtk-sky-glance.h 2010-10-15 22:53:52 UTC (rev 681) @@ -2,7 +2,7 @@ /* Gpredict: Real-time satellite tracking and orbit prediction program - Copyright (C) 2001-2009 Alexandru Csete, OZ9AEC. + Copyright (C) 2001-2010 Alexandru Csete, OZ9AEC. Authors: Alexandru Csete <oz...@gm...> @@ -65,7 +65,7 @@ #define SKY_PASS_T(obj) ((sky_pass_t *)obj) - +/** \brief GtkSkyGlance widget */ struct _GtkSkyGlance { GtkVBox vbox; @@ -76,8 +76,8 @@ qth_t *qth; /*!< Pointer to current location. */ GSList *passes; /*!< Canvas items representing each pass. - Each element in the list is of type sky_pass_t. - */ + Each element in the list is of type sky_pass_t. + */ GSList *satlab; /*!< Canvas items showing satellite names. */ @@ -89,10 +89,10 @@ guint numsat; /*!< Number of satellites */ guint satcnt; /*!< Counter to keep track of how many satellites we have - plotted so far when creating the boxes. - This is needed to ensure that we do not plot more - than 10 satellites and to know which colour to fetch - from sat-cfg. + plotted so far when creating the boxes. + This is needed to ensure that we do not plot more + than 10 satellites and to know which colour to fetch + from sat-cfg. */ gdouble ts,te; /*!< Start and end times (Julian date) */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2010-10-31 12:47:50
|
Revision: 696 http://gpredict.svn.sourceforge.net/gpredict/?rev=696&view=rev Author: aa1vs Date: 2010-10-31 12:47:44 +0000 (Sun, 31 Oct 2010) Log Message: ----------- Update Changelog NEWS and TODO Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/TODO Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-10-30 22:46:59 UTC (rev 695) +++ trunk/ChangeLog 2010-10-31 12:47:44 UTC (rev 696) @@ -1,3 +1,32 @@ +2010-10-30 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.[ch] + * src/gtk-rig-ctrl.[ch] + Change tab to spaces and change emacs indent-tabs-mode. + +2010-10-28 Charles Suprin <hamaa1vs at gmail.com> + + * src/predict-tools.c + Explicitly compute pass LOS_AZ. + +2010-10-27 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.[ch] + Added support for flipped passes. + Remove return from void function. + +2010-10-17 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.[ch] + * src/gtk-rig-ctrl.[ch] + Continuous network rotator and rig merge. + + +2010-10-16 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-polar-plot.c + Make rotator show when on horizon as with other items. + 2010-10-16 Alexandru Csete <oz9aec at gmail.com> * src/time-tools.[ch]: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-10-30 22:46:59 UTC (rev 695) +++ trunk/NEWS 2010-10-31 12:47:44 UTC (rev 696) @@ -1,6 +1,8 @@ Changes in version 1.3 (TBD) +- Feature request 2873824: Flip Passes. - Automatically refresh the Sky at a glance view every minute. +- Fixed bug 2116691: Leave network connection open. Changes in version 1.2 (12 Oct 2010) Modified: trunk/TODO =================================================================== --- trunk/TODO 2010-10-30 22:46:59 UTC (rev 695) +++ trunk/TODO 2010-10-31 12:47:44 UTC (rev 696) @@ -3,7 +3,6 @@ * New satellite editor to manually add/edit/delete satellite data. * New transponder editor to edit transponder data. * Feature request 2866570: Set operating mode via CAT. -* Feature request 2873824: Flip Passes. * Feature request 2778735: Visual indicator for RX/TX/TRX. * Feature request 2689352: Mutual Contact Window AOS/LOS. * Show day/night on satmap. @@ -20,7 +19,7 @@ * Native Mac OS X port. * Dynamic reconfiguration. No need to re-load modules if configuration changes * Plot more parameters in detailed pass prediction dialogue (depending - on settingss). + on settings). * Predict satellite parameters over a given time period (Tools). * Solar illumination prediction. * Treat Sun and Moon as satellites. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2010-11-06 15:17:54
|
Revision: 708 http://gpredict.svn.sourceforge.net/gpredict/?rev=708&view=rev Author: aa1vs Date: 2010-11-06 15:17:48 +0000 (Sat, 06 Nov 2010) Log Message: ----------- Update ChangeLog and NEWS Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-06 13:35:09 UTC (rev 707) +++ trunk/ChangeLog 2010-11-06 15:17:48 UTC (rev 708) @@ -1,3 +1,25 @@ +2010-11-06 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.c + Added checks on g_strsplit in get_pos + +2010-11-05 Charles Suprin <hamaa1vs at gmail.com> + + * src/predict-tools.c + get_pass and get_pass_no_min_el now work on copies of sat_t structure + to address bug 3099314 + + * src/gtk-rot-ctrl.c + Update is_flipped_pass to handle pass with no details + +2010-11-01 Charles Suprin <hamaa1vs at gmail.com> + + * src/orbit-tools.c + Corrected fixme inside decayed. + + * src/gtk-rig-ctrl.c + Add checks to g_strsplit calls in gtk-rig-ctrl.c + 2010-10-31 Charles Suprin <hamaa1vs at gmail.com> * src/about.[ch] @@ -135,7 +157,6 @@ * src/gtk-sat-module-popup.c: Allow only one GtkSkyGlance widget per module (consistent with GtkRigCtrl and GtkRotCtrl). - 2010-10-15 Alexandru Csete <oz9aec at gmail.com> Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-11-06 13:35:09 UTC (rev 707) +++ trunk/NEWS 2010-11-06 15:17:48 UTC (rev 708) @@ -2,7 +2,9 @@ - Feature request 2873824: Flip Passes. - Automatically refresh the Sky at a glance view every minute. +- Added more checks with hamlib communications. - Fixed bug 2116691: Leave network connection open. +- Fixed bug 3099314: Rotator Thrashing. Changes in version 1.2 (12 Oct 2010) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2010-11-07 13:57:47
|
Revision: 712 http://gpredict.svn.sourceforge.net/gpredict/?rev=712&view=rev Author: aa1vs Date: 2010-11-07 13:57:41 +0000 (Sun, 07 Nov 2010) Log Message: ----------- Updated pass regeneration logic in rotator controller. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-rot-ctrl.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-07 08:56:11 UTC (rev 711) +++ trunk/ChangeLog 2010-11-07 13:57:41 UTC (rev 712) @@ -1,6 +1,12 @@ +2010-11-07 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.c + Updated pass regeneration logic in rotator controller. + Fixes bug 2167508: problems in rotator controller. + 2010-11-07 Alexandru Csete <oz9aec at gmail.com> - * configura.ac: + * configure.ac: Added implicit check for libm (required on Fedora core 13 and later). Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-11-07 08:56:11 UTC (rev 711) +++ trunk/NEWS 2010-11-07 13:57:41 UTC (rev 712) @@ -5,8 +5,8 @@ - Added more checks with hamlib communications. - Fixed bug 2116691: Leave network connection open. - Fixed bug 3099314: Rotator Thrashing. +- Fixed bug 2167508: problems in rotator controller. - Changes in version 1.2 (12 Oct 2010) - New layout engine that allows any combination of views to be created in a NxM grid. Modified: trunk/src/gtk-rot-ctrl.c =================================================================== --- trunk/src/gtk-rot-ctrl.c 2010-11-07 08:56:11 UTC (rev 711) +++ trunk/src/gtk-rot-ctrl.c 2010-11-07 13:57:41 UTC (rev 712) @@ -298,16 +298,46 @@ update_count_down (ctrl, t); + /* update next pass if necessary */ if (ctrl->pass != NULL) { - if ((ctrl->target->aos > ctrl->pass->aos) && (ctrl->target->el <= 0.0)) { - /* we need to update the pass */ - free_pass (ctrl->pass); - ctrl->pass = get_pass (ctrl->target, ctrl->qth, t, 3.0); - set_flipped_pass(ctrl); - - /* update polar plot */ - gtk_polar_plot_set_pass (GTK_POLAR_PLOT (ctrl->plot), ctrl->pass); + /*if we are not in the current pass*/ + if ((ctrl->pass->aos>t)||(ctrl->pass->los<t)){ + /* the pass may not have met the minimum + elevation, calculate the pass and plot it*/ + if (ctrl->target->el >= 0.0) { + /*inside an unexpected/unpredicted pass*/ + free_pass (ctrl->pass); + ctrl->pass=NULL; + ctrl->pass = get_current_pass (ctrl->target, ctrl->qth, t); + set_flipped_pass(ctrl); + gtk_polar_plot_set_pass (GTK_POLAR_PLOT (ctrl->plot), ctrl->pass); + } else if ((ctrl->target->aos-ctrl->pass->aos)>(ctrl->delay/secday/1000/4.0)) { + /*the target is expected to appear in a new pass + sufficiently later after the current pass says*/ + + /*converted milliseconds to gpredict time and took a + fraction of it as a threshold for deciding a new pass*/ + + /*if the next pass is not the one for the target*/ + free_pass (ctrl->pass); + ctrl->pass=NULL; + ctrl->pass = get_pass (ctrl->target, ctrl->qth, t, 3.0); + set_flipped_pass(ctrl); + /* update polar plot */ + gtk_polar_plot_set_pass (GTK_POLAR_PLOT (ctrl->plot), ctrl->pass); + } + } else { + /* inside a pass and target dropped below the + horizon so look for a new pass */ + if (ctrl->target->el < 0.0) { + free_pass (ctrl->pass); + ctrl->pass=NULL; + ctrl->pass = get_pass (ctrl->target, ctrl->qth, t, 3.0); + set_flipped_pass(ctrl); + /* update polar plot */ + gtk_polar_plot_set_pass (GTK_POLAR_PLOT (ctrl->plot), ctrl->pass); + } } } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2010-11-07 18:02:29
|
Revision: 713 http://gpredict.svn.sourceforge.net/gpredict/?rev=713&view=rev Author: aa1vs Date: 2010-11-07 18:02:23 +0000 (Sun, 07 Nov 2010) Log Message: ----------- Added locations in Malaysia, Indonesia, the Philippines, and Kiribati from US/NOAA Metar database. Modified Paths: -------------- trunk/ChangeLog trunk/data/locations.dat Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-07 13:57:41 UTC (rev 712) +++ trunk/ChangeLog 2010-11-07 18:02:23 UTC (rev 713) @@ -4,6 +4,10 @@ Updated pass regeneration logic in rotator controller. Fixes bug 2167508: problems in rotator controller. + * data/locations.dat + Added locations in Malaysia, Indonesia, the Philippines, and Kiribati from US/NOAA Metar database. + Addresses Feature Request 3022617: Malaysia's location. + 2010-11-07 Alexandru Csete <oz9aec at gmail.com> * configure.ac: Modified: trunk/data/locations.dat =================================================================== --- trunk/data/locations.dat 2010-11-07 13:57:41 UTC (rev 712) +++ trunk/data/locations.dat 2010-11-07 18:02:23 UTC (rev 713) @@ -224,9 +224,167 @@ Australasia;Australia;Port Hedland;YPPD;-20.1;119.5667;10 Australasia;Australia;Sydney;YSSY;-33.95;151.1833;3 Australasia;Australia;Townsville;YBTL;-19.25;146.75;9 +Australasia;Indonesia;Alor / Mali;WRKM;-8.217;124.567;12 +Australasia;Indonesia;Amahai;WAPA;-3.350;128.883;10 +Australasia;Indonesia;Ambon / Pattimura;WAPP;-3.700;128.083;12 +Australasia;Indonesia;Ampenan / Selaparang;WRRA;-8.533;116.067;3 +Australasia;Indonesia;Balikpapan / Sepinggan;WRLL;-1.267;116.900;3 +Australasia;Indonesia;Banda Aceh / Blangbintang;WITT;5.517;95.417;21 +Australasia;Indonesia;Bandung / Husein;WIIB;-6.900;107.583;740 +Australasia;Indonesia;Banjarmasin / Syamsuddin Noor;WRBB;-3.433;114.750;20 +Australasia;Indonesia;Batan, Sumatra;WIKB;1.117;104.117;24 +Australasia;Indonesia;Bau-Bau / Beto Ambiri;WAAB;-5.467;122.617;2 +Australasia;Indonesia;Bengkulu / Padangkemiling;WIPL;-3.883;102.333;16 +Australasia;Indonesia;Biak / Mokmer;WABB;-1.183;136.117;11 +Australasia;Indonesia;Bima;WRRB;-8.550;118.700;2 +Australasia;Indonesia;Cilacap;WIIL;-7.733;109.017;6 +Australasia;Indonesia;Curug / Budiarto;WIIA;-6.233;106.650;46 +Australasia;Indonesia;Denpasar / Ngurah-Rai;WRRR;-8.750;115.167;1 +Australasia;Indonesia;Enarotali;WABT;-3.917;136.367;1770 +Australasia;Indonesia;Fak-Fak / Torea;WASF;-2.883;132.250;130 +Australasia;Indonesia;Galela / Gamarmalamu;WAMA;1.817;127.833;8 +Australasia;Indonesia;Gorontalo / Jalaluddin;WAMG;0.517;123.067;2 +Australasia;Indonesia;Gunung Sitoli / Binaka;WIMB;1.500;97.633;6 +Australasia;Indonesia;Jakarta Halim Perdanakusuma;WIIH;-6.250;106.900;30 +Australasia;Indonesia;Jakarta / Soekarno-Hatta;WIII;-6.117;106.650;8 +Australasia;Indonesia;Jambi / Sultan Taha;WIPA;-1.633;103.650;25 +Australasia;Indonesia;Jayapura / Sentani;WAJJ;-2.567;140.483;99 +Australasia;Indonesia;Jogyakarta / Adisucipto;WIIJ;-7.783;110.433;107 +Australasia;Indonesia;Kaimana / Utarom;WASK;-3.667;133.750;3 +Australasia;Indonesia;Kalijati;WIIK;-6.550;107.667;110 +Australasia;Indonesia;Kendari / Woltermon-Ginsidi;WAAU;-4.100;122.433;50 +Australasia;Indonesia;Kerinci / Depati Parbo;WIPH;-2.767;101.367;782 +Australasia;Indonesia;Ketapang / Rahadi Usmaman;WIOK;-1.850;109.967;9 +Australasia;Indonesia;Kokonao / Timuka;WABN;-4.717;136.433;3 +Australasia;Indonesia;Kotabaru;WRBK;-3.400;116.217;18 +Australasia;Indonesia;Kupang / El Tari;WRKK;-10.167;123.667;108 +Australasia;Indonesia;Labuha / Taliabu;WAPH;-1.617;124.550;3 +Australasia;Indonesia;Larantuka;WRKL;-8.267;122.967;9 +Australasia;Indonesia;Lhokseumawe / Malikussaleh;WITM;5.233;97.200;87 +Australasia;Indonesia;Longbawan / Juvai Semaring;WRLB;3.733;115.683;550 +Australasia;Indonesia;Luwuk / Bubung;WAMW;-0.900;122.783;2 +Australasia;Indonesia;Madiun / Iswahyudi;WIAR;-7.617;111.517;110 +Australasia;Indonesia;Malang / Abdul Rahkmansaleh;WIAS;-7.967;112.700;526 +Australasia;Indonesia;Manokwari / Rendani;WASR;-0.883;134.050;3 +Australasia;Indonesia;Maumere / Wai Oti;WRKC;-8.633;122.250;3 +Australasia;Indonesia;Medan / Polonia;WIMM;3.567;98.683;25 +Australasia;Indonesia;Menado / Dr. Sam Ratulangi;WAMM;1.533;124.917;80 +Australasia;Indonesia;Menggala / Astra Ksetra;WIAG;-4.450;105.183;19 +Australasia;Indonesia;Merauke / Mopah;WAKK;-8.467;140.383;3 +Australasia;Indonesia;Meulaboh / Cut Nyak Dhien;WITC;4.250;96.117;90 +Australasia;Indonesia;Muaratewe / Beringin;WRBM;-0.950;114.900;60 +Australasia;Indonesia;Nabire;WABI;-3.333;135.500;3 +Australasia;Indonesia;Namlea;WAPR;-3.250;127.083;20 +Australasia;Indonesia;Padang / Tabing;WIMG;-0.883;100.350;3 +Australasia;Indonesia;Pakanbaru / Simpangtiga;WIBB;0.467;101.450;31 +Australasia;Indonesia;Palangkaraya / Panarung;WRBP;-1.000;114.000;27 +Australasia;Indonesia;Palembang / Talangbetutu;WIPP;-2.900;104.700;10 +Australasia;Indonesia;Palu / Mutiara;WAML;-0.683;119.733;6 +Australasia;Indonesia;Pangkalan Bun / Iskandar;WRBI;-2.700;110.700;25 +Australasia;Indonesia;Pangkalpinang / Pangkalpinang;WIKK;-2.167;106.133;33 +Australasia;Indonesia;Pontianak / Supadio;WIOO;-0.150;109.400;3 +Australasia;Indonesia;Poso / Kasiguncu;WAMP;-1.383;120.733;2 +Australasia;Indonesia;Ranai / Ranai;WION;3.950;108.383;2 +Australasia;Indonesia;Rengat / Japura;WIPR;0.467;102.317;46 +Australasia;Indonesia;Rote / Baa;WRKR;-10.733;123.067;1 +Australasia;Indonesia;Sabang / Cut Bau;WIAA;5.867;95.317;126 +Australasia;Indonesia;Sabu / Tardamu;WRKS;-10.500;121.833;26 +Australasia;Indonesia;Samarinda / Temindung;WRLS;-0.617;117.150;230 +Australasia;Indonesia;Sanana;WAPN;-2.083;126.000;2 +Australasia;Indonesia;Sarmi;WAJI;-1.833;138.717;3 +Australasia;Indonesia;Saumlaki;WAPI;-7.983;131.300;24 +Australasia;Indonesia;Semarang / Ahmadyani;WIIS;-6.983;110.383;3 +Australasia;Indonesia;Serui / Yendosa;WABO;-1.867;136.233;3 +Australasia;Indonesia;Sibolga / Pinangsori;WIMS;1.550;98.883;3 +Australasia;Indonesia;Singkawang Ii;WIOI;1.083;109.667;38 +Australasia;Indonesia;Singkep / Dabo;WIKS;-0.483;104.583;31 +Australasia;Indonesia;Sintang;WIOS;0.117;111.533;30 +Australasia;Indonesia;Sorong / Jefman;WASS;-0.933;131.117;3 +Australasia;Indonesia;Sumbawa Besar / Sumbawa Besar;WRRS;-8.433;117.417;3 +Australasia;Indonesia;Surabaya / Juanda;WRSJ;-7.367;112.767;3 +Australasia;Indonesia;Surabaya / Perak;WRSP;-7.217;112.717;3 +Australasia;Indonesia;Surabaya;WRSS;-7.217;113.717;3 +Australasia;Indonesia;Surakarta / Adisumarmo;WRSQ;-7.867;110.917;104 +Australasia;Indonesia;Tahuna;WAMH;3.583;125.467;38 +Australasia;Indonesia;Tanah Merah / Tanah Merah;WAKT;-6.100;140.300;16 +Australasia;Indonesia;Tanjungpandan / Buluh Tumbang;WIKD;-2.750;107.750;44 +Australasia;Indonesia;Tanjungpinang / Kijang;WIKN;0.917;104.533;18 +Australasia;Indonesia;Tanjung Redep / Berau;WRLK;2.117;117.450;26 +Australasia;Indonesia;Tanjung Selor;WRLG;2.850;117.333;50 +Australasia;Indonesia;Tarakan / Juwata;WRLR;3.333;117.567;6 +Australasia;Indonesia;Tasikmalaya / Cibeureum;WIAM;-7.333;108.250;335 +Australasia;Indonesia;Telukbetung / Beranti;WIIT;-5.267;105.183;96 +Australasia;Indonesia;Ternate / Babullah;WAMT;0.783;127.383;23 +Australasia;Indonesia;Toli-Toli / Lalos;WAMI;1.017;120.800;2 +Australasia;Indonesia;Ujung Pandang / Hasanuddin;WAAA;-5.067;119.550;14 +Australasia;Indonesia;Waingapu / Mau Hau;WRRW;-9.667;120.333;12 +Australasia;Indonesia;Wamena / Wamena;WAJW;-4.067;138.950;1660 +Australasia;Kiribati;Arorae;NGTR;-2.667;176.833;4 +Australasia;Kiribati;Beru;NGBR;-1.350;176.000;2 +Australasia;Kiribati;Butaritari;NGTU;3.033;172.783;1 +Australasia;Kiribati;Tarawa;NGTA;1.350;172.917;2 +Australasia;Malaysia;Bintulu;WBGB;3.200;113.033;2 +Australasia;Malaysia;Johore Bharu / Senai;WMKJ;1.633;103.667;37 +Australasia;Malaysia;Kota Bharu;WMKC;6.167;102.283;5 +Australasia;Malaysia;Kota Kinabalu;WBKK;5.933;116.050;3 +Australasia;Malaysia;Kuantan;WMKD;3.617;103.217;18 +Australasia;Malaysia;Kuching;WBGG;1.483;110.333;27 +Australasia;Malaysia;Kudat;WBKT;6.917;116.833;3 +Australasia;Malaysia;Labuan;WBKL;5.300;115.250;30 +Australasia;Malaysia;Langkawi;WMKL;6.333;99.733;8 +Australasia;Malaysia;Malacca;WMKM;2.267;102.250;11 +Australasia;Malaysia;Miri;WBGR;4.333;113.983;17 +Australasia;Malaysia;Penang / Bayan Lepas;WMKP;5.300;100.267;3 +Australasia;Malaysia;Sandakan;WBKS;5.900;118.067;12 +Australasia;Malaysia;Sepang/KL International Airport;WMKK;2.733;101.700;21 +Australasia;Malaysia;Sibu;WBGS;2.333;111.833;8 +Australasia;Malaysia;Sitiawan;WMBA;4.217;100.700;7 +Australasia;Malaysia;Subang/Sultan Abdul Aziz Shah Airport;WMSA;3.117;101.533;27 +Australasia;Malaysia;Tawau;WBKW;4.267;117.883;18 Australasia;New Zealand;Auckland;NZAA;-37.0167;174.8;6 Australasia;New Zealand;Christchurch;NZCH;-43.4833;172.55;30 Australasia;New Zealand;Wellington;NZWN;-41.3333;174.8;8 +Australasia;Philippines;Alabat;RPXT;14.083;122.017;4 +Australasia;Philippines;Aparri;RPUA;18.367;121.633;2 +Australasia;Philippines;Baguio;RPUB;16.417;120.600;1500 +Australasia;Philippines;Baler;RPUR;15.767;121.567;4 +Australasia;Philippines;Basco;RPUO;20.450;121.967;10 +Australasia;Philippines;Butuan;RPWE;9.933;125.517;45 +Australasia;Philippines;Cagayan De Oro;RPWL;8.483;124.633;5 +Australasia;Philippines;Calapan;RPUK;13.417;121.183;39 +Australasia;Philippines;Catarman;RPVF;12.483;124.633;4 +Australasia;Philippines;Clark Ab;RPMK;15.167;120.567;196 +Australasia;Philippines;Clarkfield Pampanga International Airport;RPLC;15.183;120.550;148 +Australasia;Philippines;Cotobato;RPWC;7.167;124.217;58 +Australasia;Philippines;Daet;RPUD;14.133;122.983;3 +Australasia;Philippines;Davao Airport;RPMD;7.117;125.650;17 +Australasia;Philippines;Dipolog;RPWG;8.600;123.350;3 +Australasia;Philippines;Dumaguete;RPVD;9.300;123.300;5 +Australasia;Philippines;Gen. Santos;RPWB;6.117;125.183;14 +Australasia;Philippines;Guiuan;RPVG;11.033;126.733;56 +Australasia;Philippines;Iba;RPUI;15.333;119.967;4 +Australasia;Philippines;Iloilo;RPVI;10.700;122.567;7 +Australasia;Philippines;Laoag;RPLI;18.183;120.533;4 +Australasia;Philippines;Legaspi;RPMP;13.133;123.733;16 +Australasia;Philippines;Mactan;RPMT;10.300;123.967;23 +Australasia;Philippines;Malaybalay;RPWY;8.150;125.083;626 +Australasia;Philippines;Marinduque Island;RPUW;13.367;121.833;5 +Australasia;Philippines;Masbate;RPVM;12.367;123.617;6 +Australasia;Philippines;Naga / Luzon Island;RPUN;13.583;123.267;43 +Australasia;Philippines;Ninoy Aquino Inter-National Airport;RPLL;14.517;121.000;14 +Australasia;Philippines;Puerto Princesa;RPVP;9.750;118.733;14 +Australasia;Philippines;Romblon;RPMR;12.583;122.267;46 +Australasia;Philippines;Roxas;RPVR;11.583;122.750;3 +Australasia;Philippines;Sangley Point;RPMS;14.500;120.917;3 +Australasia;Philippines;San Jose;RPUH;12.350;121.033;2 +Australasia;Philippines;Subic Bay Weather Station;RPLB;14.800;120.267;18 +Australasia;Philippines;Surigao;RPWS;9.800;125.500;54 +Australasia;Philippines;Tacloban;RPVA;11.250;125.000;2 +Australasia;Philippines;Tagbilaran;RPVT;9.600;123.850;7 +Australasia;Philippines;Tuguegarao;RPUT;17.617;121.733;61 +Australasia;Philippines;Vigan;RPUQ;17.567;120.383;31 +Australasia;Philippines;Virac;RPUV;13.583;124.233;39 +Australasia;Philippines;Zamboanga;RPMZ;6.900;122.067;5 Canada;Alberta;Calgary;CYYC;51.1167;-114.0167;1084 Canada;Alberta;Edmonton;CYEG;53.3;-113.5833;723 Canada;British Columbia;Abbotsford;CYXX;49.0333;-122.3667;58 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2010-11-24 20:47:34
|
Revision: 721 http://gpredict.svn.sourceforge.net/gpredict/?rev=721&view=rev Author: csete Date: 2010-11-24 20:47:25 +0000 (Wed, 24 Nov 2010) Log Message: ----------- Fixed PACKAGE_LOCALE_DIR. Modified Paths: -------------- trunk/ChangeLog trunk/src/Makefile.am Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-24 03:17:59 UTC (rev 720) +++ trunk/ChangeLog 2010-11-24 20:47:25 UTC (rev 721) @@ -1,3 +1,9 @@ +2010-11-24 Alexandru Csete <oz9aec at gmail.com> + + * src/Makefile.am: + Fixed PACKAGE_OCALE_DIR. + + 2010-11-23 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.c Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2010-11-24 03:17:59 UTC (rev 720) +++ trunk/src/Makefile.am 2010-11-24 20:47:25 UTC (rev 721) @@ -7,7 +7,7 @@ -DDATADIR=\""$(datadir)"\" \ -DPACKAGE_DATA_DIR=\""$(datadir)/gpredict"\" \ -DPACKAGE_PIXMAPS_DIR=\""$(datadir)/pixmaps/gpredict"\" \ - -DPACKAGE_LOCALE_DIR=\""$(prefix)/locale"\" + -DPACKAGE_LOCALE_DIR=\""$(prefix)/share/locale"\" ## We have to disable these for now because GtkTooltips have been ## deprecated in Gtk+ 2.12 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2010-12-11 03:06:25
|
Revision: 723 http://gpredict.svn.sourceforge.net/gpredict/?rev=723&view=rev Author: aa1vs Date: 2010-12-11 03:06:18 +0000 (Sat, 11 Dec 2010) Log Message: ----------- Add entries to locations.dat and add state to Mexican locations. Modified Paths: -------------- trunk/ChangeLog trunk/data/locations.dat Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-26 00:48:09 UTC (rev 722) +++ trunk/ChangeLog 2010-12-11 03:06:18 UTC (rev 723) @@ -1,3 +1,13 @@ +2010-11-25 Charles Suprin <hamaa1vs at gmail.com> + + * data/locations.dat + Add entries to locations.dat and add state to Mexican locations. + +2010-11-25 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.c + Move rotor to end of pass if below horizon and after current pass + 2010-11-24 Alexandru Csete <oz9aec at gmail.com> * src/Makefile.am: Modified: trunk/data/locations.dat =================================================================== --- trunk/data/locations.dat 2010-11-26 00:48:09 UTC (rev 722) +++ trunk/data/locations.dat 2010-12-11 03:06:18 UTC (rev 723) @@ -8,6 +8,88 @@ Africa;Algeria;Tamanrasset;DAAT;22.8167;5.4667;0 Africa;Algeria;Tebessa;DABS;35.4833;8.1333;813 Africa;Algeria;Tlemcen Zenata;DAON;35.0167;-1.4667;247 +Africa;Angola;Bie Silva Porto ;FNKU;-12.383;16.950;1701 +Africa;Angola;Cabinda;FNCA;-5.550;12.183;25 +Africa;Angola;Huambo Nova Lisboa ;FNHU;-12.800;15.750;1710 +Africa;Angola;Luanda;FNLU;-8.850;13.233;74 +Africa;Angola;Monbaca Benguela ;FNBG;-12.583;13.417;33 +Africa;Benin;Bohicon;DBBC;7.167;2.067;166 +Africa;Benin;Cotonou;DBBB;6.350;2.383;5 +Africa;Benin;Kandi;DBBK;11.133;2.933;290 +Africa;Benin;Natitingou;DBBN;10.317;1.383;460 +Africa;Benin;Parakou;DBBP;9.350;2.617;392 +Africa;Benin;Save;DBBS;8.033;2.467;199 +Africa;Botswana;Francistown;FBFT;-21.217;27.500;1001 +Africa;Botswana;Ghanzi;FBGZ;-21.700;21.650;1131 +Africa;Botswana;Jwaneng;FBJW;-24.600;24.667;1189 +Africa;Botswana;Kasane;FBKE;-17.817;25.150;968 +Africa;Botswana;Letlhakane;FBLT;-21.417;25.600;986 +Africa;Botswana;Maun;FBMN;-19.983;23.417;945 +Africa;Botswana;Selebi Phikwe;FBSP;-22.055;27.820;892 +Africa;Botswana;Seretse Khama International Airport;FBSK;-24.217;25.917;1005 +Africa;Botswana;Shakawe;FBSW;-18.367;21.850;1032 +Africa;Botswana;Sua-Pan;FBSN;-20.467;25.983;903 +Africa;Botswana;Tsabong;FBTS;-26.050;22.450;960 +Africa;Botswana;Tshane;FBTE;-24.017;21.883;1118 +Africa;Burkina Faso;Bobo-Dioulasso;DFOO;11.167;-4.317;460 +Africa;Burkina Faso;Boromo;DFCO;11.750;-2.933;270 +Africa;Burkina Faso;Dedougou;DFOD;12.467;-3.483;300 +Africa;Burkina Faso;Dori;DFEE;14.033;-0.033;276 +Africa;Burkina Faso;Fada N'Gourma;DFEF;12.033;0.367;308 +Africa;Burkina Faso;Gaoua;DFOG;10.333;-3.183;333 +Africa;Burkina Faso;Ouagadougou;DFFD;12.350;-1.517;316 +Africa;Burkina Faso;Ouahigouya;DFCC;13.567;-2.417;337 +Africa;Burkina Faso;Po;DFCP;11.150;-1.150;320 +Africa;Burundi;Bujumbura;HBBA;-3.317;29.317;782 +Africa;Cameroon;Abong-Mbang;FKAG;3.967;13.200;693 +Africa;Cameroon;Bafia;FKAF;4.733;11.250;500 +Africa;Cameroon;Bamenda ;FKKV;6.050;10.117;1239 +Africa;Cameroon;Banyo;FKAB;6.783;11.817;1110 +Africa;Cameroon;Batouri;FKKI;4.467;14.367;656 +Africa;Cameroon;Betare-Oya;FKAO;5.600;14.067;815 +Africa;Cameroon;Douala Obs.;FKKD;4.000;9.733;10 +Africa;Cameroon;Garoua;FKKR;9.333;13.383;242 +Africa;Cameroon;Koundja;FKKM;5.650;10.750;1208 +Africa;Cameroon;Kribi;FKKB;2.950;9.900;10 +Africa;Cameroon;Lomie;FKAL;3.150;13.617;624 +Africa;Cameroon;Mamfe;FKKF;5.717;9.283;126 +Africa;Cameroon;Maroua-Salak;FKKA;10.450;14.250;423 +Africa;Cameroon;Meiganga;FKAM;6.533;14.367;1027 +Africa;Cameroon;Ngaoundere;FKKN;7.350;13.567;1114 +Africa;Cameroon;Nkongsamba;FKAN;4.950;9.933;816 +Africa;Cameroon;Tiko;FKKC;4.083;9.367;52 +Africa;Cameroon;Yaounde;FKYS;3.833;11.517;751 +Africa;Cameroon;Yoko;FKAY;5.550;12.367;1027 +Africa;Cameroon;Younde Ii;FKKY;3.833;11.533;751 +Africa;Cape Verde;Sal;GVAC;16.733;-22.950;54 +Africa;Chad;Abeche;FTTC;13.850;20.850;545 +Africa;Chad;Am-Timan;FTTN;11.033;20.283;433 +Africa;Chad;Bokoro;FTTK;12.383;17.050;300 +Africa;Chad;Bol-Berim;FTTL;13.433;14.733;291 +Africa;Chad;Faya;FTTY;18.000;19.167;235 +Africa;Chad;Moundou;FTTD;8.617;16.067;428 +Africa;Chad;Ndjamena;FTTJ;12.133;15.033;295 +Africa;Chad;Pala;FTTP;9.367;14.917;467 +Africa;Chad;Sarh;FTTA;9.150;18.383;365 +Africa;Comoros;Dzaoudzi / Pamanzi Mayotte ;FMCZ;-12.800;45.283;8 +Africa;Comoros;Hahaya International Airport;FMCH;-11.533;43.267;29 +Africa;Comoros;Ouani Anjouan ;FMCV;-12.117;44.433;19 +Africa;Cote d'Ivoire;Abidjan;DIAP;5.250;-3.933;7 +Africa;Cote d'Ivoire;Adiake;DIAD;5.300;-3.300;33 +Africa;Cote d'Ivoire;Bondoukou;DIBU;8.050;-2.783;369 +Africa;Cote d'Ivoire;Bouake;DIBK;7.733;-5.067;376 +Africa;Cote d'Ivoire;Daloa;DIDL;6.867;-6.467;276 +Africa;Cote d'Ivoire;Dimbokro;DIDK;6.650;-4.700;92 +Africa;Cote d'Ivoire;Gagnoa;DIGA;6.133;-5.950;205 +Africa;Cote d'Ivoire;Korhogo;DIKO;9.417;-5.617;381 +Africa;Cote d'Ivoire;Man;DIMN;7.383;-7.517;339 +Africa;Cote d'Ivoire;Odienne;DIOD;9.500;-7.567;434 +Africa;Cote d'Ivoire;San Pedro;DISP;4.750;-6.650;30 +Africa;Cote d'Ivoire;Sassandra;DISS;4.950;-6.083;62 +Africa;Cote d'Ivoire;Tabou;DITB;4.417;-7.367;21 +Africa;Cote d'Ivoire;Yamoussoukro;DIYO;6.900;-5.350;196 +Africa;Djibouti;Djibouti \ Ambouli;HDAM;11.550;43.167;49 +Africa;Djibouti;Djibouti;HFFF;11.550;43.150;13 Africa;Egypt;Alexandria/Nouzha;HEAX;31.2;29.95;7 Africa;Egypt;Asswan;HESN;23.9667;32.7833;194 Africa;Egypt;Cairo;HECA;30.1333;31.4;74 @@ -15,9 +97,287 @@ Africa;Egypt;Mersa Matruh;HEMM;31.3333;27.2167;30 Africa;Egypt;Port Said;HEPS;31.2667;32.3;6 Africa;Egypt;Sharm El Sheikhintl;HESH;27.9667;34.3833;0 +Africa;Equatorial Guinea;Malabo/Fernando Poo;FGSL;3.750;8.767;56 +Africa;Ethiopia;Addis Ababa;HAAB;8.983;38.800;2355 +Africa;Ethiopia;Agordat ;HAAG;15.550;37.883;626 +Africa;Ethiopia;Arba Minch;HAAM;6.067;37.667;1219 +Africa;Ethiopia;Asmara;HHAS;15.283;38.917;2356 +Africa;Ethiopia;Assab;HASB;13.067;42.717;14 +Africa;Ethiopia;Assosa / Asosa ;HASO;10.033;34.533;1733 +Africa;Ethiopia;Awash ;HAAW;8.983;40.167;1052 +Africa;Ethiopia;Awassa;HALA;7.067;38.500;1652 +Africa;Ethiopia;Axum;HAAX;14.117;38.717;2134 +Africa;Ethiopia;Baco / Bako ;HABC;5.833;36.617;1311 +Africa;Ethiopia;Bahar Dar;HABD;11.600;37.400;1820 +Africa;Ethiopia;Combolcha;HADC;11.083;39.717;1864 +Africa;Ethiopia;Debremarcos;HADM;10.350;37.717;2476 +Africa;Ethiopia;Dire Dawa;HADR;9.600;41.867;1146 +Africa;Ethiopia;Ghinnir / Ginir ;HAGH;7.150;40.717;1844 +Africa;Ethiopia;Gode;HAGO;5.100;44.583;320 +Africa;Ethiopia;Gondar;HAGN;12.533;37.433;1985 +Africa;Ethiopia;Gore;HAGR;8.167;35.550;1974 +Africa;Ethiopia;Harar Meda;HAHM;8.733;39.000;1876 +Africa;Ethiopia;Jiggiga;HAJJ;9.333;42.717;1644 +Africa;Ethiopia;Jimma;HAJM;7.667;36.833;1676 +Africa;Ethiopia;Kabre Dare Military ;HAKD;6.750;44.283;550 +Africa;Ethiopia;Makale;HAMK;13.500;39.483;2212 +Africa;Ethiopia;Massawa;HAMS;15.617;39.450;10 +Africa;Ethiopia;Masslo / Meslo ;HAML;6.367;39.833;2274 +Africa;Ethiopia;Neghelli;HANG;5.283;39.750;1455 +Africa;Ethiopia;Tessenei / Teseney ;HATS;15.117;36.683;615 +Africa;Gabon;Bitam;FOOB;2.083;11.483;600 +Africa;Gabon;Cocobeach;FOOC;1.000;9.600;12 +Africa;Gabon;Franceville / Mvengue;FOON;-1.650;13.433;441 +Africa;Gabon;Lambarene;FOGR;-0.717;10.233;27 +Africa;Gabon;Lastoursville;FOOR;-0.833;12.717;483 +Africa;Gabon;Libreville;FOOL;0.450;9.417;12 +Africa;Gabon;Makokou;FOOK;0.567;12.867;509 +Africa;Gabon;Mayumba;FOOY;-3.417;10.650;31 +Africa;Gabon;Mekambo;FOOE;1.017;13.933;499 +Africa;Gabon;Mitzic;FOOM;0.783;11.533;583 +Africa;Gabon;Moanda;FOOD;-1.533;13.267;572 +Africa;Gabon;Mouila;FOGM;-1.867;11.017;88 +Africa;Gabon;Port-Gentil;FOOG;-0.700;8.750;3 +Africa;Gabon;Tchibanga;FOOT;-2.850;11.017;83 +Africa;Gambia, The;Banjul / Yundum;GBYD;13.350;-16.800;36 +Africa;Ghana;Accra;DGAA;5.600;-0.167;68 +Africa;Ghana;Ada;DGAD;5.783;0.633;5 +Africa;Ghana;Akim Oda;DGKA;5.933;-0.983;139 +Africa;Ghana;Akuse;DGAK;6.100;0.117;17 +Africa;Ghana;Axim;DGTX;4.867;-2.233;38 +Africa;Ghana;Bole;DGLB;9.033;-2.483;299 +Africa;Ghana;Ho;DGAH;6.600;0.467;158 +Africa;Ghana;Koforidua;DGKK;6.083;-0.250;166 +Africa;Ghana;Kumasi;DGSI;6.717;-1.600;287 +Africa;Ghana;Navrongo;DGLN;10.900;-1.100;201 +Africa;Ghana;Saltpond;DGAS;5.200;-1.067;44 +Africa;Ghana;Sefwi Bekwai;DGSB;6.200;-2.333;171 +Africa;Ghana;Sunyani;DGSN;7.333;-2.333;309 +Africa;Ghana;Takoradi;DGTK;4.883;-1.767;5 +Africa;Ghana;Tamale;DGLE;9.500;-0.850;168 +Africa;Ghana;Tema;DGAT;5.617;0.000;14 +Africa;Ghana;Wa;DGLW;10.050;-2.500;323 +Africa;Ghana;Wenchi;DGSW;7.750;-2.100;339 +Africa;Ghana;Yendi;DGLY;9.450;-0.017;195 +Africa;Guinea-Bissau;Bafata;GGBF;12.167;-14.667;42 +Africa;Guinea-Bissau;Bissau Aeroport ;GGOV;11.883;-15.650;39 +Africa;Guinea;Boke;GUOK;10.933;-14.317;69 +Africa;Guinea;Conakry / Gbessia;GUCY;9.567;-13.617;26 +Africa;Guinea;Faranah / Badala;GUFH;10.033;-10.750;458 +Africa;Guinea;Kankan;GUXD;10.383;-9.300;377 +Africa;Guinea;Kindia;GUID;10.050;-12.867;458 +Africa;Guinea;Kissidougou;GUKU;9.183;-10.100;525 +Africa;Guinea;Labe;GULB;11.317;-12.300;1025 +Africa;Guinea;Macenta;GUMA;8.533;-9.467;543 +Africa;Guinea;N'Zerekore;GUNZ;7.733;-8.833;470 +Africa;Guinea;Siguiri;GUSI;11.433;-9.167;362 +Africa;Kenya;Eldoret;HKEL;0.533;35.283;2120 +Africa;Kenya;Embu;HKEM;-0.500;37.450;1493 +Africa;Kenya;Garissa;HKGA;-0.467;39.633;138 +Africa;Kenya;Isiolo ;HKIS;0.350;37.583;1067 +Africa;Kenya;Kakamega;HKKG;0.283;34.783;1530 +Africa;Kenya;Kericho;HKKR;-0.367;35.350;2184 +Africa;Kenya;Kisii;HKKS;-0.667;34.783;1493 +Africa;Kenya;Kisumu;HKKI;-0.100;34.750;1157 +Africa;Kenya;Kitale;HKKT;1.017;35.000;1890 +Africa;Kenya;Lamu;HKLU;-2.267;40.833;6 +Africa;Kenya;Lodwar;HKLO;3.117;35.617;506 +Africa;Kenya;Makindu;HKMU;-2.283;37.833;1000 +Africa;Kenya;Malindi;HKML;-3.233;40.100;20 +Africa;Kenya;Mandera;HKMA;3.933;41.867;230 +Africa;Kenya;Marsabit;HKMB;2.300;37.900;1219 +Africa;Kenya;Meru;HKME;0.083;37.650;1554 +Africa;Kenya;Mombasa;HKMO;-4.033;39.617;57 +Africa;Kenya;Moyale;HKMY;3.533;39.050;1097 +Africa;Kenya;Nairobi ACC/FIC/RCC/MET/COM/;HKNA;-1.317;36.933;1624 +Africa;Kenya;Nairobi / Dagoretti;HKNC;-1.300;36.750;1798 +Africa;Kenya;Nairobi/Jomo Kenyatta Airport TWR/APP/NOF/Civil Airlines;HKJK;-1.317;36.917;1624 +Africa;Kenya;Nairobi / Wilson;HKNW;-1.317;36.817;1683 +Africa;Kenya;Nakuru;HKNK;-0.267;36.100;1901 +Africa;Kenya;Nanyuki ;HKNY;-0.067;37.033;1905 +Africa;Kenya;Narok;HKNO;-1.133;35.833;1890 +Africa;Kenya;Nyeri;HKNI;-0.500;36.967;1759 +Africa;Kenya;Voi;HKVO;-3.400;38.567;579 +Africa;Kenya;Wajir;HKWJ;1.750;40.067;244 +Africa;Lesotho;Maseru-Mia;FXMU;-29.450;27.550;1631 +Africa;Lesotho;Maseru / Moshoeshoe;FXMM;-29.450;27.550;1631 +Africa;Liberia;Grand Bassa, Roberts Field;GLRB;6.250;-10.350;18 Africa;Libya;Benina;HLLB;32.1;20.2667;132 Africa;Libya;Tripoli;HLLT;32.6667;13.15;82 -Africa;Morocco;Rabat;GMME;34.05;-6.7667;75 +Africa;Madagascar;Analalava;FMNL;-14.633;47.767;105 +Africa;Madagascar;Andapa;FMND;-14.650;49.617;473 +Africa;Madagascar;Antalaha;FMNH;-14.883;50.250;87 +Africa;Madagascar;Antananarivo / Ivato;FMMI;-18.800;47.483;1279 +Africa;Madagascar;Antsirabe;FMME;-19.817;47.067;1523 +Africa;Madagascar;Besalampy;FMNQ;-16.750;44.483;38 +Africa;Madagascar;Diego-Suarez;FMNA;-12.350;49.300;114 +Africa;Madagascar;Farafangana;FMSG;-22.800;47.833;8 +Africa;Madagascar;Fascene Nossi-Be ;FMNN;-13.317;48.317;10 +Africa;Madagascar;Fianarantsoa;FMSF;-21.450;47.100;1115 +Africa;Madagascar;Fort-Dauphin;FMSD;-25.033;46.950;8 +Africa;Madagascar;Mahanoro;FMMH;-19.833;48.800;5 +Africa;Madagascar;Maintirano;FMMO;-18.050;44.033;23 +Africa;Madagascar;Majunga;FMNM;-15.667;46.350;26 +Africa;Madagascar;Mananjary;FMSM;-21.200;48.367;5 +Africa;Madagascar;Morombe;FMSR;-21.750;43.367;5 +Africa;Madagascar;Morondava;FMMV;-20.283;44.317;7 +Africa;Madagascar;Ranohira;FMSO;-22.550;45.400;824 +Africa;Madagascar;Sainte-Marie Aerodrome;FMMS;-17.083;49.817;2 +Africa;Madagascar;Sambava;FMNS;-14.283;50.167;5 +Africa;Madagascar;Tamatave;FMMT;-18.117;49.400;5 +Africa;Madagascar;Tulear;FMST;-23.383;43.733;8 +Africa;Madagascar;Vohemar;FMNV;-13.367;50.000;6 +Africa;Malawi;Chileka;FWCL;-15.683;34.967;766 +Africa;Malawi;Chitipa;FWCT;-9.700;33.267;1278 +Africa;Malawi;Dedza;FWDZ;-14.317;34.267;1630 +Africa;Malawi;Karonga;FWKA;-9.950;33.883;529 +Africa;Malawi;Lilongwe International Airport;FWKI;-13.783;33.767;1229 +Africa;Malawi;Mangochi;FWMG;-14.433;35.250;485 +Africa;Malawi;Monkey Bay;FWMY;-14.083;34.917;474 +Africa;Malawi;Mzimba;FWMZ;-11.883;33.617;1349 +Africa;Malawi;Mzuzu;FWUU;-11.450;34.017;1251 +Africa;Malawi;Nkhota Kota;FWKK;-12.917;34.267;500 +Africa;Malawi;Salima;FWSM;-13.750;34.583;513 +Africa;Mali;Bamako / Senou;GABS;12.533;-7.950;380 +Africa;Mali;Bougouni;GABG;11.417;-7.500;350 +Africa;Mali;Gao;GAGO;16.267;-0.050;265 +Africa;Mali;Hombori;GAHB;15.333;-1.683;287 +Africa;Mali;Kayes;GAKY;14.433;-11.433;47 +Africa;Mali;Kenieba;GAKA;12.850;-11.233;132 +Africa;Mali;Kidal;GAKL;18.433;1.350;458 +Africa;Mali;Kita;GAKT;13.067;-9.467;333 +Africa;Mali;Koutiala;GAKO;12.383;-5.467;365 +Africa;Mali;Menaka;GAMK;15.867;2.217;278 +Africa;Mali;Mopti;GAMB;14.517;-4.100;276 +Africa;Mali;Nara;GANK;15.167;-7.283;271 +Africa;Mali;Nioro Du Sahel;GANR;15.233;-9.350;235 +Africa;Mali;San;GASN;13.333;-4.833;283 +Africa;Mali;Segou;GASG;13.400;-6.150;288 +Africa;Mali;Sikasso;GASK;11.350;-5.683;374 +Africa;Mali;Tessalit;GATS;20.200;0.983;494 +Africa;Mali;Tombouctou;GATB;16.717;-3.000;263 +Africa;Mauritania;Aioun El Atrouss;GQNA;16.700;-9.600;223 +Africa;Mauritania;Akjoujt;GQNJ;19.750;-14.367;123 +Africa;Mauritania;Atar;GQPA;20.517;-13.067;226 +Africa;Mauritania;Bir Moghrein;GQPT;25.233;-11.617;364 +Africa;Mauritania;Boutilimit;GQNB;17.533;-14.683;77 +Africa;Mauritania;Kaedi;GQNK;16.150;-13.517;18 +Africa;Mauritania;Kiffa;GQNF;16.633;-11.400;115 +Africa;Mauritania;Nema;GQNI;16.600;-7.267;269 +Africa;Mauritania;Nouadhibou;GQPP;20.933;-17.033;5 +Africa;Mauritania;Nouakchott;GQNN;18.100;-15.950;2 +Africa;Mauritania;Rosso;GQNR;16.500;-15.817;5 +Africa;Mauritania;Tidjikja;GQND;18.567;-11.433;396 +Africa;Mauritius;Plaisance Mauritius ;FIMP;-20.433;57.667;55 +Africa;Mauritius;Rodrigues;FIMR;-19.683;63.417;58 +Africa;Morocco;Agadir Al Massira;GMAD;30.333;-9.400;74 +Africa;Morocco;Agadir;GMAA;30.383;-9.567;27 +Africa;Morocco;Al Hoceima;GMTA;35.183;-3.850;27 +Africa;Morocco;Casablanca;GMMC;33.567;-7.667;62 +Africa;Morocco;Errachidia;GMFK;31.933;-4.400;1034 +Africa;Morocco;Essaouira;GMMI;31.517;-9.783;15 +Africa;Morocco;Fes-Sais;GMFF;33.933;-4.983;579 +Africa;Morocco;Ifrane;GMFI;33.500;-5.167;1664 +Africa;Morocco;Kenitra;GMMY;34.300;-6.600;5 +Africa;Morocco;Laayoune/Hassan Isl;GMML;27.167;-13.216;6 +Africa;Morocco;Marrakech;GMMX;31.617;-8.033;468 +Africa;Morocco;Meknes;GMFM;33.883;-5.533;576 +Africa;Morocco;Nador/Arwi;GMMW;34.989;-3.028;175 +Africa;Morocco;Nador;GMFN;35.150;-2.917;3 +Africa;Morocco;Nouasseur;GMMN;33.367;-7.583;200 +Africa;Morocco;Ouarzazate;GMMZ;30.933;-6.900;1139 +Africa;Morocco;Oujda;GMFO;34.783;-1.933;468 +Africa;Morocco;Rabat-Sale;GMME;34.050;-6.767;84 +Africa;Morocco;Safi;GMMS;32.283;-9.233;52 +Africa;Morocco;Sidi Ifni;GMMF;29.367;-10.183;58 +Africa;Morocco;Tanger Aerodrome ;GMTT;35.733;-5.900;19 +Africa;Morocco;Tan-Tan;GMAT;28.450;-11.150;229 +Africa;Morocco;Taza;GMFZ;34.217;-4.000;509 +Africa;Morocco;Tetuan / Sania Ramel;GMTN;35.583;-5.333;10 +Africa;Mozambique;Beira;FQBR;-19.800;34.900;8 +Africa;Mozambique;Chimoio;FQCH;-19.117;33.467;731 +Africa;Mozambique;Cuamba;FQCB;-14.817;36.533;606 +Africa;Mozambique;Inhambane;FQIN;-23.867;35.383;14 +Africa;Mozambique;Lichinga;FQLC;-13.300;35.233;1364 +Africa;Mozambique;Lumbo;FQLU;-15.033;40.667;10 +Africa;Mozambique;Maputo / Mavalane;FQMA;-25.917;32.567;39 +Africa;Mozambique;Mocimboa Da Praia;FQMP;-11.350;40.367;27 +Africa;Mozambique;Nampula;FQNP;-15.100;39.283;438 +Africa;Mozambique;Pemba;FQPB;-12.983;40.533;101 +Africa;Mozambique;Quelimane;FQQL;-17.883;36.883;6 +Africa;Mozambique;Tete / Chingozi;FQTT;-16.100;33.633;160 +Africa;Mozambique;Tete;FQTE;-16.183;33.583;149 +Africa;Mozambique;Vilanculos;FQVL;-22.000;35.317;20 +Africa;Mozambique;Xai Xai;FQXA;-25.050;33.633;4 +Africa;Namibia;Gobabis;FAGB;-22.467;18.967;1440 +Africa;Namibia;Grootfontein;FYGF;-19.600;18.117;1411 +Africa;Namibia;J. G. Strijdom;FYWH;-22.483;17.467;1715 +Africa;Namibia;Katima Mulilo;FYKM;-17.634;24.177;985 +Africa;Namibia;Keetmanshoop;FYKT;-26.533;18.117;1067 +Africa;Namibia;Luderitz / Diaz Point;FYLZ;-26.683;15.250;130 +Africa;Namibia;Ondangwa;FYOA;-17.878;15.952;1096 +Africa;Namibia;Rooikop Saaf / Civ ;FYRK;-22.983;14.650;88 +Africa;Namibia;Rundu;FYRU;-17.917;19.767;1083 +Africa;Namibia;Walvis Bay;FYWB;-22.983;14.650;46 +Africa;Namibia;Windhoek, Town MET;FYWW;-22.567;17.100;1725 +Africa;Niger;Agadez;DRZA;16.967;7.983;501 +Africa;Niger;Bilma;DRRI;18.683;12.917;355 +Africa;Niger;Birni-N'Konni;DRRB;13.800;5.250;272 +Africa;Niger;Diffa;DRZF;13.417;12.783;303 +Africa;Niger;Gaya;DRRG;11.883;3.450;202 +Africa;Niger;Goure;DRZG;13.983;10.300;464 +Africa;Niger;Maine-Soroa;DRZM;13.233;11.983;338 +Africa;Niger;Maradi;DRRM;13.467;7.083;372 +Africa;Niger;Niamey-Aero;DRRN;13.483;2.167;223 +Africa;Niger;Tahoua;DRRT;14.900;5.250;386 +Africa;Niger;Tillabery;DRRL;14.200;1.450;209 +Africa;Niger;Zinder;DRZR;13.783;8.983;452 +Africa;Nigeria;Bida;DNBI;9.100;6.017;137 +Africa;Nigeria;Calabar;DNCA;4.967;8.350;63 +Africa;Nigeria;Enugu;DNEN;6.467;7.550;137 +Africa;Nigeria;Gusau;DNGU;12.167;6.700;463 +Africa;Nigeria;Ibadan;DNIB;7.433;3.900;234 +Africa;Nigeria;Ilorin;DNIL;8.483;4.583;308 +Africa;Nigeria;Jos;DNJO;9.867;8.900;1295 +Africa;Nigeria;Kaduna;DNKA;10.600;7.450;645 +Africa;Nigeria;Kano;DNKN;12.050;8.533;476 +Africa;Nigeria;Maiduguri;DNMA;11.850;13.083;354 +Africa;Nigeria;Makurdi;DNMK;7.683;8.617;113 +Africa;Nigeria;Lagos / Ikeja;DNMM;6.583;3.333;40 +Africa;Nigeria;Oshogbo;DNOS;7.783;4.483;305 +Africa;Nigeria;Port Harcourt;DNPO;4.850;7.017;18 +Africa;Nigeria;Sokoto;DNSO;13.017;5.250;351 +Africa;Nigeria;Yola;DNYO;9.233;12.467;191 +Africa;Nigeria;Zaria;DNZA;11.133;7.683;664 +Africa;Portugal;Funchal / S. Catarina;LPFU;32.683;-16.767;58 +Africa;Portugal;Porto Santo;LPPS;33.067;-16.350;97 +Africa;Reunion;Saint-Denis / Gillot;FMEE;-20.883;55.517;21 +Africa;Reunion;Saint-Pierre;FMEP;-21.333;55.483;52 +Africa;Rwanda;Gisenyi;HRYG;-1.667;29.250;1556 +Africa;Rwanda;Kigali;HRYR;-1.967;30.117;1491 +Africa;Saint Helena;Wide Awake Field Ascension Island ;FHAW;-7.967;-14.400;86 +Africa;Sao Tome and Principe;Principe;FPPR;1.650;7.417;3 +Africa;Sao Tome and Principe;S. Tome;FPST;0.383;6.717;8 +Africa;Senegal;Cap-Skirring;GOGS;12.400;-16.750;16 +Africa;Senegal;Dakar / Yoff;GOOY;14.733;-17.500;27 +Africa;Senegal;Diourbel;GOOD;14.650;-16.233;7 +Africa;Senegal;Kaolack;GOOK;14.133;-16.067;6 +Africa;Senegal;Kedougou;GOTK;12.567;-12.217;178 +Africa;Senegal;Kolda;GOGK;12.883;-14.967;10 +Africa;Senegal;Linguere;GOOG;15.383;-15.117;20 +Africa;Senegal;Matam;GOSM;15.650;-13.250;15 +Africa;Senegal;Podor;GOSP;16.650;-14.967;6 +Africa;Senegal;Saint-Louis;GOSS;16.050;-16.450;4 +Africa;Senegal;Tambacounda;GOTT;13.767;-13.683;49 +Africa;Senegal;Ziguinchor;GOGG;12.550;-16.267;26 +Africa;Seychelles;Seychelles Inter-National Airport;FSIA;-4.667;55.517;3 +Africa;Seychelles;Seychelles International Airport Rawinsonde Station ;FSSS;-4.683;55.533;4 +Africa;Sierra Leone;Lungi;GFLL;8.617;-13.200;25 +Africa;Somalia;Belet Uen;HCMN;4.700;45.217;173 +Africa;Somalia;Berbera;HCMI;10.417;45.017;9 +Africa;Somalia;Burao;HCMV;9.500;45.567;1032 +Africa;Somalia;Hargeisa;HCMH;9.500;44.083;1326 +Africa;Somalia;Mogadiscio;HCMM;2.033;45.350;9 Africa;South Africa;Bethlehem Airport;FABM;-28.25;28.3333;1700 Africa;South Africa;Bloemfontein J. B. M. Hertzog;FABL;-29.1;26.3;1400 Africa;South Africa;Cape Town D. F. Malan;FACT;-33.9833;18.6;0 @@ -32,6 +392,151 @@ Africa;South Africa;Pretoria;FAPR;-25.7333;28.1833;1300 Africa;South Africa;Springbok;FASB;-29.6667;17.8667;1000 Africa;South Africa;Upington;FAUP;-28.4;21.2667;800 +Africa;Spain;Fuerteventura / Aeropuerto;GCFV;28.450;-13.867;22 +Africa;Spain;Gran Canaria - Canary Islands;GCLP;27.933;-15.383;23 +Africa;Spain;Hierro / Aeropuerto;GCHI;27.817;-17.883;32 +Africa;Spain;Lanzarote / Aeropuerto;GCRR;28.950;-13.600;14 +Africa;Spain;La Palma / Aeropuerto;GCLA;28.617;-17.750;29 +Africa;Spain;Melilla;GEML;35.283;-2.950;47 +Africa;Spain;Tenerife / Los Rodeos;GCXO;28.467;-16.317;632 +Africa;Spain;Tenerife Sur;GCTS;28.050;-16.567;64 +Africa;Sudan;Atbara;HSAT;17.700;33.967;347 +Africa;Sudan;Damazine;HSDZ;11.783;34.383;474 +Africa;Sudan;Dongola;HSDN;19.167;30.483;226 +Africa;Sudan;El Fasher;HSFS;13.617;25.333;733 +Africa;Sudan;El Obeid;HSOB;13.167;30.233;574 +Africa;Sudan;Gedaref;HSGF;14.033;35.400;599 +Africa;Sudan;Geneina;HSGN;13.483;22.450;805 +Africa;Sudan;Juba;HSSJ;4.867;31.600;460 +Africa;Sudan;Kadugli;HSLI;11.000;29.717;499 +Africa;Sudan;Kassala;HSKA;15.467;36.400;500 +Africa;Sudan;Khartoum;HSSS;15.600;32.550;382 +Africa;Sudan;Kosti;HSKI;13.167;32.667;381 +Africa;Sudan;Malakal;HSSM;9.550;31.650;387 +Africa;Sudan;Nyala;HSNL;12.050;24.883;67 +Africa;Sudan;Port Sudan;HSSP;19.583;37.217;3 +Africa;Sudan;Port Sudan International;HSPN;19.433;37.233;138 +Africa;Sudan;Renk;HSRN;11.750;32.783;282 +Africa;Sudan;Sennar;HSNR;13.550;33.617;418 +Africa;Sudan;Wadi Halfa;HSSW;21.817;31.483;183 +Africa;Swaziland;Manzini / Matsapa Airport;FDMS;-26.533;31.300;641 +Africa;Tanzania;Arusha;HTAR;-3.333;36.617;1387 +Africa;Tanzania;Bukoba;HTBU;-1.333;31.817;1137 +Africa;Tanzania;Dar Es Salaam Airport;HTDA;-6.867;39.200;55 +Africa;Tanzania;Dodoma;HTDO;-6.167;35.767;1119 +Africa;Tanzania;Iringa;HTIR;-7.667;35.750;1426 +Africa;Tanzania;Kigoma;HTKA;-4.883;29.633;882 +Africa;Tanzania;Kilimanjaro Airport;HTKJ;-3.417;37.067;891 +Africa;Tanzania;Kilwa Masoko ;HTKI;-8.933;39.517;18 +Africa;Tanzania;Mbeya;HTMB;-8.933;33.467;1704 +Africa;Tanzania;Mombo;HTMO;-4.883;38.283;511 +Africa;Tanzania;Morogoro;HTMG;-6.833;37.650;526 +Africa;Tanzania;Moshi;HTMS;-3.350;37.333;854 +Africa;Tanzania;Mtwara;HTMT;-10.267;40.183;113 +Africa;Tanzania;Musoma;HTMU;-1.500;33.800;1147 +Africa;Tanzania;Mwanza;HTMW;-2.467;32.917;1139 +Africa;Tanzania;Nachingwea;HTNA;-10.350;38.750;463 +Africa;Tanzania;Pemba / Karume Airport;HTPE;-5.250;39.817;25 +Africa;Tanzania;Same;HTSE;-4.083;37.717;872 +Africa;Tanzania;Shinyanga;HTSY;-3.500;33.000;1100 +Africa;Tanzania;Songea;HTSO;-10.683;35.583;1067 +Africa;Tanzania;Tabora Airport;HTTB;-5.083;32.833;1181 +Africa;Tanzania;Tanga;HTTG;-5.083;39.067;39 +Africa;Tanzania;Zanzibar / Kisauni;HTZA;-6.217;39.217;15 +Africa;Togo;Atakpame;DXAK;7.583;1.117;400 +Africa;Togo;Lome;DXXX;6.167;1.250;20 +Africa;Togo;Mango;DXMG;10.367;0.467;145 +Africa;Togo;Niamtougou;DXNG;9.767;1.100;342 +Africa;Togo;Sokode;DXSK;8.983;1.150;386 +Africa;Togo;Tabligbo;DXTA;6.583;1.500;44 +Africa;Tunisia;Bizerte;DTTB;37.250;9.800;5 +Africa;Tunisia;Djerba Mellita;DTTJ;33.867;10.767;3 +Africa;Tunisia;El Borma;DTTR;31.683;9.167;258 +Africa;Tunisia;Gabes;DTTG;33.883;10.100;4 +Africa;Tunisia;Gafsa;DTTF;34.417;8.817;313 +Africa;Tunisia;Habib Bourguiba ;DTMB;35.767;10.750;2 +Africa;Tunisia;Jendouba;DTTN;36.483;8.800;143 +Africa;Tunisia;Kairouan;DTTK;35.667;10.100;60 +Africa;Tunisia;Kelibia;DTTL;36.850;11.083;29 +Africa;Tunisia;Monastir-Skanes;DTTM;35.667;10.750;2 +Africa;Tunisia;Remada;DTTD;32.317;10.400;300 +Africa;Tunisia;Sfax El-Maou;DTTX;34.717;10.683;21 +Africa;Tunisia;Tabarka;DTKA;36.950;8.750;20 +Africa;Tunisia;Tozeur;DTTZ;33.917;8.100;87 +Africa;Tunisia;Tunis-Carthage;DTTA;36.833;10.233;3 +Africa;Uganda;Arua;HUAR;3.050;30.917;1204 +Africa;Uganda;Entebbe Airport;HUEN;0.050;32.450;1155 +Africa;Uganda;Fort Portal ;HUFP;0.667;30.283;1533 +Africa;Uganda;Gulu;HUGU;2.750;32.333;1104 +Africa;Uganda;Jinja;HUJI;0.450;33.183;1175 +Africa;Uganda;Kabale;HUKB;-1.250;29.983;1867 +Africa;Uganda;Kasese;HUKS;0.183;30.100;959 +Africa;Uganda;Lira;HULI;2.250;32.900;1091 +Africa;Uganda;Masindi;HUMI;1.683;31.717;1146 +Africa;Uganda;Mbarara;HUMA;-0.617;30.650;1412 +Africa;Uganda;Moroto ;HUMO;2.533;34.650;1280 +Africa;Uganda;Soroti;HUSO;1.717;33.617;1132 +Africa;Uganda;Tororo;HUTO;0.683;34.167;1170 +Africa;Western Sahara;Villa Cisneros;GSVO;23.700;-15.867;10 +Africa;Zambia;Chipata;FLCP;-13.550;32.583;1028 +Africa;Zambia;Choma;FLCH;-16.833;27.067;1213 +Africa;Zambia;Isoka;FLIK;-10.117;32.633;1360 +Africa;Zambia;Kabompo;FLPO;-13.600;24.200;1075 +Africa;Zambia;Kabwe;FLKW;-14.450;28.467;1206 +Africa;Zambia;Kaoma;FLKO;-14.800;24.800;1213 +Africa;Zambia;Kasama;FLKS;-10.217;31.133;1382 +Africa;Zambia;Kasempa;FLPA;-13.533;25.850;1234 +Africa;Zambia;Kawambwa;FLKB;-9.800;29.083;1323 +Africa;Zambia;Livingstone;FLLI;-17.817;25.817;985 +Africa;Zambia;Lundazi;FLLD;-12.283;33.200;1143 +Africa;Zambia;Lusaka City Airport;FLLC;-14.450;28.467;1280 +Africa;Zambia;Lusaka Internationalairport;FLLS;-15.317;28.450;1152 +Africa;Zambia;Mansa;FLMA;-11.100;28.850;1382 +Africa;Zambia;Mbala;FLBA;-8.850;31.333;1673 +Africa;Zambia;Mfuwe;FLMF;-13.259;31.937;573 +Africa;Zambia;Mongu;FLMG;-15.250;23.150;1052 +Africa;Zambia;Mpika;FLMP;-11.900;31.433;1400 +Africa;Zambia;Mwinilunga;FLMW;-11.750;24.433;1361 +Africa;Zambia;Ndola;FLND;-13.000;28.650;1269 +Africa;Zambia;Petauke;FLPE;-14.250;31.283;1035 +Africa;Zambia;Senanga;FLSN;-16.100;23.267;1027 +Africa;Zambia;Serenje;FLSE;-13.233;30.217;1384 +Africa;Zambia;Sesheke;FLSS;-17.467;24.300;949 +Africa;Zambia;Solwezi;FLSW;-12.183;26.383;1386 +Africa;Zambia;Zambezi;FLZB;-13.533;23.117;1077 +Africa;Zimbabwe;Beitbridge;FVBB;-22.217;30.000;456 +Africa;Zimbabwe;Binga;FVBI;-17.617;27.333;620 +Africa;Zimbabwe;Buffalo Range;FVCZ;-21.017;31.583;429 +Africa;Zimbabwe;Bulawayo Airport;FVBU;-20.017;28.617;1326 +Africa;Zimbabwe;Chipinge;FVCH;-20.200;32.617;1131 +Africa;Zimbabwe;Gokwe;FVGO;-18.217;28.933;1282 +Africa;Zimbabwe;Gweru;FVTL;-19.450;29.850;1428 +Africa;Zimbabwe;Harare Kutsaga ;FVHA;-17.917;31.133;1479 +Africa;Zimbabwe;Hwange National Park;FVWN;-18.633;27.000;1079 +Africa;Zimbabwe;Kariba;FVKB;-16.517;28.883;518 +Africa;Zimbabwe;Karoi;FVKA;-16.833;29.617;1343 +Africa;Zimbabwe;Masvingo;FVMV;-20.067;30.867;1094 +Africa;Zimbabwe;Mutoko;FVMT;-17.417;32.217;1244 +Africa;Zimbabwe;Rusape;FVRU;-18.533;32.133;1430 +Africa;Zimbabwe;Victoria Falls;FVFA;-18.100;25.850;1061 +Asia;Afghanistan;Faizabad;OAFZ;37.117;70.517;1200 +Asia;Afghanistan;Farah;OAFR;32.367;62.183;700 +Asia;Afghanistan;Herat;OAHR;34.217;62.217;964 +Asia;Afghanistan;Jabul-Saraj;OAJS;35.133;69.250;1630 +Asia;Afghanistan;Jalalabad;OAJL;34.433;70.467;580 +Asia;Afghanistan;Kabul Airport;OAKB;34.633;69.200;1789 +Asia;Afghanistan;Mazar-I-Sharif;OAMS;36.700;67.200;378 +Asia;Afghanistan;Shebirghan;OASG;36.667;65.717;360 +Asia;Afghanistan;Shindand;OASD;33.400;62.283;1150 +Asia;Afghanistan;Zaranj;OAZG;31.000;61.850;478 +Asia;Afghanistan;Zebak;OAZB;36.500;71.250;2600 +Asia;Bangladesh;Jessore;VGJR;23.183;89.167;6 +Asia;Bangladesh;Kurmitola, Dia;VGZR;23.850;90.400;9 +Asia;Bangladesh;Rajshahi;VGRJ;24.367;88.700;17 +Asia;Bangladesh;Sylhet;VGSY;24.900;91.883;34 +Asia;Cambodia;Kompong-Cham;VDKC;12.000;105.450;16 +Asia;Cambodia;Phnom-Penh / Pochentong;VDPP;11.550;104.850;10 +Asia;Cambodia;Siemreap;VDSR;13.367;103.850;15 Asia;Hong Kong;Hong Kong;VHHH;22.3333;114.1833;24 Asia;India;Ahmadabad;VAAH;23.0667;72.6333;55 Asia;India;Amritsar;VIAR;31.6333;74.8667;234 @@ -170,6 +675,25 @@ Asia;Korea, Republic of;Yeoju Range;RKSU;37.4333;127.6333;43 Asia;Korea, Republic of;Yongsan/H-208 Hp;RKSY;37.5167;126.9833;0 Asia;Korea, Republic of;Yosu;RKJY;34.8333;127.6167;20 +Asia;Laos;Luang-Prabang;VLLB;19.883;102.133;305 +Asia;Laos;Pakse;VLIP;15.117;105.167;102 +Asia;Laos;Saravane;VLSV;15.683;106.433;168 +Asia;Laos;Savannakhet;VLSK;16.550;104.650;155 +Asia;Laos;Sayaboury;VLSB;19.233;101.733;326 +Asia;Laos;Thakhek;VLTK;17.383;104.650;52 +Asia;Laos;Vientiane;VLVT;17.950;102.567;171 +Asia;Macau;Taipa;VMMC;22.167;113.567;114 +Asia;Maldives;Gan;VRGN;-0.683;73.150;2 +Asia;Maldives;Male;VRMM;4.200;73.533;2 +Asia;Mongolia;Ulan-Bator;ZMUB;47.850;106.767;0 +Asia;Nepal;Bhairawa Airport;VNBW;27.517;83.450;109 +Asia;Nepal;Biratnagar Airport;VNVT;26.483;87.267;72 +Asia;Nepal;Jumla;VNJL;29.283;82.167;2300 +Asia;Nepal;Kathmandu Airport;VNKT;27.700;85.367;1337 +Asia;Nepal;Pokhara Airport;VNPK;28.217;84.000;827 +Asia;Nepal;Simra Airport;VNSI;27.167;84.983;137 +Asia;Nepal;Surkhet;VNSK;28.600;81.617;720 +Asia;Nepal;Taplejung;VNTJ;27.350;87.667;1732 Asia;Pakistan;Islamabad;OPRN;33.6167;73.1;508 Asia;Pakistan;Karachi;OPKC;24.9;67.1333;22 Asia;Pakistan;Lahore;OPLA;31.5167;74.4;217 @@ -199,6 +723,55 @@ Asia;Taiwan;Pingtung North;RCSQ;22.7;120.4833;0 Asia;Taiwan;Sungshan/Taipei;RCSS;25.0667;121.55;0 Asia;Taiwan;Wuchia Observatory;RCMQ;24.2667;120.6167;203 +Asia;Thailand;Chaiyaphum;VTUC;15.800;102.033;182 +Asia;Thailand;Chanthaburi;VTBC;12.600;102.117;3 +Asia;Thailand;Chiang Mai;VTCC;18.783;98.983;312 +Asia;Thailand;Chiang Rai;VTCR;19.917;99.833;394 +Asia;Thailand;Chon Buri;VTBS;13.367;100.983;1 +Asia;Thailand;Chumphon;VTSD;10.483;99.183;3 +Asia;Thailand;Don Muang;VTBD;13.917;100.600;4 +Asia;Thailand;Hat Yai;VTSS;6.917;100.433;27 +Asia;Thailand;Hua Hin;VTPH;12.583;99.950;5 +Asia;Thailand;Kanchanaburi;VTBG;14.017;99.533;28 +Asia;Thailand;Khon Kaen;VTUK;16.433;102.833;165 +Asia;Thailand;Lampang;VTCL;18.283;99.517;241 +Asia;Thailand;Loei;VTUL;17.450;101.733;253 +Asia;Thailand;Mae Hong Son;VTCH;19.300;97.833;267 +Asia;Thailand;Mae Sariang;VTCS;18.167;97.933;212 +Asia;Thailand;Mae Sot;VTPM;16.667;98.550;196 +Asia;Thailand;Mukdahan;VTUB;16.533;104.717;138 +Asia;Thailand;Nakhon Phanom;VTUP;17.417;104.783;146 +Asia;Thailand;Nakhon Ratchasima;VTUN;14.967;102.083;187 +Asia;Thailand;Nakhon Sawan;VTPN;15.800;100.167;34 +Asia;Thailand;Nakhon Si Thammarat;VTSN;8.467;99.967;7 +Asia;Thailand;Nan;VTCN;18.767;100.767;200 +Asia;Thailand;Nong Khai;VTUM;17.867;102.717;174 +Asia;Thailand;Pattani;VTSK;6.783;101.150;5 +Asia;Thailand;Phetchaburi;VTBJ;13.150;100.067;2 +Asia;Thailand;Phitsanulok;VTPS;16.783;100.267;44 +Asia;Thailand;Phrae;VTCP;18.167;100.167;161 +Asia;Thailand;Phuket Airport;VTSP;8.117;98.317;6 +Asia;Thailand;Prachin Buri;VTBI;14.050;101.367;5 +Asia;Thailand;Prachuap Khirikhan;VTBP;11.833;99.833;4 +Asia;Thailand;Ranong;VTSR;9.983;98.617;7 +Asia;Thailand;Rayong;VTBU;12.633;101.350;3 +Asia;Thailand;Roi Et;VTUR;16.050;103.683;140 +Asia;Thailand;Sakon Nakhon;VTUS;17.150;104.133;171 +Asia;Thailand;Satun;VTSA;6.650;100.083;4 +Asia;Thailand;Songkhla;VTSH;7.200;100.600;4 +Asia;Thailand;Surat Thani;VTSB;9.117;99.350;10 +Asia;Thailand;Tak;VTPT;16.883;99.150;121 +Asia;Thailand;Trang;VTST;7.517;99.617;14 +Asia;Thailand;Ubon Ratchathani;VTUU;15.250;104.867;123 +Asia;Thailand;Udon Thani;VTUD;17.383;102.800;177 +Asia;Thailand;Uttaradit;VTPU;17.617;100.100;63 +Asia;Uzbekistan;Dzizak;UTED;40.117;67.833;345 +Asia;Uzbekistan;Nukus / Karakalpakstan;UTNN;42.480;59.630;0 +Asia;Uzbekistan;Samarkand;UTSS;39.567;66.950;724 +Asia;Uzbekistan;Tamdy;UTSM;41.733;64.617;238 +Asia;Uzbekistan;Tashkent;UTTT;41.267;69.267;489 +Asia;Uzbekistan;Termez;UTST;37.233;67.267;302 +Asia;Uzbekistan;Urgench;UTNU;41.583;60.645;98 Asia;Viet Nam;Da Nang;VVDN;16.0333;108.1833;7 Asia;Viet Nam;Ha Noi;VVNB;21.0167;105.8;6 Asia;Viet Nam;Ho Chi Minh;VVTS;10.8167;106.6667;19 @@ -224,6 +797,26 @@ Australasia;Australia;Port Hedland;YPPD;-20.1;119.5667;10 Australasia;Australia;Sydney;YSSY;-33.95;151.1833;3 Australasia;Australia;Townsville;YBTL;-19.25;146.75;9 +Australasia;Brunei;Brunei Airport;WBSB;4.933;114.933;22 +Australasia;Christmas Island;Christmas Island Aerodrome;YPXM;-10.433;105.683;279 +Australasia;Christmas Island;Cocos Island Airport;YPCC;-12.183;96.817;3 +Australasia;Cook Islands;Alofi / Niue;NIUE;-19.067;-169.917;20 +Australasia;Cook Islands;Rarotonga;NCRG;-21.200;-159.817;7 +Australasia;East Timor;Baucau;WPEC;-8.500;126.400;522 +Australasia;East Timor;Dilli / Dilli Airport;WPDL;-8.567;125.567;6 +Australasia;East Timor;Oe-Cusse / Oe Cusse;WPOC;-9.200;124.367;5 +Australasia;Fiji;Lakemba;NFNK;-18.233;-178.800;2 +Australasia;Fiji;Nandi;NFFN;-17.750;177.450;13 +Australasia;Fiji;Nausori;NFNA;-18.050;178.567;5 +Australasia;Fiji;Rotuma;NFNR;-12.500;177.050;26 +Australasia;France;Hihifo Ile Wallis ;NLWW;-13.233;-176.167;23 +Australasia;France;Maopoopo Ile Futuna ;NLWF;-14.317;-178.117;6 +Australasia;French Polynesia;Bora-Bora;NTTB;-16.450;-151.750;4 +Australasia;French Polynesia;Hao;NTTO;-18.067;-140.950;2 +Australasia;French Polynesia;Mururoa;NTTX;-21.817;-138.800;2 +Australasia;French Polynesia;Rangiroa / Tuamoto Island;NTTG;-14.967;-147.667;3 +Australasia;French Polynesia;Tahiti-Faaa;NTAA;-17.550;-149.617;2 +Australasia;French Polynesia;Tubuai;NTAT;-23.350;-149.483;2 Australasia;Indonesia;Alor / Mali;WRKM;-8.217;124.567;12 Australasia;Indonesia;Amahai;WAPA;-3.350;128.883;10 Australasia;Indonesia;Ambon / Pattimura;WAPP;-3.700;128.083;12 @@ -341,9 +934,32 @@ Australasia;Malaysia;Sitiawan;WMBA;4.217;100.700;7 Australasia;Malaysia;Subang/Sultan Abdul Aziz Shah Airport;WMSA;3.117;101.533;27 Australasia;Malaysia;Tawau;WBKW;4.267;117.883;18 +Australasia;Marshall Islands;Kwajalein, Bucholz AAF, Kwajalein KMR ATOL Airport;PKWA;8.717;167.733;3 +Australasia;Marshall Islands;Majuro Atoll, Marshall Islands Int. Airp.;PKMJ;7.067;171.283;2 +Australasia;Marshall Islands;Majuro Atoll, NWS Office;PKMR;7.083;171.200;4 +Australasia;Micronesia, Federated States of;Kosrae Carolines / V;PTTK;5.350;162.950;2 +Australasia;Micronesia, Federated States of;Kosrae Island, Kosrae Airport;PTSA;5.350;162.950;3 +Australasia;Micronesia, Federated States of;Pohnpei Island, Pohnpei Int. Airp.;PTPN;6.983;158.200;2 +Australasia;Micronesia, Federated States of;Pohnpei, NWS Office;PTTP;6.967;158.217;39 +Australasia;Micronesia, Federated States of;Weno Island, Chuuk Int. Airp.;PTKK;7.467;151.850;3 +Australasia;Micronesia, Federated States of;Yap Island, Yap Int. Airp.;PTYA;9.483;138.083;28 +Australasia;Nauru;Nauru Airport;ANAU;-0.533;166.917;6 +Australasia;New Caledonia;Koumac Nlle-Caledonie ;NWWK;-20.567;164.283;23 +Australasia;New Caledonia;La Roche Ile Mare ;NWWR;-21.483;168.033;43 +Australasia;New Caledonia;La Tontouta Nlle-Caledonie ;NWWW;-22.017;166.217;16 +Australasia;New Caledonia;Moue Ile Des Pins ;NWWE;-22.600;167.450;96 +Australasia;New Caledonia;Noumea Nlle-Caledonie ;NWWN;-22.267;166.450;69 +Australasia;New Caledonia;Ouanaham Ile Lifou ;NWWL;-20.767;167.233;28 +Australasia;New Caledonia;Ouloup Ile Ouvea ;NWWV;-20.650;166.583;7 Australasia;New Zealand;Auckland;NZAA;-37.0167;174.8;6 Australasia;New Zealand;Christchurch;NZCH;-43.4833;172.55;30 Australasia;New Zealand;Wellington;NZWN;-41.3333;174.8;8 +Australasia;Palau;Babelthuap Island, Babelthuap/Koror Airport;PTRO;7.367;134.533;54 +Australasia;Palau;Koror, Palau, NWS Office;PTKR;7.333;134.483;30 +Australasia;Papua New Guinea;Madang;AYMD;-5.217;145.783;3 +Australasia;Papua New Guinea;Manus Island/Momote;AYMO;-2.062;147.424;4 +Australasia;Papua New Guinea;Moresby;AYPY;-9.433;147.217;38 +Australasia;Papua New Guinea;Wewak;AYWK;-3.567;143.633;6 Australasia;Philippines;Alabat;RPXT;14.083;122.017;4 Australasia;Philippines;Aparri;RPUA;18.367;121.633;2 Australasia;Philippines;Baguio;RPUB;16.417;120.600;1500 @@ -385,6 +1001,19 @@ Australasia;Philippines;Vigan;RPUQ;17.567;120.383;31 Australasia;Philippines;Virac;RPUV;13.583;124.233;39 Australasia;Philippines;Zamboanga;RPMZ;6.900;122.067;5 +Australasia;Samoa;Apia / Upolu Island;NSAP;-13.800;-171.783;2 +Australasia;Samoa;Faleolo Intl / Apia;NSFA;-13.817;-172.000;5 +Australasia;Solomon Islands;Honiara / Henderson;AGGH;-9.417;160.050;8 +Australasia;Solomon Islands;Munda;AGGM;-8.333;157.267;6 +Australasia;Solomon Islands;Santa Cruz;AGGL;-10.700;165.800;23 +Australasia;Tonga;Fua'Amotu;NFTF;-21.233;-175.150;38 +Australasia;Tonga;Haapai;NFTL;-19.800;-174.350;2 +Australasia;Tuvalu;Funafuti;NGFU;-8.517;179.217;1 +Australasia;Tuvalu;Nanumea;NGFO;-5.667;176.133;2 +Australasia;Vanuatu;Bauerfield Efate ;NVVV;-17.700;168.300;20 +Australasia;Vanuatu;Lamap Malekula ;NVSL;-16.417;167.800;26 +Australasia;Vanuatu;Pekoa Airport Santo ;NVSS;-15.517;167.217;41 +Australasia;Vanuatu;Sola Vanua Lava ;NVSC;-13.850;167.550;17 Canada;Alberta;Calgary;CYYC;51.1167;-114.0167;1084 Canada;Alberta;Edmonton;CYEG;53.3;-113.5833;723 Canada;British Columbia;Abbotsford;CYXX;49.0333;-122.3667;58 @@ -675,6 +1304,7 @@ Central and South America;Venezuela;San Fernando De Apure;SVSR;7.9;-67.4167;48 Central and South America;Venezuela;Valera*;SVVL;9.35;-70.6167;582 Europe;Albania;Tirana;LATI;41.3333;19.7833;90 +Europe;Armenia;Yerevan;UGEE;40.133;44.467;890 Europe;Austria;Graz;LOWG;47;15.4333;347 Europe;Austria;Hohenems;LOIH;47.3833;9.7006;0 Europe;Austria;Innsbruck;LOWI;47.2667;11.35;593 @@ -684,6 +1314,12 @@ Europe;Austria;Voslau;LOAV;47.95;16.2594;0 Europe;Austria;Wien;LOWW;48.1167;16.5667;190 Europe;Austria;Zell Am See;LOWZ;47.2833;12.7875;0 +Europe;Belarus;Brest;UMBB;52.108;23.897;143 +Europe;Belarus;Gomel';UMGG;52.527;31.018;144 +Europe;Belarus;Grodno;UMMG;53.602;24.055;135 +Europe;Belarus;Loshitsa / Minsk International 1;UMMM;53.865;27.542;228 +Europe;Belarus;Minsk;UMMS;53.933;27.633;234 +Europe;Belarus;Vitebsk;UMII;55.167;30.217;176 Europe;Belgium;Antwerpen/Deurne;EBAW;51.2;4.4667;14 Europe;Belgium;Beauvechain;EBBE;50.75;4.7667;127 Europe;Belgium;Brasschaat;EBBT;51.3333;4.5;23 @@ -809,8 +1445,8 @@ Europe;France;Troyes/Barberey;LFQB;48.3333;4.0167;118 Europe;France;Vichy-Charmeil;LFLV;46.1667;3.4;251 Europe;France;Villacoublay;LFPV;48.7667;2.2;179 -Europe;FYR Macedonia;Ohrid;LWOH;41.1167;20.8;761 -Europe;FYR Macedonia;Skopje;LWSK;41.9667;21.65;239 +Europe;Georgia;Muhrani;UGMM;41.933;44.583;551 +Europe;Georgia;Tbilisi;UGGG;41.683;44.950;467 Europe;Germany;Augsburg;EDMA;48.4333;10.9333;463 Europe;Germany;Bayreuth;EDQD;49.9833;11.6333;498 Europe;Germany;Berlin-Tegel;EDDT;52.5667;13.3167;37 @@ -959,6 +1595,8 @@ Europe;Lithuania;Siauliai Intl./Mil.;EYSA;55.883;23.383;135 Europe;Lithuania;Vilnius;EYVI;54.633;25.100;162 Europe;Luxembourg;Luxembourg;ELLX;49.6167;6.2167;379 +Europe;Macedonia, The Republic of;Ohrid;LWOH;41.117;20.800;760 +Europe;Macedonia, The Republic of;Skopje-Petrovec;LWSK;41.967;21.650;238 Europe;Malta;Luqa;LMML;35.85;14.4833;91 Europe;Moldova;Kishineu;LUKK;46.9167;28.9308;0 Europe;Netherlands;Amsterdam;EHAM;52.3;4.7667;:2 @@ -1091,6 +1729,15 @@ Europe;Russia;Yakutsk;UEEE;62.0167;129.7167;101 Europe;Russia;Yekaterinburg;USSS;56.8333;60.6333;283 Europe;Russia;Yuzhno-Sakhalinsk;UHSS;46.95;142.7167;24 +Europe;Serbia and Montenegro;Beograd / Surcin;LYBE;44.817;20.283;96 +Europe;Serbia and Montenegro;Bihac;LQBI;44.817;15.883;250 +Europe;Serbia and Montenegro;Camp Bondsteel;KQUK;42.583;21.383;592 +Europe;Serbia and Montenegro;Nis;LYNI;43.333;21.900;202 +Europe;Serbia and Montenegro;Podgorica / Golubovci;LYTI;42.367;19.250;33 +Europe;Serbia and Montenegro;Podgorica Titograd ;LYPG;42.433;19.283;53 +Europe;Serbia and Montenegro;Pristina;LYPR;42.567;21.033;545 +Europe;Serbia and Montenegro;Tivat;LYTV;42.400;18.733;5 +Europe;Serbia and Montenegro;Vrsac;LYVR;45.150;21.317;83 Europe;Slovakia;Bratislava;LZIB;48.2;17.2;142 Europe;Slovakia;Poprad;LZTT;49.0667;20.25;695 Europe;Slovenia;Ljubljana;LJLJ;46.2167;14.4833;362 @@ -1247,64 +1894,64 @@ Europe;Yugoslavia;Nis;LYNI;43.3333;21.9;202 Europe;Yugoslavia;Podgorica;LYPG;42.4333;19.2833;0 Europe;Yugoslavia;Pristina;LYPR;42.65;21.15;576 -Mexico;Mexico;Acapulco;MMAA;16.7667;-99.75;0 -Mexico;Mexico;Aeropuerto del Norte;MMAN;25.8667;-100.2333;450 -Mexico;Mexico;Aguascaliantes;MMAS;21.8833;-102.3;0 -Mexico;Mexico;Bahias de Huatulco;MMBT;15.7833;-96.2667;0 -Mexico;Mexico;Campeche;MMCP;19.85;-90.55;0 -Mexico;Mexico;Cancun;MMUN;21.0333;-86.8667;0 -Mexico;Mexico;Chetumal;MMCM;18.4833;-88.3;0 -Mexico;Mexico;Chihuahua;MMCU;28.7;-105.9667;0 -Mexico;Mexico;Ciudad del Carmen;MMCE;18.65;-91.8;0 -Mexico;Mexico;Ciudad Juarez;MMCS;31.6333;-106.4333;0 -Mexico;Mexico;Ciudad Obregon;MMCN;27.3167;-112.3;0 -Mexico;Mexico;Ciudad Victoria;MMCV;23.7167;-98.9667;0 -Mexico;Mexico;Colima;MMIA;19.2667;-103.5833;0 -Mexico;Mexico;Cozumel;MMCZ;20.5333;-86.9333;0 -Mexico;Mexico;Cuernavaca;MMCB;18.8833;-99.2333;0 -Mexico;Mexico;Culiacan;MMCL;24.8167;-107.4;0 -Mexico;Mexico;Del Bajio;MMLO;21;-101.4833;0 -Mexico;Mexico;Durango;MMDO;24.1333;-104.5333;0 -Mexico;Mexico;Guadalajara;MMGL;20.5167;-103.3167;0 -Mexico;Mexico;Guaymas;MMGM;27.9667;-110.9333;0 -Mexico;Mexico;Hermosillo;MMHO;29.0667;-110.95;0 -Mexico;Mexico;Ixtapa;MMZH;17.6;-101.4667;0 -Mexico;Mexico;La Paz;MMLP;24.0667;-110.3667;0 -Mexico;Mexico;Los Mochis;MMLM;25.6833;-109.0833;0 -Mexico;Mexico;Manzanillo;MMZO;19.15;-104.5667;0 -Mexico;Mexico;Matamoros;MMMA;25.7667;-97.5333;0 -Mexico;Mexico;Mazatlan;MMMZ;23.1667;-106.2667;0 -Mexico;Mexico;Merida;MMMD;20.9833;-89.65;11 -Mexico;Mexico;Mexicali;MMML;32.6333;-117;0 -Mexico;Mexico;Mexico;MMMX;19.4333;-99.1;0 -Mexico;Mexico;Minatitlan;MMMT;18.1;-94.5833;0 -Mexico;Mexico;Monclova;MMMV;26.8833;-101.4167;586 -Mexico;Mexico;Monterrey;MMMY;25.7833;-100.1;0 -Mexico;Mexico;Morelia;MMMM;19.85;-101.0333;0 -Mexico;Mexico;Nuevo Laredo;MMNL;27.4333;-99.5667;0 -Mexico;Mexico;Oaxaca;MMOX;16.9667;-96.7333;0 -Mexico;Mexico;Piedras Negras;MMPG;28.7;-100.5167;0 -Mexico;Mexico;Poza Rica;MMPA;20.5167;-97.4667;0 -Mexico;Mexico;Puebla;MMPB;19.05;-98.1667;0 -Mexico;Mexico;Puerto Escondido;MMPS;15.8667;-97.0833;0 -Mexico;Mexico;Puerto Vallarta;MMPR;20.6833;-105.25;0 -Mexico;Mexico;Queretaro;MMQT;20.6;-100.3833;0 -Mexico;Mexico;Reynosa;MMRX;26.0167;-98.2333;0 -Mexico;Mexico;Saltillo;MMIO;25.45;-100.9833;0 -Mexico;Mexico;San Jose del Cabo;MMSD;23.15;-109.7;0 -Mexico;Mexico;San Luis Potosi;MMSP;22.15;-100.9833;0 -Mexico;Mexico;Tampico;MMTM;22.2833;-97.8667;0 -Mexico;Mexico;Tapachula;MMTP;14.7833;-92.3833;0 -Mexico;Mexico;Tepic;MMEP;21.5167;-104.9;0 -Mexico;Mexico;Tijuana;MMTJ;32.55;-116.9667;0 +Mexico;Aguascaliantes;Aguascaliantes;MMAS;21.8833;-102.3;0 +Mexico;Baja California;Mexicali;MMML;32.6333;-117;0 +Mexico;Baja California;Tijuana;MMTJ;32.55;-116.9667;0 +Mexico;Baja California Sur;La Paz;MMLP;24.0667;-110.3667;0 +Mexico;Baja California Sur;San Jose del Cabo;MMSD;23.15;-109.7;0 +Mexico;Campeche;Campeche;MMCP;19.85;-90.55;0 +Mexico;Campeche;Ciudad del Carmen;MMCE;18.65;-91.8;0 +Mexico;Chiapas;Tapachula;MMTP;14.7833;-92.3833;0 +Mexico;Chiapas;Tuxtla Gutierrez;MMTG;16.75;-93.1167;0 +Mexico;Chihuahua;Chihuahua;MMCU;28.7;-105.9667;0 +Mexico;Chihuahua;Ciudad Juarez;MMCS;31.6333;-106.4333;0 +Mexico;Coahuila;Monclova;MMMV;26.8833;-101.4167;586 +Mexico;Coahuila;Piedras Negras;MMPG;28.7;-100.5167;0 +Mexico;Coahuila;Saltillo;MMIO;25.45;-100.9833;0 +Mexico;Coahuila;Torreon;MMTC;25.5333;-103.45;1150 +Mexico;Colima;Colima;MMIA;19.2667;-103.5833;0 +Mexico;Colima;Manzanillo;MMZO;19.15;-104.5667;0 +Mexico;Culiacan;Culiacan;MMCL;24.8167;-107.4;0 +Mexico;Distrito Federal;Mexico;MMMX;19.4333;-99.1;0 +Mexico;Durango;Durango;MMDO;24.1333;-104.5333;0 +Mexico;Guanajuato;Del Bajio;MMLO;21;-101.4833;0 +Mexico;Guerrero;Acapulco;MMAA;16.7667;-99.75;0 +Mexico;Guerrero;Ixtapa;MMZH;17.6;-101.4667;0 +Mexico;Hidalgo;Tulancingo;MMTL;20.0833;-98.3667;0 +Mexico;Jalisco;Guadalajara;MMGL;20.5167;-103.3167;0 +Mexico;Jalisco;Puerto Vallarta;MMPR;20.6833;-105.25;0 Mexico;Mexico;Toluca;MMTO;19.35;-99.5667;0 -Mexico;Mexico;Torreon;MMTC;25.5333;-103.45;1150 -Mexico;Mexico;Tulancingo;MMTL;20.0833;-98.3667;0 -Mexico;Mexico;Tuxtla Gutierrez;MMTG;16.75;-93.1167;0 -Mexico;Mexico;Uruapan;MMPN;19.4;-102.0333;0 -Mexico;Mexico;Veracruz;MMVR;19.15;-96.1833;0 -Mexico;Mexico;Villahermosa;MMVA;18;-92.8167;0 -Mexico;Mexico;Zacatecas;MMZC;22.9;-102.6833;0 +Mexico;Michoacan;Morelia;MMMM;19.85;-101.0333;0 +Mexico;Michoacan;Uruapan;MMPN;19.4;-102.0333;0 +Mexico;Morelos;Cuernavaca;MMCB;18.8833;-99.2333;0 +Mexico;Nayarit;Tepic;MMEP;21.5167;-104.9;0 +Mexico;Nuevo Leon;Aeropuerto del Norte;MMAN;25.8667;-100.2333;450 +Mexico;Nuevo Leon;Monterrey;MMMY;25.7833;-100.1;0 +Mexico;Oaxaca;Bahias de Huatulco;MMBT;15.7833;-96.2667;0 +Mexico;Oaxaca;Oaxaca;MMOX;16.9667;-96.7333;0 +Mexico;Oaxaca;Puerto Escondido;MMPS;15.8667;-97.0833;0 +Mexico;Puebla;Puebla;MMPB;19.05;-98.1667;0 +Mexico;Queretaro;Queretaro;MMQT;20.6;-100.3833;0 +Mexico;Quintana-Roo;Cancun;MMUN;21.0333;-86.8667;0 +Mexico;Quintana-Roo;Chetumal;MMCM;18.4833;-88.3;0 +Mexico;Quintana-Roo;Cozumel;MMCZ;20.5333;-86.9333;0 +Mexico;San Luis Potosi;San Luis Potosi;MMSP;22.15;-100.9833;0 +Mexico;Sinaloa;Los Mochis;MMLM;25.6833;-109.0833;0 +Mexico;Sinaloa;Mazatlan;MMMZ;23.1667;-106.2667;0 +Mexico;Sonora;Ciudad Obregon;MMCN;27.3167;-112.3;0 +Mexico;Sonora;Guaymas;MMGM;27.9667;-110.9333;0 +Mexico;Sonora;Hermosillo;MMHO;29.0667;-110.95;0 +Mexico;Tabasco;Villahermosa;MMVA;18;-92.8167;0 +Mexico;Tamaulipas;Ciudad Victoria;MMCV;23.7167;-98.9667;0 +Mexico;Tamaulipas;Matamoros;MMMA;25.7667;-97.5333;0 +Mexico;Tamaulipas;Nuevo Laredo;MMNL;27.4333;-99.5667;0 +Mexico;Tamaulipas;Reynosa;MMRX;26.0167;-98.2333;0 +Mexico;Tamaulipas;Tampico;MMTM;22.2833;-97.8667;0 +Mexico;Veracruz;Minatitlan;MMMT;18.1;-94.5833;0 +Mexico;Veracruz;Poza Rica;MMPA;20.5167;-97.4667;0 +Mexico;Veracruz;Veracruz;MMVR;19.15;-96.1833;0 +Mexico;Yucatan;Merida;MMMD;20.9833;-89.65;11 +Mexico;Zacatecas;Zacatecas;MMZC;22.9;-102.6833;0 Middle East;Algeria;Adrar;DAUA;27.8833;-0.2833;263 Middle East;Algeria;Annaba;DABB;36.8333;7.8167;4 Middle East;Algeria;Constantine;DABC;36.2833;6.6167;694 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2011-02-01 15:31:54
|
Revision: 753 http://gpredict.svn.sourceforge.net/gpredict/?rev=753&view=rev Author: csete Date: 2011-02-01 15:31:48 +0000 (Tue, 01 Feb 2011) Log Message: ----------- Manage keyboard PTT event only if rig is RIG_TYPE_TOGGLE_MAN. Modified Paths: -------------- trunk/ChangeLog trunk/src/gtk-rig-ctrl.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-01-29 00:27:20 UTC (rev 752) +++ trunk/ChangeLog 2011-02-01 15:31:48 UTC (rev 753) @@ -1,30 +1,41 @@ -2010-01-24 Charles Suprin <hamaa1vs at gmail.com> +2011-02-01 Alexandru Csete <oz9aec at gmail.com> + * src/gtk-rig-ctrl.c: + Manage keyboard PTT event only if rig is RIG_TYPE_TOGGLE_MAN. + + +2011-01-24 Charles Suprin <hamaa1vs at gmail.com> + * src/tle-update.c Fix bug where tle file suffix compare is case dependent. <https://bugs.launchpad.net/bugs/706452> + 2010-12-26 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.c Make rotator lead satellite on update. Restructure error handling for cleaner code. + 2010-12-26 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sat-map.c: Removed dead code in coordinate conversion (it was nonsense anyway). + 2010-12-10 Charles Suprin <hamaa1vs at gmail.com> * data/locations.dat Add entries to locations.dat and add state to Mexican locations. + 2010-11-25 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.c Move rotor to end of pass if below horizon and after current pass + 2010-11-24 Alexandru Csete <oz9aec at gmail.com> * src/Makefile.am: @@ -37,11 +48,13 @@ * src/gtk-rig-ctrl.c Close socket in gtk-rig/rot-ctrl when window closes if applicable. + 2010-11-11 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.c Change error checking in set_pos + 2010-11-07 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.c @@ -52,6 +65,7 @@ Added locations in Malaysia, Indonesia, the Philippines, and Kiribati from US/NOAA Metar database. Addresses Feature Request 3022617: Malaysia's location. + 2010-11-07 Alexandru Csete <oz9aec at gmail.com> * configure.ac: @@ -67,6 +81,7 @@ get_current_pass now works on copy of sat_t structure to address bug 3099314 + 2010-11-05 Charles Suprin <hamaa1vs at gmail.com> * src/predict-tools.c @@ -76,6 +91,7 @@ * src/gtk-rot-ctrl.c Update is_flipped_pass to handle pass with no details + 2010-11-01 Charles Suprin <hamaa1vs at gmail.com> * src/orbit-tools.c @@ -84,6 +100,7 @@ * src/gtk-rig-ctrl.c Add checks to g_strsplit calls in gtk-rig-ctrl.c + 2010-10-31 Charles Suprin <hamaa1vs at gmail.com> * src/about.[ch] @@ -179,23 +196,27 @@ * src/gtk-polar-view-popup.c Catch if pass has no points before making polar view/polar view popup + 2010-10-30 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.[ch] * src/gtk-rig-ctrl.[ch] Change tab to spaces and change emacs indent-tabs-mode. + 2010-10-28 Charles Suprin <hamaa1vs at gmail.com> * src/predict-tools.c Explicitly compute pass LOS_AZ. + 2010-10-27 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.[ch] Added support for flipped passes. Remove return from void function. + 2010-10-17 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.[ch] @@ -208,6 +229,7 @@ * src/gtk-polar-plot.c Make rotator show when on horizon as with other items. + 2010-10-16 Alexandru Csete <oz9aec at gmail.com> * src/time-tools.[ch]: @@ -222,6 +244,7 @@ Allow only one GtkSkyGlance widget per module (consistent with GtkRigCtrl and GtkRotCtrl). + 2010-10-15 Alexandru Csete <oz9aec at gmail.com> * src/gtk-sky-glance.[ch]: Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2011-01-29 00:27:20 UTC (rev 752) +++ trunk/src/gtk-rig-ctrl.c 2011-02-01 15:31:48 UTC (rev 753) @@ -2592,9 +2592,11 @@ _("%s: Detected SPACEBAR pressed event"), __FUNCTION__); - /* manage PTT event */ - manage_ptt_event (ctrl); - event_managed = TRUE; + /* manage PTT event but only if rig is of type TOGGLE_MAN */ + if (ctrl->conf->type == RIG_TYPE_TOGGLE_MAN) { + manage_ptt_event (ctrl); + event_managed = TRUE; + } break; @@ -2611,11 +2613,12 @@ } -/** \brief Maange PTT events - * \param ctrl Pointer to the radio controller data +/** \brief Manage PTT events. + * \param ctrl Pointer to the radio controller data. * * This function is used to manage PTT events, e.g. the user presses - * the spacebar. It is only useful for RIG_TYPE_TOGGLE_MAN. + * the spacebar. It is only useful for RIG_TYPE_TOGGLE_MAN and possibly for + * RIG_TYPE_TOGGLE_AUTO. * * First, the function will try to lock the controller. If the lock is acquired * the function checks the current PTT status. @@ -2623,7 +2626,7 @@ * If PTT status is TRUE (on) it will simply set the PTT to FALSE (off). * * \warning This function assumes that the radio supprot set/get PTT, otherwise - * ot makes no sense to use it! + * it makes no sense to use it! */ static void manage_ptt_event (GtkRigCtrl *ctrl) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2011-02-01 16:05:18
|
Revision: 754 http://gpredict.svn.sourceforge.net/gpredict/?rev=754&view=rev Author: csete Date: 2011-02-01 16:05:11 +0000 (Tue, 01 Feb 2011) Log Message: ----------- Deleted obsolete file. Modified Paths: -------------- trunk/ChangeLog Removed Paths: ------------- trunk/src/defaults.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-02-01 15:31:48 UTC (rev 753) +++ trunk/ChangeLog 2011-02-01 16:05:11 UTC (rev 754) @@ -3,7 +3,10 @@ * src/gtk-rig-ctrl.c: Manage keyboard PTT event only if rig is RIG_TYPE_TOGGLE_MAN. + * src/defaults.h: + Deleted obsolete file. + 2011-01-24 Charles Suprin <hamaa1vs at gmail.com> * src/tle-update.c Deleted: trunk/src/defaults.h =================================================================== --- trunk/src/defaults.h 2011-02-01 15:31:48 UTC (rev 753) +++ trunk/src/defaults.h 2011-02-01 16:05:11 UTC (rev 754) @@ -1,38 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - Gpredict: Real-time satellite tracking and orbit prediction program - - Copyright (C) 2001-2009 Alexandru Csete, OZ9AEC. - - Authors: Alexandru Csete <oz...@gm...> - - Comments, questions and bugreports should be submitted via - http://sourceforge.net/projects/gpredict/ - More details can be found at the project home page: - - http://gpredict.oz9aec.net/ - - This program is free software; you can redistribute it and/or modify - 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. - - This program is distributed 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, visit http://www.fsf.org/ -*/ -#ifndef DEFAULTS_H -#define DEFAULTS_H 1 - -#warning "**** defaults.h is deprecated. ****" - -#define DEFAULT_TIME_FORMAT "%Y/%m/%d %H:%M:%S" - -#define GTK_SAT_MODULE_DEFAULT_TIMEOUT 1000 -#define GTK_SAT_MODULE_DEFAULT_WARP 1 - -#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2011-02-02 17:06:30
|
Revision: 755 http://gpredict.svn.sourceforge.net/gpredict/?rev=755&view=rev Author: aa1vs Date: 2011-02-02 17:06:24 +0000 (Wed, 02 Feb 2011) Log Message: ----------- Sort QTH list alphabetically when configuring module. Modified Paths: -------------- trunk/ChangeLog trunk/src/mod-cfg.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-02-01 16:05:11 UTC (rev 754) +++ trunk/ChangeLog 2011-02-02 17:06:24 UTC (rev 755) @@ -1,3 +1,8 @@ +2011-02-02 Charles Suprin <hamaa1vs at gmail.com> + + * src/mod-cfg.c + Sort QTH list alphabetically when configuring module. + 2011-02-01 Alexandru Csete <oz9aec at gmail.com> * src/gtk-rig-ctrl.c: Modified: trunk/src/mod-cfg.c =================================================================== --- trunk/src/mod-cfg.c 2011-02-01 16:05:11 UTC (rev 754) +++ trunk/src/mod-cfg.c 2011-02-02 17:06:24 UTC (rev 755) @@ -80,6 +80,7 @@ static void addbut_clicked_cb (GtkButton *button, GtkSatSelector *selector); static void delbut_clicked_cb (GtkButton *button, GtkSatSelector *selector); +static gint qth_name_compare (const gchar *a, const gchar *b); /** \brief Create a new module. * @@ -829,11 +830,14 @@ gchar *dirname; const gchar *filename; gchar *defqth = NULL; + gchar *defqthshort = NULL; gchar **buffv; gint idx = -1; gint count = 0; + GSList *qths=NULL; + gchar *qthname; + gint i,n; - combo = gtk_combo_box_new_text (); /* get qth file name from cfgdata; if cfg data has no QTH @@ -845,6 +849,10 @@ MOD_CFG_GLOBAL_SECTION, MOD_CFG_QTH_FILE_KEY, &error); + buffv = g_strsplit (defqth, ".qth", 0); + defqthshort = g_strdup(buffv[0]); + + g_strfreev(buffv); } else { sat_log_log (SAT_LOG_LEVEL_MSG, @@ -852,6 +860,7 @@ __FUNCTION__); defqth = g_strdup (_("** DEFAULT **")); + defqthshort = g_strdup(defqth); } @@ -863,23 +872,33 @@ if (dir) { while ((filename = g_dir_read_name (dir))) { - + /*create a sorted list then use it to load the combo box*/ if (g_str_has_suffix (filename, ".qth")) { buffv = g_strsplit (filename, ".qth", 0); - gtk_combo_box_append_text (GTK_COMBO_BOX (combo), buffv[0]); + qths=g_slist_insert_sorted(qths,g_strdup(buffv[0]),(GCompareFunc) qth_name_compare); g_strfreev (buffv); + } + + } + n = g_slist_length (qths); + for (i = 0; i < n; i++) { + qthname = g_slist_nth_data (qths, i); + if (qthname) { + gtk_combo_box_append_text (GTK_COMBO_BOX (combo), qthname); + /* is this the QTH for this module? */ - if (!g_ascii_strcasecmp (defqth, filename)) { + /* comparison uses short name full filename*/ + if (!g_ascii_strcasecmp (defqthshort, qthname)) { idx = count; } - + g_free(qthname); count++; } - } - + g_slist_free(qths); + } else { sat_log_log (SAT_LOG_LEVEL_ERROR, @@ -907,6 +926,7 @@ } g_free (defqth); + g_free (defqthshort); g_free (dirname); g_dir_close (dir); @@ -1224,3 +1244,7 @@ } + +static gint qth_name_compare (const gchar* a,const gchar *b){ + return (g_ascii_strcasecmp(a,b)); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2011-02-15 02:02:49
|
Revision: 763 http://gpredict.svn.sourceforge.net/gpredict/?rev=763&view=rev Author: aa1vs Date: 2011-02-15 02:02:42 +0000 (Tue, 15 Feb 2011) Log Message: ----------- List a satellite under the available column or the selected column but not both. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/gtk-sat-selector.c trunk/src/gtk-sat-selector.h trunk/src/mod-cfg.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-02-13 14:50:46 UTC (rev 762) +++ trunk/ChangeLog 2011-02-15 02:02:42 UTC (rev 763) @@ -1,3 +1,10 @@ +2011-02-14 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-sat-selector.c + * src/gtk-sat-selector.h + * src/mod-cfg.c + List a satellite under the available column or the selected column but not both. + 2011-02-08 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-sat-selector.c Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2011-02-13 14:50:46 UTC (rev 762) +++ trunk/NEWS 2011-02-15 02:02:42 UTC (rev 763) @@ -4,6 +4,7 @@ - Feature Request 3022617: Malaysia's location. - Automatically refresh the Sky at a glance view every minute. - Added more checks with hamlib communications. +- List satellite as available or selected when configuring module. - Fixed bug 2116691: Leave network connection open. - Fixed bug 3099314: Rotator Thrashing. - Fixed bug 2167508: problems in rotator controller. Modified: trunk/src/gtk-sat-selector.c =================================================================== --- trunk/src/gtk-sat-selector.c 2011-02-13 14:50:46 UTC (rev 762) +++ trunk/src/gtk-sat-selector.c 2011-02-15 02:02:42 UTC (rev 763) @@ -29,7 +29,10 @@ /** \brief Satellite selector. * */ -#include "string.h" + +/*needed _gnu_source to have strcasestr defined*/ +#define _GNU_SOURCE +#include <string.h> #include <gtk/gtk.h> #include <glib/gi18n.h> #ifdef HAVE_CONFIG_H @@ -73,6 +76,7 @@ gpointer column); static gint cat_file_compare (const gchar *a, const gchar *b); +static void gtk_sat_selector_mark_engine(GtkSatSelector *selector, gint catnr,gboolean val); static GtkVBoxClass *parent_class = NULL; @@ -444,6 +448,7 @@ GTK_SAT_SELECTOR_COL_NAME, sat.nickname, GTK_SAT_SELECTOR_COL_CATNUM, catnum, GTK_SAT_SELECTOR_COL_EPOCH, sat.jul_epoch, + GTK_SAT_SELECTOR_COL_SELECTED, FALSE, -1); g_free (sat.name); @@ -559,6 +564,7 @@ GTK_SAT_SELECTOR_COL_NAME, sat.nickname, GTK_SAT_SELECTOR_COL_CATNUM, catnum, GTK_SAT_SELECTOR_COL_EPOCH, sat.jul_epoch, + GTK_SAT_SELECTOR_COL_SELECTED, FALSE, -1); g_free (sat.name); g_free (sat.nickname); @@ -915,7 +921,7 @@ return( FALSE ); } -/** \brief Selects satellites whose name contains the substring in entry. +/** \brief Selects unselected satellites whose name contains the substring in entry. **/ static gboolean sat_filter_func( GtkTreeModel *model, GtkTreeIter *iter, @@ -931,9 +937,55 @@ /*if it is already selected then remove it from the available list*/ if (selected) return( FALSE); - if( strcasestr( satname, searchstring ) != NULL ) + if( strcasestr( satname, searchstring ) != (char *)NULL ) return( TRUE ); else return( FALSE ); } +/** \brief Searches through all the models for the given satellite and sets its selected value. + \param *selector is the selector that contains the models + \param catnr is the catalog numer of satellite. + \param val is true or false depending on whether that satellite is selected or not. + **/ +static void gtk_sat_selector_mark_engine(GtkSatSelector *selector, gint catnr,gboolean val){ + gint n, k; + gint nummodels, numiters; + gint catnumscratch; + GtkTreeModel *model; + GtkTreeIter iter; + + nummodels = g_slist_length(selector->models); + + for (n = 0; n<nummodels; n++) { + model = GTK_TREE_MODEL(g_slist_nth_data (selector->models,n)); + numiters = gtk_tree_model_iter_n_children(model,NULL); + for (k = 0; k<numiters; k++){ + if (G_LIKELY(gtk_tree_model_iter_nth_child(model, &iter,NULL,k))){ + gtk_tree_model_get (model, &iter, GTK_SAT_SELECTOR_COL_CATNUM, &catnumscratch,-1); + if (catnumscratch == catnr) { + gtk_list_store_set(GTK_LIST_STORE(model),&iter,GTK_SAT_SELECTOR_COL_SELECTED,val,-1); + } + } + + } + + } +} + + +/** \brief Searches the models for the satellite and sets SELECTED to TRUE. + \param *selector is the selector that contains the models + \param catnr is the catalog numer of satellite. +**/ +void gtk_sat_selector_mark_selected(GtkSatSelector *selector, gint catnr){ + gtk_sat_selector_mark_engine ( selector, catnr, TRUE); +} + +/** \brief Searches the models for the satellite and sets SELECTED to FALSE. + \param *selector is the selector that contains the models + \param catnr is the catalog numer of satellite. +**/ +void gtk_sat_selector_mark_unselected(GtkSatSelector *selector, gint catnr){ + gtk_sat_selector_mark_engine ( selector, catnr, FALSE); +} Modified: trunk/src/gtk-sat-selector.h =================================================================== --- trunk/src/gtk-sat-selector.h 2011-02-13 14:50:46 UTC (rev 762) +++ trunk/src/gtk-sat-selector.h 2011-02-15 02:02:42 UTC (rev 763) @@ -2,7 +2,7 @@ /* Gpredict: Real-time satellite tracking and orbit prediction program - Copyright (C) 2001-2009 Alexandru Csete, OZ9AEC. + Copyright (C) 2001-2011 Alexandru Csete, OZ9AEC. Authors: Alexandru Csete <oz...@gm...> @@ -85,8 +85,6 @@ GtkWidget *tree; /*!< The tree. */ GtkWidget *swin; /*!< Scrolled window. */ guint flags; /*!< Column visibility flags. */ - GSList *selection; /*!< List of selected satellites. FIXME: remove */ - gulong handler_id; /*!< Toggle signale handler ID (FIXME): remove. */ GtkWidget *groups; /*!< Combo box for selecting satellite group. */ GtkWidget *search; /*!< Text entry for searching. */ @@ -106,6 +104,8 @@ guint32 gtk_sat_selector_get_flags (GtkSatSelector *selector); void gtk_sat_selector_get_selected (GtkSatSelector *selector, gint *catnum, gchar **satname, gdouble *epoch); gdouble gtk_sat_selector_get_latest_epoch (GtkSatSelector *selector); +void gtk_sat_selector_mark_selected (GtkSatSelector *selector, gint catnum); +void gtk_sat_selector_mark_unselected (GtkSatSelector *selector, gint catnum); #ifdef __cplusplus } Modified: trunk/src/mod-cfg.c =================================================================== --- trunk/src/mod-cfg.c 2011-02-13 14:50:46 UTC (rev 762) +++ trunk/src/mod-cfg.c 2011-02-15 02:02:42 UTC (rev 763) @@ -2,7 +2,7 @@ /* Gpredict: Real-time satellite tracking and orbit prediction program - Copyright (C) 2001-2010 Alexandru Csete, OZ9AEC. + Copyright (C) 2001-2011 Alexandru Csete, OZ9AEC. Authors: Alexandru Csete <oz...@gm...> @@ -64,7 +64,7 @@ static void edit_advanced_settings (GtkDialog *parent, GKeyFile *cfgdata); -static GtkWidget *create_selected_sats_list (GKeyFile *cfgdata, gboolean new); +static GtkWidget *create_selected_sats_list (GKeyFile *cfgdata, gboolean new, GtkSatSelector *selector); static void add_selected_sat (GtkListStore *store, gint catnum); static void sat_activated_cb (GtkSatSelector *selector, gint catnr, gpointer data); @@ -555,7 +555,7 @@ G_CALLBACK (sat_activated_cb), NULL); /* list of selected satellites */ - satlist = create_selected_sats_list (cfgdata, new); + satlist = create_selected_sats_list (cfgdata, new, GTK_SAT_SELECTOR(selector)); 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), satlist); @@ -566,7 +566,7 @@ g_signal_connect (addbut, "clicked", G_CALLBACK (addbut_clicked_cb), selector); delbut = gpredict_hstock_button (GTK_STOCK_GO_BACK, NULL, _("Remove satellite from the list of selected satellites.")); - g_signal_connect (delbut, "clicked", G_CALLBACK (delbut_clicked_cb), NULL); + g_signal_connect (delbut, "clicked", G_CALLBACK (delbut_clicked_cb), selector); /* quick sat selecotr tutorial label */ label = gtk_label_new (NULL); @@ -599,7 +599,7 @@ * \returns A newly created GtkTreeView widget. * */ -static GtkWidget *create_selected_sats_list (GKeyFile *cfgdata, gboolean new) +static GtkWidget *create_selected_sats_list (GKeyFile *cfgdata, gboolean new, GtkSatSelector *selector) { GtkWidget *satlist; GtkCellRenderer *renderer; @@ -637,7 +637,7 @@ /* "row-activated" signal is used to catch double click events, which means a satellite has been selected. This will cause the satellite to be deleted */ g_signal_connect (GTK_TREE_VIEW (satlist), "row-activated", - G_CALLBACK(row_activated_cb), NULL); + G_CALLBACK(row_activated_cb), selector); /* create the model */ store = gtk_list_store_new (GTK_SAT_SELECTOR_COL_NUM, @@ -686,6 +686,7 @@ else { for (i = 0; i < length; i++) { add_selected_sat (store, sats[i]); + gtk_sat_selector_mark_selected(selector, sats[i]); } g_free (sats); } @@ -1136,7 +1137,8 @@ /* Add satellite to selected list */ store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (satlist))); add_selected_sat (store, catnr); - + /*tell the sat_selector it can hide that satellite */ + gtk_sat_selector_mark_selected (selector, catnr); } @@ -1187,13 +1189,17 @@ GtkTreeModel *model; GtkTreeIter iter; gboolean haveselection = FALSE; /* this flag is set to TRUE if there is a selection */ + gint catnr; + GtkSatSelector *selector = GTK_SAT_SELECTOR(data); - /* get the selected row in the treeview */ selection = gtk_tree_view_get_selection (view); haveselection = gtk_tree_selection_get_selected (selection, &model, &iter); if (haveselection) { + gtk_tree_model_get (model, &iter, GTK_SAT_SELECTOR_COL_CATNUM, &catnr, -1); + /*tell the sat_selector it can show that satellite again*/ + gtk_sat_selector_mark_unselected ( selector, catnr); gtk_list_store_remove (GTK_LIST_STORE(model), &iter); } } @@ -1218,6 +1224,8 @@ /* Add satellite to selected list */ store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (satlist))); add_selected_sat (store, catnum); + /*tell the sat_selector to hide that satellite */ + gtk_sat_selector_mark_selected (selector,catnum); } } @@ -1233,6 +1241,7 @@ GtkTreeModel *model; GtkTreeIter iter; gboolean haveselection = FALSE; /* this flag is set to TRUE if there is a selection */ + gint catnr; /* get the selected row in the treeview */ @@ -1240,6 +1249,9 @@ haveselection = gtk_tree_selection_get_selected (selection, &model, &iter); if (haveselection) { + gtk_tree_model_get (model, &iter, GTK_SAT_SELECTOR_COL_CATNUM, &catnr, -1); + /*tell the sat_selector it can show that satellite again*/ + gtk_sat_selector_mark_unselected ( selector, catnr); gtk_list_store_remove (GTK_LIST_STORE(model), &iter); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2011-02-20 21:33:20
|
Revision: 770 http://gpredict.svn.sourceforge.net/gpredict/?rev=770&view=rev Author: aa1vs Date: 2011-02-20 21:33:14 +0000 (Sun, 20 Feb 2011) Log Message: ----------- Update ChangeLog and NEWS Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-02-20 20:34:54 UTC (rev 769) +++ trunk/ChangeLog 2011-02-20 21:33:14 UTC (rev 770) @@ -1,3 +1,23 @@ +2011-02-20 Charles Suprin <hamaa1vs at gmail.com> + + * data/desktop/gpredict.desktop.in + Change categories in .desktop to fix issues w/ fedora and ubuntu packaging. + +2011-02-19 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-polar-plot.c + * src/gtk-polar-view-popup.c + * src/gtk-polar-view.c + Do not polar plot pass points below the horizon. + +2011-02-16 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-rot-ctrl.c + Remove Hamlib error checking from rotator to allow ST-1 to work. + + * src/gtk-rot-knob.c + Eliminate printf when bounds exceeded. + 2011-02-14 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-sat-selector.c @@ -5,6 +25,12 @@ * src/mod-cfg.c List a satellite under the available column or the selected column but not both. + * src/gtk-polar-view-popup.c + Prevent potential buffer overflow in track_toggled by limiting ttidx. + + * src/Makefile.am + Remove reference to defaults.h. + 2011-02-08 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-sat-selector.c Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2011-02-20 20:34:54 UTC (rev 769) +++ trunk/NEWS 2011-02-20 21:33:14 UTC (rev 770) @@ -10,6 +10,8 @@ - Fixed bug 2167508: problems in rotator controller. - Fixed bug from Ubuntu #706452:Update from local files won't work with files in UPPER case - Fixed bug 3171615: Searching for satellites in the satellite selector +- Fixed bug 3113190: .desktop file error +- Address bug 2945538: Pass in polar display going outside the circle (Improve the graphical portion.) Changes in version 1.2 (12 Oct 2010) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cs...@us...> - 2011-03-01 15:47:39
|
Revision: 777 http://gpredict.svn.sourceforge.net/gpredict/?rev=777&view=rev Author: csete Date: 2011-03-01 15:47:33 +0000 (Tue, 01 Mar 2011) Log Message: ----------- Updated. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-03-01 15:37:36 UTC (rev 776) +++ trunk/ChangeLog 2011-03-01 15:47:33 UTC (rev 777) @@ -1,3 +1,22 @@ +2011-03-01 Alexandru Csete <oz9aec at gmail.com> + + * data/satdata: + Updated satellite data. + + * po: + Synchronised with translations from launchpad.net + + * configure.ac: + Updated version number to 1.3. + Include da.po + + +2011-02-28 Alexandru Csete <oz9aec at gmail.com> + + * src/tle-update.c: + Fixed spelling error. + + 2011-02-20 Charles Suprin <hamaa1vs at gmail.com> * data/desktop/gpredict.desktop.in @@ -3,4 +22,5 @@ Change categories in .desktop to fix issues w/ fedora and ubuntu packaging. + 2011-02-19 Charles Suprin <hamaa1vs at gmail.com> @@ -10,6 +30,7 @@ * src/gtk-polar-view.c Do not polar plot pass points below the horizon. + 2011-02-16 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-rot-ctrl.c @@ -18,6 +39,7 @@ * src/gtk-rot-knob.c Eliminate printf when bounds exceeded. + 2011-02-14 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-sat-selector.c @@ -31,6 +53,7 @@ * src/Makefile.am Remove reference to defaults.h. + 2011-02-08 Charles Suprin <hamaa1vs at gmail.com> * src/gtk-sat-selector.c @@ -45,6 +68,7 @@ * src/about.c Update copyright dates to 2011 from 2009. + 2011-02-02 Charles Suprin <hamaa1vs at gmail.com> * src/mod-cfg.c @@ -56,6 +80,7 @@ * src/gtk-single-sat.c List satellites in single sat view alphabetically instead of hash order. + 2011-02-01 Alexandru Csete <oz9aec at gmail.com> * src/gtk-rig-ctrl.c: Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2011-03-01 15:37:36 UTC (rev 776) +++ trunk/NEWS 2011-03-01 15:47:33 UTC (rev 777) @@ -1,4 +1,4 @@ -Changes in version 1.3 (TBD) +Changes in version 1.3 (1 Mar 2011) - Feature request 2873824: Flip Passes. - Feature Request 3022617: Malaysia's location. @@ -8,11 +8,12 @@ - Fixed bug 2116691: Leave network connection open. - Fixed bug 3099314: Rotator Thrashing. - Fixed bug 2167508: problems in rotator controller. -- Fixed bug from Ubuntu #706452:Update from local files won't work with files in UPPER case +- Fixed bug from Ubuntu #706452: Update from local files won't work with files in UPPER case - Fixed bug 3171615: Searching for satellites in the satellite selector - Fixed bug 3113190: .desktop file error - Address bug 2945538: Pass in polar display going outside the circle (Improve the graphical portion.) + Changes in version 1.2 (12 Oct 2010) - New layout engine that allows any combination of views to be created in a NxM grid. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2011-03-26 00:55:07
|
Revision: 792 http://gpredict.svn.sourceforge.net/gpredict/?rev=792&view=rev Author: aa1vs Date: 2011-03-26 00:55:01 +0000 (Sat, 26 Mar 2011) Log Message: ----------- Unify get_pass and get_pass_no_min_el with same code. Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/src/predict-tools.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-03-24 23:38:54 UTC (rev 791) +++ trunk/ChangeLog 2011-03-26 00:55:01 UTC (rev 792) @@ -1,3 +1,29 @@ +2011-03-24 Charles Suprin <hamaa1vs at gmail.com> + + * src/predict-tools.c + Unify get_pass and get_pass_no_min_el to use common pass generator. + + +2011-03-22 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-sat-map.c + Remove decayed satellites from map view. + +2011-03-21 Charles Suprin <hamaa1vs at gmail.com> + + * src/gtk-event-list-popup.c + * src/gtk-polar-view-popup.c + * src/gtk-sat-list-popup.c + * src/gtk-sat-list.c + * src/gtk-sat-map-ground-track.c + * src/gtk-sat-map-popup.c + * src/gtk-sat-module.c + * src/gtk-single-sat.c + * src/orbit-tools.c + * src/predict-tools.c + Include geo and decayed orbits in has_aos and make dynamic calls to + decayed instead of static orbit type check. + 2011-03-20 Charles Suprin <hamaa1vs at gmail.com> Merged gpsd_testing branch into trunk. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2011-03-24 23:38:54 UTC (rev 791) +++ trunk/NEWS 2011-03-26 00:55:01 UTC (rev 792) @@ -1,6 +1,7 @@ Changes in version 1.4 (TBD) - Feature request 3141555: gpsd support. +- Improve handling of decayed satellites. Changes in version 1.3 (1 Mar 2011) Modified: trunk/src/predict-tools.c =================================================================== --- trunk/src/predict-tools.c 2011-03-24 23:38:54 UTC (rev 791) +++ trunk/src/predict-tools.c 2011-03-26 00:55:01 UTC (rev 792) @@ -43,6 +43,8 @@ #include "sat-log.h" +static pass_t * get_pass_engine (sat_t *sat_in, qth_t *qth, gdouble start, gdouble maxdt, gdouble min_el); + /** \brief SGP4SDP4 driver for doing AOS/LOS calculations. * \param sat Pointer to the satellite data. * \param qth Pointer to the QTH data. @@ -420,6 +422,38 @@ * \param maxdt The maximum number of days to look ahead (0 for no limit). * \return Pointer to a newly allocated pass_t structure or NULL if * there was an error. + * This function assumes that you want a pass that achieves the + * minimum elevation of is configured for. + */ + +pass_t * +get_pass (sat_t *sat_in, qth_t *qth, gdouble start, gdouble maxdt) { + return get_pass_engine (sat_in, qth, start, maxdt, 1.0*sat_cfg_get_int (SAT_CFG_INT_PRED_MIN_EL)); +} + +/** \brief Predict first pass after a certain time ignoring the min elevation. + * \param sat Pointer to the satellite data. + * \param qth Pointer to the location data. + * \param start Starting time. + * \param maxdt The maximum number of days to look ahead (0 for no limit). + * \return Pointer to a newly allocated pass_t structure or NULL if + * there was an error. + * This function assumes that you want a pass that achieves the + * minimum elevation of is configured for. + */ +pass_t * +get_pass_no_min_el (sat_t *sat_in, qth_t *qth, gdouble start, gdouble maxdt) { + return get_pass_engine (sat_in, qth, start, maxdt, 0.0); +} + + +/** \brief Predict first pass after a certain time. + * \param sat Pointer to the satellite data. + * \param qth Pointer to the location data. + * \param start Starting time. + * \param maxdt The maximum number of days to look ahead (0 for no limit). + * \return Pointer to a newly allocated pass_t structure or NULL if + * there was an error. * * This function will find the first upcoming pass with AOS no earlier than * t = start and no later than t = (start+maxdt). @@ -434,8 +468,9 @@ * Therefore, the elements are prepended whereafter the GSList is * reversed */ -pass_t * -get_pass (sat_t *sat_in, qth_t *qth, gdouble start, gdouble maxdt) + +static pass_t * +get_pass_engine (sat_t *sat_in, qth_t *qth, gdouble start, gdouble maxdt, gdouble min_el) { gdouble aos = 0.0; /* time of AOS */ gdouble tca = 0.0; /* time of TCA */ @@ -601,7 +636,7 @@ pass->tca = tca; /* check whether this pass is good */ - if (max_el >= sat_cfg_get_int (SAT_CFG_INT_PRED_MIN_EL)) { + if (max_el >= min_el) { done = TRUE; } else { @@ -858,187 +893,6 @@ details = NULL; } - - -/** \brief Predict first pass after a certain time disergarding any minimum El setting. - * \param sat Pointer to the satellite data. - * \param qth Pointer to the location data. - * \param start Starting time. - * \param maxdt The maximum number of days to look ahead (0 for no limit). - * \return Pointer to a newly allocated pass_t structure or NULL if - * there was an error. - * - * This function will find the first upcoming pass with AOS no earlier than - * t = start and no later than t = (start+maxdt). Since the intented use of this - * function is to get the details of the current pass of a satellite, this function - * does not care of the minimum elevation setting in sat-cfg. - * - * \note For no time limit use maxdt = 0.0 - * - * \note the data in sat will be corrupt (future) and must be refreshed - * by the caller, if the caller will need it later on (eg. if the caller - * is GtkSatList). - * - * \note Prepending to a singly linked list is much faster than appending. - * Therefore, the elements are prepended whereafter the GSList is - * reversed - */ -pass_t * -get_pass_no_min_el (sat_t *sat_in, qth_t *qth, gdouble start, gdouble maxdt) -{ - gdouble aos = 0.0; /* time of AOS */ - gdouble tca = 0.0; /* time of TCA */ - gdouble los = 0.0; /* time of LOS */ - gdouble dt = 0.0; /* time diff */ - gdouble step = 0.0; /* time step */ - gdouble t0 = start; - gdouble t; /* current time counter */ - gdouble tres = 0.0; /* required time resolution */ - gdouble max_el = 0.0; /* maximum elevation */ - pass_t *pass = NULL; - pass_detail_t *detail = NULL; - gboolean done = FALSE; - sat_t *sat,sat_working; - - /* FIXME: watchdog */ - - /*copy sat_in to a working structure*/ - sat = memcpy(&sat_working,sat_in,sizeof(sat_t)); - - /* get time resolution; sat-cfg stores it in seconds */ - tres = sat_cfg_get_int (SAT_CFG_INT_PRED_RESOLUTION) / 86400.0; - - - aos = find_aos (sat, qth, t0, maxdt); - - - /* aos = 0.0 means no aos */ - if (aos == 0.0) { - done = TRUE; - } - - /* check whether we are within time limits; - maxdt = 0 mean no time limit. - */ - else if ((maxdt > 0.0) && (aos > (start + maxdt))) { - done = TRUE; - } - else { - los = find_los (sat, qth, aos + 0.001, maxdt); // +1.5 min later - dt = los - aos; - - /* get time step, which will give us the max number of entries */ - step = dt / sat_cfg_get_int (SAT_CFG_INT_PRED_NUM_ENTRIES); - - /* but if this is smaller than the required resolution - we go with the resolution - */ - if (step < tres) - step = tres; - - /* create a pass_t entry; FIXME: g_try_new in 2.8 */ - pass = g_new (pass_t, 1); - - pass->aos = aos; - pass->los = los; - pass->max_el = 0.0; - pass->aos_az = 0.0; - pass->los_az = 0.0; - pass->maxel_az = 0.0; - pass->vis[0] = '-'; - pass->vis[1] = '-'; - pass->vis[2] = '-'; - pass->vis[3] = 0; - pass->satname = g_strdup (sat->nickname); - pass->details = NULL; - /*copy qth data into the pass for later comparisons*/ - qth_small_save(qth,&(pass->qth_comp)); - - /* iterate over each time step */ - for (t = pass->aos; t <= pass->los; t += step) { - - /* calculate satellite data */ - predict_calc (sat, qth, t); - - /* in the first iter we want to store - pass->aos_az - */ - if (t == pass->aos) { - pass->aos_az = sat->az; - pass->orbit = sat->orbit; - } - - /* append details to sat->details */ - detail = g_new (pass_detail_t, 1); - detail->time = t; - detail->pos.x = sat->pos.x; - detail->pos.y = sat->pos.y; - detail->pos.z = sat->pos.z; - detail->pos.w = sat->pos.w; - detail->vel.x = sat->vel.x; - detail->vel.y = sat->vel.y; - detail->vel.z = sat->vel.z; - detail->vel.w = sat->vel.w; - detail->velo = sat->velo; - detail->az = sat->az; - detail->el = sat->el; - detail->range = sat->range; - detail->range_rate = sat->range_rate; - detail->lat = sat->ssplat; - detail->lon = sat->ssplon; - detail->alt = sat->alt; - detail->ma = sat->ma; - detail->phase = sat->phase; - detail->footprint = sat->footprint; - detail->orbit = sat->orbit; - detail->vis = get_sat_vis (sat, qth, t); - - /* also store visibility "bit" */ - switch (detail->vis) { - case SAT_VIS_VISIBLE: - pass->vis[0] = 'V'; - break; - case SAT_VIS_DAYLIGHT: - pass->vis[1] = 'D'; - break; - case SAT_VIS_ECLIPSED: - pass->vis[2] = 'E'; - break; - default: - break; - } - - pass->details = g_slist_prepend (pass->details, detail); - - /* store elevation if greater than the - previously stored one - */ - if (sat->el > max_el) { - max_el = sat->el; - tca = t; - pass->maxel_az = sat->az; - } - - /* g_print ("TIME: %f\tAZ: %f\tEL: %f (MAX: %f)\n", */ - /* t, sat->az, sat->el, max_el); */ - } - - pass->details = g_slist_reverse (pass->details); - - /* calculate satellite data */ - predict_calc (sat, qth, pass->los); - /* store los_az, max_el and tca */ - pass->los_az = sat->az; - pass->max_el = max_el; - pass->tca = tca; - - } - - return pass; -} - - - /** \brief Get current pass. * \param sat Pointer to the satellite data. * \param qth Pointer to the QTH data. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aa...@us...> - 2011-03-26 01:10:27
|
Revision: 793 http://gpredict.svn.sourceforge.net/gpredict/?rev=793&view=rev Author: aa1vs Date: 2011-03-26 01:10:20 +0000 (Sat, 26 Mar 2011) Log Message: ----------- Add natural comparison by Martin Pool Modified Paths: -------------- trunk/AUTHORS trunk/ChangeLog trunk/src/Makefile.am trunk/src/about.c trunk/src/gpredict-utils.c trunk/src/gpredict-utils.h trunk/src/gtk-rig-ctrl.c trunk/src/gtk-rot-ctrl.c trunk/src/gtk-sat-selector.c trunk/src/gtk-single-sat.c trunk/src/menubar.c trunk/src/mod-cfg.c Added Paths: ----------- trunk/src/strnatcmp.c trunk/src/strnatcmp.h Modified: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/AUTHORS 2011-03-26 01:10:20 UTC (rev 793) @@ -13,6 +13,8 @@ - Maidenhead locator functions are based on work done by Stephane Fillod, Nate Bargmann, Dave Hines, Mirko Caserta, and S. R. Sampson. - Paul Schulz, various patches. +- Martin Pool, for his natural string compare routines + see http://sourcefrog.net/projects/natsort/ Imagery: Most of the maps originate from NASA Visible Earth, http://visibleearth.nasa.gov/ Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/ChangeLog 2011-03-26 01:10:20 UTC (rev 793) @@ -1,3 +1,20 @@ +2011-03-25 Charles Suprin <hamaa1vs at gmail.com> + + * AUTHORS + * src/about.c + * src/Makefile.am + * src/menubar.c + * src/mod-cfg.c + * src/gpredict-utils.c + * src/gpredict-utils.h + * src/gtk-rig-ctrl.c + * src/gtk-rot-ctrl.c + * src/gtk-sat-selector.c + * src/gtk-single-sat.c + * src/strnatcmp.c + * src/strnatcmp.h + Added "natural comparison" by Martin Pool from patch 3237220 by Patrick Strasser. + 2011-03-24 Charles Suprin <hamaa1vs at gmail.com> * src/predict-tools.c Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/Makefile.am 2011-03-26 01:10:20 UTC (rev 793) @@ -112,7 +112,8 @@ time-tools.c time-tools.h \ tle-tools.c tle-tools.h \ tle-update.c tle-update.h \ - sat-debugger.c sat-debugger.h + sat-debugger.c sat-debugger.h \ + strnatcmp.c strnatcmp.h Modified: trunk/src/about.c =================================================================== --- trunk/src/about.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/about.c 2011-03-26 01:10:20 UTC (rev 793) @@ -54,6 +54,7 @@ "Mirko Caserta (locator.c)", "S. R. Sampson (locator.c)", "Paul Schulz (various patches)", + "Martin Pool (natural sorting)", "", "Imagery:", "Most of the maps originate from NASA Visible Earth", Modified: trunk/src/gpredict-utils.c =================================================================== --- trunk/src/gpredict-utils.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/gpredict-utils.c 2011-03-26 01:10:20 UTC (rev 793) @@ -28,6 +28,9 @@ /** \brief Various utility functions. * */ + +#define _GNU_SOURCE +#include <ctype.h> #include <gtk/gtk.h> #include <glib/gi18n.h> #include <glib/gstdio.h> @@ -37,9 +40,11 @@ #include "compat.h" #include "sat-log.h" #include "gpredict-utils.h" +#include "strnatcmp.h" + static void set_combo_tooltip (GtkWidget *combo, gpointer text); @@ -477,3 +482,19 @@ return col; } +int gpredict_strcmp (const char *s1, const char *s2) { +#if 0 + + gchar *a,*b; + int retval; + a=g_ascii_strup(s1,-1); + b=g_ascii_strup(s2,-1); + + retval=strverscmp(a,b); + g_free(a); + g_free(b); + return retval; +#else + return strnatcasecmp(s1,s2); +#endif +} Modified: trunk/src/gpredict-utils.h =================================================================== --- trunk/src/gpredict-utils.h 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/gpredict-utils.h 2011-03-26 01:10:20 UTC (rev 793) @@ -62,5 +62,5 @@ void gdk2rgb (const GdkColor *color, guint *rgb); void gdk2rgba (const GdkColor *color, guint16 alpha, guint *rgba); gchar *rgba2html (guint rgba); - +int gpredict_strcmp (const char *s1, const char *s2); #endif Modified: trunk/src/gtk-rig-ctrl.c =================================================================== --- trunk/src/gtk-rig-ctrl.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/gtk-rig-ctrl.c 2011-03-26 01:10:20 UTC (rev 793) @@ -2755,11 +2755,11 @@ /*simple function to sort the list of satellites in the combo box.*/ static gint sat_name_compare (sat_t* a,sat_t*b){ - return (g_ascii_strcasecmp(a->nickname,b->nickname)); + return (gpredict_strcmp(a->nickname,b->nickname)); } static gint rig_name_compare (const gchar* a,const gchar *b){ - return (g_ascii_strcasecmp(a,b)); + return (gpredict_strcmp(a,b)); } static inline gboolean check_set_response (gchar *buffback,gboolean retcode,const gchar *function){ Modified: trunk/src/gtk-rot-ctrl.c =================================================================== --- trunk/src/gtk-rot-ctrl.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/gtk-rot-ctrl.c 2011-03-26 01:10:20 UTC (rev 793) @@ -42,6 +42,7 @@ #include "compat.h" #include "sat-log.h" #include "predict-tools.h" +#include "gpredict-utils.h" #include "gtk-polar-plot.h" #include "gtk-rot-knob.h" #include "gtk-rot-ctrl.h" @@ -1444,14 +1445,14 @@ *simple function to sort the list of satellites in the combo box. */ static gint sat_name_compare (sat_t* a,sat_t*b){ - return (g_ascii_strcasecmp(a->nickname,b->nickname)); + return (gpredict_strcmp(a->nickname,b->nickname)); } /** \brief Compare Rotator Names. */ static gint rot_name_compare (const gchar* a,const gchar *b){ - return (g_ascii_strcasecmp(a,b)); + return (gpredict_strcmp(a,b)); } Modified: trunk/src/gtk-sat-selector.c =================================================================== --- trunk/src/gtk-sat-selector.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/gtk-sat-selector.c 2011-03-26 01:10:20 UTC (rev 793) @@ -32,6 +32,7 @@ /*needed _gnu_source to have strcasestr defined*/ #define _GNU_SOURCE + #include <string.h> #include <gtk/gtk.h> #include <glib/gi18n.h> @@ -44,9 +45,9 @@ #include "compat.h" #include "sat-cfg.h" #include "gtk-sat-selector.h" +#include "gpredict-utils.h" - static void gtk_sat_selector_class_init (GtkSatSelectorClass *class); static void gtk_sat_selector_init (GtkSatSelector *selector); static void gtk_sat_selector_destroy (GtkObject *object); @@ -614,7 +615,7 @@ gtk_tree_model_get(model, a, GTK_SAT_SELECTOR_COL_NAME, &sat1, -1); gtk_tree_model_get(model, b, GTK_SAT_SELECTOR_COL_NAME, &sat2, -1); - ret = g_ascii_strcasecmp (sat1, sat2); + ret = strverscmp (sat1, sat2); g_free (sat1); g_free (sat2); @@ -900,7 +901,7 @@ cat_a = load_cat_file_cat (a); cat_b = load_cat_file_cat (b); - temp = g_ascii_strcasecmp (cat_a,cat_b); + temp = gpredict_strcmp (cat_a,cat_b); g_free (cat_a); g_free (cat_b); return (temp); Modified: trunk/src/gtk-single-sat.c =================================================================== --- trunk/src/gtk-single-sat.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/gtk-single-sat.c 2011-03-26 01:10:20 UTC (rev 793) @@ -51,7 +51,6 @@ #include "sat-pass-dialogs.h" - /** \brief Column titles indexed with column symb. refs. */ const gchar *SINGLE_SAT_FIELD_TITLE[SINGLE_SAT_FIELD_NUMBER] = { N_("Azimuth"), @@ -1146,5 +1145,5 @@ } static gint sat_name_compare (sat_t *a,sat_t *b) { - return g_ascii_strcasecmp(a->nickname,b->nickname); + return gpredict_strcmp(a->nickname,b->nickname); } Modified: trunk/src/menubar.c =================================================================== --- trunk/src/menubar.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/menubar.c 2011-03-26 01:10:20 UTC (rev 793) @@ -48,6 +48,7 @@ #include "gtk-sat-module.h" #include "gtk-sat-module-popup.h" #include "gpredict-help.h" +#include "gpredict-utils.h" #include "tle-update.h" #include "compat.h" #include "menubar.h" @@ -1083,7 +1084,7 @@ gtk_tree_model_get(model, a, 0, &sat1, -1); gtk_tree_model_get(model, b, 0, &sat2, -1); - ret = g_ascii_strcasecmp (sat1, sat2); + ret = gpredict_strcmp (sat1, sat2); g_free (sat1); g_free (sat2); Modified: trunk/src/mod-cfg.c =================================================================== --- trunk/src/mod-cfg.c 2011-03-26 00:55:01 UTC (rev 792) +++ trunk/src/mod-cfg.c 2011-03-26 01:10:20 UTC (rev 793) @@ -39,7 +39,6 @@ #include "sat-pref-modules.h" #include "qth-editor.h" #include "mod-cfg.h" - #include "gtk-sat-selector.h" @@ -1164,7 +1163,7 @@ gtk_tree_model_get(model, a, GTK_SAT_SELECTOR_COL_NAME, &sat1, -1); gtk_tree_model_get(model, b, GTK_SAT_SELECTOR_COL_NAME, &sat2, -1); - ret = g_ascii_strcasecmp (sat1, sat2); + ret = gpredict_strcmp (sat1, sat2); g_free (sat1); g_free (sat2); @@ -1259,5 +1258,5 @@ static gint qth_name_compare (const gchar* a,const gchar *b){ - return (g_ascii_strcasecmp(a,b)); + return (gpredict_strcmp(a,b)); } Added: trunk/src/strnatcmp.c =================================================================== --- trunk/src/strnatcmp.c (rev 0) +++ trunk/src/strnatcmp.c 2011-03-26 01:10:20 UTC (rev 793) @@ -0,0 +1,178 @@ +/* -*- mode: c; c-file-style: "k&r" -*- + + strnatcmp.c -- Perform 'natural order' comparisons of strings in C. + Copyright (C) 2000, 2004 by Martin Pool <mbp sourcefrog net> + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + + +/* partial change history: + * + * 2004-10-10 mbp: Lift out character type dependencies into macros. + * + * Eric Sosman pointed out that ctype functions take a parameter whose + * value must be that of an unsigned int, even on platforms that have + * negative chars in their default char type. + */ + +#include <ctype.h> +#include <string.h> +#include <assert.h> +#include <stdio.h> + +#include "strnatcmp.h" + + +/* These are defined as macros to make it easier to adapt this code to + * different characters types or comparison functions. */ +static inline int +nat_isdigit(nat_char a) +{ + return isdigit((unsigned char) a); +} + + +static inline int +nat_isspace(nat_char a) +{ + return isspace((unsigned char) a); +} + + +static inline nat_char +nat_toupper(nat_char a) +{ + return toupper((unsigned char) a); +} + + + +static int +compare_right(nat_char const *a, nat_char const *b) +{ + int bias = 0; + + /* The longest run of digits wins. That aside, the greatest + value wins, but we can't know that it will until we've scanned + both numbers to know that they have the same magnitude, so we + remember it in BIAS. */ + for (;; a++, b++) { + if (!nat_isdigit(*a) && !nat_isdigit(*b)) + return bias; + else if (!nat_isdigit(*a)) + return -1; + else if (!nat_isdigit(*b)) + return +1; + else if (*a < *b) { + if (!bias) + bias = -1; + } else if (*a > *b) { + if (!bias) + bias = +1; + } else if (!*a && !*b) + return bias; + } + + return 0; +} + + +static int +compare_left(nat_char const *a, nat_char const *b) +{ + /* Compare two left-aligned numbers: the first to have a + different value wins. */ + for (;; a++, b++) { + if (!nat_isdigit(*a) && !nat_isdigit(*b)) + return 0; + else if (!nat_isdigit(*a)) + return -1; + else if (!nat_isdigit(*b)) + return +1; + else if (*a < *b) + return -1; + else if (*a > *b) + return +1; + } + + return 0; +} + + +static int strnatcmp0(nat_char const *a, nat_char const *b, int fold_case) +{ + int ai, bi; + nat_char ca, cb; + int fractional, result; + + assert(a && b); + ai = bi = 0; + while (1) { + ca = a[ai]; cb = b[bi]; + + /* skip over leading spaces or zeros */ + while (nat_isspace(ca)) + ca = a[++ai]; + + while (nat_isspace(cb)) + cb = b[++bi]; + + /* process run of digits */ + if (nat_isdigit(ca) && nat_isdigit(cb)) { + fractional = (ca == '0' || cb == '0'); + + if (fractional) { + if ((result = compare_left(a+ai, b+bi)) != 0) + return result; + } else { + if ((result = compare_right(a+ai, b+bi)) != 0) + return result; + } + } + + if (!ca && !cb) { + /* The strings compare the same. Perhaps the caller + will want to call strcmp to break the tie. */ + return 0; + } + + if (fold_case) { + ca = nat_toupper(ca); + cb = nat_toupper(cb); + } + + if (ca < cb) + return -1; + else if (ca > cb) + return +1; + + ++ai; ++bi; + } +} + + + +int strnatcmp(nat_char const *a, nat_char const *b) { + return strnatcmp0(a, b, 0); +} + + +/* Compare, recognizing numeric string and ignoring case. */ +int strnatcasecmp(nat_char const *a, nat_char const *b) { + return strnatcmp0(a, b, 1); +} Added: trunk/src/strnatcmp.h =================================================================== --- trunk/src/strnatcmp.h (rev 0) +++ trunk/src/strnatcmp.h 2011-03-26 01:10:20 UTC (rev 793) @@ -0,0 +1,31 @@ +/* -*- mode: c; c-file-style: "k&r" -*- + + strnatcmp.c -- Perform 'natural order' comparisons of strings in C. + Copyright (C) 2000, 2004 by Martin Pool <mbp sourcefrog net> + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + + +/* CUSTOMIZATION SECTION + * + * You can change this typedef, but must then also change the inline + * functions in strnatcmp.c */ +typedef char nat_char; + +int strnatcmp(nat_char const *a, nat_char const *b); +int strnatcasecmp(nat_char const *a, nat_char const *b); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |