From effef1e090557a428644aed291d6896c3f432eaf Mon Sep 17 00:00:00 2001 From: Derek Chauran <17055079+dchauran@users.noreply.github.com> Date: Thu, 22 Jan 2026 15:51:36 -0800 Subject: [PATCH 1/2] Fix MSTNAK errors --- mmdvm.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mmdvm.lua b/mmdvm.lua index 7b4c269..50e5f92 100644 --- a/mmdvm.lua +++ b/mmdvm.lua @@ -463,11 +463,11 @@ function p_mmdvm.dissector (buf, pkt, root) elseif (tostring(buf(0,6)):fromhex()) == "MSTNAK" then subtree:add(f_signature, buf(0,6)) - info("NAK in frame" .. _number) + -- info("NAK in frame" .. _number) if not pkt.visited then - info("univsited NAK in frame" .. _number) + -- info("univsited NAK in frame" .. _number) if not state_map[_number] then state_map[_number] = {} @@ -520,15 +520,17 @@ function p_mmdvm.dissector (buf, pkt, root) else if buf:len() == 10 then subtree:add(f_rptr_id, buf(6,4)) - pkt.cols.info:set("MSTNAK") + state_map[_number]['MSG'] = "MST->RPT: MSTNAK" else - pkt.cols.info:set("MSTNAK [MALFORMED]") + state_map[_number]['MALFORMED'] = true + state_map[_number]['MSG'] = "MST->RPT: MSTNAK [MALFORMED]" end + pkt.cols.info:set(state_map[_number]['MSG']) end else - info("visited NAK in frame" .. _number) + -- info("visited NAK in frame" .. _number) _message = state_map[_number]['MSG'] pkt.cols.info:set(_message) if not state_map[_number]['MALFORMED'] then From 3494aa098a2c9c5c3a0f7efeeac37207fede1b2f Mon Sep 17 00:00:00 2001 From: Derek Chauran <17055079+dchauran@users.noreply.github.com> Date: Thu, 22 Jan 2026 16:24:36 -0800 Subject: [PATCH 2/2] Update to use ^ instead of math.pow, and to use print instead of info --- mmdvm.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mmdvm.lua b/mmdvm.lua index 50e5f92..8363e17 100644 --- a/mmdvm.lua +++ b/mmdvm.lua @@ -62,7 +62,7 @@ function string.fromhex(str) end function round(num, precision) - return math.floor(num*math.pow(10,precision)+0.5) / math.pow(10,precision) + return math.floor(num*10^precision+0.5) / 10^precision end -- removes leading zeros @@ -463,11 +463,11 @@ function p_mmdvm.dissector (buf, pkt, root) elseif (tostring(buf(0,6)):fromhex()) == "MSTNAK" then subtree:add(f_signature, buf(0,6)) - -- info("NAK in frame" .. _number) + print("NAK in frame" .. _number) if not pkt.visited then - -- info("univsited NAK in frame" .. _number) + print("univsited NAK in frame" .. _number) if not state_map[_number] then state_map[_number] = {} @@ -530,7 +530,7 @@ function p_mmdvm.dissector (buf, pkt, root) else - -- info("visited NAK in frame" .. _number) + print("visited NAK in frame" .. _number) _message = state_map[_number]['MSG'] pkt.cols.info:set(_message) if not state_map[_number]['MALFORMED'] then