johnwasser:
This recursive call to loop() will cause a new set of local variables to be allocated on the stack. Eventually the stack will run out of space and your program will crash.
Well spotted. I completely missed that.
@caslor, I don't know if you put in that call to loop() in response to my comments. If so that was not what I meant. I just meant that you should let the functions terminate in the normal way - in which case loop() will be called again automatically.
...R