From 12dafa3c40d4f827dc3b556504e18cfcab6b58dd Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 13 Feb 2022 01:47:51 +0000 Subject: [PATCH] first pass - protov4 --- const.py | 2 +- doc/FreeDMR FBP Proto v4.ods | Bin 0 -> 13983 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 doc/FreeDMR FBP Proto v4.ods diff --git a/const.py b/const.py index 69ae539..efa30e9 100755 --- a/const.py +++ b/const.py @@ -81,7 +81,7 @@ BCST = b'BCST' BCVE = b'BCVE' #Protocol version -VER = 3 +VER = 4 # Higheset peer ID permitted by HBP PEER_MAX = 4294967295 diff --git a/doc/FreeDMR FBP Proto v4.ods b/doc/FreeDMR FBP Proto v4.ods new file mode 100644 index 0000000000000000000000000000000000000000..cc0e88afe7131d0903f4aa5744f41a5bcf58f524 GIT binary patch literal 13983 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 N4Bs~$V#eRO{{sPc<<