From 8850f545d2635bce50eeca1f1c05968b8232d77d Mon Sep 17 00:00:00 2001 From: Jurriaan Pruis Date: Sun, 9 Jun 2024 11:47:45 +0200 Subject: [PATCH] Add Seq # to position packets --- src/dto/position_select_result.rs | 3 ++- src/web_interface.rs | 5 +++-- templates/_packet_details.html | 4 ++++ templates/_position_details.html | 4 ++++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/dto/position_select_result.rs b/src/dto/position_select_result.rs index cec201c..13cbff5 100644 --- a/src/dto/position_select_result.rs +++ b/src/dto/position_select_result.rs @@ -8,5 +8,6 @@ pub struct PositionSelectResult { pub altitude: i64, pub sats_in_view: i64, pub precision_bits: i64, - pub ground_speed: i64 + pub ground_speed: i64, + pub seq_number: i64, } diff --git a/src/web_interface.rs b/src/web_interface.rs index a223c3c..fa244a1 100644 --- a/src/web_interface.rs +++ b/src/web_interface.rs @@ -298,7 +298,7 @@ fn mesh_packet_stream( let compute_positions = || { async { let query = format!( - r#"SELECT mesh_packet_id, latitude, longitude, altitude, sats_in_view, precision_bits, ground_speed FROM positions WHERE mesh_packet_id IN ({})"#, + r#"SELECT mesh_packet_id, latitude, longitude, altitude, sats_in_view, precision_bits, ground_speed, seq_number FROM positions WHERE mesh_packet_id IN ({})"#, packet_ids_string ); sqlx::query_as::<_, PositionSelectResult>(&query) @@ -579,7 +579,8 @@ async fn node_positions_geojson( positions.altitude, positions.sats_in_view, positions.precision_bits, - positions.ground_speed + positions.ground_speed, + positions.seq_number FROM positions JOIN mesh_packets ON positions.mesh_packet_id = mesh_packets.id WHERE node_id = ? AND created_at > ? diff --git a/templates/_packet_details.html b/templates/_packet_details.html index 9cb1ba2..d6c1fd2 100644 --- a/templates/_packet_details.html +++ b/templates/_packet_details.html @@ -63,6 +63,10 @@
!{{ locked_to|hex }}
{% endif %} {% when Payload::Position with (position) %} + {% if position.seq_number != 0 %} +
Seq #
+
{{position.seq_number}}
+ {% endif %}
Location
{{self::format_mesh_gps(position.latitude, position.longitude)}}
{% if position.altitude != 0 %} diff --git a/templates/_position_details.html b/templates/_position_details.html index 99c4f0e..edcd787 100644 --- a/templates/_position_details.html +++ b/templates/_position_details.html @@ -32,6 +32,10 @@
{% if packet.want_ack %}want ack{% endif %} {% if packet.want_response %}want response{% endif %}
{% endif %} {% if let Payload::Position(position) = packet.payload %} + {% if position.seq_number != 0 %} +
Seq #
+
{{position.seq_number}}
+ {% endif %}
Location
{{self::format_mesh_gps(position.latitude, position.longitude)}}
{% if position.altitude != 0 %}