Hey Patentguy - I have done quite a lot with Arduino and TMCC/Legacy. I have attached to this post some snippets from a much larger automated control program. These are the routines I use to transmit TMCC or Legacy commands to the Command Base. I've also attached a library for circular buffers that the program uses.
You will see that the "send" routines just deposit the command string into the circular buffer. Then the main program checks to see if there is a serial command in the buffer waiting to be sent to the base, and sends it if at least 50 milliseconds have elapsed since the last TMCC transmission. That may be a complexity you don't need, in which case you could just transmit the command as soon as you have built it.
You should refer to the document MED posted for the TMCC/Legacy protocol, or I can also post some routines showing how to control speed and trigger sound effects using that protocol.
Let me know if you have questions - I have also written routines for parsing TMCC or Legacy commands from either the serial port or the LCS PDI bus.
And what's your patent law connection? I teach it!