| ansi_x3_4_1968.h | | ansi_x3_4_1968.h | |
| | | | |
| skipping to change at line 338 | | skipping to change at line 338 | |
| {0x1EF3, (unsigned char) 'y'}, // latin small letter y with grave | | {0x1EF3, (unsigned char) 'y'}, // latin small letter y with grave | |
| {0x2000, (unsigned char) ' '}, // en quad | | {0x2000, (unsigned char) ' '}, // en quad | |
| {0x2001, (unsigned char) ' '}, // em quad | | {0x2001, (unsigned char) ' '}, // em quad | |
| {0x2002, (unsigned char) ' '}, // en space | | {0x2002, (unsigned char) ' '}, // en space | |
| {0x2003, (unsigned char) ' '}, // em space | | {0x2003, (unsigned char) ' '}, // em space | |
| {0x2004, (unsigned char) ' '}, // three-per-em space | | {0x2004, (unsigned char) ' '}, // three-per-em space | |
| {0x2005, (unsigned char) ' '}, // four-per-em space | | {0x2005, (unsigned char) ' '}, // four-per-em space | |
| {0x2006, (unsigned char) ' '}, // six-per-em space | | {0x2006, (unsigned char) ' '}, // six-per-em space | |
| {0x2010, (unsigned char) '-'}, // hyphen | | {0x2010, (unsigned char) '-'}, // hyphen | |
| {0x2011, (unsigned char) '-'}, // non-breaking hyphen | | {0x2011, (unsigned char) '-'}, // non-breaking hyphen | |
|
| | | {0x2013, (unsigned char) '-'}, // en dash | |
| | | {0x2014, (unsigned char) '-'}, // em dash | |
| {0x2017, (unsigned char) '='}, // double low line | | {0x2017, (unsigned char) '='}, // double low line | |
|
| | | {0x2018, (unsigned char) '`'}, // left single quotation mark | |
| | | {0x2019, (unsigned char) '\''}, // right single quotation mark | |
| {0x201C, (unsigned char) '"'}, | | {0x201C, (unsigned char) '"'}, | |
| {0x201D, (unsigned char) '"'}, | | {0x201D, (unsigned char) '"'}, | |
| {0x2032, (unsigned char) '\''}, // prime | | {0x2032, (unsigned char) '\''}, // prime | |
| {0x2035, (unsigned char) '`'}, // reversed prime | | {0x2035, (unsigned char) '`'}, // reversed prime | |
| {0x203C, (unsigned char) '!'}, // double exclamation mark | | {0x203C, (unsigned char) '!'}, // double exclamation mark | |
| {0x2044, (unsigned char) '/'}, // fraction slash | | {0x2044, (unsigned char) '/'}, // fraction slash | |
| {0x2074, (unsigned char) '4'}, // superscript four | | {0x2074, (unsigned char) '4'}, // superscript four | |
| {0x2075, (unsigned char) '5'}, // superscript five | | {0x2075, (unsigned char) '5'}, // superscript five | |
| {0x2076, (unsigned char) '6'}, // superscript six | | {0x2076, (unsigned char) '6'}, // superscript six | |
| {0x2077, (unsigned char) '7'}, // superscript seven | | {0x2077, (unsigned char) '7'}, // superscript seven | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 4 lines changed or added | |
|
| defs.h | | defs.h | |
| | | | |
| skipping to change at line 28 | | skipping to change at line 28 | |
| */ | | */ | |
| #ifndef gpsbabel_defs_h_included | | #ifndef gpsbabel_defs_h_included | |
| #define gpsbabel_defs_h_included | | #define gpsbabel_defs_h_included | |
| #include <time.h> | | #include <time.h> | |
| #include <stdlib.h> | | #include <stdlib.h> | |
| #include <math.h> | | #include <math.h> | |
| #include <stdio.h> | | #include <stdio.h> | |
| #include <string.h> | | #include <string.h> | |
| #include <stdarg.h> | | #include <stdarg.h> | |
| #include <stddef.h> | | #include <stddef.h> | |
|
| | | #if HAVE_CONFIG_H | |
| #include "config.h" | | #include "config.h" | |
|
| | | #endif | |
| #include "queue.h" | | #include "queue.h" | |
| #include "gbtypes.h" | | #include "gbtypes.h" | |
| #if HAVE_LIBZ | | #if HAVE_LIBZ | |
| #include <zlib.h> | | #include <zlib.h> | |
| #elif !ZLIB_INHIBITED | | #elif !ZLIB_INHIBITED | |
| #include "zlib/zlib.h" | | #include "zlib/zlib.h" | |
| #endif | | #endif | |
| #include "gbfile.h" | | #include "gbfile.h" | |
| #include "cet.h" | | #include "cet.h" | |
| #include "cet_util.h" | | #include "cet_util.h" | |
| | | | |
| skipping to change at line 66 | | skipping to change at line 68 | |
| #endif | | #endif | |
| | | | |
| #ifndef TRUE | | #ifndef TRUE | |
| # define TRUE !FALSE | | # define TRUE !FALSE | |
| #endif | | #endif | |
| | | | |
| #define FEET_TO_METERS(feetsies) ((feetsies) * 0.3048) | | #define FEET_TO_METERS(feetsies) ((feetsies) * 0.3048) | |
| #define METERS_TO_FEET(meetsies) ((meetsies) * 3.2808399) | | #define METERS_TO_FEET(meetsies) ((meetsies) * 3.2808399) | |
| | | | |
| #define NMILES_TO_METERS(a) ((a) * 1852.0) /* nautical miles */ | | #define NMILES_TO_METERS(a) ((a) * 1852.0) /* nautical miles */ | |
|
| | | #define METERS_TO_NMILES(a) ((a) / 1852.0) | |
| | | | |
| #define MILES_TO_METERS(a) ((a) * 1609.344) | | #define MILES_TO_METERS(a) ((a) * 1609.344) | |
| #define METERS_TO_MILES(a) ((a) / 1609.344) | | #define METERS_TO_MILES(a) ((a) / 1609.344) | |
| #define FATHOMS_TO_METERS(a) ((a) * 1.8288) | | #define FATHOMS_TO_METERS(a) ((a) * 1.8288) | |
| | | | |
| #define CELSIUS_TO_FAHRENHEIT(a) (((a) * 1.8) + 32) | | #define CELSIUS_TO_FAHRENHEIT(a) (((a) * 1.8) + 32) | |
| #define FAHRENHEIT_TO_CELSIUS(a) (((a) - 32) / 1.8) | | #define FAHRENHEIT_TO_CELSIUS(a) (((a) - 32) / 1.8) | |
| | | | |
| #define SECONDS_PER_HOUR (60L*60) | | #define SECONDS_PER_HOUR (60L*60) | |
| #define SECONDS_PER_DAY (24L*60*60) | | #define SECONDS_PER_DAY (24L*60*60) | |
| | | | |
| | | | |
| skipping to change at line 113 | | skipping to change at line 117 | |
| # define fileno _fileno | | # define fileno _fileno | |
| # endif | | # endif | |
| # define strdup _strdup | | # define strdup _strdup | |
| #endif | | #endif | |
| | | | |
| /* Turn off numeric conversion warning */ | | /* Turn off numeric conversion warning */ | |
| #if __WIN32__ | | #if __WIN32__ | |
| # if _MSC_VER | | # if _MSC_VER | |
| # pragma warning(disable:4244) | | # pragma warning(disable:4244) | |
| # endif | | # endif | |
|
| | | #if !defined _CRT_SECURE_NO_DEPRECATE | |
| # define _CRT_SECURE_NO_DEPRECATE 1 | | # define _CRT_SECURE_NO_DEPRECATE 1 | |
| #endif | | #endif | |
|
| | | #endif | |
| | | | |
| /* Pathname separator character */ | | /* Pathname separator character */ | |
| #if __WIN32__ | | #if __WIN32__ | |
| # define GB_PATHSEP '\\' | | # define GB_PATHSEP '\\' | |
| #else | | #else | |
| # define GB_PATHSEP '/' | | # define GB_PATHSEP '/' | |
| #endif | | #endif | |
| | | | |
| /* | | /* | |
| * Toss in some GNU C-specific voodoo for checking. | | * Toss in some GNU C-specific voodoo for checking. | |
| | | | |
| skipping to change at line 240 | | skipping to change at line 246 | |
| gt_virtual, | | gt_virtual, | |
| gt_letterbox, | | gt_letterbox, | |
| gt_event, | | gt_event, | |
| gt_suprise, | | gt_suprise, | |
| gt_webcam, | | gt_webcam, | |
| gt_earth, | | gt_earth, | |
| gt_locationless, | | gt_locationless, | |
| gt_benchmark, /* Extension to Groundspeak for GSAK */ | | gt_benchmark, /* Extension to Groundspeak for GSAK */ | |
| gt_cito, | | gt_cito, | |
| gt_ape, | | gt_ape, | |
|
| gt_mega | | gt_mega, | |
| | | gt_wherigo | |
| } geocache_type; | | } geocache_type; | |
| | | | |
| typedef enum { | | typedef enum { | |
| gc_unknown = 0, | | gc_unknown = 0, | |
| gc_micro, | | gc_micro, | |
| gc_other, | | gc_other, | |
| gc_regular, | | gc_regular, | |
| gc_large, | | gc_large, | |
| gc_virtual, | | gc_virtual, | |
| gc_small | | gc_small | |
| | | | |
| skipping to change at line 352 | | skipping to change at line 359 | |
| unsigned int temperature:1; /* temperature field is set
*/ | | unsigned int temperature:1; /* temperature field is set
*/ | |
| unsigned int proximity:1; /* proximity field is set */ | | unsigned int proximity:1; /* proximity field is set */ | |
| unsigned int course:1; /* course field is set */ | | unsigned int course:1; /* course field is set */ | |
| unsigned int speed:1; /* speed field is set */ | | unsigned int speed:1; /* speed field is set */ | |
| unsigned int depth:1; /* depth field is set */ | | unsigned int depth:1; /* depth field is set */ | |
| /* !ToDo! | | /* !ToDo! | |
| unsigned int altitude:1; /+ altitude field is set +/ | | unsigned int altitude:1; /+ altitude field is set +/ | |
| ... and others | | ... and others | |
| */ | | */ | |
| unsigned int is_split:1; /* the waypoint represents a
split */ | | unsigned int is_split:1; /* the waypoint represents a
split */ | |
|
| | | unsigned int new_trkseg:1; /* True if first in new trks
eg. */ | |
| | | | |
| } wp_flags; | | } wp_flags; | |
| | | | |
|
| | | // These are dicey as they're collected on read. Subsequent filters may cha | |
| | | nge | |
| | | // things, though it's u nlikely to matter in practical terms. Don't use t | |
| | | hese | |
| | | // if a false positive would be deleterious. | |
| | | typedef struct { | |
| | | unsigned int trait_geocaches:1; | |
| | | unsigned int trait_heartrate:1; | |
| | | unsigned int trait_cadence:1; | |
| | | unsigned int trait_power:1; | |
| | | unsigned int trait_depth:1; | |
| | | unsigned int trait_temperature:1; | |
| | | } global_trait; | |
| | | const global_trait* get_traits(); | |
| | | | |
| #define WAYPT_SET(wpt,member,val) { wpt->member = (val); wpt->wpt_flags.mem
ber = 1; } | | #define WAYPT_SET(wpt,member,val) { wpt->member = (val); wpt->wpt_flags.mem
ber = 1; } | |
| #define WAYPT_GET(wpt,member,def) ((wpt->wpt_flags.member) ? (wpt->member)
: (def)) | | #define WAYPT_GET(wpt,member,def) ((wpt->wpt_flags.member) ? (wpt->member)
: (def)) | |
| #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0 | | #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0 | |
| #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member) | | #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member) | |
| /* | | /* | |
| * This is a waypoint, as stored in the GPSR. It tries to not | | * This is a waypoint, as stored in the GPSR. It tries to not | |
| * cater to any specific model or protocol. Anything that needs to | | * cater to any specific model or protocol. Anything that needs to | |
| * be truncated, edited, or otherwise trimmed should be done on the | | * be truncated, edited, or otherwise trimmed should be done on the | |
| * way to the target. | | * way to the target. | |
| */ | | */ | |
| | | | |
| skipping to change at line 450 | | skipping to change at line 471 | |
| float hdop; | | float hdop; | |
| float vdop; | | float vdop; | |
| float pdop; | | float pdop; | |
| float course; /* Optional: degrees true */ | | float course; /* Optional: degrees true */ | |
| float speed; /* Optional: meters per second. */ | | float speed; /* Optional: meters per second. */ | |
| fix_type fix; /* Optional: 3d, 2d, etc. */ | | fix_type fix; /* Optional: 3d, 2d, etc. */ | |
| int sat; /* Optional: number of sats used for fix */ | | int sat; /* Optional: number of sats used for fix */ | |
| | | | |
| unsigned char heartrate; /* Beats/min. likely to get moved to fs. */ | | unsigned char heartrate; /* Beats/min. likely to get moved to fs. */ | |
| unsigned char cadence; /* revolutions per minute */ | | unsigned char cadence; /* revolutions per minute */ | |
|
| | | float power; /* watts, as measured by cyclists */ | |
| float temperature; /* Degrees celsius */ | | float temperature; /* Degrees celsius */ | |
| const geocache_data *gc_data; | | const geocache_data *gc_data; | |
| format_specific_data *fs; | | format_specific_data *fs; | |
| session_t *session; /* pointer to a session struct */ | | session_t *session; /* pointer to a session struct */ | |
| void *extra_data; /* Extra data added by, say, a filter. */ | | void *extra_data; /* Extra data added by, say, a filter. */ | |
| } waypoint; | | } waypoint; | |
| | | | |
| typedef struct { | | typedef struct { | |
| queue Q; /* Link onto parent list. */ | | queue Q; /* Link onto parent list. */ | |
| queue waypoint_list; /* List of child waypoints */ | | queue waypoint_list; /* List of child waypoints */ | |
| | | | |
| skipping to change at line 543 | | skipping to change at line 565 | |
| waypoint * waypt_dupe (const waypoint *); | | waypoint * waypt_dupe (const waypoint *); | |
| waypoint * waypt_new(void); | | waypoint * waypt_new(void); | |
| void waypt_del (waypoint *); | | void waypt_del (waypoint *); | |
| void waypt_free (waypoint *); | | void waypt_free (waypoint *); | |
| void waypt_disp_all(waypt_cb); | | void waypt_disp_all(waypt_cb); | |
| void waypt_disp_session(const session_t *se, waypt_cb cb); | | void waypt_disp_session(const session_t *se, waypt_cb cb); | |
| void waypt_init_bounds(bounds *bounds); | | void waypt_init_bounds(bounds *bounds); | |
| int waypt_bounds_valid(bounds *bounds); | | int waypt_bounds_valid(bounds *bounds); | |
| void waypt_add_to_bounds(bounds *bounds, const waypoint *waypointp); | | void waypt_add_to_bounds(bounds *bounds, const waypoint *waypointp); | |
| void waypt_compute_bounds(bounds *); | | void waypt_compute_bounds(bounds *); | |
|
| | | double gcgeodist(const double lat1, const double lon1, | |
| | | const double lat2, const double lon2); | |
| void waypt_flush(queue *); | | void waypt_flush(queue *); | |
| void waypt_flush_all(void); | | void waypt_flush_all(void); | |
| unsigned int waypt_count(void); | | unsigned int waypt_count(void); | |
| void set_waypt_count(unsigned int nc); | | void set_waypt_count(unsigned int nc); | |
| void waypt_add_url(waypoint *wpt, char *link, char *url_link_text); | | void waypt_add_url(waypoint *wpt, char *link, char *url_link_text); | |
| void free_gpx_extras (xml_tag * tag); | | void free_gpx_extras (xml_tag * tag); | |
| void xcsv_setup_internal_style(const char *style_buf); | | void xcsv_setup_internal_style(const char *style_buf); | |
| void xcsv_read_internal_style(const char *style_buf); | | void xcsv_read_internal_style(const char *style_buf); | |
| waypoint * find_waypt_by_name(const char *name); | | waypoint * find_waypt_by_name(const char *name); | |
| void waypt_backup(signed int *count, queue **head_bak); | | void waypt_backup(signed int *count, queue **head_bak); | |
| | | | |
| skipping to change at line 572 | | skipping to change at line 596 | |
| void route_add_wpt(route_head *rte, waypoint *wpt); | | void route_add_wpt(route_head *rte, waypoint *wpt); | |
| void route_del_wpt(route_head *rte, waypoint *wpt); | | void route_del_wpt(route_head *rte, waypoint *wpt); | |
| void track_add_wpt(route_head *rte, waypoint *wpt); | | void track_add_wpt(route_head *rte, waypoint *wpt); | |
| void track_del_wpt(route_head *rte, waypoint *wpt); | | void track_del_wpt(route_head *rte, waypoint *wpt); | |
| void route_add_head(route_head *rte); | | void route_add_head(route_head *rte); | |
| void route_del_head(route_head *rte); | | void route_del_head(route_head *rte); | |
| void route_reverse(const route_head *rte_hd); | | void route_reverse(const route_head *rte_hd); | |
| waypoint * route_find_waypt_by_name(route_head *rh, const char *name); | | waypoint * route_find_waypt_by_name(route_head *rh, const char *name); | |
| void track_add_head(route_head *rte); | | void track_add_head(route_head *rte); | |
| void track_del_head(route_head *rte); | | void track_del_head(route_head *rte); | |
|
| | | void track_insert_head(route_head *rte, route_head *predecessor); | |
| void route_disp(const route_head *rte, waypt_cb); | | void route_disp(const route_head *rte, waypt_cb); | |
| void route_disp_all(route_hdr, route_trl, waypt_cb); | | void route_disp_all(route_hdr, route_trl, waypt_cb); | |
| void track_disp_all(route_hdr, route_trl, waypt_cb); | | void track_disp_all(route_hdr, route_trl, waypt_cb); | |
| void route_disp_session(const session_t *se, route_hdr rh, route_trl rt, wa
ypt_cb wc); | | void route_disp_session(const session_t *se, route_hdr rh, route_trl rt, wa
ypt_cb wc); | |
| void track_disp_session(const session_t *se, route_hdr rh, route_trl rt, wa
ypt_cb wc); | | void track_disp_session(const session_t *se, route_hdr rh, route_trl rt, wa
ypt_cb wc); | |
| void route_flush( queue *); | | void route_flush( queue *); | |
| void route_flush_all(void); | | void route_flush_all(void); | |
| void route_flush_all_routes(void); | | void route_flush_all_routes(void); | |
| void route_flush_all_tracks(void); | | void route_flush_all_tracks(void); | |
| route_head * route_find_route_by_name(const char *name); | | route_head * route_find_route_by_name(const char *name); | |
| | | | |
| skipping to change at line 839 | | skipping to change at line 864 | |
| void rtrim(char *s); | | void rtrim(char *s); | |
| char * lrtrim(char *s); | | char * lrtrim(char *s); | |
| int xasprintf(char **strp, const char *fmt, ...); | | int xasprintf(char **strp, const char *fmt, ...); | |
| int xvasprintf(char **strp, const char *fmt, va_list ap); | | int xvasprintf(char **strp, const char *fmt, va_list ap); | |
| char *strupper(char *src); | | char *strupper(char *src); | |
| char *strlower(char *src); | | char *strlower(char *src); | |
| signed int get_tz_offset(void); | | signed int get_tz_offset(void); | |
| time_t mklocaltime(struct tm *t); | | time_t mklocaltime(struct tm *t); | |
| time_t mkgmtime(struct tm *t); | | time_t mkgmtime(struct tm *t); | |
| time_t current_time(void); | | time_t current_time(void); | |
|
| | | void dotnet_time_to_time_t(double dotnet, time_t *t, int *ms); | |
| signed int month_lookup(const char *m); | | signed int month_lookup(const char *m); | |
| const char *get_cache_icon(const waypoint *waypointp); | | const char *get_cache_icon(const waypoint *waypointp); | |
| const char *gs_get_cachetype(geocache_type t); | | const char *gs_get_cachetype(geocache_type t); | |
| const char *gs_get_container(geocache_container t); | | const char *gs_get_container(geocache_container t); | |
| char * xml_entitize(const char * str); | | char * xml_entitize(const char * str); | |
| char * html_entitize(const char * str); | | char * html_entitize(const char * str); | |
| char * strip_html(const utf_string*); | | char * strip_html(const utf_string*); | |
| char * strip_nastyhtml(const char * in); | | char * strip_nastyhtml(const char * in); | |
| char * convert_human_date_format(const char *human_datef); /* "MM,YYYY,
DD" -> "%m,%Y,%d" */ | | char * convert_human_date_format(const char *human_datef); /* "MM,YYYY,
DD" -> "%m,%Y,%d" */ | |
| char * convert_human_time_format(const char *human_timef); /* "HH+mm+ss
" -> "%H+%M+%S" */ | | char * convert_human_time_format(const char *human_timef); /* "HH+mm+ss
" -> "%H+%M+%S" */ | |
| | | | |
| skipping to change at line 860 | | skipping to change at line 886 | |
| | | | |
| char * get_filename(const char *fname); /* e
xtract the filename portion */ | | char * get_filename(const char *fname); /* e
xtract the filename portion */ | |
| | | | |
| /* | | /* | |
| * Character encoding transformations. | | * Character encoding transformations. | |
| */ | | */ | |
| | | | |
| #define CET_NOT_CONVERTABLE_DEFAULT '$' | | #define CET_NOT_CONVERTABLE_DEFAULT '$' | |
| #define CET_CHARSET_ASCII "US-ASCII" | | #define CET_CHARSET_ASCII "US-ASCII" | |
| #define CET_CHARSET_UTF8 "UTF-8" | | #define CET_CHARSET_UTF8 "UTF-8" | |
|
| | | #define CET_CHARSET_HEBREW "CP1255" | |
| #define CET_CHARSET_MS_ANSI "MS-ANSI" | | #define CET_CHARSET_MS_ANSI "MS-ANSI" | |
| #define CET_CHARSET_LATIN1 "ISO-8859-1" | | #define CET_CHARSET_LATIN1 "ISO-8859-1" | |
| | | | |
| #define str_utf8_to_cp1252(str) cet_str_utf8_to_cp1252((str)) | | #define str_utf8_to_cp1252(str) cet_str_utf8_to_cp1252((str)) | |
| #define str_cp1252_to_utf8(str) cet_str_cp1252_to_utf8((str)) | | #define str_cp1252_to_utf8(str) cet_str_cp1252_to_utf8((str)) | |
| | | | |
| #define str_utf8_to_iso8859_1(str) cet_str_utf8_to_iso8859_1((str)) | | #define str_utf8_to_iso8859_1(str) cet_str_utf8_to_iso8859_1((str)) | |
| #define str_iso8859_1_to_utf8(str) cet_str_iso8859_1_to_utf8((str)) | | #define str_iso8859_1_to_utf8(str) cet_str_iso8859_1_to_utf8((str)) | |
| | | | |
| /* this lives in gpx.c */ | | /* this lives in gpx.c */ | |
| | | | |
| skipping to change at line 909 | | skipping to change at line 936 | |
| | | | |
| typedef struct { | | typedef struct { | |
| unsigned char data[4]; | | unsigned char data[4]; | |
| } pdb_float; | | } pdb_float; | |
| | | | |
| /* | | /* | |
| * Protypes for Endianness helpers. | | * Protypes for Endianness helpers. | |
| */ | | */ | |
| | | | |
| signed int be_read16(const void *p); | | signed int be_read16(const void *p); | |
|
| | | unsigned int be_readu16(const void *p); | |
| signed int be_read32(const void *p); | | signed int be_read32(const void *p); | |
| signed int le_read16(const void *p); | | signed int le_read16(const void *p); | |
| unsigned int le_readu16(const void *p); | | unsigned int le_readu16(const void *p); | |
| signed int le_read32(const void *p); | | signed int le_read32(const void *p); | |
| unsigned int le_readu32(const void *p); | | unsigned int le_readu32(const void *p); | |
| void le_read64(void *dest, const void *src); | | void le_read64(void *dest, const void *src); | |
| void be_write16(void *pp, const unsigned i); | | void be_write16(void *pp, const unsigned i); | |
| void be_write32(void *pp, const unsigned i); | | void be_write32(void *pp, const unsigned i); | |
| void le_write16(void *pp, const unsigned i); | | void le_write16(void *pp, const unsigned i); | |
| void le_write32(void *pp, const unsigned i); | | void le_write32(void *pp, const unsigned i); | |
| | | | |
|
| double endian_read_double(void* ptr, int read_le); | | double endian_read_double(const void* ptr, int read_le); | |
| float endian_read_float(void* ptr, int read_le); | | float endian_read_float(const void* ptr, int read_le); | |
| void endian_write_double(void* ptr, double d, int write_le); | | void endian_write_double(void* ptr, double d, int write_le); | |
| void endian_write_float(void* ptr, float f, int write_le); | | void endian_write_float(void* ptr, float f, int write_le); | |
| | | | |
| float be_read_float(void *p); | | float be_read_float(void *p); | |
| double be_read_double(void *p); | | double be_read_double(void *p); | |
| void be_write_float(void *pp, float d); | | void be_write_float(void *pp, float d); | |
| void be_write_double(void *pp, double d); | | void be_write_double(void *pp, double d); | |
| | | | |
|
| float le_read_float(void *p); | | float le_read_float(const void *p); | |
| double le_read_double(void *p); | | double le_read_double(const void *p); | |
| void le_write_float(void *ptr, float f); | | void le_write_float(void *ptr, float f); | |
| void le_write_double(void *p, double d); | | void le_write_double(void *p, double d); | |
| | | | |
| #define pdb_write_float be_write_float | | #define pdb_write_float be_write_float | |
| #define pdb_read_float be_read_float | | #define pdb_read_float be_read_float | |
| #define pdb_write_double be_write_double | | #define pdb_write_double be_write_double | |
| #define pdb_read_double be_read_double | | #define pdb_read_double be_read_double | |
| | | | |
| /* | | /* | |
| * Prototypes for generic conversion routines (util.c). | | * Prototypes for generic conversion routines (util.c). | |
| | | | |
| skipping to change at line 992 | | skipping to change at line 1020 | |
| */ | | */ | |
| unsigned long get_crc32(const void * data, int datalen); | | unsigned long get_crc32(const void * data, int datalen); | |
| unsigned long get_crc32_s(const void * data); | | unsigned long get_crc32_s(const void * data); | |
| | | | |
| /* | | /* | |
| * From units.c | | * From units.c | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| units_unknown = 0, | | units_unknown = 0, | |
| units_statute = 1, | | units_statute = 1, | |
|
| units_metric =2 | | units_metric = 2, | |
| | | units_nautical =3 | |
| } fmt_units; | | } fmt_units; | |
| | | | |
| int fmt_setunits(fmt_units); | | int fmt_setunits(fmt_units); | |
| double fmt_distance(const double, char **tag); | | double fmt_distance(const double, char **tag); | |
| double fmt_speed(const double, char **tag); | | double fmt_speed(const double, char **tag); | |
| | | | |
| /* | | /* | |
| * From gbsleep.c | | * From gbsleep.c | |
| */ | | */ | |
| void gb_sleep(unsigned long microseconds); | | void gb_sleep(unsigned long microseconds); | |
| | | | |
| /* | | /* | |
| * From nmea.c | | * From nmea.c | |
| */ | | */ | |
| int nmea_cksum(const char *const buf); | | int nmea_cksum(const char *const buf); | |
| | | | |
| /* | | /* | |
| * Color helpers. | | * Color helpers. | |
| */ | | */ | |
|
| int color_to_bbggrr(char *cname); | | int color_to_bbggrr(const char *cname); | |
| | | | |
| /* | | /* | |
| * A constant for unknown altitude. It's tempting to just use zero | | * A constant for unknown altitude. It's tempting to just use zero | |
| * but that's not very nice for the folks near sea level. | | * but that's not very nice for the folks near sea level. | |
| */ | | */ | |
| #define unknown_alt -99999999.0 | | #define unknown_alt -99999999.0 | |
| #define unknown_color -1 | | #define unknown_color -1 | |
| | | | |
| #endif /* gpsbabel_defs_h_included */ | | #endif /* gpsbabel_defs_h_included */ | |
| | | | |
End of changes. 18 change blocks. |
| 7 lines changed or deleted | | 38 lines changed or added | |
|
| gps.h | | gps.h | |
| | | | |
| skipping to change at line 39 | | skipping to change at line 39 | |
| | | | |
| extern int32 gps_errno; | | extern int32 gps_errno; | |
| extern int32 gps_warning; | | extern int32 gps_warning; | |
| extern int32 gps_error; | | extern int32 gps_error; | |
| extern int32 gps_user; | | extern int32 gps_user; | |
| extern int32 gps_show_bytes; | | extern int32 gps_show_bytes; | |
| extern char gps_categories[16][17]; | | extern char gps_categories[16][17]; | |
| | | | |
| typedef struct GPS_SPacket | | typedef struct GPS_SPacket | |
| { | | { | |
|
| | | US type; | |
| | | uint32 n; | |
| | | UC *data; | |
| | | } GPS_OPacket, *GPS_PPacket; | |
| | | | |
| | | typedef struct GPS_Serial_SPacket | |
| | | { | |
| UC dle; | | UC dle; | |
| UC type; | | UC type; | |
| UC n; | | UC n; | |
| UC *data; | | UC *data; | |
| UC chk; | | UC chk; | |
| UC edle; | | UC edle; | |
| UC etx; | | UC etx; | |
|
| UC bytes; /* Actual number of bytes (for sending) */ | | } GPS_Serial_OPacket, *GPS_Serial_PPacket; | |
| } GPS_OPacket, *GPS_PPacket; | | | |
| | | | |
| typedef struct GPS_SProduct_Data_Type | | typedef struct GPS_SProduct_Data_Type | |
| { | | { | |
| int16 id; | | int16 id; | |
| int16 version; | | int16 version; | |
| char desc[MAX_GPS_PACKET_SIZE]; | | char desc[MAX_GPS_PACKET_SIZE]; | |
| } GPS_OProduct_Data_Type, *GPS_PProduct_Data_Type; | | } GPS_OProduct_Data_Type, *GPS_PProduct_Data_Type; | |
| | | | |
| typedef struct GPS_SPvt_Data_Type | | typedef struct GPS_SPvt_Data_Type | |
| { | | { | |
| | | | |
| skipping to change at line 85 | | skipping to change at line 91 | |
| { | | { | |
| double lat; /* Degrees */ | | double lat; /* Degrees */ | |
| double lon; /* Degrees */ | | double lon; /* Degrees */ | |
| time_t Time; /* Unix time */ | | time_t Time; /* Unix time */ | |
| float alt; /* Altitude */ | | float alt; /* Altitude */ | |
| float dpth; /* Depth */ | | float dpth; /* Depth */ | |
| float temperature; /* Temperature. Degrees Celsius. */ | | float temperature; /* Temperature. Degrees Celsius. */ | |
| int temperature_populated; /* True if above is valid. */ | | int temperature_populated; /* True if above is valid. */ | |
| unsigned char heartrate; /* Heartrate as in Garmin 301 */ | | unsigned char heartrate; /* Heartrate as in Garmin 301 */ | |
| unsigned char cadence; /* Crank cadence as in Edge 305 */ | | unsigned char cadence; /* Crank cadence as in Edge 305 */ | |
|
| | | unsigned int wsensor_pres:1; /* Wheel sensor present */ | |
| unsigned int tnew:1; /* New track? */ | | unsigned int tnew:1; /* New track? */ | |
| unsigned int ishdr:1; /* Track header? */ | | unsigned int ishdr:1; /* Track header? */ | |
| unsigned int no_latlon:1; /* True if no valid lat/lon found. *
/ | | unsigned int no_latlon:1; /* True if no valid lat/lon found. *
/ | |
| int32 dspl; /* Display on map? */ | | int32 dspl; /* Display on map? */ | |
| int32 colour; /* Colour */ | | int32 colour; /* Colour */ | |
| float distance; /* distance traveled in meters.*/ | | float distance; /* distance traveled in meters.*/ | |
|
| | | int distance_populated; /* True if above is valid. */ | |
| char trk_ident[256]; /* Track identifier */ | | char trk_ident[256]; /* Track identifier */ | |
| } | | } | |
| GPS_OTrack, *GPS_PTrack; | | GPS_OTrack, *GPS_PTrack; | |
| | | | |
| typedef struct GPS_SAlmanac | | typedef struct GPS_SAlmanac | |
| { | | { | |
| UC svid; | | UC svid; | |
| int16 wn; | | int16 wn; | |
| float toa; | | float toa; | |
| float af0; | | float af0; | |
| | | | |
| skipping to change at line 184 | | skipping to change at line 192 | |
| unsigned char intensity; /* Same as D1001 */ | | unsigned char intensity; /* Same as D1001 */ | |
| unsigned char avg_cadence; /* In revolutions-per-minute, 0xFF if inv
alid */ | | unsigned char avg_cadence; /* In revolutions-per-minute, 0xFF if inv
alid */ | |
| unsigned char trigger_method; | | unsigned char trigger_method; | |
| /*Some D1015 unknown */ | | /*Some D1015 unknown */ | |
| /* unsigned char unk1015_1; | | /* unsigned char unk1015_1; | |
| int16 unk1015_2; | | int16 unk1015_2; | |
| int16 unk1015_3; | | int16 unk1015_3; | |
| */ | | */ | |
| } GPS_OLap, *GPS_PLap; | | } GPS_OLap, *GPS_PLap; | |
| | | | |
|
| | | typedef struct GPS_SCourse | |
| | | { | |
| | | uint32 index; /* Unique among courses on device * | |
| | | / | |
| | | char course_name[16]; /* Null-terminated unique course na | |
| | | me */ | |
| | | uint32 track_index; /* Index of the associated track | |
| | | * Must be 0xFFFFFFFF if there is n | |
| | | one*/ | |
| | | } GPS_OCourse, *GPS_PCourse; | |
| | | | |
| | | typedef struct GPS_SCourse_Lap | |
| | | { | |
| | | uint32 course_index; /* Index of associated course */ | |
| | | uint32 lap_index; /* This lap's index in the course * | |
| | | / | |
| | | uint32 total_time; /* In hundredths of a second */ | |
| | | float total_dist; /* [m] */ | |
| | | double begin_lat; /* Starting position of the lap */ | |
| | | double begin_lon; /* Invalid if lat,lon are 0x7FFFFFF | |
| | | F.*/ | |
| | | double end_lat; /* Final position of the lap */ | |
| | | double end_lon; /* Invalid if lat,lon are 0x7FFFFFF | |
| | | F.*/ | |
| | | UC avg_heart_rate; /* In beats-per-minute, >0 */ | |
| | | UC max_heart_rate; /* In beats-per-minute, >0 */ | |
| | | UC intensity; /* 0=standard, active lap. | |
| | | 1=rest lap in a workout */ | |
| | | UC avg_cadence; /* In revolutions-per-minute */ | |
| | | } GPS_OCourse_Lap, *GPS_PCourse_Lap; | |
| | | | |
| | | typedef struct GPS_SCourse_Point | |
| | | { | |
| | | char name[11]; /* Null-terminated name */ | |
| | | uint32 course_index; /* Index of associated course */ | |
| | | time_t track_point_time; /* Time */ | |
| | | UC point_type; /* generic = 0, | |
| | | * summit = 1, | |
| | | * valley = 2, | |
| | | * water = 3, | |
| | | * food = 4, | |
| | | * danger = 5, | |
| | | * left = 6, | |
| | | * right = 7, | |
| | | * straight = 8, | |
| | | * first_aid = 9, | |
| | | * fourth_category = 10, | |
| | | * third_category = 11, | |
| | | * second_category = 12, | |
| | | * first_category = 13, | |
| | | * hors_category = 14, | |
| | | * sprint = 15 */ | |
| | | } GPS_OCourse_Point, *GPS_PCourse_Point; | |
| | | | |
| | | typedef struct GPS_SCourse_Limits | |
| | | { | |
| | | uint32 max_courses; | |
| | | uint32 max_course_laps; | |
| | | uint32 max_course_pnt; | |
| | | uint32 max_course_trk_pnt; | |
| | | } GPS_OCourse_Limits, *GPS_PCourse_Limits; | |
| | | | |
| typedef int (*pcb_fn) (int, struct GPS_SWay **); | | typedef int (*pcb_fn) (int, struct GPS_SWay **); | |
| | | | |
| #include "gpsdevice.h" | | #include "gpsdevice.h" | |
| #include "gpssend.h" | | #include "gpssend.h" | |
| #include "gpsread.h" | | #include "gpsread.h" | |
| #include "gpsutil.h" | | #include "gpsutil.h" | |
| #include "gpsapp.h" | | #include "gpsapp.h" | |
| #include "gpsprot.h" | | #include "gpsprot.h" | |
| #include "gpscom.h" | | #include "gpscom.h" | |
| #include "gpsfmt.h" | | #include "gpsfmt.h" | |
| | | | |
End of changes. 5 change blocks. |
| 2 lines changed or deleted | | 72 lines changed or added | |
|
| gpsapp.h | | gpsapp.h | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| int32 GPS_A100_Get(const char *port, GPS_PWay **way, int (*cb)(int ct, GPS
_PWay *)); | | int32 GPS_A100_Get(const char *port, GPS_PWay **way, int (*cb)(int ct, GPS
_PWay *)); | |
| int32 GPS_A101_Get(const char *port); | | int32 GPS_A101_Get(const char *port); | |
| int32 GPS_A100_Send(const char *port, GPS_PWay *way, int32 n, int (*cb)(GP
S_PWay *)); | | int32 GPS_A100_Send(const char *port, GPS_PWay *way, int32 n, int (*cb)(GP
S_PWay *)); | |
| | | | |
| int32 GPS_A200_Get(const char *port, GPS_PWay **way); | | int32 GPS_A200_Get(const char *port, GPS_PWay **way); | |
| int32 GPS_A201_Get(const char *port, GPS_PWay **way); | | int32 GPS_A201_Get(const char *port, GPS_PWay **way); | |
| int32 GPS_A200_Send(const char *port, GPS_PWay *way, int32 n); | | int32 GPS_A200_Send(const char *port, GPS_PWay *way, int32 n); | |
| int32 GPS_A201_Send(const char *port, GPS_PWay *way, int32 n); | | int32 GPS_A201_Send(const char *port, GPS_PWay *way, int32 n); | |
| | | | |
| int32 GPS_A300_Get(const char *port, GPS_PTrack **trk, pcb_fn cb); | | int32 GPS_A300_Get(const char *port, GPS_PTrack **trk, pcb_fn cb); | |
|
| int32 GPS_A301_Get(const char *port, GPS_PTrack **trk, pcb_fn cb); | | int32 GPS_A301_Get(const char *port, GPS_PTrack **trk, pcb_fn cb, int prot
oid); | |
| int32 GPS_A300_Send(const char *port, GPS_PTrack *trk, int32 n); | | int32 GPS_A300_Send(const char *port, GPS_PTrack *trk, int32 n); | |
|
| int32 GPS_A301_Send(const char *port, GPS_PTrack *trk, int32 n); /*A302*/ | | int32 GPS_A301_Send(const char *port, GPS_PTrack *trk, int32 n, int protoi | |
| | | d, | |
| | | gpsdevh *fd); | |
| | | | |
| int32 GPS_D300_Get(GPS_PTrack *trk, int32 entries, gpsdevh *h); | | int32 GPS_D300_Get(GPS_PTrack *trk, int32 entries, gpsdevh *h); | |
| void GPS_D300b_Get(GPS_PTrack *trk, UC *data); | | void GPS_D300b_Get(GPS_PTrack *trk, UC *data); | |
| void GPS_D301b_Get(GPS_PTrack *trk, UC *data); | | void GPS_D301b_Get(GPS_PTrack *trk, UC *data); | |
| void GPS_D302b_Get(GPS_PTrack *trk, UC *data); | | void GPS_D302b_Get(GPS_PTrack *trk, UC *data); | |
| void GPS_D303b_Get(GPS_PTrack *trk, UC *data); /*D304*/ | | void GPS_D303b_Get(GPS_PTrack *trk, UC *data); /*D304*/ | |
| void GPS_D310_Get(GPS_PTrack *trk, UC *s); | | void GPS_D310_Get(GPS_PTrack *trk, UC *s); | |
| void GPS_D311_Get(GPS_PTrack *trk, UC *s); | | void GPS_D311_Get(GPS_PTrack *trk, UC *s); | |
|
| void GPS_D300_Send(UC *data, GPS_PTrack trk); | | void GPS_D300_Send(UC *data, GPS_PTrack trk, int32 *len); | |
| void GPS_D301_Send(UC *data, GPS_PTrack trk); | | void GPS_D301_Send(UC *data, GPS_PTrack trk, int32 *len, int type); | |
| void GPS_D304_Send(UC *data, GPS_PTrack trk); | | void GPS_D303_Send(UC *data, GPS_PTrack trk, int32 *len, int protoid); | |
| void GPS_D310_Send(UC *data, GPS_PTrack trk, int32 *len); | | void GPS_D310_Send(UC *data, GPS_PTrack trk, int32 *len); | |
|
| | | void GPS_D311_Send(UC *data, GPS_PTrack trk, int32 *len); | |
| | | | |
| int32 GPS_A400_Get(const char *port, GPS_PWay **way); | | int32 GPS_A400_Get(const char *port, GPS_PWay **way); | |
| int32 GPS_A400_Send(const char *port, GPS_PWay *way, int32 n); | | int32 GPS_A400_Send(const char *port, GPS_PWay *way, int32 n); | |
| | | | |
| int32 GPS_A500_Get(const char *port, GPS_PAlmanac **alm); | | int32 GPS_A500_Get(const char *port, GPS_PAlmanac **alm); | |
| int32 GPS_A500_Send(const char *port, GPS_PAlmanac *alm, int32 n); | | int32 GPS_A500_Send(const char *port, GPS_PAlmanac *alm, int32 n); | |
| | | | |
| time_t GPS_A600_Get(const char *port); | | time_t GPS_A600_Get(const char *port); | |
| time_t GPS_D600_Get(GPS_PPacket packet); | | time_t GPS_D600_Get(GPS_PPacket packet); | |
| int32 GPS_A600_Send(const char *port, time_t Time); | | int32 GPS_A600_Send(const char *port, time_t Time); | |
| | | | |
| skipping to change at line 60 | | skipping to change at line 62 | |
| int32 GPS_A700_Get(const char *port, double *lat, double *lon); | | int32 GPS_A700_Get(const char *port, double *lat, double *lon); | |
| int32 GPS_A700_Send(const char *port, double lat, double lon); | | int32 GPS_A700_Send(const char *port, double lat, double lon); | |
| void GPS_D700_Get(GPS_PPacket packet, double *lat, double *lon); | | void GPS_D700_Get(GPS_PPacket packet, double *lat, double *lon); | |
| void GPS_D700_Send(GPS_PPacket *packet, double lat, double lon); | | void GPS_D700_Send(GPS_PPacket *packet, double lat, double lon); | |
| | | | |
| int32 GPS_A800_On(const char *port, gpsdevh **fd); | | int32 GPS_A800_On(const char *port, gpsdevh **fd); | |
| int32 GPS_A800_Off(const char *port, gpsdevh **fd); | | int32 GPS_A800_Off(const char *port, gpsdevh **fd); | |
| int32 GPS_A800_Get(gpsdevh **fd, GPS_PPvt_Data *packet); | | int32 GPS_A800_Get(gpsdevh **fd, GPS_PPvt_Data *packet); | |
| void GPS_D800_Get(GPS_PPacket packet, GPS_PPvt_Data *pvt); | | void GPS_D800_Get(GPS_PPacket packet, GPS_PPvt_Data *pvt); | |
| | | | |
|
| int32 GPS_A906_Get(const char *port, GPS_PLap **lap, pcb_fn cb); | | int32 GPS_A906_Get(const char *port, GPS_PLap **lap, pcb_fn cb); | |
| void GPS_D1011b_Get(GPS_PLap *Lap,UC *data); /*D906 D1001 D1015*/ | | void GPS_D1011b_Get(GPS_PLap *Lap,UC *data); /*D906 D1001 D1015*/ | |
| | | | |
| | | int32 GPS_A1006_Get(const char *port, GPS_PCourse **crs, pcb_fn cb); | |
| | | int32 GPS_A1006_Send(const char *port, GPS_PCourse *crs, int32 n_crs, | |
| | | gpsdevh *fd); | |
| | | void GPS_D1006_Get(GPS_PCourse *crs, UC *p); | |
| | | void GPS_D1006_Send(UC *data, GPS_PCourse crs, int32 *len); | |
| | | | |
| | | int32 GPS_A1007_Get(const char *port, GPS_PCourse_Lap **clp, pcb_fn cb); | |
| | | int32 GPS_A1007_Send(const char *port, GPS_PCourse_Lap *clp, int32 n_clp, | |
| | | gpsdevh *fd); | |
| | | void GPS_D1007_Get(GPS_PCourse_Lap *clp, UC *p); | |
| | | void GPS_D1007_Send(UC *data, GPS_PCourse_Lap clp, int32 *len); | |
| | | | |
| | | int32 GPS_A1008_Get(const char *port, GPS_PCourse_Point **cpt, pcb_fn cb); | |
| | | int32 GPS_A1008_Send(const char *port, GPS_PCourse_Point *cpt, int32 n_cpt | |
| | | , | |
| | | gpsdevh *fd); | |
| | | void GPS_D1012_Get(GPS_PCourse_Point *cpt, UC *p); | |
| | | void GPS_D1012_Send(UC *data, GPS_PCourse_Point cpt, int32 *len); | |
| | | | |
| | | int32 GPS_A1009_Get(const char *port, GPS_PCourse_Limits limits); | |
| | | void GPS_D1013_Get(GPS_PCourse_Limits limits, UC *p); | |
| | | | |
| /* Unhandled documented protocols, as of: | | /* Unhandled documented protocols, as of: | |
| Garmin Device Interface Specification, May 19, 2006, Drawing Number: 001-
00063-00 Rev. C | | Garmin Device Interface Specification, May 19, 2006, Drawing Number: 001-
00063-00 Rev. C | |
|
| A650 | | A650 FlightBook Transfer Protocol | |
| A1000 | | A1000 Run Transfer Protocol | |
| Capability A1000: D1009 | | Capability A1000: D1009 | |
| D1000 D1010 | | D1000 D1010 | |
|
| A1002 | | A1002 Workout Transfer Protocol | |
| Capability A1002: D1008 | | Capability A1002: D1008 | |
| D1002 | | D1002 | |
| Capability A1003: D1003 | | Capability A1003: D1003 | |
|
| A1004 | | A1004 Fitness User Profile Transfer Protocol | |
| Capability A1004: D1004 | | Capability A1004: D1004 | |
|
| A1005 | | A1005 Workout Limits Transfer Protocol | |
| Capability A1005: D1005 | | Capability A1005: D1005 | |
|
| A1006 | | | |
| Capability A1006: D1006 | | | |
| Capability A1007: D1007 | | | |
| Capability A1008: D1012 | | | |
| A1009 | | | |
| Capability A1009: D1013 | | | |
| */ | | */ | |
| /* Unimplemted and Undocumented, as listed from the following device/sw: | | /* Unimplemted and Undocumented, as listed from the following device/sw: | |
| GF305 3.70 | | GF305 3.70 | |
| | | | |
| Capability A601: D601 | | Capability A601: D601 | |
| Capability A801: D801 | | Capability A801: D801 | |
| | | | |
| Capability A902: | | Capability A902: | |
| Capability A903: | | Capability A903: | |
| Capability A907: D907 D908 D909 D910 | | Capability A907: D907 D908 D909 D910 | |
| Capability A918: D918 | | Capability A918: D918 | |
| Capability A1013: D1014 | | Capability A1013: D1014 | |
| */ | | */ | |
| | | | |
|
| const char * Get_Pkt_Type(unsigned char p, unsigned short d0, const char ** | | const char * Get_Pkt_Type(US p, US d0, const char **xinfo); | |
| xinfo); | | | |
| | | void GPS_Prepare_Track_For_Device(GPS_PTrack **trk, int32 *n); | |
| | | | |
| #endif | | #endif | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
End of changes. 11 change blocks. |
| 20 lines changed or deleted | | 40 lines changed or added | |
|
| gpscom.h | | gpscom.h | |
| | | | |
| skipping to change at line 28 | | skipping to change at line 28 | |
| int32 GPS_Command_Send_Position(const char *port, double lat, double lon); | | int32 GPS_Command_Send_Position(const char *port, double lat, double lon); | |
| | | | |
| int32 GPS_Command_Pvt_On(const char *port, gpsdevh **fd); | | int32 GPS_Command_Pvt_On(const char *port, gpsdevh **fd); | |
| int32 GPS_Command_Pvt_Off(const char *port, gpsdevh **fd); | | int32 GPS_Command_Pvt_Off(const char *port, gpsdevh **fd); | |
| int32 GPS_Command_Pvt_Get(gpsdevh **fd, GPS_PPvt_Data *pvt); | | int32 GPS_Command_Pvt_Get(gpsdevh **fd, GPS_PPvt_Data *pvt); | |
| | | | |
| int32 GPS_Command_Get_Almanac(const char *port, GPS_PAlmanac **alm); | | int32 GPS_Command_Get_Almanac(const char *port, GPS_PAlmanac **alm); | |
| int32 GPS_Command_Send_Almanac(const char *port, GPS_PAlmanac *alm, int32
n); | | int32 GPS_Command_Send_Almanac(const char *port, GPS_PAlmanac *alm, int32
n); | |
| | | | |
| int32 GPS_Command_Get_Track(const char *port, GPS_PTrack **trk, int (*cb)(
int, struct GPS_SWay **)); | | int32 GPS_Command_Get_Track(const char *port, GPS_PTrack **trk, int (*cb)(
int, struct GPS_SWay **)); | |
|
| int32 GPS_Command_Send_Track(const char *port, GPS_PTrack *trk, int32 n); | | int32 GPS_Command_Send_Track(const char *port, GPS_PTrack *trk, int32 n, i
nt eraset); | |
| | | | |
| int32 GPS_Command_Get_Waypoint(const char *port, GPS_PWay **way,int (*cb)(
int, struct GPS_SWay **)); | | int32 GPS_Command_Get_Waypoint(const char *port, GPS_PWay **way,int (*cb)(
int, struct GPS_SWay **)); | |
| int32 GPS_Command_Send_Waypoint(const char *port, GPS_PWay *way, int32 n,
int (*cb)(struct GPS_SWay **)); | | int32 GPS_Command_Send_Waypoint(const char *port, GPS_PWay *way, int32 n,
int (*cb)(struct GPS_SWay **)); | |
| | | | |
| int32 GPS_Command_Get_Proximity(const char *port, GPS_PWay **way); | | int32 GPS_Command_Get_Proximity(const char *port, GPS_PWay **way); | |
| int32 GPS_Command_Send_Proximity(const char *port, GPS_PWay *way, int32 n)
; | | int32 GPS_Command_Send_Proximity(const char *port, GPS_PWay *way, int32 n)
; | |
| | | | |
| int32 GPS_Command_Get_Route(const char *port, GPS_PWay **way); | | int32 GPS_Command_Get_Route(const char *port, GPS_PWay **way); | |
| int32 GPS_Command_Send_Route(const char *port, GPS_PWay *way, int32 n); | | int32 GPS_Command_Send_Route(const char *port, GPS_PWay *way, int32 n); | |
| | | | |
| int32 GPS_Command_Get_Lap(const char *port, GPS_PLap **lap, int (*cb)(int,
struct GPS_SWay **)); | | int32 GPS_Command_Get_Lap(const char *port, GPS_PLap **lap, int (*cb)(int,
struct GPS_SWay **)); | |
| | | | |
|
| | | int32 GPS_Command_Send_Course(const char *port, GPS_PCourse *crs, GPS_PCou | |
| | | rse_Lap *clp, | |
| | | GPS_PTrack *trk, GPS_PCourse_Point *cpt, | |
| | | int32 n_crs, int32 n_clp, int32 n_trk, int32 | |
| | | n_cpt); | |
| | | int32 GPS_Command_Send_Track_As_Course(const char *port, GPS_PTrack *trk, | |
| | | int32 n_trk, | |
| | | GPS_PWay *wpt, int32 n_wpt, int era | |
| | | set); | |
| | | | |
| int32 GPS_Command_Get_Workout(const char *port, void **lap, int (*cb)(int,
struct GPS_SWay **)); | | int32 GPS_Command_Get_Workout(const char *port, void **lap, int (*cb)(int,
struct GPS_SWay **)); | |
| int32 GPS_Command_Get_Fitness_User_Profile(const char *port, void **lap, i
nt (*cb)(int, struct GPS_SWay **)); | | int32 GPS_Command_Get_Fitness_User_Profile(const char *port, void **lap, i
nt (*cb)(int, struct GPS_SWay **)); | |
| int32 GPS_Command_Get_Workout_Limits(const char *port, void **lap, int (*c
b)(int, struct GPS_SWay **)); | | int32 GPS_Command_Get_Workout_Limits(const char *port, void **lap, int (*c
b)(int, struct GPS_SWay **)); | |
|
| int32 GPS_Command_Get_Course(const char *port, void **lap, int (*cb)(int,
struct GPS_SWay **)); | | | |
| int32 GPS_Command_Get_Course_Limits(const char *port, void **lap, int (*cb
)(int, struct GPS_SWay **)); | | int32 GPS_Command_Get_Course_Limits(const char *port, void **lap, int (*cb
)(int, struct GPS_SWay **)); | |
| #endif | | #endif | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 11 lines changed or added | |
|
| gpsdatum.h | | gpsdatum.h | |
| | | | |
| skipping to change at line 45 | | skipping to change at line 45 | |
| { "International 1924", 6378388.000, 297.0 }, | | { "International 1924", 6378388.000, 297.0 }, | |
| { "Krassovsky 1940", 6378245.000, 298.3 }, | | { "Krassovsky 1940", 6378245.000, 298.3 }, | |
| { "GRS67", 6378160.000, 6356774.516 }, | | { "GRS67", 6378160.000, 6356774.516 }, | |
| { "GRS75", 6378140.000, 6356755.288 }, | | { "GRS75", 6378140.000, 6356755.288 }, | |
| { "GRS80", 6378137.000, 298.257222101 }, | | { "GRS80", 6378137.000, 298.257222101 }, | |
| { "S. American 1969", 6378160.000, 298.25 }, | | { "S. American 1969", 6378160.000, 298.25 }, | |
| { "WGS60", 6378165.000, 298.3 }, | | { "WGS60", 6378165.000, 298.3 }, | |
| { "WGS66", 6378145.000, 298.25 }, | | { "WGS66", 6378145.000, 298.25 }, | |
| { "WGS72", 6378135.000, 298.26 }, | | { "WGS72", 6378135.000, 298.26 }, | |
| { "WGS84", 6378137.000, 298.257223563 }, | | { "WGS84", 6378137.000, 298.257223563 }, | |
|
| | | { "Clarke 1880 (Benoit)", 6378300.789, 293.466 }, | |
| }; | | }; | |
| | | | |
| typedef struct GPS_SDatum | | typedef struct GPS_SDatum | |
| { | | { | |
| char *name; | | char *name; | |
| int ellipse; | | int ellipse; | |
| double dx; | | double dx; | |
| double dy; | | double dy; | |
| double dz; | | double dz; | |
| } GPS_ODatum, *GPS_PDatum; | | } GPS_ODatum, *GPS_PDatum; | |
| | | | |
| skipping to change at line 182 | | skipping to change at line 183 | |
| /* 114 */ { "United Arab Emirates", 6, -249, -156, 381 }, | | /* 114 */ { "United Arab Emirates", 6, -249, -156, 381 }, | |
| /* 115 */ { "Viti Levu 1916", 6, 51, 391, -36 }, | | /* 115 */ { "Viti Levu 1916", 6, 51, 391, -36 }, | |
| /* 116 */ { "Wake Eniwetok 60", 15, 101, 52, -39 }, | | /* 116 */ { "Wake Eniwetok 60", 15, 101, 52, -39 }, | |
| /* 117 */ { "WGS 72", 25, 0, 0, 5 }, | | /* 117 */ { "WGS 72", 25, 0, 0, 5 }, | |
| /* 118 */ { "WGS 84", 26, 0, 0, 0 }, | | /* 118 */ { "WGS 84", 26, 0, 0, 0 }, | |
| /* 119 */ { "Yacare", 17, -155, 171, 37 }, | | /* 119 */ { "Yacare", 17, -155, 171, 37 }, | |
| /* 120 */ { "Zanderij", 17, -265, 120, -358 }, | | /* 120 */ { "Zanderij", 17, -265, 120, -358 }, | |
| /* 121 */ { "Sweden", 4, 424.3, -80.5, 613.1 }, | | /* 121 */ { "Sweden", 4, 424.3, -80.5, 613.1 }, | |
| /* 122 */ { "GDA 94", 21, 0, 0, 0 }, | | /* 122 */ { "GDA 94", 21, 0, 0, 0 }, | |
| /* 123 */ { "CH-1903", 4, 674, 15, 405 }, | | /* 123 */ { "CH-1903", 4, 674, 15, 405 }, | |
|
| | | /* 124 */ { "Palestine 1923", 27, -235, -85, 264 }, | |
| | | /* 125 */ { "ITM (Israeli New)", 21, -48, 55, -52 }, | |
| { NULL, 0, 0, 0, 0 } | | { NULL, 0, 0, 0, 0 } | |
| }; | | }; | |
| | | | |
| typedef struct GPS_SDatum_Alias | | typedef struct GPS_SDatum_Alias | |
| { | | { | |
| char *alias; | | char *alias; | |
| const int datum; | | const int datum; | |
| } GPS_ODatum_Alias, *GPS_PDatum_Alias; | | } GPS_ODatum_Alias, *GPS_PDatum_Alias; | |
| | | | |
| GPS_ODatum_Alias GPS_DatumAlias[] = | | GPS_ODatum_Alias GPS_DatumAlias[] = | |
| { | | { | |
| { "Australian GDA94", 122 }, | | { "Australian GDA94", 122 }, | |
|
| | | { "Australian Geocentric 1994 (GDA94)", 122}, /* Observed in Ozi */ | |
| { "GDA94", 122 }, | | { "GDA94", 122 }, | |
| { "GDA-94", 122 }, | | { "GDA-94", 122 }, | |
| { "CH1903", 123 }, | | { "CH1903", 123 }, | |
| { "CH 1903", 123 }, | | { "CH 1903", 123 }, | |
|
| | | { "European 1950 (Spain and Portugal)", 38 }, | |
| { "Geodetic Datum 1949", 42 }, | | { "Geodetic Datum 1949", 42 }, | |
| { "NAD27 Alaska", 3 }, | | { "NAD27 Alaska", 3 }, | |
| { "NAD27 Bahamas", 14 }, | | { "NAD27 Bahamas", 14 }, | |
| { "NAD27 Canada", 4 }, | | { "NAD27 Canada", 4 }, | |
| { "NAD27 Canal Zone", 21 }, | | { "NAD27 Canal Zone", 21 }, | |
| { "NAD27 Caribbean", 25 }, | | { "NAD27 Caribbean", 25 }, | |
| { "NAD27 Central", 27 }, | | { "NAD27 Central", 27 }, | |
| { "NAD27 CONUS", 78 }, | | { "NAD27 CONUS", 78 }, | |
| { "NAD27 Cuba", 31 }, | | { "NAD27 Cuba", 31 }, | |
| { "NAD27 Greenland", 44 }, | | { "NAD27 Greenland", 44 }, | |
| | | | |
| skipping to change at line 219 | | skipping to change at line 224 | |
| { "NAD83", 77 }, | | { "NAD83", 77 }, | |
| { "NAD 83", 77 }, | | { "NAD 83", 77 }, | |
| { "NAD-83", 77 }, | | { "NAD-83", 77 }, | |
| { "OSGB 36", 86 }, | | { "OSGB 36", 86 }, | |
| { "OSGB-36", 86 }, | | { "OSGB-36", 86 }, | |
| { "Wake-Eniwetok 1960", 116 }, | | { "Wake-Eniwetok 1960", 116 }, | |
| { "WGS72", 117 }, | | { "WGS72", 117 }, | |
| { "WGS-72", 117 }, | | { "WGS-72", 117 }, | |
| { "WGS84", 118 }, | | { "WGS84", 118 }, | |
| { "WGS-84", 118 }, | | { "WGS-84", 118 }, | |
|
| | | { "Israeli", 124 }, | |
| | | { "D_Israel_new", 125 }, | |
| { NULL, -1 } | | { NULL, -1 } | |
| }; | | }; | |
| | | | |
| /* UK Ordnance Survey Nation Grid Map Codes */ | | /* UK Ordnance Survey Nation Grid Map Codes */ | |
| static char *UKNG[]= | | static char *UKNG[]= | |
| { | | { | |
| "SV","SW","SX","SY","SZ","TV","TW","SQ","SR","SS","ST","SU","TQ","TR", | | "SV","SW","SX","SY","SZ","TV","TW","SQ","SR","SS","ST","SU","TQ","TR", | |
| "SL","SM","SN","SO","SP","TL","TM","SF","SG","SH","SJ","SK","TF","TG", | | "SL","SM","SN","SO","SP","TL","TM","SF","SG","SH","SJ","SK","TF","TG", | |
| "SA","SB","SC","SD","SE","TA","TB","NV","NW","NX","NY","NZ","OV","OW", | | "SA","SB","SC","SD","SE","TA","TB","NV","NW","NX","NY","NZ","OV","OW", | |
| "NQ","NR","NS","NT","NU","OQ","OR","NL","NM","NN","NO","NP","OL","OM", | | "NQ","NR","NS","NT","NU","OQ","OR","NL","NM","NN","NO","NP","OL","OM", | |
| | | | |
End of changes. 5 change blocks. |
| 0 lines changed or deleted | | 7 lines changed or added | |
|