diff --git a/.gitignore b/.gitignore index c99392e..193724e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ Makefile.inc build bin *.sublime-workspace +.idea diff --git a/core/MyGatewayTransportEthernet.cpp b/core/MyGatewayTransportEthernet.cpp index 693939d..5b0d9f7 100644 --- a/core/MyGatewayTransportEthernet.cpp +++ b/core/MyGatewayTransportEthernet.cpp @@ -137,31 +137,33 @@ bool gatewayTransportInit(void) delay(1000); #endif /* MY_GATEWAY_ESP8266 */ -#ifdef MY_USE_UDP - _ethernetServer.begin(_ethernetGatewayPort); -#elif defined(MY_GATEWAY_CLIENT_MODE) -#if defined(MY_CONTROLLER_URL_ADDRESS) - if (client.connect(MY_CONTROLLER_URL_ADDRESS, MY_PORT)) { +#if defined(MY_GATEWAY_CLIENT_MODE) + #if defined(MY_CONTROLLER_URL_ADDRESS) + if (client.connect(MY_CONTROLLER_URL_ADDRESS, MY_PORT)) { #else - if (client.connect(_ethernetControllerIP, MY_PORT)) { + if (client.connect(_ethernetControllerIP, MY_PORT)) { #endif - debug(PSTR("Eth: connect\n")); - _w5100_spi_en(false); - gatewayTransportSend(buildGw(_msgTmp, I_GATEWAY_READY).set(MSG_GW_STARTUP_COMPLETE)); - _w5100_spi_en(true); - presentNode(); - } else { - client.stop(); - debug(PSTR("Eth: Failed to connect\n")); - } + debug(PSTR("Eth: connect\n")); + _w5100_spi_en(false); + gatewayTransportSend(buildGw(_msgTmp, I_GATEWAY_READY).set(MSG_GW_STARTUP_COMPLETE)); + _w5100_spi_en(true); + presentNode(); + } + else { + client.stop(); + debug(PSTR("Eth: Failed to connect\n")); + } +#elif defined(MY_USE_UDP) + _ethernetServer.begin(_ethernetGatewayPort); #else #if defined(MY_GATEWAY_LINUX) && defined(MY_IP_ADDRESS) _ethernetServer.begin(_ethernetGatewayIP); #else - // we have to use pointers due to the constructor of EthernetServer +// we have to use pointers due to the constructor of EthernetServer _ethernetServer.begin(); #endif #endif /* USE_UDP */ + _w5100_spi_en(false); return true; } @@ -204,7 +206,7 @@ bool gatewayTransportSend(MyMessage &message) return false; } } - nbytes = client.write(_ethernetMsg, strlen(_ethernetMsg)); + nbytes = client.write((const uint8_t*)_ethernetMsg, strlen(_ethernetMsg)); #endif #else // Send message to connected clients @@ -298,7 +300,7 @@ bool gatewayTransportAvailable(void) if (packet_size) { //debug(PSTR("UDP packet available. Size:%d\n"), packet_size); -#if defined(MY_GATEWAY_ESP8266) +#if defined(MY_GATEWAY_ESP8266) && !defined(MY_GATEWAY_CLIENT_MODE) _ethernetServer.read(inputString[0].string, MY_GATEWAY_MAX_RECEIVE_LENGTH); inputString[0].string[packet_size] = 0; debug(PSTR("UDP packet received: %s\n"), inputString[0].string);