Search code examples
scriptingmacros

Tera Term Scripting, need help developing a macro


I am using a Tera Term over a serial port to do some testing on a board. Recently I found out I can do some scripting in Tera Term so I have been doing research to help automate and make testing a little easier.

I know Tera Term has a site that lists example macros as well as a command list but I guess what I need is someone with experience scripting in Tera Term.

Tera Term uses a sort of Basic language called Tera Term Language (TTL) but I found it hard from the site to actually identify which commands I needed to use.

Tera Term site: http://ttssh2.sourceforge.jp/ < -- Note: Site is in Japanese but I always have it auto translated...

I am trying to develop a script to play a set of tracks using a "play x" command, where x is the track index. Ideally the track will play for ~3 seconds and then increment up to the next track. I have a very crude outline algorithm that I should describe it.

Algorithm:

;start

;input to take in number of track to test n tracks
;input is stored in "n"
i=0

do while i < (n+1)

;play track i for 3 seconds

i++

end  while

;stop

If anyone has any insights or experience with Tera Term I would be very appreciative.

If anything right now I need to figure out how to take an inputbox input and store it to a variable. I can probably figure out the rest...


Solution

  • OK, I did some digging and found a moderately active forum: [link deleted, forum no longer active, malware threat]

    It is there that I found a nice thread called: TeraTerm Macro Language for dummies... [link deleted, forum no longer active, malware threat]

    That, and the command list on the actual TeraTerm project site is where I have been troubleshooting and solving 90% of my issues.

    To take in a user defined input you use the "inputbox" command, which follows the format:

    inputbox 'message' 'title' [default]

    (not entirely sure what default is supposed to be doing)

    E.G.

    inputbox 'Please type input' 'Input'

    a dialog box will appear and prompt a response. This input is sent to a default variable inputstr

    I have gotten this variable to work in some cases but I think the problem is that the variable is technically a string type so I can't do traditional loops. I need to figure out a way to use the str2int command to do an expression.

    I think that answers my own immediate question as well as provide some reference for others...

    Thanks