I think it is hanging up here
//Check for charcter from Xbee/Wifi and if not resume to main loop else process charcaters
Since it works the first time and then after that is goes back to the loop and then gets stuck somewhere.
I think that it things the serial is available and then since there isn't a '/' it goes to the speak part and waits for text.
There must be something with serial proxy causing the serial to be triggered as available.
Does serial.available mean there is data to receive?
Would my function work without the serial.available and just constantly read the serial port or is there a better way because that would probably slow things down.
Edit: I added this and now it works every other time.
So I did a work around, not very clean but it works.
Which still causes it every other command but if I send a Carriage Return before I send a command it works. With the if statement above it doesn't affect the commands if I am not using serial proxy and talking directly to the serial port.
If I get some time I might peak at the serial proxy source and see if I can figure it out. It didn't affect my first robot but it was much simpler.
I guess I found a bug in serial proxy.
Thanks for all the help it got me thinking looking in the right direction. This will get my by for now.
If anyone has a better work around let me know.