mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-27 05:06:44 +00:00
Speedup loop
This commit is contained in:
parent
8755f78b4a
commit
55961c5b4f
@ -342,7 +342,8 @@ void mqttSetup()
|
|||||||
|
|
||||||
IRAM_ATTR void mqttLoop(void)
|
IRAM_ATTR void mqttLoop(void)
|
||||||
{
|
{
|
||||||
if(mqttEnabled) mqttClient.loop();
|
// if(mqttEnabled)
|
||||||
|
mqttClient.loop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void mqttEvery5Seconds(bool networkIsConnected)
|
void mqttEvery5Seconds(bool networkIsConnected)
|
||||||
|
@ -44,8 +44,8 @@ void telnetClientDisconnect()
|
|||||||
LOG_TRACE(TAG_TELN, F(D_TELNET_CLOSING_CONNECTION), telnetClient.remoteIP().toString().c_str());
|
LOG_TRACE(TAG_TELN, F(D_TELNET_CLOSING_CONNECTION), telnetClient.remoteIP().toString().c_str());
|
||||||
telnetLoginState = TELNET_UNAUTHENTICATED;
|
telnetLoginState = TELNET_UNAUTHENTICATED;
|
||||||
telnetLoginAttempt = 0; // Initial attempt
|
telnetLoginAttempt = 0; // Initial attempt
|
||||||
// delete telnetConsole;
|
delete telnetConsole;
|
||||||
// telnetConsole = NULL;
|
telnetConsole = NULL;
|
||||||
telnetClient.stop();
|
telnetClient.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,11 +215,16 @@ static void telnetProcessLine(const char* input)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
if(strcasecmp_P(input, PSTR("exit")) == 0) {
|
if(strcasecmp_P(input, PSTR("exit")) == 0 || strcasecmp_P(input, PSTR("quit")) == 0 ||
|
||||||
|
strcasecmp_P(input, PSTR("bye")) == 0) {
|
||||||
telnetClientDisconnect();
|
telnetClientDisconnect();
|
||||||
} else if(strcasecmp_P(input, PSTR("logoff")) == 0) {
|
} else if(strcasecmp_P(input, PSTR("logoff")) == 0) {
|
||||||
telnetClient.println(F("\r\n" D_USERNAME " "));
|
if(strcmp(input, http_config.password) == 0) {
|
||||||
telnetLoginState = TELNET_UNAUTHENTICATED;
|
telnetClient.println(F("\r\n" D_USERNAME " "));
|
||||||
|
telnetLoginState = TELNET_UNAUTHENTICATED;
|
||||||
|
} else {
|
||||||
|
telnetClientDisconnect();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
dispatch_text_line(input);
|
dispatch_text_line(input);
|
||||||
}
|
}
|
||||||
@ -245,15 +250,16 @@ void telnetSetup()
|
|||||||
telnetServer->setNoDelay(true);
|
telnetServer->setNoDelay(true);
|
||||||
telnetServer->begin();
|
telnetServer->begin();
|
||||||
|
|
||||||
telnetConsole = new ConsoleInput(&telnetClient, HASP_CONSOLE_BUFFER);
|
// telnetConsole = new ConsoleInput(&telnetClient, HASP_CONSOLE_BUFFER);
|
||||||
if(telnetConsole != NULL) {
|
// if(telnetConsole != NULL) {
|
||||||
telnetConsole->setLineCallback(telnetProcessLine);
|
// telnetConsole->setLineCallback(telnetProcessLine);
|
||||||
LOG_INFO(TAG_TELN, F(D_TELNET_STARTED));
|
// LOG_INFO(TAG_TELN, F(D_TELNET_STARTED));
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
LOG_INFO(TAG_TELN, F(D_TELNET_STARTED));
|
||||||
|
} else {
|
||||||
|
LOG_ERROR(TAG_TELN, F(D_TELNET_FAILED));
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_ERROR(TAG_TELN, F(D_TELNET_FAILED));
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -290,6 +296,31 @@ IRAM_ATTR void telnetLoop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
/* Active Client: Process user input */
|
||||||
|
if(telnetClient.connected()) {
|
||||||
|
if(telnetConsole) {
|
||||||
|
int16_t keypress = telnetConsole->readKey();
|
||||||
|
} else {
|
||||||
|
telnetConsole = new ConsoleInput(&telnetClient, HASP_CONSOLE_BUFFER);
|
||||||
|
if(telnetConsole) {
|
||||||
|
telnetConsole->setLineCallback(telnetProcessLine);
|
||||||
|
} else {
|
||||||
|
telnetClientDisconnect();
|
||||||
|
LOG_ERROR(TAG_TELN, F(D_TELNET_FAILED));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void telnetEverySecond(void)
|
||||||
|
{
|
||||||
|
if(!telnetClient.connected() && telnetLoginState != TELNET_UNAUTHENTICATED) {
|
||||||
|
telnetClientDisconnect(); // active client disconnected
|
||||||
|
}
|
||||||
|
|
||||||
if(telnetServer && telnetServer->hasClient()) { // a new client has connected
|
if(telnetServer && telnetServer->hasClient()) { // a new client has connected
|
||||||
if(!telnetClient.connected()) { // nobody is already connected
|
if(!telnetClient.connected()) { // nobody is already connected
|
||||||
telnetAcceptClient(); // allow the new client
|
telnetAcceptClient(); // allow the new client
|
||||||
@ -297,22 +328,7 @@ IRAM_ATTR void telnetLoop()
|
|||||||
LOG_WARNING(TAG_TELN, F(D_TELNET_CLIENT_REJECTED));
|
LOG_WARNING(TAG_TELN, F(D_TELNET_CLIENT_REJECTED));
|
||||||
telnetServer->available().stop(); // already have a client, block new connections
|
telnetServer->available().stop(); // already have a client, block new connections
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if(!telnetClient.connected() && telnetLoginState != TELNET_UNAUTHENTICATED) {
|
|
||||||
telnetClientDisconnect(); // active client disconnected
|
|
||||||
} else {
|
|
||||||
|
|
||||||
/* Active Client: Process user input */
|
|
||||||
if(telnetConsole && telnetClient.connected()) {
|
|
||||||
int16_t keypress = telnetConsole->readKey();
|
|
||||||
switch(keypress) {
|
|
||||||
case ConsoleInput::KEY_PAUSE:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if HASP_USE_CONFIG > 0
|
#if HASP_USE_CONFIG > 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user