mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-23 08:45:48 +08:00
Fix whitespace and tabbing. Fix missing closing brace.
This commit is contained in:
131
P25Control.cpp
131
P25Control.cpp
@@ -350,86 +350,85 @@ bool CP25Control::writeModem(unsigned char* data, unsigned int len)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (duid == P25_DUID_TSDU) {
|
} else if (duid == P25_DUID_TSDU) {
|
||||||
if (m_rfState != RS_RF_DATA) {
|
if (m_rfState != RS_RF_DATA) {
|
||||||
m_rfPDUCount = 0U;
|
m_rfPDUCount = 0U;
|
||||||
m_rfPDUBits = 0U;
|
m_rfPDUBits = 0U;
|
||||||
m_rfState = RS_RF_DATA;
|
m_rfState = RS_RF_DATA;
|
||||||
m_rfDataFrames = 0U;
|
m_rfDataFrames = 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ret = m_rfData.decodeTSDU(data + 2U);
|
bool ret = m_rfData.decodeTSDU(data + 2U);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
m_lastDUID = duid;
|
m_lastDUID = duid;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned int srcId = m_rfData.getSrcId();
|
||||||
|
unsigned int dstId = m_rfData.getDstId();
|
||||||
|
|
||||||
|
unsigned char data[P25_TSDU_FRAME_LENGTH_BYTES + 2U];
|
||||||
|
|
||||||
|
switch (m_rfData.getLCF()) {
|
||||||
|
case P25_LCF_TSBK_CALL_ALERT:
|
||||||
|
LogMessage("P25, received RF TSDU transmission, CALL ALERT from %u to %u", srcId, dstId);
|
||||||
|
::memset(data + 2U, 0x00U, P25_TSDU_FRAME_LENGTH_BYTES);
|
||||||
|
|
||||||
|
// Regenerate Sync
|
||||||
|
CSync::addP25Sync(data + 2U);
|
||||||
|
|
||||||
unsigned int srcId = m_rfData.getSrcId();
|
// Regenerate NID
|
||||||
unsigned int dstId = m_rfData.getDstId();
|
m_nid.encode(data + 2U, P25_DUID_TSDU);
|
||||||
|
|
||||||
unsigned char data[P25_TSDU_FRAME_LENGTH_BYTES + 2U];
|
// Regenerate TDULC Data
|
||||||
|
m_rfData.encodeTSDU(data + 2U);
|
||||||
|
|
||||||
switch (m_rfData.getLCF()) {
|
// Add busy bits
|
||||||
case P25_LCF_TSBK_CALL_ALERT:
|
addBusyBits(data + 2U, P25_TSDU_FRAME_LENGTH_BITS, true, false);
|
||||||
LogMessage("P25, received RF TSDU transmission, CALL ALERT from %u to %u", srcId, dstId);
|
|
||||||
::memset(data + 2U, 0x00U, P25_TSDU_FRAME_LENGTH_BYTES);
|
// Set first busy bits to 1,1
|
||||||
|
setBusyBits(data + 2U, P25_SS0_START, true, true);
|
||||||
|
|
||||||
|
if (m_duplex) {
|
||||||
|
data[0U] = TAG_DATA;
|
||||||
|
data[1U] = 0x00U;
|
||||||
|
|
||||||
|
writeQueueRF(data, P25_TSDU_FRAME_LENGTH_BYTES + 2U);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case P25_LCF_TSBK_ACK_RSP_FNE:
|
||||||
|
LogMessage("P25, received RF TSDU transmission, ACK RESPONSE FNE from %u to %u", srcId, dstId);
|
||||||
|
::memset(data + 2U, 0x00U, P25_TSDU_FRAME_LENGTH_BYTES);
|
||||||
|
|
||||||
// Regenerate Sync
|
// Regenerate Sync
|
||||||
CSync::addP25Sync(data + 2U);
|
CSync::addP25Sync(data + 2U);
|
||||||
|
|
||||||
// Regenerate NID
|
// Regenerate NID
|
||||||
m_nid.encode(data + 2U, P25_DUID_TSDU);
|
m_nid.encode(data + 2U, P25_DUID_TSDU);
|
||||||
|
|
||||||
// Regenerate TDULC Data
|
// Regenerate TDULC Data
|
||||||
m_rfData.encodeTSDU(data + 2U);
|
m_rfData.encodeTSDU(data + 2U);
|
||||||
|
|
||||||
// Add busy bits
|
// Add busy bits
|
||||||
addBusyBits(data + 2U, P25_TSDU_FRAME_LENGTH_BITS, true, false);
|
addBusyBits(data + 2U, P25_TSDU_FRAME_LENGTH_BITS, true, false);
|
||||||
|
|
||||||
// Set first busy bits to 1,1
|
// Set first busy bits to 1,1
|
||||||
setBusyBits(data + 2U, P25_SS0_START, true, true);
|
setBusyBits(data + 2U, P25_SS0_START, true, true);
|
||||||
|
|
||||||
if (m_duplex) {
|
if (m_duplex) {
|
||||||
data[0U] = TAG_DATA;
|
data[0U] = TAG_DATA;
|
||||||
data[1U] = 0x00U;
|
data[1U] = 0x00U;
|
||||||
|
|
||||||
writeQueueRF(data, P25_TSDU_FRAME_LENGTH_BYTES + 2U);
|
writeQueueRF(data, P25_TSDU_FRAME_LENGTH_BYTES + 2U);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case P25_LCF_TSBK_ACK_RSP_FNE:
|
default:
|
||||||
LogMessage("P25, received RF TSDU transmission, ACK RESPONSE FNE from %u to %u", srcId, dstId);
|
LogMessage("P25, recieved RF TSDU transmission, unhandled LCF $%02X", m_rfData.getLCF());
|
||||||
::memset(data + 2U, 0x00U, P25_TSDU_FRAME_LENGTH_BYTES);
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Regenerate Sync
|
m_rfState = RS_RF_LISTENING;
|
||||||
CSync::addP25Sync(data + 2U);
|
return true;
|
||||||
|
|
||||||
// Regenerate NID
|
|
||||||
m_nid.encode(data + 2U, P25_DUID_TSDU);
|
|
||||||
|
|
||||||
// Regenerate TDULC Data
|
|
||||||
m_rfData.encodeTSDU(data + 2U);
|
|
||||||
|
|
||||||
// Add busy bits
|
|
||||||
addBusyBits(data + 2U, P25_TSDU_FRAME_LENGTH_BITS, true, false);
|
|
||||||
|
|
||||||
// Set first busy bits to 1,1
|
|
||||||
setBusyBits(data + 2U, P25_SS0_START, true, true);
|
|
||||||
|
|
||||||
if (m_duplex) {
|
|
||||||
data[0U] = TAG_DATA;
|
|
||||||
data[1U] = 0x00U;
|
|
||||||
|
|
||||||
writeQueueRF(data, P25_TSDU_FRAME_LENGTH_BYTES + 2U);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
LogMessage("P25, recieved RF TSDU transmission, unhandled LCF $%02X", m_rfData.getLCF());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_rfState = RS_RF_LISTENING;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else if (duid == P25_DUID_TERM || duid == P25_DUID_TERM_LC) {
|
} else if (duid == P25_DUID_TERM || duid == P25_DUID_TERM_LC) {
|
||||||
if (m_rfState == RS_RF_AUDIO) {
|
if (m_rfState == RS_RF_AUDIO) {
|
||||||
writeNetwork(m_rfLDU, m_lastDUID, true);
|
writeNetwork(m_rfLDU, m_lastDUID, true);
|
||||||
|
|||||||
12
P25Data.h
12
P25Data.h
@@ -35,8 +35,8 @@ public:
|
|||||||
|
|
||||||
void encodeLDU2(unsigned char* data);
|
void encodeLDU2(unsigned char* data);
|
||||||
|
|
||||||
bool decodeTSDU(const unsigned char* data);
|
bool decodeTSDU(const unsigned char* data);
|
||||||
void encodeTSDU(unsigned char* data);
|
void encodeTSDU(unsigned char* data);
|
||||||
|
|
||||||
void setMI(const unsigned char* mi);
|
void setMI(const unsigned char* mi);
|
||||||
void getMI(unsigned char* mi) const;
|
void getMI(unsigned char* mi) const;
|
||||||
@@ -62,8 +62,8 @@ public:
|
|||||||
void setDstId(unsigned int id);
|
void setDstId(unsigned int id);
|
||||||
unsigned int getDstId() const;
|
unsigned int getDstId() const;
|
||||||
|
|
||||||
void setServiceType(unsigned char type);
|
void setServiceType(unsigned char type);
|
||||||
unsigned char getServiceType() const;
|
unsigned char getServiceType() const;
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
@@ -76,9 +76,9 @@ private:
|
|||||||
bool m_emergency;
|
bool m_emergency;
|
||||||
unsigned int m_srcId;
|
unsigned int m_srcId;
|
||||||
unsigned int m_dstId;
|
unsigned int m_dstId;
|
||||||
unsigned char m_serviceType;
|
unsigned char m_serviceType;
|
||||||
CRS241213 m_rs241213;
|
CRS241213 m_rs241213;
|
||||||
CP25Trellis m_trellis;
|
CP25Trellis m_trellis;
|
||||||
|
|
||||||
void decodeLDUHamming(const unsigned char* raw, unsigned char* data);
|
void decodeLDUHamming(const unsigned char* raw, unsigned char* data);
|
||||||
void encodeLDUHamming(unsigned char* data, const unsigned char* raw);
|
void encodeLDUHamming(unsigned char* data, const unsigned char* raw);
|
||||||
|
|||||||
Reference in New Issue
Block a user