diff --git a/internal/schemas.ts b/internal/schemas.ts index 574d52e..a35a913 100644 --- a/internal/schemas.ts +++ b/internal/schemas.ts @@ -1234,6 +1234,11 @@ const LocationFix: FoxgloveMessageSchema = { description: "Frame for the sensor. Latitude and longitude readings are at the origin of the frame.", }, + { + name: "timestamp", + type: { type: "primitive", name: "time" }, + description: "Timestamp of the message", + }, { name: "latitude", type: { type: "primitive", name: "float64" }, diff --git a/ros_foxglove_msgs/ros1/LocationFix.msg b/ros_foxglove_msgs/ros1/LocationFix.msg index a5af8aa..3e0703e 100644 --- a/ros_foxglove_msgs/ros1/LocationFix.msg +++ b/ros_foxglove_msgs/ros1/LocationFix.msg @@ -6,6 +6,9 @@ # Frame for the sensor. Latitude and longitude readings are at the origin of the frame. string frame_id +# Timestamp of the message +time timestamp + # Latitude in degrees float64 latitude diff --git a/ros_foxglove_msgs/ros2/LocationFix.msg b/ros_foxglove_msgs/ros2/LocationFix.msg index 1cdcbbd..4d0ae37 100644 --- a/ros_foxglove_msgs/ros2/LocationFix.msg +++ b/ros_foxglove_msgs/ros2/LocationFix.msg @@ -6,6 +6,9 @@ # Frame for the sensor. Latitude and longitude readings are at the origin of the frame. string frame_id +# Timestamp of the message +builtin_interfaces/Time timestamp + # Latitude in degrees float64 latitude diff --git a/schemas/README.md b/schemas/README.md index 9f199e7..0b38e29 100644 --- a/schemas/README.md +++ b/schemas/README.md @@ -1329,6 +1329,19 @@ string Frame for the sensor. Latitude and longitude readings are at the origin of the frame. + + + +timestamp + + +time + + + + +Timestamp of the message + diff --git a/schemas/flatbuffer/LocationFix.fbs b/schemas/flatbuffer/LocationFix.fbs index cc0f0ac..7716f93 100644 --- a/schemas/flatbuffer/LocationFix.fbs +++ b/schemas/flatbuffer/LocationFix.fbs @@ -1,5 +1,7 @@ // Generated by https://github.com/foxglove/schemas +include "Time.fbs"; + namespace foxglove; /// Type of position covariance @@ -17,6 +19,9 @@ table LocationFix { /// Frame for the sensor. Latitude and longitude readings are at the origin of the frame. frame_id:string; + /// Timestamp of the message + timestamp:Time; + /// Latitude in degrees latitude:double; diff --git a/schemas/jsonschema/LocationFix.json b/schemas/jsonschema/LocationFix.json index 97f254c..437fa36 100644 --- a/schemas/jsonschema/LocationFix.json +++ b/schemas/jsonschema/LocationFix.json @@ -8,6 +8,22 @@ "type": "string", "description": "Frame for the sensor. Latitude and longitude readings are at the origin of the frame." }, + "timestamp": { + "type": "object", + "title": "time", + "properties": { + "sec": { + "type": "integer", + "minimum": 0 + }, + "nsec": { + "type": "integer", + "minimum": 0, + "maximum": 999999999 + } + }, + "description": "Timestamp of the message" + }, "latitude": { "type": "number", "description": "Latitude in degrees" diff --git a/schemas/jsonschema/index.ts b/schemas/jsonschema/index.ts index 4c1438d..a140594 100644 --- a/schemas/jsonschema/index.ts +++ b/schemas/jsonschema/index.ts @@ -1537,6 +1537,22 @@ export const LocationFix = { "type": "string", "description": "Frame for the sensor. Latitude and longitude readings are at the origin of the frame." }, + "timestamp": { + "type": "object", + "title": "time", + "properties": { + "sec": { + "type": "integer", + "minimum": 0 + }, + "nsec": { + "type": "integer", + "minimum": 0, + "maximum": 999999999 + } + }, + "description": "Timestamp of the message" + }, "latitude": { "type": "number", "description": "Latitude in degrees" diff --git a/schemas/proto/foxglove/LocationFix.proto b/schemas/proto/foxglove/LocationFix.proto index 70a24b9..77c2da3 100644 --- a/schemas/proto/foxglove/LocationFix.proto +++ b/schemas/proto/foxglove/LocationFix.proto @@ -2,6 +2,8 @@ syntax = "proto3"; +import "google/protobuf/timestamp.proto"; + package foxglove; // A navigation satellite fix for any Global Navigation Satellite System @@ -19,18 +21,21 @@ message LocationFix { // Frame for the sensor. Latitude and longitude readings are at the origin of the frame. string frame_id = 1; + // Timestamp of the message + google.protobuf.Timestamp timestamp = 2; + // Latitude in degrees - double latitude = 2; + double latitude = 3; // Longitude in degrees - double longitude = 3; + double longitude = 4; // Altitude in meters - double altitude = 4; + double altitude = 5; // Position covariance (m^2) defined relative to a tangential plane through the reported position. The components are East, North, and Up (ENU), in row-major order. - repeated double position_covariance = 5; // length 9 + repeated double position_covariance = 6; // length 9 // If `position_covariance` is available, `position_covariance_type` must be set to indicate the type of covariance. - PositionCovarianceType position_covariance_type = 6; + PositionCovarianceType position_covariance_type = 7; } diff --git a/schemas/ros1/LocationFix.msg b/schemas/ros1/LocationFix.msg index a5af8aa..3e0703e 100644 --- a/schemas/ros1/LocationFix.msg +++ b/schemas/ros1/LocationFix.msg @@ -6,6 +6,9 @@ # Frame for the sensor. Latitude and longitude readings are at the origin of the frame. string frame_id +# Timestamp of the message +time timestamp + # Latitude in degrees float64 latitude diff --git a/schemas/ros2/LocationFix.msg b/schemas/ros2/LocationFix.msg index 1cdcbbd..4d0ae37 100644 --- a/schemas/ros2/LocationFix.msg +++ b/schemas/ros2/LocationFix.msg @@ -6,6 +6,9 @@ # Frame for the sensor. Latitude and longitude readings are at the origin of the frame. string frame_id +# Timestamp of the message +builtin_interfaces/Time timestamp + # Latitude in degrees float64 latitude diff --git a/schemas/typescript/LocationFix.ts b/schemas/typescript/LocationFix.ts index ae5d800..b3c72f9 100644 --- a/schemas/typescript/LocationFix.ts +++ b/schemas/typescript/LocationFix.ts @@ -1,12 +1,16 @@ // Generated by https://github.com/foxglove/schemas import { PositionCovarianceType } from "./PositionCovarianceType"; +import { Time } from "./Time"; /** A navigation satellite fix for any Global Navigation Satellite System */ export type LocationFix = { /** Frame for the sensor. Latitude and longitude readings are at the origin of the frame. */ frame_id: string; + /** Timestamp of the message */ + timestamp: Time; + /** Latitude in degrees */ latitude: number;