From 9d85b6451c08011d88f699372235363a50c09458 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sat, 26 Dec 2020 12:12:52 +0000 Subject: [PATCH] Update the M17 sync words. --- M17Control.cpp | 8 ++++---- M17Defines.h | 5 +++-- Sync.cpp | 15 +++++++++++---- Sync.h | 5 +++-- Version.h | 2 +- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/M17Control.cpp b/M17Control.cpp index 9be8607..a36d0eb 100644 --- a/M17Control.cpp +++ b/M17Control.cpp @@ -269,7 +269,7 @@ bool CM17Control::writeModem(unsigned char* data, unsigned int len) data[1U] = 0x00U; // Generate the sync - CSync::addM17HeaderSync(data + 2U); + CSync::addM17LinkSetupSync(data + 2U); unsigned char setup[M17_LICH_LENGTH_BYTES]; m_rfLICH.getLinkSetup(setup); @@ -332,7 +332,7 @@ bool CM17Control::writeModem(unsigned char* data, unsigned int len) rfData[1U] = 0x00U; // Generate the sync - CSync::addM17DataSync(rfData + 2U); + CSync::addM17StreamSync(rfData + 2U); unsigned char lich[M17_LICH_FRAGMENT_LENGTH_BYTES]; m_netLICH.getFragment(lich, m_rfLICHn); @@ -541,7 +541,7 @@ void CM17Control::writeNetwork() start[1U] = 0x00U; // Generate the sync - CSync::addM17HeaderSync(start + 2U); + CSync::addM17LinkSetupSync(start + 2U); unsigned char setup[M17_LICH_LENGTH_BYTES]; m_netLICH.getLinkSetup(setup); @@ -563,7 +563,7 @@ void CM17Control::writeNetwork() data[1U] = 0x00U; // Generate the sync - CSync::addM17DataSync(data + 2U); + CSync::addM17StreamSync(data + 2U); m_netFrames++; diff --git a/M17Defines.h b/M17Defines.h index 5129d9a..2eae167 100644 --- a/M17Defines.h +++ b/M17Defines.h @@ -24,8 +24,9 @@ const unsigned int M17_RADIO_SYMBOL_LENGTH = 5U; // At 24 kHz sample rate const unsigned int M17_FRAME_LENGTH_BITS = 384U; const unsigned int M17_FRAME_LENGTH_BYTES = M17_FRAME_LENGTH_BITS / 8U; -const unsigned char M17_HEADER_SYNC_BYTES[] = {0x5DU, 0xDDU}; -const unsigned char M17_DATA_SYNC_BYTES[] = {0xDDU, 0xDDU}; +const unsigned char M17_LINK_SETUP_SYNC_BYTES[] = {0x55U, 0xF7U}; +const unsigned char M17_STREAM_SYNC_BYTES[] = {0xFFU, 0x5DU}; +const unsigned char M17_PACKET_SYNC_BYTES[] = {0x75U, 0xFFU}; const unsigned int M17_SYNC_LENGTH_BITS = 16U; const unsigned int M17_SYNC_LENGTH_BYTES = M17_SYNC_LENGTH_BITS / 8U; diff --git a/Sync.cpp b/Sync.cpp index 3e53f64..5ec1f88 100644 --- a/Sync.cpp +++ b/Sync.cpp @@ -85,16 +85,23 @@ void CSync::addNXDNSync(unsigned char* data) data[i] = (data[i] & ~NXDN_FSW_BYTES_MASK[i]) | NXDN_FSW_BYTES[i]; } -void CSync::addM17HeaderSync(unsigned char* data) +void CSync::addM17LinkSetupSync(unsigned char* data) { assert(data != NULL); - ::memcpy(data, M17_HEADER_SYNC_BYTES, M17_SYNC_LENGTH_BYTES); + ::memcpy(data, M17_LINK_SETUP_SYNC_BYTES, M17_SYNC_LENGTH_BYTES); } -void CSync::addM17DataSync(unsigned char* data) +void CSync::addM17StreamSync(unsigned char* data) { assert(data != NULL); - ::memcpy(data, M17_DATA_SYNC_BYTES, M17_SYNC_LENGTH_BYTES); + ::memcpy(data, M17_STREAM_SYNC_BYTES, M17_SYNC_LENGTH_BYTES); +} + +void CSync::addM17PacketSync(unsigned char* data) +{ + assert(data != NULL); + + ::memcpy(data, M17_PACKET_SYNC_BYTES, M17_SYNC_LENGTH_BYTES); } diff --git a/Sync.h b/Sync.h index 20ee2dd..2ca7818 100644 --- a/Sync.h +++ b/Sync.h @@ -33,8 +33,9 @@ public: static void addNXDNSync(unsigned char* data); - static void addM17HeaderSync(unsigned char* data); - static void addM17DataSync(unsigned char* data); + static void addM17LinkSetupSync(unsigned char* data); + static void addM17StreamSync(unsigned char* data); + static void addM17PacketSync(unsigned char* data); private: }; diff --git a/Version.h b/Version.h index efee250..6b0ecf4 100644 --- a/Version.h +++ b/Version.h @@ -19,6 +19,6 @@ #if !defined(VERSION_H) #define VERSION_H -const char* VERSION = "20201215"; +const char* VERSION = "20201226"; #endif