From 98477f39384dea6c49c31285d4b0b0e84bad9815 Mon Sep 17 00:00:00 2001 From: christianrowlands Date: Tue, 13 Feb 2024 08:18:29 -0500 Subject: [PATCH] Adds two more sets of optional location fields to the device status message, one for GNSS and one for Network based locations. - These locations can be used to compare the different location providers for accuracy and further location analysis --- CHANGELOG.md | 3 ++ .../asyncapi/network_survey_messaging.yaml | 47 +++++++++++++++++++ .../com/craxiom/messaging/device_status.proto | 9 ++++ 3 files changed, 59 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e30c82..a0e91f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## [1.1.0](https://github.com/christianrowlands/network-survey-messaging/releases/tag/v1.1.0) - 2024-02-13 +* Adds two more sets of optional location fields to the device status message, one for GNSS and one for Network based locations. + ## [1.0.0](https://github.com/christianrowlands/network-survey-messaging/releases/tag/v1.0.0) - 2024-01-26 * Adds 802.11be (Wi-Fi 7) to the list of 802.11 standards. * Adds the bandwidth field to the Wi-Fi Beacon record. diff --git a/src/main/asyncapi/network_survey_messaging.yaml b/src/main/asyncapi/network_survey_messaging.yaml index 4f6a040..e3496fd 100644 --- a/src/main/asyncapi/network_survey_messaging.yaml +++ b/src/main/asyncapi/network_survey_messaging.yaml @@ -1584,6 +1584,53 @@ components: $ref: '#/components/schemas/error' mdmOverride: $ref: '#/components/schemas/mdmOverride' + gnssLatitude: + type: number + format: double + description: The latitude as obtained from the GNSS location provider. This is an additional value to the regular latitude and is only provided for comparison and analysis purposes. + example: 51.470334 + gnssLongitude: + type: number + format: double + description: The longitude as obtained from the GNSS location provider. This is an additional value to the regular longitude and is only provided for comparison and analysis purposes. + example: -0.486594 + gnssAltitude: + type: number + format: float + description: >- + The altitude in meters above MSL as obtained from the GNSS location provider. This is an additional value to the regular altitude and is only provided for comparison and analysis purposes. + example: 13.3 + gnssAccuracy: + type: integer + format: int32 + minimum: 0 + description: >- + The estimated horizontal accuracy of the provided location in meters as obtained from the GNSS location provider. This is an additional value to the regular accuracy and is only provided for comparison and analysis purposes. + example: 40 + networkLatitude: + type: number + format: double + description: The latitude as obtained from the Network based location provider (e.g. Cellular and/or Wi-Fi). This is an additional value to the regular latitude and is only provided for comparison and analysis purposes. + example: 51.470334 + networkLongitude: + type: number + format: double + description: The longitude as obtained from the Network based location provider (e.g. Cellular and/or Wi-Fi). This is an additional value to the regular longitude and is only provided for comparison and analysis purposes. + example: -0.486594 + networkAltitude: + type: number + format: float + description: >- + The altitude in meters above MSL as obtained from the Network based location provider (e.g. Cellular and/or Wi-Fi). This is an additional value to the regular altitude and is only provided for comparison and analysis purposes. + example: 13.3 + networkAccuracy: + type: integer + format: int32 + minimum: 0 + description: >- + The estimated horizontal accuracy of the provided location in meters as obtained from the Network based location provider (e.g. Cellular and/or Wi-Fi). This is an additional value to the regular accuracy and is only provided for comparison and analysis purposes. + example: 40 + phoneStatePayload: type: object required: diff --git a/src/main/proto/com/craxiom/messaging/device_status.proto b/src/main/proto/com/craxiom/messaging/device_status.proto index f855246..a081ce4 100644 --- a/src/main/proto/com/craxiom/messaging/device_status.proto +++ b/src/main/proto/com/craxiom/messaging/device_status.proto @@ -38,6 +38,15 @@ message DeviceStatusData { google.protobuf.Int32Value batteryLevelPercent = 7; Error error = 10; google.protobuf.BoolValue mdmOverride = 11; + + double gnssLatitude = 15; + double gnssLongitude = 16; + float gnssAltitude = 17; + int32 gnssAccuracy = 18; + double networkLatitude = 19; + double networkLongitude = 20; + float networkAltitude = 21; + int32 networkAccuracy = 22; } // Used to report an error with the device