Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. ukaszyk
    3. Best
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Best posts made by ukaszyk

    • RE: Unblocking loop when DHCP fails

      @electrik said in Unblocking loop when DHCP fails:

      MQTT_SOCKET_TIMEOUT

      Thanks for your suggestion. Unfortunately it was not enough, but I manipulated in ethernet library and right now I have enough CPU time in my main loop (reading 16 buttons state and control 15 GPIO outputs).
      Here is what I changed so far. I'm not sure about it long time stability, but it works on my desk:

      diff --git a/.pio/libdeps/megaatmega2560/Ethernet/src/Ethernet.h b/.pio/libdeps/megaatmega2560/Ethernet/src/Ethernet.h
      index 376e6c5..9d5e6b4 100644
      --- a/.pio/libdeps/megaatmega2560/Ethernet/src/Ethernet.h
      +++ b/.pio/libdeps/megaatmega2560/Ethernet/src/Ethernet.h
      @@ -213,8 +213,8 @@ public:
       
       class EthernetClient : public Client {
       public:
      -	EthernetClient() : sockindex(MAX_SOCK_NUM), _timeout(1000) { }
      -	EthernetClient(uint8_t s) : sockindex(s), _timeout(1000) { }
      +	EthernetClient() : sockindex(MAX_SOCK_NUM), _timeout(5) { }
      +	EthernetClient(uint8_t s) : sockindex(s), _timeout(5) { }
       
       	uint8_t status();
       	virtual int connect(IPAddress ip, uint16_t port);
      diff --git a/.pio/libdeps/megaatmega2560/MySensors/core/MyGatewayTransportMQTTClient.cpp b/.pio/libdeps/megaatmega2560/MySensors/core/MyGatewayTransportMQTTClient.cpp
      index 12cfd67..754ae03 100644
      --- a/.pio/libdeps/megaatmega2560/MySensors/core/MyGatewayTransportMQTTClient.cpp
      +++ b/.pio/libdeps/megaatmega2560/MySensors/core/MyGatewayTransportMQTTClient.cpp
      @@ -155,7 +155,7 @@ bool reconnectMQTT(void)
       
       		return true;
       	}
      -	delay(1000);
      +	delay(1);
       	GATEWAY_DEBUG(PSTR("!GWT:RMQ:FAIL\n"));
       	return false;
       }
      @@ -190,7 +190,7 @@ bool gatewayTransportConnect(void)
       	              Ethernet.localIP()[0],
       	              Ethernet.localIP()[1], Ethernet.localIP()[2], Ethernet.localIP()[3]);
       	// give the Ethernet interface a second to initialize
      -	delay(1000);
      +	delay(10);
       #endif
       	return true;
       }
      
      
      posted in Troubleshooting
      ukaszyk
      ukaszyk