]> code.octet-stream.net Git - m17rt/blobdiff - m17core/src/encode.rs
Make netclient work against mrefd
[m17rt] / m17core / src / encode.rs
index 4fc742939d71c42a38d053a5109deda4da69c7ca..94d280bb246563e734ff3cc89fc6226c42cd2573 100644 (file)
@@ -3,7 +3,7 @@ use crate::{
     fec::{self, p_1, p_2, p_3},
     interleave::interleave,
     protocol::{
-        LsfFrame, PacketFrame, PacketFrameCounter, StreamFrame, LSF_SYNC, PACKET_SYNC, STREAM_SYNC,
+        LSF_SYNC, LsfFrame, PACKET_SYNC, PacketFrame, PacketFrameCounter, STREAM_SYNC, StreamFrame,
     },
     random::random_xor,
 };
@@ -31,11 +31,11 @@ pub(crate) fn encode_packet(frame: &PacketFrame) -> [f32; 192] {
     match frame.counter {
         PacketFrameCounter::Frame { index } => {
             type1[0..25].copy_from_slice(&frame.payload);
-            type1[25] = (index as u8) << 3;
+            type1[25] = (index as u8) << 2;
         }
         PacketFrameCounter::FinalFrame { payload_len } => {
             type1[0..payload_len].copy_from_slice(&frame.payload[0..payload_len]);
-            type1[25] = ((payload_len as u8) << 3) | 0x04;
+            type1[25] = ((payload_len as u8) << 2) | 0x80;
         }
     }
     let type3 = fec::encode(&type1, 206, p_3);