M17: FrameEncoder: fixed wrong frame number mask

This commit is contained in:
Wojciech Kaczmarski 2024-10-23 13:05:49 +02:00 committed by Silvano Seva
parent 847750e233
commit 9786e80e72
2 changed files with 2 additions and 2 deletions

View File

@ -136,7 +136,7 @@ void M17FrameDecoder::decodeStream(const std::array< uint8_t, 46 >& data)
// Mark this segment as present // Mark this segment as present
lsfSegmentMap |= 1 << segmentNum; lsfSegmentMap |= 1 << segmentNum;
// Check if we have received all the five LICH segments // Check if we have received all the six LICH segments
if(lsfSegmentMap == 0x3F) if(lsfSegmentMap == 0x3F)
{ {
if(lsfFromLich.valid()) lsf = lsfFromLich; if(lsfFromLich.valid()) lsf = lsfFromLich;

View File

@ -83,7 +83,7 @@ uint16_t M17FrameEncoder::encodeStreamFrame(const payload_t& payload,
M17StreamFrame streamFrame; M17StreamFrame streamFrame;
streamFrame.setFrameNumber(streamFrameNumber); streamFrame.setFrameNumber(streamFrameNumber);
streamFrameNumber = (streamFrameNumber + 1) & 0x07FF; streamFrameNumber = (streamFrameNumber + 1) & 0x7FFF;
if(isLast) streamFrame.lastFrame(); if(isLast) streamFrame.lastFrame();
std::copy(payload.begin(), payload.end(), streamFrame.payload().begin()); std::copy(payload.begin(), payload.end(), streamFrame.payload().begin());