mirror of
https://github.com/g4klx/MMDVMHost.git
synced 2026-04-06 06:53:42 +00:00
Add support for passthrough of serial data from MQTT to the spare serial port on an MMDVM modem/hotspot.
This commit is contained in:
parent
1afe34f514
commit
3c48b8f61b
11 changed files with 59 additions and 126 deletions
31
Modem.cpp
31
Modem.cpp
|
|
@ -898,10 +898,15 @@ void CModem::clock(unsigned int ms)
|
|||
printDebug();
|
||||
break;
|
||||
|
||||
case MMDVM_SERIAL_DATA:
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX Serial Data", m_buffer, m_length);
|
||||
m_rxSerialData.addData(m_buffer + m_offset, m_length - m_offset);
|
||||
case MMDVM_SERIAL_DATA: {
|
||||
if (m_trace)
|
||||
CUtils::dump(1U, "RX Serial Data", m_buffer, m_length);
|
||||
|
||||
unsigned char data = m_length - m_offset;
|
||||
m_rxSerialData.addData(&data, 1U);
|
||||
|
||||
m_rxSerialData.addData(m_buffer + m_offset, m_length - m_offset);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -1301,18 +1306,18 @@ unsigned int CModem::readTransparentData(unsigned char* data)
|
|||
return len;
|
||||
}
|
||||
|
||||
unsigned int CModem::readSerial(unsigned char* data, unsigned int length)
|
||||
unsigned int CModem::readSerialData(unsigned char* data)
|
||||
{
|
||||
assert(data != NULL);
|
||||
assert(length > 0U);
|
||||
|
||||
unsigned int n = 0U;
|
||||
while (!m_rxSerialData.isEmpty() && n < length) {
|
||||
m_rxSerialData.getData(data + n, 1U);
|
||||
n++;
|
||||
}
|
||||
if (m_rxSerialData.isEmpty())
|
||||
return 0U;
|
||||
|
||||
return n;
|
||||
unsigned char len = 0U;
|
||||
m_rxSerialData.getData(&len, 1U);
|
||||
m_rxSerialData.getData(data, len);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
bool CModem::hasDStarSpace() const
|
||||
|
|
@ -1879,7 +1884,7 @@ bool CModem::writeIPInfo(const std::string& address)
|
|||
return ret != int(length + 4U);
|
||||
}
|
||||
|
||||
bool CModem::writeSerial(const unsigned char* data, unsigned int length)
|
||||
bool CModem::writeSerialData(const unsigned char* data, unsigned int length)
|
||||
{
|
||||
assert(m_port != NULL);
|
||||
assert(data != NULL);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue