82-dvmbridge---implement-notch-filter-for-2175hz-trc-guard-tone
parent
164d2b6c87
commit
406943d75f
@ -0,0 +1,57 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Digital Voice Modem - Common Library
|
||||
* GPLv2 Open Source. Use is subject to license terms.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright (C) 2025 Bryan Biedenkapp, N2PLL
|
||||
*
|
||||
*/
|
||||
#include "common/p25/dfsi/frames/fsc/FSCSelChannel.h"
|
||||
#include "common/p25/dfsi/DFSIDefines.h"
|
||||
#include "common/Utils.h"
|
||||
#include "common/Log.h"
|
||||
|
||||
#include <cassert>
|
||||
#include <cstring>
|
||||
|
||||
using namespace p25::dfsi;
|
||||
using namespace p25::dfsi::frames;
|
||||
using namespace p25::dfsi::frames::fsc;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Public Class Members
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/* Initializes a instance of the FSCSelChannel class. */
|
||||
|
||||
FSCSelChannel::FSCSelChannel() : FSCMessage(),
|
||||
m_rxChan(1U),
|
||||
m_txChan(1U)
|
||||
{
|
||||
m_messageId = FSCMessageType::FSC_SEL_CHAN;
|
||||
}
|
||||
|
||||
/* Decode a FSC select channel frame. */
|
||||
|
||||
bool FSCSelChannel::decode(const uint8_t* data)
|
||||
{
|
||||
assert(data != nullptr);
|
||||
FSCMessage::decode(data);
|
||||
|
||||
m_rxChan = data[3U]; // Receive Channel
|
||||
m_txChan = data[4U]; // Transmit Channel
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Encode a FSC select channel frame. */
|
||||
|
||||
void FSCSelChannel::encode(uint8_t* data)
|
||||
{
|
||||
assert(data != nullptr);
|
||||
FSCMessage::encode(data);
|
||||
|
||||
data[3U] = m_rxChan; // Receive Channel
|
||||
data[4U] = m_txChan; // Transmit Channel
|
||||
}
|
||||
@ -0,0 +1,77 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Digital Voice Modem - Common Library
|
||||
* GPLv2 Open Source. Use is subject to license terms.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright (C) 2025 Bryan Biedenkapp, N2PLL
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @file FSCReportSelModes.h
|
||||
* @ingroup dfsi_fsc_frames
|
||||
* @file FSCReportSelModes.cpp
|
||||
* @ingroup dfsi_fsc_frames
|
||||
*/
|
||||
#if !defined(__FSC_SEL_CHANNEL_H__)
|
||||
#define __FSC_SEL_CHANNEL_H__
|
||||
|
||||
#include "Defines.h"
|
||||
#include "common/Defines.h"
|
||||
#include "common/Log.h"
|
||||
#include "common/Utils.h"
|
||||
#include "common/p25/dfsi/frames/FrameDefines.h"
|
||||
#include "common/p25/dfsi/frames/fsc/FSCMessage.h"
|
||||
|
||||
namespace p25
|
||||
{
|
||||
namespace dfsi
|
||||
{
|
||||
namespace frames
|
||||
{
|
||||
namespace fsc
|
||||
{
|
||||
// ---------------------------------------------------------------------------
|
||||
// Class Declaration
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* @brief Implements the FSC Select Channel Message.
|
||||
* @ingroup dfsi_fsc_frames
|
||||
*/
|
||||
class HOST_SW_API FSCSelChannel : public FSCMessage {
|
||||
public:
|
||||
static const uint8_t LENGTH = 3U;
|
||||
|
||||
/**
|
||||
* @brief Initializes a copy instance of the FSCSelChannel class.
|
||||
*/
|
||||
FSCSelChannel();
|
||||
|
||||
/**
|
||||
* @brief Decode a FSC select channel frame.
|
||||
* @param[in] data Buffer to containing FSCSelChannel to decode.
|
||||
*/
|
||||
bool decode(const uint8_t* data) override;
|
||||
/**
|
||||
* @brief Encode a FSC select channel frame.
|
||||
* @param[out] data Buffer to encode a FSCSelChannel.
|
||||
*/
|
||||
void encode(uint8_t* data) override;
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Receive Channel Number.
|
||||
*/
|
||||
__PROPERTY(uint8_t, rxChan, RxChan);
|
||||
/**
|
||||
* @brief Transmit Channel Number.
|
||||
*/
|
||||
__PROPERTY(uint8_t, txChan, TxChan);
|
||||
};
|
||||
} // namespace fsc
|
||||
} // namespace frames
|
||||
} // namespace dfsi
|
||||
} // namespace p25
|
||||
|
||||
#endif // __FSC_SEL_CHANNEL_H__
|
||||
Loading…
Reference in new issue