Search code examples
macrosserial-portxmodemteraterm

tera term xmodemsend command


I've been using Tera Term to update the firmware on transmitters via a serial port, but the process is fairly menial and user input intensive. I'm trying to write a macro that:

1) connects to the user specified serial port (check)

2) Sends the xmodem receive command to the transmitter (check)

3) uses xmodemsend to send the new firmware file to the transmitter (no_check)

4) repeats when the user clicks repeat (kind of check)

Basically, my question is how exactly the xmodemsend command should be implemented. I read Tera Terms index file that has the list and explanation of all the commands, but for whatever reason it's not working

The firmware file is in the TeraTerm folder, and I'm using it like:

;... other code stuff...
wait 'now.' ;waits for last word of the transmitter's response to the xmodem receive signal

xmodemsend 'filename.bin' 1
;format: command 'filename' checksum

wait 'power!' ;waits for last word of transmitter's response to file


;... other code stuff...

The macro is getting hung up on the line 'wait 'power!'', but I'm using a program to monitor the serial port's data transfer and after the transmitter replies to the xmodem receive signal, the computer never sends the file.

Any advice on what I could be doing wrong?


Solution

  • I ended up answering my own question (posted here in case anyone ever has the same problem). Turns out Tera Term doesn't look in its own folder when looking for files. So I copied it to my C: drive and put in the file path like so:

    xmodemsend 'C:\filename.bin' 1
    

    This made the xmodemsend command work able to find the file and upload it to the transmitter.

    Here: http://logmett.com/forum/viewforum.php?f=3&sid=b0133f8126f23f52deee9da264605add is a forum on TTL (Tera Term Language) usage