Skip to content

Commit 61ffbde

Browse files
committed
Added undulation to pose message in Wireshark dissector.
1 parent 390099e commit 61ffbde

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

wireshark/p1_fusion_engine_dissector.lua

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ local pf_pose_gps_time = ProtoField.new("GPS Time", "fusionengine.pose.gps_time"
5858
local pf_pose_gps_time_sec = ProtoField.new("Seconds", "fusionengine.pose.gps_time.sec", ftypes.UINT32)
5959
local pf_pose_gps_time_frac = ProtoField.new("Nanoseconds", "fusionengine.pose.gps_time.frac", ftypes.UINT32)
6060
local pf_pose_solution_type = ProtoField.new("Solution Type", "fusionengine.pose.solution_type", ftypes.UINT8)
61+
local pf_pose_undulation_cm = ProtoField.new("Undulation (cm)", "fusionengine.pose.undulation_cm", ftypes.INT16)
62+
local pf_pose_undulation_m = ProtoField.new("Undulation (m)", "fusionengine.pose.undulation_m", ftypes.STRING)
6163
local pf_pose_lla = ProtoField.new("LLA (deg)", "fusionengine.pose.lla", ftypes.STRING)
6264
local pf_pose_lla_lat = ProtoField.new("Latitude (deg)", "fusionengine.pose.lla.lat", ftypes.DOUBLE)
6365
local pf_pose_lla_lon = ProtoField.new("Longitude (deg)", "fusionengine.pose.lla.lon", ftypes.DOUBLE)
@@ -86,6 +88,8 @@ fe_proto.fields = {
8688
pf_pose_gps_time_sec,
8789
pf_pose_gps_time_frac,
8890
pf_pose_solution_type,
91+
pf_pose_undulation_cm,
92+
pf_pose_undulation_m,
8993
pf_pose_lla,
9094
pf_pose_lla_lat,
9195
pf_pose_lla_lon,
@@ -100,6 +104,7 @@ local pose_p1_time_sec_field = Field.new("fusionengine.pose.p1_time.sec")
100104
local pose_p1_time_frac_field = Field.new("fusionengine.pose.p1_time.frac")
101105
local pose_gps_time_sec_field = Field.new("fusionengine.pose.gps_time.sec")
102106
local pose_gps_time_frac_field = Field.new("fusionengine.pose.gps_time.frac")
107+
local pose_undulation_cm_field = Field.new("fusionengine.pose.undulation_cm")
103108
local pose_lla_lat_field = Field.new("fusionengine.pose.lla.lat")
104109
local pose_lla_lon_field = Field.new("fusionengine.pose.lla.lon")
105110
local pose_lla_alt_field = Field.new("fusionengine.pose.lla.alt")
@@ -207,7 +212,15 @@ dissectPoseMessage = function(tvbuf, pktinfo, tree, offset, payload_size, messag
207212
offset = offset + 1
208213

209214
-- Reserved
210-
offset = offset + 3
215+
offset = offset + 1
216+
217+
-- Undulation
218+
tree:add_le(pf_pose_undulation_cm, tvbuf:range(offset, 2)):set_hidden(true)
219+
local undulation_m = tree:add_le(pf_pose_undulation_m, tvbuf:range(offset, 2))
220+
offset = offset + 2
221+
222+
local undulation_cm = getValue(pose_undulation_cm_field, message_index)
223+
undulation_m:set_text(string.format("%s: %.2f", "Undulation (m)", undulation_cm * 0.01))
211224

212225
-- LLA
213226
local lla = tree:add(pf_pose_lla, tvbuf:range(offset, 24))

0 commit comments

Comments
 (0)