Release 1.5 and Ethernet Gateway
-
Hi,
Since upgraded to version 1.5, I uploaded the new EthernetGateway for upgrade my Arduino Uno (with Ethernet shield) without any problem but now when I connect to my gateway, the client must be send a character before gateway recognize the client. After the client send a character, gateway debugger print Finishing and now the client receive all sensor message from gateway.
MYSController can' t connect to this new gateway because after he try to connect, is not sending any character to gateway.
It is new for version 1.5 because with version 1.4, it's working without this strange behavior.
Sorry for my english !
-
The gateway sends a GATEWAY_READY when a new client connects.
https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/examples/EthernetGateway/EthernetGateway.ino#L171-L179It doesn't look like it waits for a new incoming character before writing to the client:
https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/examples/EthernetGateway/EthernetGateway.ino#L138A good thing to do after connecting (from the controller side) is to request version from gateway to see that everything is working.
-
After some test I found what is new. I don't know why but this line:
EthernetClient newclient = server.available();
When the client is trying to connect, server.available() wait for client sent character before returning true (1). Is it new for Arduno 1.6?
-
It is normal when I connect my EthernetGateway with MYController, I saw connected in the log but after connecting, MYController not send any request for request gateway version? If a send any request with send buton, after that, now all is working because I recevice Gateway ready message.
This behavior is new for me after upgrading my EthernetGateway to Arduino 1.7 and My Sensors 1.5!
-
Thanks @Carl H.
Fix pushed:
https://github.com/mysensors/Arduino/commit/d98bacb56764428f5871a69bd887f5e9c37972dd
-
Seems to have fixed my ethernet gw issues.
-
Uh, that was a mean one.... updated today from 1.4.1 to 1.5 and MYSController did not work anymore.
After change client.write(serialBuffer); to server.write(serialBuffer); old behavior was back.