-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ensure TSCC SLCO's will not be sent at all if DMR CC mode is disabled…
…; hide display of TSCC Slot number if DMR TSCC is not enabled; add payload channel CSBKs; prohibit processing of voice/data traffic on a TSCC slot; fix issue where writeRF_CSBK was only functioning for TSCC slots; fix issue handling slot number in some CSBKs; change order of operations for when TSCC payload channels are activated;
- Loading branch information
Showing
17 changed files
with
482 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
/** | ||
* Digital Voice Modem - Host Software | ||
* GPLv2 Open Source. Use is subject to license terms. | ||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||
* | ||
* @package DVM / Host Software | ||
* | ||
*/ | ||
/* | ||
* Copyright (C) 2023 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 | ||
* the Free Software Foundation; either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
*/ | ||
#include "Defines.h" | ||
#include "dmr/lc/csbk/CSBK_P_CLEAR.h" | ||
#include "Log.h" | ||
#include "Utils.h" | ||
|
||
using namespace dmr::lc::csbk; | ||
using namespace dmr::lc; | ||
using namespace dmr; | ||
|
||
#include <cassert> | ||
#include <cmath> | ||
|
||
// --------------------------------------------------------------------------- | ||
// Public Class Members | ||
// --------------------------------------------------------------------------- | ||
|
||
/// <summary> | ||
/// Initializes a new instance of the CSBK_P_CLEAR class. | ||
/// </summary> | ||
CSBK_P_CLEAR::CSBK_P_CLEAR() : CSBK() | ||
{ | ||
m_CSBKO = CSBKO_P_CLEAR; | ||
} | ||
|
||
/// <summary> | ||
/// Decode a control signalling block. | ||
/// </summary> | ||
/// <param name="data"></param> | ||
/// <returns>True, if CSBK was decoded, otherwise false.</returns> | ||
bool CSBK_P_CLEAR::decode(const uint8_t* data) | ||
{ | ||
assert(data != NULL); | ||
|
||
/* stub */ | ||
|
||
return true; | ||
} | ||
|
||
/// <summary> | ||
/// Encode a control signalling block. | ||
/// </summary> | ||
/// <param name="data"></param> | ||
void CSBK_P_CLEAR::encode(uint8_t* data) | ||
{ | ||
assert(data != NULL); | ||
|
||
ulong64_t csbkValue = 0U; | ||
|
||
csbkValue = (csbkValue << 12) + (m_logicalCh1 & 0xFFFU); // Logical Physical Channel 1 | ||
csbkValue = (csbkValue << 1) + 0U; // Reserved | ||
csbkValue = (csbkValue << 3) + 0U; // Reserved | ||
csbkValue = (csbkValue << 1) + ((m_GI) ? 1U : 0U); // Group/Individual Flag | ||
csbkValue = (csbkValue << 24) + m_dstId; // Talkgroup ID | ||
csbkValue = (csbkValue << 24) + m_srcId; // Source Radio Address | ||
|
||
std::unique_ptr<uint8_t[]> csbk = CSBK::fromValue(csbkValue); | ||
CSBK::encode(data, csbk.get()); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/** | ||
* Digital Voice Modem - Host Software | ||
* GPLv2 Open Source. Use is subject to license terms. | ||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||
* | ||
* @package DVM / Host Software | ||
* | ||
*/ | ||
/* | ||
* Copyright (C) 2023 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 | ||
* the Free Software Foundation; either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
*/ | ||
#if !defined(__DMR_LC_CSBK__CSBK_P_CLEAR_H__) | ||
#define __DMR_LC_CSBK__CSBK_P_CLEAR_H__ | ||
|
||
#include "Defines.h" | ||
#include "dmr/lc/CSBK.h" | ||
|
||
namespace dmr | ||
{ | ||
namespace lc | ||
{ | ||
namespace csbk | ||
{ | ||
// --------------------------------------------------------------------------- | ||
// Class Declaration | ||
// Implements P_CLEAR - Payload Channel Clear | ||
// --------------------------------------------------------------------------- | ||
|
||
class HOST_SW_API CSBK_P_CLEAR : public CSBK { | ||
public: | ||
/// <summary>Initializes a new instance of the CSBK_P_CLEAR class.</summary> | ||
CSBK_P_CLEAR(); | ||
|
||
/// <summary>Decode a control signalling block.</summary> | ||
virtual bool decode(const uint8_t* data); | ||
/// <summary>Encode a control signalling block.</summary> | ||
virtual void encode(uint8_t* data); | ||
}; | ||
} // namespace csbk | ||
} // namespace lc | ||
} // namespace dmr | ||
|
||
#endif // __DMR_LC_CSBK__CSBK_P_CLEAR_H__ |
Oops, something went wrong.