parent
bf2bca4e61
commit
6933c3614f
@ -1 +0,0 @@
|
||||
# Calculate append=skip
|
@ -1 +0,0 @@
|
||||
# Calculate merge()!= append=skip
|
@ -1,481 +0,0 @@
|
||||
# Calculate format=diff pkg(sci-geosciences/opencpn)=>5.0.0,5.0.0-r1
|
||||
From 714eec475f48296dc3bafed32ed2d98c817fc3f8 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Fri, 17 Apr 2020 17:38:55 +0200
|
||||
Subject: [PATCH] src/garmin: Fix GCC 10 FTBS
|
||||
|
||||
---
|
||||
src/garmin/jeeps/garmin_gps.h | 6 +-
|
||||
src/garmin/jeeps/garminusb.h | 2 +-
|
||||
src/garmin/jeeps/gpsapp.c | 136 +++++++++++++++++----------------
|
||||
src/garmin/jeeps/gpsprot.h | 90 +++++++++++-----------
|
||||
4 files changed, 121 insertions(+), 113 deletions(-)
|
||||
|
||||
diff --git a/src/garmin/jeeps/garmin_gps.h b/libs/garmin/jeeps/garmin_gps.h
|
||||
index 1199af7185..9fa28fdcd4 100644
|
||||
--- a/src/garmin/jeeps/garmin_gps.h
|
||||
+++ b/src/garmin/jeeps/garmin_gps.h
|
||||
@@ -298,9 +298,9 @@ typedef int (*pcb_fn) (int, struct GPS_SWay **);
|
||||
#include "gpsinput.h"
|
||||
#include "gpsproj.h"
|
||||
|
||||
-time_t gps_save_time;
|
||||
-double gps_save_lat;
|
||||
-double gps_save_lon;
|
||||
+extern time_t gps_save_time;
|
||||
+extern double gps_save_lat;
|
||||
+extern double gps_save_lon;
|
||||
extern int32 gps_save_id;
|
||||
extern double gps_save_version;
|
||||
extern char gps_save_string[GPS_ARB_LEN];
|
||||
diff --git a/libs/garmin/jeeps/garminusb.h b/libs/garmin/jeeps/garminusb.h
|
||||
index 0abb701f18..31a89b1e6e 100644
|
||||
--- a/src/garmin/jeeps/garminusb.h
|
||||
+++ b/src/garmin/jeeps/garminusb.h
|
||||
@@ -46,7 +46,7 @@ union {
|
||||
* OS implementation.
|
||||
*/
|
||||
#define GUSB_MAX_UNITS 20
|
||||
-struct garmin_unit_info {
|
||||
+extern struct garmin_unit_info {
|
||||
unsigned long serial_number;
|
||||
unsigned long unit_id;
|
||||
unsigned long unit_version;
|
||||
diff --git a/src/garmin/jeeps/gpsapp.c b/src/garmin/jeeps/gpsapp.c
|
||||
index 1a688b0bb9..c1e9ff5232 100644
|
||||
--- a/src/garmin/jeeps/gpsapp.c
|
||||
+++ b/src/garmin/jeeps/gpsapp.c
|
||||
@@ -38,6 +38,77 @@
|
||||
|
||||
#define XMIN(a,b) (a < b? a : b)
|
||||
|
||||
+static UC Is_Trackpoint_Invalid(GPS_PTrack trk);
|
||||
+
|
||||
+time_t gps_save_time = {0};
|
||||
+double gps_save_lat = 0;
|
||||
+double gps_save_lon = 0;
|
||||
+#define GUSB_MAX_UNITS 20
|
||||
+struct garmin_unit_info garmin_unit_info[GUSB_MAX_UNITS];
|
||||
+
|
||||
+int32 gps_category_type;
|
||||
+int32 gps_category_transfer;
|
||||
+
|
||||
+#if 0
|
||||
+gps_date_time_transfer = pA600;
|
||||
+gps_date_time_type = pD600; /* All models so far */
|
||||
+gps_position_transfer = pA700;
|
||||
+gps_position_type = pD700; /* All models so far */
|
||||
+#else
|
||||
+int32 gps_date_time_transfer = -1;
|
||||
+int32 gps_date_time_type = -1;
|
||||
+int32 gps_position_transfer = -1;
|
||||
+int32 gps_position_type = -1;
|
||||
+#endif
|
||||
+int32 gps_pvt_transfer = -1;
|
||||
+int32 gps_pvt_type = -1;
|
||||
+int32 gps_trk_transfer = -1;
|
||||
+int32 gps_trk_type = -1;
|
||||
+int32 gps_trk_hdr_type = -1;
|
||||
+int32 gps_rte_link_type = -1;
|
||||
+
|
||||
+int32 gps_waypt_transfer = -1;
|
||||
+int32 gps_waypt_type = -1;
|
||||
+int32 gps_route_transfer = -1;
|
||||
+int32 gps_rte_hdr_type = -1;
|
||||
+int32 gps_rte_type = -1;
|
||||
+
|
||||
+int32 gps_prx_waypt_transfer = -1;
|
||||
+int32 gps_prx_waypt_type = -1;
|
||||
+int32 gps_almanac_transfer = -1;
|
||||
+int32 gps_almanac_type = -1;
|
||||
+
|
||||
+int32 gps_lap_transfer = -1;
|
||||
+int32 gps_lap_type = -1;
|
||||
+int32 gps_run_transfer = -1;
|
||||
+int32 gps_run_type = -1;
|
||||
+int32 gps_run_crs_trk_type = -1;
|
||||
+int32 gps_run_crs_trk_hdr_type = -1;
|
||||
+int32 gps_workout_transfer = -1;
|
||||
+int32 gps_workout_type = -1;
|
||||
+int32 gps_workout_occurrence_type = -1;
|
||||
+int32 gps_user_profile_transfer = -1;
|
||||
+int32 gps_user_profile_type = -1;
|
||||
+int32 gps_workout_limits_transfer = -1;
|
||||
+int32 gps_workout_limits_type = -1;
|
||||
+int32 gps_course_transfer = -1;
|
||||
+int32 gps_course_type = -1;
|
||||
+int32 gps_course_lap_transfer = -1;
|
||||
+int32 gps_course_lap_type = -1;
|
||||
+int32 gps_course_point_transfer = -1;
|
||||
+int32 gps_course_point_type = -1;
|
||||
+int32 gps_course_limits_transfer = -1;
|
||||
+int32 gps_course_limits_type = -1;
|
||||
+int32 gps_course_trk_transfer = -1;
|
||||
+int32 gps_device_command = -1;
|
||||
+int32 gps_link_type = -1;
|
||||
+
|
||||
+int32 gps_save_id;
|
||||
+int gps_is_usb;
|
||||
+double gps_save_version;
|
||||
+char gps_save_string[GPS_ARB_LEN];
|
||||
+
|
||||
+
|
||||
static int32 GPS_A000(const char *port);
|
||||
static void GPS_A001(GPS_PPacket packet);
|
||||
|
||||
@@ -103,14 +174,6 @@ static void GPS_D501_Send(UC *data, GPS_PAlmanac alm);
|
||||
static void GPS_D550_Send(UC *data, GPS_PAlmanac alm);
|
||||
static void GPS_D551_Send(UC *data, GPS_PAlmanac alm);
|
||||
|
||||
-static UC Is_Trackpoint_Invalid(GPS_PTrack trk);
|
||||
-
|
||||
-
|
||||
-int32 gps_save_id;
|
||||
-int gps_is_usb;
|
||||
-double gps_save_version;
|
||||
-char gps_save_string[GPS_ARB_LEN];
|
||||
-
|
||||
void VerifySerialPortClosed(void); /* In gpsserial.c */
|
||||
|
||||
void VerifyPortClosed()
|
||||
@@ -255,62 +318,7 @@ static int32 GPS_A000(const char *port)
|
||||
GPS_User("Unit:\t%s\nID:\t%d\nVersion:\t%.2f",
|
||||
gps_save_string, gps_save_id, gps_save_version);
|
||||
|
||||
-#if 0
|
||||
- gps_date_time_transfer = pA600;
|
||||
- gps_date_time_type = pD600; /* All models so far */
|
||||
- gps_position_transfer = pA700;
|
||||
- gps_position_type = pD700; /* All models so far */
|
||||
-#else
|
||||
- gps_date_time_transfer = -1;
|
||||
- gps_date_time_type = -1;
|
||||
- gps_position_transfer = -1;
|
||||
- gps_position_type = -1;
|
||||
-#endif
|
||||
- gps_pvt_transfer = -1;
|
||||
- gps_pvt_type = -1;
|
||||
- gps_trk_transfer = -1;
|
||||
- gps_trk_type = -1;
|
||||
- gps_trk_hdr_type = -1;
|
||||
- gps_rte_link_type = -1;
|
||||
-
|
||||
- gps_waypt_transfer = -1;
|
||||
- gps_waypt_type = -1;
|
||||
- gps_route_transfer = -1;
|
||||
- gps_rte_hdr_type = -1;
|
||||
- gps_rte_type = -1;
|
||||
-
|
||||
- gps_prx_waypt_transfer = -1;
|
||||
- gps_prx_waypt_type = -1;
|
||||
- gps_almanac_transfer = -1;
|
||||
- gps_almanac_type = -1;
|
||||
-
|
||||
- gps_lap_transfer = -1;
|
||||
- gps_lap_type = -1;
|
||||
- gps_run_transfer = -1;
|
||||
- gps_run_type = -1;
|
||||
- gps_run_crs_trk_type = -1;
|
||||
- gps_run_crs_trk_hdr_type = -1;
|
||||
- gps_workout_transfer = -1;
|
||||
- gps_workout_type = -1;
|
||||
- gps_workout_occurrence_type = -1;
|
||||
- gps_user_profile_transfer = -1;
|
||||
- gps_user_profile_type = -1;
|
||||
- gps_workout_limits_transfer = -1;
|
||||
- gps_workout_limits_type = -1;
|
||||
- gps_course_transfer = -1;
|
||||
- gps_course_type = -1;
|
||||
- gps_course_lap_transfer = -1;
|
||||
- gps_course_lap_type = -1;
|
||||
- gps_course_point_transfer = -1;
|
||||
- gps_course_point_type = -1;
|
||||
- gps_course_limits_transfer = -1;
|
||||
- gps_course_limits_type = -1;
|
||||
- gps_course_trk_transfer = -1;
|
||||
-
|
||||
- gps_device_command = -1;
|
||||
- gps_link_type = -1;
|
||||
-
|
||||
- if(!GPS_Device_Wait(fd))
|
||||
+ if(!GPS_Device_Wait(fd))
|
||||
{
|
||||
GPS_Warning("A001 protocol not supported");
|
||||
id = GPS_Protocol_Version_Change(id,version);
|
||||
diff --git a/src/garmin/jeeps/gpsprot.h b/src/garmin/jeeps/gpsprot.h
|
||||
index e103b4157a..523ec737d2 100644
|
||||
--- a/src/garmin/jeeps/gpsprot.h
|
||||
+++ b/src/garmin/jeeps/gpsprot.h
|
||||
@@ -88,7 +88,7 @@ struct LINKDATA
|
||||
#define pA010 10
|
||||
#define pA011 11
|
||||
|
||||
-int32 gps_device_command;
|
||||
+extern int32 gps_device_command;
|
||||
|
||||
|
||||
struct COMMANDDATA
|
||||
@@ -127,20 +127,20 @@ struct COMMANDDATA
|
||||
* Waypoint Transfer Protocol
|
||||
*/
|
||||
#define pA100 100
|
||||
-int32 gps_waypt_transfer;
|
||||
+extern int32 gps_waypt_transfer;
|
||||
|
||||
/*
|
||||
* Waypoint category transfer protocol
|
||||
*/
|
||||
#define pA101 101
|
||||
-int32 gps_category_transfer;
|
||||
+extern int32 gps_category_transfer;
|
||||
|
||||
/*
|
||||
* Route Transfer Protocol
|
||||
*/
|
||||
#define pA200 200
|
||||
#define pA201 201
|
||||
-int32 gps_route_transfer;
|
||||
+extern int32 gps_route_transfer;
|
||||
|
||||
/*
|
||||
* Track Log Transfer Protocol
|
||||
@@ -149,26 +149,26 @@ int32 gps_route_transfer;
|
||||
#define pA301 301
|
||||
#define pA302 302
|
||||
#define pA304 304
|
||||
-int32 gps_trk_transfer;
|
||||
+extern int32 gps_trk_transfer;
|
||||
|
||||
/*
|
||||
* Proximity Waypoint Transfer Protocol
|
||||
*/
|
||||
#define pA400 400
|
||||
-int32 gps_prx_waypt_transfer;
|
||||
+extern int32 gps_prx_waypt_transfer;
|
||||
|
||||
/*
|
||||
* Almanac Transfer Protocol
|
||||
*/
|
||||
#define pA500 500
|
||||
-int32 gps_almanac_transfer;
|
||||
+extern int32 gps_almanac_transfer;
|
||||
|
||||
|
||||
/*
|
||||
* Date Time Transfer
|
||||
*/
|
||||
#define pA600 600
|
||||
-int32 gps_date_time_transfer;
|
||||
+extern int32 gps_date_time_transfer;
|
||||
|
||||
/*
|
||||
* FlightBook Transfer Protocol
|
||||
@@ -180,42 +180,42 @@ int32 gps_date_time_transfer;
|
||||
* Position
|
||||
*/
|
||||
#define pA700 700
|
||||
-int32 gps_position_transfer;
|
||||
+extern int32 gps_position_transfer;
|
||||
|
||||
|
||||
/*
|
||||
* Pvt
|
||||
*/
|
||||
#define pA800 800
|
||||
-int32 gps_pvt_transfer;
|
||||
+extern int32 gps_pvt_transfer;
|
||||
|
||||
/*
|
||||
* Lap Data Transfer
|
||||
*/
|
||||
#define pA906 906
|
||||
-int32 gps_lap_transfer;
|
||||
+extern int32 gps_lap_transfer;
|
||||
|
||||
/*
|
||||
* Various fitness related
|
||||
*/
|
||||
#define pA1000 1000
|
||||
-int32 gps_run_transfer;
|
||||
+extern int32 gps_run_transfer;
|
||||
#define pA1002 1002
|
||||
-int32 gps_workout_transfer;
|
||||
+extern int32 gps_workout_transfer;
|
||||
#define pA1004 1004
|
||||
-int32 gps_user_profile_transfer;
|
||||
+extern int32 gps_user_profile_transfer;
|
||||
#define pA1005 1005
|
||||
-int32 gps_workout_limits_transfer;
|
||||
+extern int32 gps_workout_limits_transfer;
|
||||
#define pA1006 1006
|
||||
-int32 gps_course_transfer;
|
||||
+extern int32 gps_course_transfer;
|
||||
#define pA1007 1007
|
||||
-int32 gps_course_lap_transfer;
|
||||
+extern int32 gps_course_lap_transfer;
|
||||
#define pA1008 1008
|
||||
-int32 gps_course_point_transfer;
|
||||
+extern int32 gps_course_point_transfer;
|
||||
#define pA1009 1009
|
||||
-int32 gps_course_limits_transfer;
|
||||
+extern int32 gps_course_limits_transfer;
|
||||
#define pA1012 1012
|
||||
-int32 gps_course_trk_transfer;
|
||||
+extern int32 gps_course_trk_transfer;
|
||||
|
||||
/*
|
||||
* Waypoint D Type
|
||||
@@ -237,14 +237,14 @@ int32 gps_course_trk_transfer;
|
||||
#define pD154 154
|
||||
#define pD155 155
|
||||
|
||||
-int32 gps_rte_type;
|
||||
-int32 gps_waypt_type;
|
||||
+extern int32 gps_rte_type;
|
||||
+extern int32 gps_waypt_type;
|
||||
|
||||
/*
|
||||
* Waypoint category types
|
||||
*/
|
||||
#define pD120 120
|
||||
-int32 gps_category_type;
|
||||
+extern int32 gps_category_type;
|
||||
|
||||
/*
|
||||
* Rte Header Type
|
||||
@@ -252,14 +252,14 @@ int32 gps_category_type;
|
||||
#define pD200 200
|
||||
#define pD201 201
|
||||
#define pD202 202
|
||||
-int32 gps_rte_hdr_type;
|
||||
+extern int32 gps_rte_hdr_type;
|
||||
|
||||
|
||||
/*
|
||||
* Rte Link Type
|
||||
*/
|
||||
#define pD210 210
|
||||
-int32 gps_rte_link_type;
|
||||
+extern int32 gps_rte_link_type;
|
||||
|
||||
|
||||
/*
|
||||
@@ -270,8 +270,8 @@ int32 gps_rte_link_type;
|
||||
#define pD302 302
|
||||
#define pD303 303
|
||||
#define pD304 304
|
||||
-int32 gps_trk_type;
|
||||
-int32 gps_run_crs_trk_type;
|
||||
+extern int32 gps_trk_type;
|
||||
+extern int32 gps_run_crs_trk_type;
|
||||
|
||||
|
||||
/*
|
||||
@@ -280,8 +280,8 @@ int32 gps_run_crs_trk_type;
|
||||
#define pD310 310
|
||||
#define pD311 311
|
||||
#define pD312 312
|
||||
-int32 gps_trk_hdr_type;
|
||||
-int32 gps_run_crs_trk_hdr_type;
|
||||
+extern int32 gps_trk_hdr_type;
|
||||
+extern int32 gps_run_crs_trk_hdr_type;
|
||||
|
||||
|
||||
|
||||
@@ -292,7 +292,7 @@ int32 gps_run_crs_trk_hdr_type;
|
||||
#define pD403 403
|
||||
#define pD450 450
|
||||
|
||||
-int32 gps_prx_waypt_type;
|
||||
+extern int32 gps_prx_waypt_type;
|
||||
|
||||
|
||||
/*
|
||||
@@ -303,7 +303,7 @@ int32 gps_prx_waypt_type;
|
||||
#define pD550 550
|
||||
#define pD551 551
|
||||
|
||||
-int32 gps_almanac_type;
|
||||
+extern int32 gps_almanac_type;
|
||||
|
||||
|
||||
/*
|
||||
@@ -311,7 +311,7 @@ int32 gps_almanac_type;
|
||||
*/
|
||||
#define pD600 600
|
||||
|
||||
-int32 gps_date_time_type;
|
||||
+extern int32 gps_date_time_type;
|
||||
|
||||
|
||||
|
||||
@@ -320,7 +320,7 @@ int32 gps_date_time_type;
|
||||
*/
|
||||
#define pD700 700
|
||||
|
||||
-int32 gps_position_type;
|
||||
+extern int32 gps_position_type;
|
||||
|
||||
|
||||
|
||||
@@ -329,7 +329,7 @@ int32 gps_position_type;
|
||||
*/
|
||||
#define pD800 800
|
||||
|
||||
-int32 gps_pvt_type;
|
||||
+extern int32 gps_pvt_type;
|
||||
|
||||
/*
|
||||
* Lap Data Type
|
||||
@@ -339,7 +339,7 @@ int32 gps_pvt_type;
|
||||
#define pD1011 1011
|
||||
#define pD1015 1015
|
||||
|
||||
-int32 gps_lap_type;
|
||||
+extern int32 gps_lap_type;
|
||||
|
||||
/*
|
||||
* Various fitness related
|
||||
@@ -347,24 +347,24 @@ int32 gps_lap_type;
|
||||
#define pD1000 1000
|
||||
#define pD1009 1009
|
||||
#define pD1010 1010
|
||||
-int32 gps_run_type;
|
||||
+extern int32 gps_run_type;
|
||||
#define pD1002 1002
|
||||
#define pD1008 1008
|
||||
-int32 gps_workout_type;
|
||||
+extern int32 gps_workout_type;
|
||||
#define pD1003 1003
|
||||
-int32 gps_workout_occurrence_type;
|
||||
+extern int32 gps_workout_occurrence_type;
|
||||
#define pD1004 1004
|
||||
-int32 gps_user_profile_type;
|
||||
+extern int32 gps_user_profile_type;
|
||||
#define pD1005 1005
|
||||
-int32 gps_workout_limits_type;
|
||||
+extern int32 gps_workout_limits_type;
|
||||
#define pD1006 1006
|
||||
-int32 gps_course_type;
|
||||
+extern int32 gps_course_type;
|
||||
#define pD1007 1007
|
||||
-int32 gps_course_lap_type;
|
||||
+extern int32 gps_course_lap_type;
|
||||
#define pD1012 1012
|
||||
-int32 gps_course_point_type;
|
||||
+extern int32 gps_course_point_type;
|
||||
#define pD1013 1013
|
||||
-int32 gps_course_limits_type;
|
||||
+extern int32 gps_course_limits_type;
|
||||
|
||||
/*
|
||||
* Link protocol type
|
||||
@@ -373,7 +373,7 @@ int32 gps_course_limits_type;
|
||||
#define pL001 1
|
||||
#define pL002 2
|
||||
|
||||
-int32 gps_link_type;
|
||||
+extern int32 gps_link_type;
|
||||
|
||||
|
||||
|
Loading…
Reference in new issue