Tera Term (alternatively TeraTerm) is an open-source, free, software implemented, terminal emulator (communications) program. It emulates different types of computer terminals, from DEC VT100 to DEC VT382. It supports telnet, SSH 1 & 2 and serial port connections. Live in fsx - zante x. It also has a built-in macroscripting language (supporting Onigurumaregular expressions) and a few other useful plugins.
Original author(s) | T. Teranishi |
---|---|
Developer(s) | Tera Term Project |
Initial release | 1994; 25 years ago |
Stable release | |
Repository | |
Written in | C and C++ (originally Pascal) |
Operating system | Microsoft Windows |
Type | Terminal emulator |
License | BSD license |
Website | ttssh2.osdn.jp |
History[edit]
The first versions of Tera Term were created by T. Teranishi from Japan. At the time, it was the only freely available terminal emulator to effectively support the Japanese language. Original development of Tera Term stopped in the late 1990s at version 2.3, but other organizations have created variations.
In October 2002, Ayera Technologies released TeraTerm Pro 3.1.3 supporting SSH2 and added multiple other features like a built-in web server for API integration with external systems, recurring 'keep-alive' commands, and ODBC database support via the TT Macro Scripting Language. Ayera Technologies did not make their source open, but does provide limited technical support.
In 2004, Yutaka Hirata, a software designer from Japan, restarted development of the open source version of Tera Term. He added his own implementation of SSH2 and many new features on top of what was part of version 2.3. A complete list of them is published on TeraTerm Document.[1]
To avoid confusion with version numbers and to indicate that Tera Term developed by Yutaka was more recent than version 3.1.3 from Ayera Technologies, it was decided to give this branch of Tera Term Professional version numbers starting 4.xx.
In January 2005, Boris Maisuradze, together with Yutaka Hirata, started the TeraTerm Support forum where they answer questions from Tera Term users. Posting in this forum is the best way to suggest new features for Tera Term or propose new commands for the Tera Term Macro language.
Since 2007, Tera Term has been maintained by Tera Term Project (Japanese Developer team) as open source software.
Tera Term has comparable features to PuTTY.[2]
Common versions[edit]
- 1.4 Last version supporting Win16; source available in Pascal
- 2.3 Last version released by T. Teranishi
- 3.1.3 Last version released by Ayera. Has issues with scroll window boundaries. Title bar identifies it as version 3.1
- 4.xx Latest OSDN release
Sample images[edit]
See also[edit]
References[edit]
- ^[1]
- ^Davis, David. 'Using a terminal emulator to access Cisco command-line interface'. Archived from the original on August 21, 2008. Retrieved 2008-11-11.
External links[edit]
I am testing some boards and the system used to test these is Tera Term. In Tera Term I use the Serial Port to send commands to the board in order to log in and run certain settings that I want.
Instead of typing these commands each time I test a board I want to create a program that sends these commands without the requirement to type them again and again each time.
Also I need to set a delay between each command as the system needs to to load between them.
Question
How can automate the typing of commands and delay between subsequent commands in teraterm?
2 Answers
I used the Tera Term Language (TTL) and created a macro which solved my problem. I used code to wait for a prompt from the system and then print out the command I wanted.
Here's a link to the TTL syntax:
http://ttssh2.osdn.jp/manual/en/macro/syntax/
Don't use Tera Term for that. It is not made for scripting, but rather for interactive use. Try to get a command line serial terminal emulator.
If you are on Linux you can use screen
or there like.
If you are on Windows you can just write echo command > COM1
in a normal com.exe
-window, according to this link: https://batchloaf.wordpress.com/2013/02/12/simple-trick-for-sending-characters-to-a-serial-port-in-windows/(Replace COM1 with the name of your serial interface)
Make sure you don't have your Tera Term open while you use the echo-command, otherwise you'll get 'Access Denied'.
Not the answer you're looking for? Browse other questions tagged scriptingserial-portcommandteraterm or ask your own question.
Tera Term Macro has limited support for writing reusable code. It is possibleto include
a file but it is not possible to use a goto
or call
command to easily jump to a specific block of code in a file.
subroutine.ttl emulates a function call syntax and allows you to write moremodular, compartmentalized code. For example, given two files (main.ttl andutil.ttl), you could write something like this in main.ttl:
This will call the clear_system_logs
subroutine in util.ttl:
subroutine.ttl requires Tera Term version 4.66 or higher. It is licensed underthe terms of the MIT license.See LICENSE.txt for the full text of the license.
You will need to copy subroutine.ttl into your source code directory and copythe following code to the top of each of your modular .ttl files:
Then, back in main.ttl, set the callsub
variable. You can use one of thefollowing formats:
<include file>:<goto label>
<include file>
If the goto label is not specified, the hook code above will call the defaultsubroutine. For readability, you can also leave the '.ttl' extension off ofthe filename.
Second, include subroutine.ttl in your main file.
As much as possible, subroutine.ttl attempts to avoid throwing errors. To avoiderrors, it attempts to detect errors before they happen and will return anerror code in the result
variable. It also defines several constants thatyou can use for more readable error checking. For instance:
Here is the complete list of error code constants and their meanings:
Constant name | Meaning |
---|---|
CALLSUB_IS_NOT_DEFINED | The callsub variable has not been set. |
CALLSUB_IS_NOT_A_STRING | The callsub variable is not a string. |
CALLSUB_IS_EMPTY | The callsub variable is an empty string. |
GOTO_LABEL_NOT_DEFINED | The specified goto label is not valid. |
INCLUDE_DEPTH_EXCEEDED | The maximum include depth (9) has been exceeded. |
INCLUDE_FILE_NOT_FOUND | The specified file does not exist. |
Tera Term is designed so that everything is in a global namespace. Because ofthis, it's possible to treat subroutines like functions. For instance, you candefine argument variables before calling a subroutine and check returnvariables defined in the subroutines. For instance:
It's also possible to modify subroutine.ttl to automatically add a directoryprefix to all of the filenames by changing the __include_filename
variable.For instance, if you have a directory structure like this:
You can change the __include_filename
variable from '
to'includes'
:
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:
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..
Thanks
1 Answer
OK, I did some digging and found a moderately active forum: http://logmett.com/forum/
It is there that I found a nice thread called: TeraTerm Macro Language for dummies..http://logmett.com/forum/viewtopic.php?f=3&t=2133
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)
Sep 18, 2013 - Featured OCR Software Reviews: ABBYY FineReader 11 Review. MSRP: $280.00. ABBYY FineReader Express Edition for Mac Review. MSRP: $99.99. Abbyy FineReader Touch (for iPhone) Review. OmniPage Ultimate Review. MSRP: $499.99. Prizmo (for Mac) Review. MSRP: $49.95. Dec 15, 2017 - For this review, I tested the $399.99 ABBYY FineReader 14. Acrobat, OmniPage, and FineReader leave all other OCR software in the dust. Check our comparison table: we sort the OCR Software we reviewed based on their score, their merits and their flaws, to help you pick the right one. See all our reviews below. Adobe Acrobat Review. Read MoreCompare Quotes ▶ ABBYY FineReader Review. OmniPage Standard Review. Docufree Review. Data Dash Review. PDFelement - Document Scanning Services Review. Soda PDF - Document Scanning Services Review. PaperPort Professional - Document Scanning Services Review. Ocr software reviews. Aug 4, 2018 - Best OCR software of 2018. Google Drive. A quick and easy solution from Google. Leverage the power of Google. Nuance OmniPage Ultimate. For the professionals. Custom, comprehensive workflows. Abbyy FineReader. One of the veterans of the field. Adobe Acrobat Pro DC. A trusted solution from the Adobe stable.
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
Not the answer you're looking for? Browse other questions tagged scriptingmacros or ask your own question.
How do I make Tera Term toggle DTR and RTS, or execute any of its custom commands in the Tera Term language (TTL)?
I have an electronics project that uses an FTDI chip as the serial interface between PC and the electronics board. I need to communicate to the FTDI chip to toggle the DTR and RTS pins, which are set to control various system states.
1 Answer
Tera Term has an entire scripting language called Tera Term Language (TTL). You can find all the commands on their website. The question is how do you execute a command?
Tera Term will execute commands from a TTL file. Create a text file with your one command, or any number of commands, and save the file with a .TTL extension.
In Tera Term click the 'Control' menu, then select 'Macro'. This will allow you to navigate to your TTL file.
There are example TTL files in the Tera Term installation directory.
Also, a side detail I didn't see explained anywhere else: it is perfectly ok to change any of the serial port settings, without needing to disconnect and reconnect. You will need to rerun your macros, however. In my case, if I changed from 9600 baud to 115,200 baud, I would need to rerun my script to enable DTR and RTS.
My TTL file looks like this: