diff --git a/Globals.h b/Globals.h index 82d4f8e..b0e29bc 100644 --- a/Globals.h +++ b/Globals.h @@ -86,6 +86,7 @@ extern bool m_p25Enable; extern bool m_duplex; extern bool m_tx; +extern bool m_dcd; extern uint32_t m_sampleCount; extern bool m_sampleInsert; diff --git a/IO.cpp b/IO.cpp index 282a7de..006a47c 100644 --- a/IO.cpp +++ b/IO.cpp @@ -61,7 +61,6 @@ m_ysfTXLevel(128 * 128), m_p25TXLevel(128 * 128), m_ledCount(0U), m_ledValue(true), -m_dcd(false), m_detect(false), m_adcOverflow(0U), m_dacOverflow(0U), diff --git a/IO.h b/IO.h index 2113358..357c04e 100644 --- a/IO.h +++ b/IO.h @@ -76,7 +76,6 @@ private: uint32_t m_ledCount; bool m_ledValue; - bool m_dcd; bool m_detect; uint16_t m_adcOverflow; diff --git a/MMDVM.cpp b/MMDVM.cpp index 4f21843..9a410ff 100644 --- a/MMDVM.cpp +++ b/MMDVM.cpp @@ -33,7 +33,8 @@ bool m_p25Enable = true; bool m_duplex = true; -bool m_tx = false; +bool m_tx = false; +bool m_dcd = false; uint32_t m_sampleCount = 0U; bool m_sampleInsert = false; diff --git a/MMDVM.ino b/MMDVM.ino index dac658a..7b30b41 100644 --- a/MMDVM.ino +++ b/MMDVM.ino @@ -30,7 +30,8 @@ bool m_p25Enable = true; bool m_duplex = true; -bool m_tx = false; +bool m_tx = false; +bool m_dcd = false; uint32_t m_sampleCount = 0U; bool m_sampleInsert = false; diff --git a/SerialPort.cpp b/SerialPort.cpp index b623332..b77de92 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -116,7 +116,7 @@ void CSerialPort::getStatus() // Send all sorts of interesting internal values reply[0U] = MMDVM_FRAME_START; - reply[1U] = 11U; + reply[1U] = 12U; reply[2U] = MMDVM_GET_STATUS; reply[3U] = 0x00U; @@ -180,7 +180,12 @@ void CSerialPort::getStatus() else reply[10U] = 0U; - writeInt(1U, reply, 11); + if (m_dcd) + reply[11U] = 1U; + else + reply[11U] = 0U; + + writeInt(1U, reply, 12); } void CSerialPort::getVersion()