diff --git a/src/common/Defines.h b/src/common/Defines.h index 5e5dd31f..793c34b3 100644 --- a/src/common/Defines.h +++ b/src/common/Defines.h @@ -103,9 +103,15 @@ typedef unsigned long long ulong64_t; #endif #define __PROG_NAME__ "" -#define __NET_NAME__ "DVM_DMR_P25" #define __EXE_NAME__ "" -#define __VER__ "D03.60.00 (" __GIT_VER__ ")" + +#define VERSION_MAJOR "03" +#define VERSION_MINOR "06" +#define VERSION_REV "A" + +#define __NETVER__ "DVM_R" VERSION_MAJOR VERSION_REV VERSION_MINOR +#define __VER__ VERSION_MAJOR "." VERSION_MINOR " (R" VERSION_MAJOR VERSION_REV VERSION_MINOR " " __GIT_VER__ ")" + #define __BUILD__ __DATE__ " " __TIME__ #define HOST_SW_API diff --git a/src/common/network/RTPHeader.cpp b/src/common/network/RTPHeader.cpp index 9a5f01f6..8720b702 100644 --- a/src/common/network/RTPHeader.cpp +++ b/src/common/network/RTPHeader.cpp @@ -7,7 +7,7 @@ * */ /* -* Copyright (C) 2023 by Bryan Biedenkapp N2PLL +* Copyright (C) 2023-2024 by Bryan Biedenkapp N2PLL * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +37,7 @@ using namespace network::frame; // --------------------------------------------------------------------------- hrc::hrc_t RTPHeader::m_wcStart = hrc::hrc_t(); +uint32_t RTPHeader::m_prevTimestamp = INVALID_TS; // --------------------------------------------------------------------------- // Public Class Members @@ -112,9 +113,16 @@ void RTPHeader::encode(uint8_t* data) data[2U] = (m_seq >> 8) & 0xFFU; // Sequence MSB data[3U] = (m_seq >> 0) & 0xFFU; // Sequence LSB - uint64_t timeSinceStart = hrc::diffNow(m_wcStart); - uint64_t microSeconds = timeSinceStart * RTP_GENERIC_CLOCK_RATE; - m_timestamp = uint32_t(microSeconds / 1000000); + if (m_prevTimestamp == INVALID_TS) { + uint64_t timeSinceStart = hrc::diffNow(m_wcStart); + uint64_t microSeconds = timeSinceStart * RTP_GENERIC_CLOCK_RATE; + m_timestamp = uint32_t(microSeconds / 1000000); + m_prevTimestamp = m_timestamp; + } + else { + m_timestamp = m_prevTimestamp + (RTP_GENERIC_CLOCK_RATE / 133); + m_prevTimestamp = m_timestamp; + } __SET_UINT32(m_timestamp, data, 4U); // Timestamp __SET_UINT32(m_ssrc, data, 8U); // Synchronization Source Identifier @@ -126,4 +134,5 @@ void RTPHeader::encode(uint8_t* data) void RTPHeader::resetStartTime() { m_wcStart = hrc::hrc_t(); + m_prevTimestamp = INVALID_TS; } diff --git a/src/common/network/RTPHeader.h b/src/common/network/RTPHeader.h index 6908e342..97dad39b 100644 --- a/src/common/network/RTPHeader.h +++ b/src/common/network/RTPHeader.h @@ -81,12 +81,13 @@ namespace network /// Sequence number for the RTP packet. __PROPERTY(uint16_t, seq, Sequence); /// RTP packet timestamp. - __READONLY_PROPERTY(uint32_t, timestamp, Timestamp); + __PROPERTY(uint32_t, timestamp, Timestamp); /// Synchronization Source ID. __PROPERTY(uint32_t, ssrc, SSRC); private: static std::chrono::time_point m_wcStart; + static uint32_t m_prevTimestamp; std::mt19937 m_random; }; diff --git a/src/fne/ActivityLog.cpp b/src/fne/ActivityLog.cpp index 0ee95111..7fae9a05 100644 --- a/src/fne/ActivityLog.cpp +++ b/src/fne/ActivityLog.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/ActivityLog.h b/src/fne/ActivityLog.h index 3d5282f3..bbb70f9f 100644 --- a/src/fne/ActivityLog.h +++ b/src/fne/ActivityLog.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/CMakeLists.txt b/src/fne/CMakeLists.txt index cbd247cd..1cb22db8 100644 --- a/src/fne/CMakeLists.txt +++ b/src/fne/CMakeLists.txt @@ -1,9 +1,9 @@ #/** -#* Digital Voice Modem - Conference FNE Software +#* Digital Voice Modem - Converged FNE Software #* GPLv2 Open Source. Use is subject to license terms. #* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. #* -#* @package DVM / Conference FNE Software +#* @package DVM / Converged FNE Software #* #*/ #/* diff --git a/src/fne/Defines.h b/src/fne/Defines.h index 2d8de2dd..5c6396b1 100644 --- a/src/fne/Defines.h +++ b/src/fne/Defines.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ // @@ -38,7 +38,7 @@ // --------------------------------------------------------------------------- #undef __PROG_NAME__ -#define __PROG_NAME__ "Digital Voice Modem (DVM) Conference FNE" +#define __PROG_NAME__ "Digital Voice Modem (DVM) Converged FNE" #undef __EXE_NAME__ #define __EXE_NAME__ "dvmfne" diff --git a/src/fne/FNEMain.cpp b/src/fne/FNEMain.cpp index 0c6e2d9f..2a82f63f 100644 --- a/src/fne/FNEMain.cpp +++ b/src/fne/FNEMain.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ // diff --git a/src/fne/FNEMain.h b/src/fne/FNEMain.h index b48a2fa7..d124ba45 100644 --- a/src/fne/FNEMain.h +++ b/src/fne/FNEMain.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ // diff --git a/src/fne/HostFNE.cpp b/src/fne/HostFNE.cpp index 18f1b6da..b40e148a 100644 --- a/src/fne/HostFNE.cpp +++ b/src/fne/HostFNE.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/HostFNE.h b/src/fne/HostFNE.h index 755623dd..7047f077 100644 --- a/src/fne/HostFNE.h +++ b/src/fne/HostFNE.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/FNENetwork.cpp b/src/fne/network/FNENetwork.cpp index 8265a27f..7c76e6f8 100644 --- a/src/fne/network/FNENetwork.cpp +++ b/src/fne/network/FNENetwork.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/FNENetwork.h b/src/fne/network/FNENetwork.h index e11c313a..25dae3b2 100644 --- a/src/fne/network/FNENetwork.h +++ b/src/fne/network/FNENetwork.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/RESTAPI.cpp b/src/fne/network/RESTAPI.cpp index a2d16bd7..97915043 100644 --- a/src/fne/network/RESTAPI.cpp +++ b/src/fne/network/RESTAPI.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/RESTAPI.h b/src/fne/network/RESTAPI.h index 2300e5fe..fccd0488 100644 --- a/src/fne/network/RESTAPI.h +++ b/src/fne/network/RESTAPI.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/RESTDefines.h b/src/fne/network/RESTDefines.h index b2fabce2..47fc3c51 100644 --- a/src/fne/network/RESTDefines.h +++ b/src/fne/network/RESTDefines.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/fne/TagDMRData.cpp b/src/fne/network/fne/TagDMRData.cpp index 91382b17..28817196 100644 --- a/src/fne/network/fne/TagDMRData.cpp +++ b/src/fne/network/fne/TagDMRData.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/fne/TagDMRData.h b/src/fne/network/fne/TagDMRData.h index 073b3102..19c8a378 100644 --- a/src/fne/network/fne/TagDMRData.h +++ b/src/fne/network/fne/TagDMRData.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/fne/TagNXDNData.cpp b/src/fne/network/fne/TagNXDNData.cpp index cf4d80b4..e208d336 100644 --- a/src/fne/network/fne/TagNXDNData.cpp +++ b/src/fne/network/fne/TagNXDNData.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/fne/TagNXDNData.h b/src/fne/network/fne/TagNXDNData.h index ce1638e0..5e6c1c22 100644 --- a/src/fne/network/fne/TagNXDNData.h +++ b/src/fne/network/fne/TagNXDNData.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/fne/TagP25Data.cpp b/src/fne/network/fne/TagP25Data.cpp index 05f35431..bdb19ac5 100644 --- a/src/fne/network/fne/TagP25Data.cpp +++ b/src/fne/network/fne/TagP25Data.cpp @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/fne/network/fne/TagP25Data.h b/src/fne/network/fne/TagP25Data.h index 549ce474..f044a0d5 100644 --- a/src/fne/network/fne/TagP25Data.h +++ b/src/fne/network/fne/TagP25Data.h @@ -1,9 +1,9 @@ /** -* Digital Voice Modem - Conference FNE Software +* Digital Voice Modem - Converged FNE Software * GPLv2 Open Source. Use is subject to license terms. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * -* @package DVM / Conference FNE Software +* @package DVM / Converged FNE Software * */ /* diff --git a/src/host/network/Network.cpp b/src/host/network/Network.cpp index e2e133bf..04c6319f 100644 --- a/src/host/network/Network.cpp +++ b/src/host/network/Network.cpp @@ -699,7 +699,7 @@ bool Network::writeConfig() return false; } - const char* software = __NET_NAME__; + const char* software = __NETVER__; json::object config = json::object(); diff --git a/src/host/setup/HostSetup.cpp b/src/host/setup/HostSetup.cpp index 7a553c57..d5eb895c 100644 --- a/src/host/setup/HostSetup.cpp +++ b/src/host/setup/HostSetup.cpp @@ -2011,7 +2011,7 @@ bool HostSetup::writeFlash() // software signature std::string software; - software.append(__NET_NAME__ " " __VER__ " (built " __BUILD__ ")"); + software.append(__NETVER__ " (built " __BUILD__ ")"); for (uint8_t i = 0; i < software.length(); i++) { buffer[176U + i] = software[i]; } diff --git a/src/remote/RESTClientMain.cpp b/src/remote/RESTClientMain.cpp index 91a30d17..0cbe5dd8 100644 --- a/src/remote/RESTClientMain.cpp +++ b/src/remote/RESTClientMain.cpp @@ -193,9 +193,9 @@ void usage(const char* message, const char* arg) reply += " status Display current settings and operation mode\r\n"; reply += " voice-ch Retrieves the list of configured voice channels\r\n"; reply += "\r\n"; - reply += " fne-peerlist Retrieves the list of connected peers (Conference FNE only)\r\n"; - reply += " fne-tgidlist Retrieves the list of configured TGIDs (Conference FNE only)\r\n"; - reply += " fne-force-update Forces the FNE to send list update (Conference FNE only)\r\n"; + reply += " fne-peerlist Retrieves the list of connected peers (Converged FNE only)\r\n"; + reply += " fne-tgidlist Retrieves the list of configured TGIDs (Converged FNE only)\r\n"; + reply += " fne-force-update Forces the FNE to send list update (Converged FNE only)\r\n"; reply += "\r\n"; reply += " mdm-mode Set current mode of host (idle, lockout, dmr, p25, nxdn)\r\n"; reply += " mdm-kill Causes the host to quit\r\n";