XModem problems

I'm the guy that wrote the library referenced in the original post, and I just found out about this thread so I'm a bit curious as to whether it's been resolved or not. As someone pointed out, once the transfer begins, you cannot interrupt it with serial printing or use something like the Arduino console without potentially causing problems. In any case, the library was written to work with POSIX-compatible systems or Arduino using the same code base. You could also make it work in windows, though the implementation may be non-trivial. Those of us who have done serial communications in windows before know what kind of pitfalls it might involve. If you compile 'xmodem.c' on a POSIX compliant system (I think Cygwin will work, though I haven't actually tried it) and define 'STAND_ALONE', it will build an executable that is capable of doing xmodem transfers. This is somewhat documented within the source (see function 'main()' at the end of xmodem.c which demonstrates the process of transmitting or receiving a file). To make it work the arduino would need to recognize 'XSEND' and 'XRECEIVE' commands, then call the appropriate library function. So there is a little bit of protocol work that needs to be done in the Arduino script, though it's minimal. Like any serial console you would need a command interpreter that would THEN initiate transfer on receipt of a specific command.

Hopefully I've clarified any issues here.