diff --git a/Defines.h b/Defines.h index 3578db84..8cce8b2b 100644 --- a/Defines.h +++ b/Defines.h @@ -117,6 +117,7 @@ typedef unsigned long long ulong64_t; #define NULL_PORT "null" #define UART_PORT "uart" +#define PTY_PORT "pty" #define UDP_PORT "udp" #define UDP_MODE_MASTER "master" diff --git a/host/Host.cpp b/host/Host.cpp index ba5f01c5..e823bd24 100644 --- a/host/Host.cpp +++ b/host/Host.cpp @@ -36,6 +36,7 @@ #include "p25/P25Utils.h" #include "modem/port/ModemNullPort.h" #include "modem/port/UARTPort.h" +#include "modem/port/PseudoPTYPort.h" #include "modem/port/UDPPort.h" #include "network/UDPSocket.h" #include "lookups/RSSIInterpolator.h" @@ -1586,9 +1587,16 @@ bool Host::createModem() break; } - modemPort = new port::UARTPort(uartPort, serialSpeed, true); - LogInfo(" UART Port: %s", uartPort.c_str()); - LogInfo(" UART Speed: %u", uartSpeed); + if (portType == PTY_PORT) { + modemPort = new port::PseudoPTYPort(uartPort, serialSpeed, true); + LogInfo(" PTY File: %s", uartPort.c_str()); + LogInfo(" PTY Speed: %u", uartSpeed); + } + else { + modemPort = new port::UARTPort(uartPort, serialSpeed, true); + LogInfo(" UART Port: %s", uartPort.c_str()); + LogInfo(" UART Speed: %u", uartSpeed); + } } else { LogError(LOG_HOST, "Invalid protocol port type, %s!", portType.c_str());