From 215c2645b3d08150440fc2c54dc5b0b9d05d478b Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Wed, 17 Feb 2021 14:41:18 +0100 Subject: [PATCH] Move network services into system --- src/sys/net/hasp_network.cpp | 81 +++++++++++++++++++++---------- src/{ => sys}/svc/hasp_http.cpp | 0 src/{ => sys}/svc/hasp_http.h | 0 src/{ => sys}/svc/hasp_mdns.cpp | 0 src/{ => sys}/svc/hasp_mdns.h | 0 src/{ => sys}/svc/hasp_ota.cpp | 66 ++++++++++++------------- src/{ => sys}/svc/hasp_ota.h | 0 src/{ => sys}/svc/hasp_slave.cpp | 6 +-- src/{ => sys}/svc/hasp_slave.h | 9 ++-- src/{ => sys}/svc/hasp_telnet.cpp | 0 src/{ => sys}/svc/hasp_telnet.h | 0 11 files changed, 96 insertions(+), 66 deletions(-) rename src/{ => sys}/svc/hasp_http.cpp (100%) rename src/{ => sys}/svc/hasp_http.h (100%) rename src/{ => sys}/svc/hasp_mdns.cpp (100%) rename src/{ => sys}/svc/hasp_mdns.h (100%) rename src/{ => sys}/svc/hasp_ota.cpp (89%) rename src/{ => sys}/svc/hasp_ota.h (100%) rename src/{ => sys}/svc/hasp_slave.cpp (97%) rename src/{ => sys}/svc/hasp_slave.h (79%) rename src/{ => sys}/svc/hasp_telnet.cpp (100%) rename src/{ => sys}/svc/hasp_telnet.h (100%) diff --git a/src/sys/net/hasp_network.cpp b/src/sys/net/hasp_network.cpp index b51d0778..02f299ad 100644 --- a/src/sys/net/hasp_network.cpp +++ b/src/sys/net/hasp_network.cpp @@ -13,8 +13,8 @@ #include "hasp_debug.h" #include "hasp_network.h" -#include "../../hasp/hasp.h" -#include "../../svc/hasp_mdns.h" +#include "hasp/hasp.h" +#include "sys/svc/hasp_mdns.h" #if HASP_USE_ETHERNET > 0 || HASP_USE_WIFI > 0 void networkStart(void) @@ -41,60 +41,91 @@ void networkStop(void) void networkSetup() { - #if HASP_USE_ETHERNET > 0 +#if HASP_USE_ETHERNET > 0 ethernetSetup(); - #endif +#endif - #if HASP_USE_WIFI > 0 +#if HASP_USE_WIFI > 0 wifiSetup(); - #endif +#endif } void networkLoop(void) { - #if HASP_USE_ETHERNET > 0 +#if HASP_USE_ETHERNET > 0 ethernetLoop(); - #endif +#endif - #if HASP_USE_WIFI > 0 - // wifiLoop(); - #endif +#if HASP_USE_WIFI > 0 + // wifiLoop(); +#endif + +#if HASP_USE_TASMOTA_CLIENT > 0 + tasmotaclientLoop(); +#endif // HASP_USE_TASMOTA_CLIENT + +#if HASP_USE_HTTP > 0 + httpLoop(); +#endif // HTTP + +#if HASP_USE_GPIO > 0 + gpioLoop(); +#endif // GPIO + +#if HASP_USE_OTA > 0 + otaLoop(); +#endif // OTA + +#if HASP_USE_MDNS > 0 + mdnsLoop(); +#endif // MDNS + +#if HASP_USE_TELNET > 0 + telnetLoop(); // Console +#endif // TELNET } bool networkEvery5Seconds(void) { - #if HASP_USE_ETHERNET > 0 +#if HASP_USE_ETHERNET > 0 return ethernetEvery5Seconds(); - #endif +#endif - #if HASP_USE_WIFI > 0 +#if HASP_USE_WIFI > 0 return wifiEvery5Seconds(); - #endif +#endif return false; } bool networkEverySecond(void) { - #if HASP_USE_ETHERNET > 0 - // return ethernetEverySecond(); - #endif + bool connected = false; + +#if HASP_USE_ETHERNET > 0 + connected |= ethernetEverySecond(); +#endif + +#if HASP_USE_WIFI > 0 + // connected |= wifiEverySecond(); +#endif + +#if HASP_USE_OTA > 0 + otaEverySecond(); // progressbar +#endif - #if HASP_USE_WIFI > 0 - // return wifiEverySecond(); - #endif return true; } void network_get_statusupdate(char * buffer, size_t len) { - #if HASP_USE_ETHERNET > 0 +#if HASP_USE_ETHERNET > 0 ethernet_get_statusupdate(buffer, len); - #endif +#endif - #if HASP_USE_WIFI > 0 +#if HASP_USE_WIFI > 0 wifi_get_statusupdate(buffer, len); - #endif +#endif } #endif \ No newline at end of file diff --git a/src/svc/hasp_http.cpp b/src/sys/svc/hasp_http.cpp similarity index 100% rename from src/svc/hasp_http.cpp rename to src/sys/svc/hasp_http.cpp diff --git a/src/svc/hasp_http.h b/src/sys/svc/hasp_http.h similarity index 100% rename from src/svc/hasp_http.h rename to src/sys/svc/hasp_http.h diff --git a/src/svc/hasp_mdns.cpp b/src/sys/svc/hasp_mdns.cpp similarity index 100% rename from src/svc/hasp_mdns.cpp rename to src/sys/svc/hasp_mdns.cpp diff --git a/src/svc/hasp_mdns.h b/src/sys/svc/hasp_mdns.h similarity index 100% rename from src/svc/hasp_mdns.h rename to src/sys/svc/hasp_mdns.h diff --git a/src/svc/hasp_ota.cpp b/src/sys/svc/hasp_ota.cpp similarity index 89% rename from src/svc/hasp_ota.cpp rename to src/sys/svc/hasp_ota.cpp index 6dc60d84..17392160 100644 --- a/src/svc/hasp_ota.cpp +++ b/src/sys/svc/hasp_ota.cpp @@ -3,25 +3,25 @@ #if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) - #include "hasp_conf.h" +#include "hasp_conf.h" - #include "hasp_debug.h" - #include "hasp_ota.h" +#include "hasp_debug.h" +#include "hasp_ota.h" - #include "../hasp/hasp_dispatch.h" - #include "../hasp/hasp.h" +#include "../../hasp/hasp_dispatch.h" +#include "../../hasp/hasp.h" - #if defined(ARDUINO_ARCH_ESP8266) - #include - #include - #include - #else - #include - #include - #include - #endif +#if defined(ARDUINO_ARCH_ESP8266) +#include +#include +#include +#else +#include +#include +#include +#endif - #include +#include static WiFiClient otaClient; std::string otaUrl = "http://ota.netwize.be"; @@ -141,27 +141,27 @@ void otaSetup(void) // delay(5000); }); - #if HASP_USE_MQTT > 0 +#if HASP_USE_MQTT > 0 ArduinoOTA.setHostname(String(mqttGetNodename()).c_str()); - #else +#else ArduinoOTA.setHostname(String(mqttGetNodename()).c_str()); - #endif +#endif // ArduinoOTA.setPassword(configPassword); ArduinoOTA.setPort(otaPort); - #if ESP32 - #if HASP_USE_MDNS > 0 +#if ESP32 +#if HASP_USE_MDNS > 0 ArduinoOTA.setMdnsEnabled(true); - #else +#else ArduinoOTA.setMdnsEnabled(false); - #endif - // ArduinoOTA.setTimeout(1000); - #endif +#endif + // ArduinoOTA.setTimeout(1000); +#endif ArduinoOTA.setRebootOnSuccess(false); // We do that ourselves - #ifdef OTA_PASSWORD +#ifdef OTA_PASSWORD ArduinoOTA.setPassword(OTA_PASSWORD); - #endif +#endif ArduinoOTA.begin(); LOG_INFO(TAG_OTA, F(D_SERVICE_STARTED)); @@ -182,19 +182,19 @@ void otaEverySecond(void) void otaHttpUpdate(const char * espOtaUrl) { // Update ESP firmware from HTTP - #if HASP_USE_MDNS > 0 +#if HASP_USE_MDNS > 0 mdnsStop(); // Keep mDNS responder from breaking things - #endif +#endif - #if defined(ARDUINO_ARCH_ESP8266) +#if defined(ARDUINO_ARCH_ESP8266) // ESPhttpUpdate.onStart(update_started); // ESPhttpUpdate.onEnd(update_finished); // ESPhttpUpdate.onProgress(update_progress); // ESPhttpUpdate.onError(update_error); ESP8266HTTPUpdate httpUpdate; - #else +#else HTTPUpdate httpUpdate; - #endif +#endif httpUpdate.rebootOnUpdate(false); // We do that ourselves t_httpUpdate_return returnCode = httpUpdate.update(otaClient, espOtaUrl); @@ -214,9 +214,9 @@ void otaHttpUpdate(const char * espOtaUrl) dispatch_reboot(true); } - #if HASP_USE_MDNS > 0 +#if HASP_USE_MDNS > 0 mdnsStart(); - #endif // HASP_USE_MDNS +#endif // HASP_USE_MDNS } #endif // ARDUINO_ARCH_ESP8266 || ARDUINO_ARCH_ESP32 \ No newline at end of file diff --git a/src/svc/hasp_ota.h b/src/sys/svc/hasp_ota.h similarity index 100% rename from src/svc/hasp_ota.h rename to src/sys/svc/hasp_ota.h diff --git a/src/svc/hasp_slave.cpp b/src/sys/svc/hasp_slave.cpp similarity index 97% rename from src/svc/hasp_slave.cpp rename to src/sys/svc/hasp_slave.cpp index dc287ae9..840269b2 100644 --- a/src/svc/hasp_slave.cpp +++ b/src/sys/svc/hasp_slave.cpp @@ -2,7 +2,7 @@ For full license information read the LICENSE file in the project folder */ #include "hasp_conf.h" -#if HASP_USE_TASMOTA_SLAVE > 0 +#if HASP_USE_TASMOTA_CLIENT > 0 #include "hasp_slave.h" #include "ArduinoJson.h" @@ -52,7 +52,7 @@ void slave_send_obj_attribute_str(uint8_t pageid, uint8_t btnid, const char * at slave.ExecuteCommand((char *)cBuffer); // Log after char buffers are cleared LOG_TRACE(TAG_TASM, F("TAS PUB: %sstate/json = {\"p[%u].b[%u].%s\":\"%s\"}"), slaveNodeTopic, pageid, btnid, - attribute, data); + attribute, data); } void slave_send_input(uint8_t id, const char * payload) @@ -145,7 +145,7 @@ void TASMO_EVERY_SECOND(void) void slaveSetup() { - Serial2.begin(HASP_SLAVE_SPEED); + Serial2.begin(HASP_TASMOTACLIENT_SPEED); // slave.attach_FUNC_EVERY_SECOND(TASMO_EVERY_SECOND); slave.attach_FUNC_JSON(TASMO_TELE_JSON); slave.attach_FUNC_COMMAND_SEND(TASMO_DATA_RECEIVE); diff --git a/src/svc/hasp_slave.h b/src/sys/svc/hasp_slave.h similarity index 79% rename from src/svc/hasp_slave.h rename to src/sys/svc/hasp_slave.h index a97e132d..9271732a 100644 --- a/src/svc/hasp_slave.h +++ b/src/sys/svc/hasp_slave.h @@ -1,15 +1,15 @@ /* MIT License - Copyright (c) 2020 Francis Van Roie For full license information read the LICENSE file in the project folder */ -#ifndef HASP_SLAVE_H -#define HASP_SLAVE_H +#ifndef HASP_TASMOTACLIENT_H +#define HASP_TASMOTACLIENT_H #include "ArduinoJson.h" -#define HASP_SLAVE_SPEED 57600 +#define HASP_TASMOTACLIENT_SPEED 57600 void TASMO_EVERY_SECOND(void); -void TASMO_DATA_RECEIVE(char *data); +void TASMO_DATA_RECEIVE(char * data); void slave_send_state(const __FlashStringHelper * subtopic, const char * payload); void slave_send_obj_attribute_str(uint8_t pageid, uint8_t btnid, const char * attribute, const char * data); void slave_send_input(uint8_t id, const char * payload); @@ -18,5 +18,4 @@ void slave_send_statusupdate(); void slaveSetup(); void slaveLoop(void); - #endif \ No newline at end of file diff --git a/src/svc/hasp_telnet.cpp b/src/sys/svc/hasp_telnet.cpp similarity index 100% rename from src/svc/hasp_telnet.cpp rename to src/sys/svc/hasp_telnet.cpp diff --git a/src/svc/hasp_telnet.h b/src/sys/svc/hasp_telnet.h similarity index 100% rename from src/svc/hasp_telnet.h rename to src/sys/svc/hasp_telnet.h