Hey guys
This week-end I try my inMoov with the lastest build (1355 at that time) and it was not working
Everything seem fine with MRL (no errors messages) but everything that connect to the arduino where not responding (servo, neopixel ring, PIR sensor).
For the servo to work, I have to detach and attach them again and then they work without any further problem.
The problem seem to be between the arduino.connect and arduino.getVersion methods. It seem that when MRL try to get a MRLComm version number, messages send for the arduino never reach the arduino. By example, if I do a arduino.connect than attach a servo right after, MRL report the servo as attach, but the arduino don't know about it.
arduino.isConnect() return true
After that the arduino service got his version number, everything work fine
So as a quick fix on my local build, I add this code in the services that use arduino connect method
int wait=0; while(arduino.mrlCommVersion==null){ sleep(1); wait++; if(wait>=10000){ error("Couln't connect %s", this.getName()); return false; } }