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;