patches: carry forward ugps AFC fields (0026)

Adds AFC (Automated Frequency Coordination) related fields to ubus GPS info command.

Renumbered from patches/0076.

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2025-10-19 00:00:00 +02:00
parent 2837f4406a
commit 1e0b4da8c1

View File

@@ -1,51 +1,56 @@
From 68f93efdb492ae6fc62855766383fd7184823454 Mon Sep 17 00:00:00 2001 From c680c42bd8810b7b826be073caa0910c53eec049 Mon Sep 17 00:00:00 2001
From: Tanya Singh <tanya.singh@4ipnet.com> From: Tanya Singh <tanya.singh@4ipnet.com>
Date: Wed, 11 Sep 2024 18:46:59 +0800 Date: Wed, 11 Sep 2024 18:46:59 +0800
Subject: [PATCH] Add AFC related fields to 'ubus call gps info' command Subject: [PATCH 26/55] ugps: Add AFC related fields to 'ubus call gps info'
command
Adds GST (error ellipse) and GSA (VDOP) NMEA sentence parsing to provide AFC-required uncertainty metrics for 6 GHz operation.
Signed-off-by: John Crispin <john@phrozen.org>
--- ---
.../001-ubus-gps-add-gst-gsa.patch | 94 +++++++++++++++++++ .../patches/001-ubus-gps-add-gst-gsa.patch | 78 +++++++++++++++++++
1 file changed, 94 insertions(+) 1 file changed, 78 insertions(+)
create mode 100644 package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch create mode 100644 package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch
diff --git a/package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch b/package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch diff --git a/package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch b/package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch
new file mode 100644 new file mode 100644
index 0000000000..dbb2769e40 index 0000000000..0333604813
--- /dev/null --- /dev/null
+++ b/package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch +++ b/package/utils/ugps/patches/001-ubus-gps-add-gst-gsa.patch
@@ -0,0 +1,94 @@ @@ -0,0 +1,78 @@
+--- ugps-2021-07-19-a8171a07.orig/nmea.h 2024-09-11 18:38:04.960719689 +0800 +--- a/nmea.h
++++ ugps-2021-07-19-a8171a07/nmea.h 2024-09-11 18:39:21.029376727 +0800 ++++ b/nmea.h
+@@ -23,7 +23,7 @@ +@@ -23,7 +23,7 @@
+ +
+ #include <libubox/ustream.h> + #include <libubox/ustream.h>
+ +
+-extern char longitude[33], latitude[33], course[17], speed[17], elevation[17]; +-extern char longitude[33], latitude[33], course[17], speed[17], elevation[17], satellites[3], hdop[5];
++extern char longitude[33], latitude[33], course[17], speed[17], elevation[17], major_axis[17], minor_axis[17], major_orientation[17], vdop[17]; ++extern char longitude[33], latitude[33], course[17], speed[17], elevation[17], satellites[3], hdop[5], major_axis[17], minor_axis[17], major_orientation[17], vdop[17];
+ extern int nmea_open(char *dev, struct ustream_fd *s, speed_t speed); + extern int nmea_open(char *dev, struct ustream_fd *s, speed_t speed);
+ extern void gps_timestamp(void); + extern void gps_timestamp(void);
+ extern unsigned int adjust_clock; + extern unsigned int adjust_clock;
+@@ -33,5 +33,7 @@ +@@ -35,5 +35,8 @@ extern char gps_fields;
+ #define GPS_FIELD_COG (1<<2)
+ #define GPS_FIELD_SPD (1<<3)
+ #define GPS_FIELD_ALT (1<<4) + #define GPS_FIELD_ALT (1<<4)
+- + #define GPS_FIELD_SAT (1<<5)
++#define GPS_FIELD_MAJ (1<<5) + #define GPS_FIELD_HDP (1<<6)
++#define GPS_FIELD_MIN (1<<6) ++#define GPS_FIELD_MAJ (1<<7)
++#define GPS_FIELD_VDOP (1<<7) ++#define GPS_FIELD_MIN (1<<8)
++#define GPS_FIELD_VDOP (1<<9)
+
+ #endif + #endif
+--- ugps-2021-07-19-a8171a07.orig/nmea.c 2024-09-11 18:38:13.452792960 +0800 +--- a/nmea.c
++++ ugps-2021-07-19-a8171a07/nmea.c 2024-09-11 18:40:00.425717593 +0800 ++++ b/nmea.c
+@@ -52,7 +52,7 @@ +@@ -52,7 +52,8 @@ struct nmea_param {
+ } nmea_params[MAX_NMEA_PARAM]; + } nmea_params[MAX_NMEA_PARAM];
+ +
+ static int nmea_bad_time; + static int nmea_bad_time;
+-char longitude[33] = { 0 }, latitude[33] = { 0 }, course[17] = { 0 }, speed[17] = { 0 }, elevation[17] = { 0 }; +-char longitude[33] = { 0 }, latitude[33] = { 0 }, course[17] = { 0 }, speed[17] = { 0 }, elevation[17] = { 0 }, satellites[3] = { 0 }, hdop[5] = { 0 };
++char longitude[33] = { 0 }, latitude[33] = { 0 }, course[17] = { 0 }, speed[17] = { 0 }, elevation[17] = { 0 }, major_axis[17] = { 0 }, minor_axis[17] = { 0 }, major_orientation[17] = { 0 }, vdop[17] = { 0 }; ++char longitude[33] = { 0 }, latitude[33] = { 0 }, course[17] = { 0 }, speed[17] = { 0 }, elevation[17] = { 0 }, satellites[3] = { 0 }, hdop[5] = { 0 },
++ major_axis[17] = { 0 }, minor_axis[17] = { 0 }, major_orientation[17] = { 0 }, vdop[17] = { 0 };
+ int gps_valid = 0; + int gps_valid = 0;
+ char gps_fields = 0; + char gps_fields = 0;
+ +
+@@ -239,6 +239,30 @@ +@@ -243,6 +244,30 @@ nmea_vtg_cb(void)
+ DEBUG(4, "speed: %s\n", speed); + DEBUG(4, "speed: %s\n", speed);
+ } + }
+ +
@@ -76,7 +81,7 @@ index 0000000000..dbb2769e40
+ static struct nmea_msg { + static struct nmea_msg {
+ char *msg; + char *msg;
+ int cnt; + int cnt;
+@@ -268,6 +292,14 @@ +@@ -272,6 +297,14 @@ static struct nmea_msg {
+ .msg = "ZDA", + .msg = "ZDA",
+ .cnt = 5, + .cnt = 5,
+ .handler = nmea_zda_cb, + .handler = nmea_zda_cb,
@@ -91,23 +96,6 @@ index 0000000000..dbb2769e40
+ }, + },
+ }; + };
+ +
+--- ugps-2021-07-19-a8171a07.orig/main.c 2024-09-11 18:38:23.620880720 +0800
++++ ugps-2021-07-19-a8171a07/main.c 2024-09-11 18:40:24.681927642 +0800
+@@ -66,6 +66,14 @@
+ blobmsg_add_string(&b, "course", course);
+ if (gps_fields & GPS_FIELD_SPD)
+ blobmsg_add_string(&b, "speed", speed);
++ if (gps_fields & GPS_FIELD_MAJ) {
++ blobmsg_add_string(&b, "major_axis", major_axis);
++ blobmsg_add_string(&b, "major_orientation", major_orientation);
++ }
++ if (gps_fields & GPS_FIELD_MIN)
++ blobmsg_add_string(&b, "minor_axis", minor_axis);
++ if (gps_fields & GPS_FIELD_VDOP)
++ blobmsg_add_string(&b, "vdop", vdop);
+ }
+ ubus_send_reply(ctx, req, b.head);
+
-- --
2.34.1 2.34.1