|
|
|
|
@ -136,7 +136,7 @@ BOOL VARAStopPort(struct PORTCONTROL * PORT)
|
|
|
|
|
KillTNC(TNC);
|
|
|
|
|
|
|
|
|
|
sprintf(PORT->TNC->WEB_COMMSSTATE, "%s", "Port Stopped");
|
|
|
|
|
MySetWindowText(PORT->TNC->xIDC_COMMSSTATE, PORT->TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, PORT->TNC->xIDC_COMMSSTATE, PORT->TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
@ -150,10 +150,10 @@ BOOL VARAStartPort(struct PORTCONTROL * PORT)
|
|
|
|
|
struct TNCINFO * TNC = PORT->TNC;
|
|
|
|
|
|
|
|
|
|
ConnecttoVARA(TNC->Port);
|
|
|
|
|
TNC->lasttime = time(NULL);;
|
|
|
|
|
TNC->lasttime = NOW;;
|
|
|
|
|
|
|
|
|
|
sprintf(PORT->TNC->WEB_COMMSSTATE, "%s", "Port Restarted");
|
|
|
|
|
MySetWindowText(PORT->TNC->xIDC_COMMSSTATE, PORT->TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, PORT->TNC->xIDC_COMMSSTATE, PORT->TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
|
}
|
|
|
|
|
@ -364,6 +364,8 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
{
|
|
|
|
|
case 8:
|
|
|
|
|
|
|
|
|
|
// 60 sec timer
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
case 7:
|
|
|
|
|
@ -390,7 +392,7 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
|
|
|
|
|
if ((STREAM->Connecting || STREAM->Connected) && !STREAM->Disconnecting)
|
|
|
|
|
{
|
|
|
|
|
if (TNC->SessionTimeLimit && STREAM->ConnectTime && time(NULL) > (TNC->SessionTimeLimit + STREAM->ConnectTime))
|
|
|
|
|
if (TNC->SessionTimeLimit && STREAM->ConnectTime && NOW > (TNC->SessionTimeLimit + STREAM->ConnectTime))
|
|
|
|
|
{
|
|
|
|
|
VARASendCommand(TNC, "CLEANTXBUFFER\r", TRUE);
|
|
|
|
|
VARASendCommand(TNC, "DISCONNECT\r", TRUE);
|
|
|
|
|
@ -403,7 +405,7 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
|
|
|
|
|
if (STREAM->Attached)
|
|
|
|
|
{
|
|
|
|
|
if (STREAM->AttachTime && TNC->AttachTimeLimit && time(NULL) > (TNC->AttachTimeLimit + STREAM->AttachTime))
|
|
|
|
|
if (STREAM->AttachTime && TNC->AttachTimeLimit && NOW > (TNC->AttachTimeLimit + STREAM->AttachTime))
|
|
|
|
|
{
|
|
|
|
|
STREAM->ReportDISC = 1;
|
|
|
|
|
STREAM->AttachTime = 0;
|
|
|
|
|
@ -439,7 +441,7 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
|
|
|
|
|
VARASendCommand(TNC, TNC->ConnectCmd, TRUE);
|
|
|
|
|
TNC->Streams[0].Connecting = TRUE;
|
|
|
|
|
TNC->Streams[0].ConnectTime = time(NULL);
|
|
|
|
|
TNC->Streams[0].ConnectTime = NOW;
|
|
|
|
|
|
|
|
|
|
memset(TNC->Streams[0].RemoteCall, 0, 10);
|
|
|
|
|
memcpy(TNC->Streams[0].RemoteCall, &TNC->ConnectCmd[8], strlen(TNC->ConnectCmd)-10);
|
|
|
|
|
@ -463,7 +465,7 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
PMSGWITHLEN buffptr = GetBuff();
|
|
|
|
|
|
|
|
|
|
TNC->Streams[0].Connecting = FALSE;
|
|
|
|
|
TNC->Streams[0].ConnectTime = time(NULL);
|
|
|
|
|
TNC->Streams[0].ConnectTime = NOW;
|
|
|
|
|
|
|
|
|
|
if (buffptr == 0) return (0); // No buffers, so ignore
|
|
|
|
|
|
|
|
|
|
@ -480,6 +482,12 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (TNC->PageChanged)
|
|
|
|
|
{
|
|
|
|
|
BuildDevicePage(TNC);
|
|
|
|
|
TNC->PageChanged = FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
case 1: // poll
|
|
|
|
|
@ -502,18 +510,18 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
char Time[80];
|
|
|
|
|
|
|
|
|
|
TNC->Restarts++;
|
|
|
|
|
TNC->LastRestart = time(NULL);
|
|
|
|
|
TNC->LastRestart = NOW;
|
|
|
|
|
|
|
|
|
|
tm = gmtime(&TNC->LastRestart);
|
|
|
|
|
|
|
|
|
|
sprintf_s(Time, sizeof(Time),"%04d/%02d/%02d %02d:%02dZ",
|
|
|
|
|
tm->tm_year +1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min);
|
|
|
|
|
|
|
|
|
|
MySetWindowText(TNC->xIDC_RESTARTTIME, Time);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_RESTARTTIME, Time);
|
|
|
|
|
strcpy(TNC->WEB_RESTARTTIME, Time);
|
|
|
|
|
|
|
|
|
|
sprintf_s(Time, sizeof(Time),"%d", TNC->Restarts);
|
|
|
|
|
MySetWindowText(TNC->xIDC_RESTARTS, Time);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_RESTARTS, Time);
|
|
|
|
|
strcpy(TNC->WEB_RESTARTS, Time);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
@ -536,14 +544,14 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
VARASendCommand(TNC, "LISTEN OFF\r", TRUE);
|
|
|
|
|
|
|
|
|
|
TNC->SessionTimeLimit = TNC->DefaultSessionTimeLimit; // Reset Limit
|
|
|
|
|
STREAM->AttachTime = time(NULL);
|
|
|
|
|
STREAM->AttachTime = NOW;
|
|
|
|
|
|
|
|
|
|
// Stop other ports in same group
|
|
|
|
|
|
|
|
|
|
SuspendOtherPorts(TNC);
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TNCSTATE, "In Use by %s", TNC->Streams[0].MyCall);
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
// Stop Scanning
|
|
|
|
|
|
|
|
|
|
@ -850,7 +858,7 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
// Save Command, and wait up to 10 secs
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TNCSTATE, "Waiting for clear channel");
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
TNC->ConnectCmd = _strdup(Connect);
|
|
|
|
|
TNC->BusyDelay = TNC->BusyWait * 10; // BusyWait secs
|
|
|
|
|
@ -861,14 +869,14 @@ static size_t ExtProc(int fn, int port, PDATAMESSAGE buff)
|
|
|
|
|
TNC->OverrideBusy = FALSE;
|
|
|
|
|
|
|
|
|
|
VARASendCommand(TNC, Connect, TRUE);
|
|
|
|
|
TNC->Streams[0].ConnectTime = time(NULL);
|
|
|
|
|
TNC->Streams[0].ConnectTime = NOW;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
memset(TNC->Streams[0].RemoteCall, 0, 10);
|
|
|
|
|
strcpy(TNC->Streams[0].RemoteCall, &buff->L2DATA[2]);
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TNCSTATE, "%s Connecting to %s", TNC->Streams[0].MyCall, TNC->Streams[0].RemoteCall);
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@ -1011,68 +1019,33 @@ void CountRestarts(struct TNCINFO * TNC)
|
|
|
|
|
char Time[80];
|
|
|
|
|
|
|
|
|
|
TNC->Restarts++;
|
|
|
|
|
TNC->LastRestart = time(NULL);
|
|
|
|
|
TNC->LastRestart = NOW;
|
|
|
|
|
|
|
|
|
|
tm = gmtime(&TNC->LastRestart);
|
|
|
|
|
|
|
|
|
|
sprintf_s(Time, sizeof(Time),"%04d/%02d/%02d %02d:%02dZ",
|
|
|
|
|
tm->tm_year +1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min);
|
|
|
|
|
|
|
|
|
|
//MySetWindowText(TNC->xIDC_RESTARTTIME, Time);
|
|
|
|
|
//MySetWindowText(TNC, TNC->xIDC_RESTARTTIME, Time);
|
|
|
|
|
//strcpy(TNC->WEB_RESTARTTIME, Time);
|
|
|
|
|
|
|
|
|
|
sprintf_s(Time, sizeof(Time),"%d", TNC->Restarts);
|
|
|
|
|
MySetWindowText(TNC->xIDC_RESTARTS, Time);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_RESTARTS, Time);
|
|
|
|
|
strcpy(TNC->WEB_RESTARTS, Time);
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
char WebProcTemplate[] = "<html><meta http-equiv=expires content=0><meta http-equiv=refresh content=15>"
|
|
|
|
|
"<link rel='stylesheet' href='webproc.css'>\r\n"
|
|
|
|
|
"<script type=\"text/javascript\">\r\n"
|
|
|
|
|
"function ScrollOutput()\r\n"
|
|
|
|
|
"{var textarea = document.getElementById('textarea');"
|
|
|
|
|
"textarea.scrollTop = textarea.scrollHeight;}\r\n"
|
|
|
|
|
"function xxx(data){\r\n"
|
|
|
|
|
"req = new XMLHttpRequest();\r\n"
|
|
|
|
|
"req.open('POST', 'PortAction?%d', true);\r\n"
|
|
|
|
|
"req.send(data);alert(data + ' Sent');}\r\n"
|
|
|
|
|
"</script>"
|
|
|
|
|
"</head><title>%s</title></head><body id=Text onload=\"ScrollOutput()\">"
|
|
|
|
|
"<span class='dropdown'>"
|
|
|
|
|
"<button class='dropbtn'>Actions</button><span style=\"margin-left:120px;font-size:16px\"><b>%s</b></span>"
|
|
|
|
|
"<div class='dropdown-content'>"
|
|
|
|
|
"<a href='javascript:xxx(\"Abort\");'>Abort Session</a>"
|
|
|
|
|
"<a href='javascript:xxx(\"Kill\");'>Kill TNC</a>"
|
|
|
|
|
"<a href='javascript:xxx(\"KillRestart\");'>Kill and Restart TNC</a>"
|
|
|
|
|
"</div></span>";
|
|
|
|
|
*/
|
|
|
|
|
char WebProcTemplate[] = "<html><meta http-equiv=expires content=0>"
|
|
|
|
|
|
|
|
|
|
char WebProcTemplate[] =
|
|
|
|
|
"<link rel='stylesheet' href='webproc.css'>\r\n"
|
|
|
|
|
"<script type=\"text/javascript\">\r\n"
|
|
|
|
|
"function ScrollOutput()\r\n"
|
|
|
|
|
"{var textarea = document.getElementById('textarea');"
|
|
|
|
|
"textarea.scrollTop = textarea.scrollHeight;}\r\n"
|
|
|
|
|
"function xxx(data){\r\n"
|
|
|
|
|
"req = new XMLHttpRequest();\r\n"
|
|
|
|
|
"req.open('POST', 'PortAction?%d', true);\r\n"
|
|
|
|
|
"req.send(data);alert(data + ' Sent');}\r\n"
|
|
|
|
|
"function yyy(data){\r\n"
|
|
|
|
|
"req = new XMLHttpRequest();\r\n"
|
|
|
|
|
"req.open('POST', 'freqOffset?%d', true);\r\n"
|
|
|
|
|
"req.send(data);}\r\n"
|
|
|
|
|
"myInt = setInterval('Refresh()', 15000 );\n"
|
|
|
|
|
"function Refresh( )\n"
|
|
|
|
|
"{location.reload()}\n"
|
|
|
|
|
"</script>\r\n"
|
|
|
|
|
"</head><title>%s</title></head><body id=Text onload=\"ScrollOutput()\">\r\n"
|
|
|
|
|
"<h2 style=\"margin-bottom: 0.2em; text-align:center\">%s</h2>";
|
|
|
|
|
"<h3 style=\"margin-bottom: 0.2em; text-align:center\">%s</h3>";
|
|
|
|
|
|
|
|
|
|
char Menubit[] = "<span class='dropdown' style=\"position: absolute; left: 10;top: 12;\">"
|
|
|
|
|
"<button class='dropbtn'>Actions</button>\r\n"
|
|
|
|
|
char Menubit[] = "<span hidden class='dropdown' style=\"position: absolute; left: 10;top: 12;\">"
|
|
|
|
|
"<button hidden class='dropbtn'>Actions</button>\r\n"
|
|
|
|
|
"<span class='dropdown-content'>"
|
|
|
|
|
"<a href='javascript:xxx(\"Abort\");'>Abort Session</a>"
|
|
|
|
|
"<a href='javascript:xxx(\"Kill\");'>Kill TNC</a>"
|
|
|
|
|
"<a href='javascript:xxx(\"KillRestart\");'>Kill and Restart TNC</a>"
|
|
|
|
|
"<a href='javascript:Action(\"Abort\");'>Abort Session</a>"
|
|
|
|
|
"<a href='javascript:Action(\"Kill\");'>Kill TNC</a>"
|
|
|
|
|
"<a href='javascript:Action(\"KillRestart\");'>Kill and Restart TNC</a>"
|
|
|
|
|
"</span></span>";
|
|
|
|
|
|
|
|
|
|
char sliderBit[] = "<span style=\"position: absolute; left: 380;top: 2;\"> TX Offset <span id='val'>%d</span></span>"
|
|
|
|
|
@ -1082,16 +1055,16 @@ char sliderBit[] = "<span style=\"position: absolute; left: 380;top: 2;\"> TX Of
|
|
|
|
|
"var output = document.getElementById('val');"
|
|
|
|
|
"slider.oninput = function() {output.innerHTML = this.value;}\r\n"
|
|
|
|
|
"slider.onmouseout = function() {myInt = setInterval('Refresh()', 15000 );"
|
|
|
|
|
"output.innerHTML = this.value;yyy(this.value);}\r\n"
|
|
|
|
|
"output.innerHTML = this.value;freqOffset(this.value);}\r\n"
|
|
|
|
|
"slider.onmouseover = function() {clearInterval(myInt)};"
|
|
|
|
|
"</script>\r\n";
|
|
|
|
|
|
|
|
|
|
static int WebProc(struct TNCINFO * TNC, char * Buff, BOOL LOCAL)
|
|
|
|
|
{
|
|
|
|
|
int Len = sprintf(Buff, WebProcTemplate, TNC->Port, TNC->Port, "VARA Status", "VARA Status");
|
|
|
|
|
int Len = sprintf(Buff, WebProcTemplate, "VARA Status");
|
|
|
|
|
|
|
|
|
|
if (LOCAL)
|
|
|
|
|
Len += sprintf(&Buff[Len], Menubit, TNC->TXOffset, TNC->TXOffset);
|
|
|
|
|
Len += sprintf(&Buff[Len], Menubit);
|
|
|
|
|
|
|
|
|
|
if (TNC->TXFreq)
|
|
|
|
|
Len += sprintf(&Buff[Len], sliderBit, TNC->TXOffset, TNC->TXOffset);
|
|
|
|
|
@ -1118,7 +1091,7 @@ VOID VARASuspendPort(struct TNCINFO * TNC, struct TNCINFO * ThisTNC)
|
|
|
|
|
TNC->PortRecord->PORTCONTROL.PortSuspended = TRUE;
|
|
|
|
|
VARASendCommand(TNC, "LISTEN OFF\r", TRUE);
|
|
|
|
|
strcpy(TNC->WEB_TNCSTATE, "Interlocked");
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1127,7 +1100,7 @@ VOID VARAReleasePort(struct TNCINFO * TNC)
|
|
|
|
|
TNC->PortRecord->PORTCONTROL.PortSuspended = FALSE;
|
|
|
|
|
VARASendCommand(TNC, "LISTEN ON\r", TRUE);
|
|
|
|
|
strcpy(TNC->WEB_TNCSTATE, "Free");
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1508,7 +1481,7 @@ TNCRunning:
|
|
|
|
|
if (TNC->Alerted == FALSE)
|
|
|
|
|
{
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connecting to TNC");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TNC->destaddr.sin_addr.s_addr = inet_addr(TNC->HostName);
|
|
|
|
|
@ -1583,7 +1556,7 @@ TNCRunning:
|
|
|
|
|
TNC->Alerted = TRUE;
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC failed");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// printf("VARA Connect failed\n");
|
|
|
|
|
@ -1613,7 +1586,7 @@ VConnected:
|
|
|
|
|
i=sprintf(Msg, "Connect Failed for VARA Data socket - error code = %d\r\n", err);
|
|
|
|
|
WritetoConsole(Msg);
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC failed");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
TNC->Alerted = TRUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1676,7 +1649,7 @@ VConnected:
|
|
|
|
|
TNC->Alerted = TRUE;
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connected to VARA TNC");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
FreeSemaphore(&Semaphore);
|
|
|
|
|
|
|
|
|
|
@ -1742,7 +1715,7 @@ Lost:
|
|
|
|
|
WritetoConsole(Msg);
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC lost");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
TNC->CONNECTED = FALSE;
|
|
|
|
|
TNC->Alerted = FALSE;
|
|
|
|
|
@ -1766,7 +1739,7 @@ Lost:
|
|
|
|
|
WritetoConsole(Msg);
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC lost");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
TNC->CONNECTED = FALSE;
|
|
|
|
|
TNC->Alerted = FALSE;
|
|
|
|
|
@ -1795,7 +1768,7 @@ Lost:
|
|
|
|
|
|
|
|
|
|
// sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC lost");
|
|
|
|
|
// GetSemaphore(&Semaphore, 52);
|
|
|
|
|
// MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
// MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
// FreeSemaphore(&Semaphore);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1900,7 +1873,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
if (_memicmp(Buffer, "SN ", 3) == 0)
|
|
|
|
|
{
|
|
|
|
|
strcpy(TNC->WEB_PROTOSTATE, &Buffer[3]);
|
|
|
|
|
MySetWindowText(TNC->xIDC_PROTOSTATE, TNC->WEB_PROTOSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_PROTOSTATE, TNC->WEB_PROTOSTATE);
|
|
|
|
|
|
|
|
|
|
TNC->SNR = atof(&Buffer[3]);
|
|
|
|
|
return;
|
|
|
|
|
@ -1913,10 +1886,10 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
|
|
|
|
|
TNC->BusyonTime = GetTickCount();
|
|
|
|
|
|
|
|
|
|
MySetWindowText(TNC->xIDC_CHANSTATE, "Busy");
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_CHANSTATE, "Busy");
|
|
|
|
|
strcpy(TNC->WEB_CHANSTATE, "Busy");
|
|
|
|
|
|
|
|
|
|
TNC->WinmorRestartCodecTimer = time(NULL);
|
|
|
|
|
TNC->WinmorRestartCodecTimer = NOW;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1935,8 +1908,8 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MySetWindowText(TNC->xIDC_CHANSTATE, TNC->WEB_CHANSTATE);
|
|
|
|
|
TNC->WinmorRestartCodecTimer = time(NULL);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_CHANSTATE, TNC->WEB_CHANSTATE);
|
|
|
|
|
TNC->WinmorRestartCodecTimer = NOW;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -2017,7 +1990,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TRAFFIC, "Sent %d RXed %d Queued %s",
|
|
|
|
|
STREAM->bytesTXed, STREAM->bytesRXed, &Buffer[7]);
|
|
|
|
|
MySetWindowText(TNC->xIDC_TRAFFIC, TNC->WEB_TRAFFIC);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TRAFFIC, TNC->WEB_TRAFFIC);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@ -2077,7 +2050,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
strcpy(TNC->WEB_MODE, "2750");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MySetWindowText(TNC->xIDC_MODE, TNC->WEB_MODE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_MODE, TNC->WEB_MODE);
|
|
|
|
|
memcpy(Call, &Buffer[10], 10);
|
|
|
|
|
|
|
|
|
|
ptr = strchr(Call, ' ');
|
|
|
|
|
@ -2105,7 +2078,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
|
|
|
|
|
memset(STREAM, 0, sizeof(struct STREAMINFO));
|
|
|
|
|
|
|
|
|
|
STREAM->ConnectTime = time(NULL);
|
|
|
|
|
STREAM->ConnectTime = NOW;
|
|
|
|
|
|
|
|
|
|
SuspendOtherPorts(TNC);
|
|
|
|
|
|
|
|
|
|
@ -2146,7 +2119,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
if (WL2K)
|
|
|
|
|
strcpy(SESS->RMSCall, WL2K->RMSCall);
|
|
|
|
|
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
// Check for ExcludeList
|
|
|
|
|
|
|
|
|
|
@ -2297,7 +2270,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
char Reply[80];
|
|
|
|
|
int ReplyLen;
|
|
|
|
|
|
|
|
|
|
STREAM->ConnectTime = time(NULL);
|
|
|
|
|
STREAM->ConnectTime = NOW;
|
|
|
|
|
|
|
|
|
|
if (TNC->NetRomMode)
|
|
|
|
|
{
|
|
|
|
|
@ -2342,7 +2315,7 @@ VOID VARAProcessResponse(struct TNCINFO * TNC, UCHAR * Buffer, int MsgLen)
|
|
|
|
|
else
|
|
|
|
|
sprintf(TNC->WEB_TNCSTATE, "%s Connected to %s Outbound", TNC->Streams[0].MyCall, TNC->Streams[0].RemoteCall);
|
|
|
|
|
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
UpdateMH(TNC, TNC->TargetCall, '+', 'O');
|
|
|
|
|
return;
|
|
|
|
|
@ -2499,7 +2472,7 @@ VOID VARAProcessReceivedData(struct TNCINFO * TNC)
|
|
|
|
|
// closesocket(TNC->TCPSock);
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC lost");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
TNC->CONNECTED = FALSE;
|
|
|
|
|
TNC->Alerted = FALSE;
|
|
|
|
|
@ -2701,7 +2674,7 @@ VOID VARAProcessReceivedControl(struct TNCINFO * TNC)
|
|
|
|
|
TNC->Streams[0].Disconnecting = FALSE;
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_COMMSSTATE, "Connection to TNC lost");
|
|
|
|
|
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@ -2773,7 +2746,7 @@ VOID VARAProcessDataPacket(struct TNCINFO * TNC, UCHAR * Data, int Length)
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TRAFFIC, "Sent %d RXed %d Queued %d",
|
|
|
|
|
STREAM->bytesTXed, STREAM->bytesRXed,STREAM->BytesOutstanding);
|
|
|
|
|
MySetWindowText(TNC->xIDC_TRAFFIC, TNC->WEB_TRAFFIC);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TRAFFIC, TNC->WEB_TRAFFIC);
|
|
|
|
|
|
|
|
|
|
// if VARAAC Mode, remove byte count from front and add cr
|
|
|
|
|
// could possibly be longer than buffer size
|
|
|
|
|
@ -2970,7 +2943,7 @@ VOID VARAReleaseTNC(struct TNCINFO * TNC)
|
|
|
|
|
VARASendCommand(TNC, "LISTEN ON\r", TRUE);
|
|
|
|
|
|
|
|
|
|
strcpy(TNC->WEB_TNCSTATE, "Free");
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
// Start Scanner
|
|
|
|
|
|
|
|
|
|
@ -3047,7 +3020,7 @@ void SendVARANetrom(struct TNCINFO * TNC, unsigned char * Data, int Len)
|
|
|
|
|
// Save Command, and wait up to 10 secs
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TNCSTATE, "Waiting for clear channel");
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
|
|
|
|
|
TNC->ConnectCmd = _strdup(Connect);
|
|
|
|
|
TNC->BusyDelay = TNC->BusyWait * 10; // BusyWait secs
|
|
|
|
|
@ -3057,13 +3030,13 @@ void SendVARANetrom(struct TNCINFO * TNC, unsigned char * Data, int Len)
|
|
|
|
|
TNC->OverrideBusy = FALSE;
|
|
|
|
|
|
|
|
|
|
VARASendCommand(TNC, Connect, TRUE);
|
|
|
|
|
TNC->Streams[0].ConnectTime = time(NULL);
|
|
|
|
|
TNC->Streams[0].ConnectTime = NOW;
|
|
|
|
|
|
|
|
|
|
memset(TNC->Streams[0].RemoteCall, 0, 10);
|
|
|
|
|
strcpy(TNC->Streams[0].RemoteCall, MYNETROMCALL);
|
|
|
|
|
|
|
|
|
|
sprintf(TNC->WEB_TNCSTATE, "%s Connecting to %s", TNC->Streams[0].MyCall, TNC->Streams[0].RemoteCall);
|
|
|
|
|
MySetWindowText(TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
MySetWindowText(TNC, TNC->xIDC_TNCSTATE, TNC->WEB_TNCSTATE);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|