uCon was originally written to be a
"terminal server" superset. The goal was to provide terminal
emulator-ish capabilities for the user local to the PC (and the device
connected to the PC's COM port), but also allow remote users to connect
through the PC's network port using Telnet. In
addition to basic remote access, the requirement was to support the
ability to have "multi-user-access". In other words, while
someone was
locally accessing the COM port through uCon's GUI,
additional remote users could simultaneously access the same port using
Telnet and uCon's terminal server. This, as it turns out, was the
beginning. uCon has been around since 2001 and is still an active
development project. Features are regularly being added, so
if you have an idea for a new feature (big or small), don't hesitate to
contact the author.

As is
somewhat implied by the above diagram, uCon provides many other
facilities that are applicable, but certainly not limited, to
typical embedded systems development. Refer to uCon's web-based manpages for complete details.

There are two types
of logging in uCon: standard and long-term. Standard logging
simply takes a log file name and copies all interaction with the target
to that file. Long-term logging assumes that the terminal session
will potentially be up for days or even weeks and the amount of data
logged will be significant enough that it will need to be managed.
In this mode, each day, uCon automatically creates a new log
file and checks to see if the total accumulation of log file data has
exceeded a user-defined maximum. If it has, it will delete
the oldest log file in the bunch so that it is essentially keeping a
circular queue of log files.

Each line of output
can be preceded by one of several different time-of-day strings.
This allows the user to keep track of line-by-line timing if
needed; yet does not require that the target itself generate the time
stamps.

Function
keys are programmable and can be activated by either a keypress or a
mouse button click. An additional set of 16 clickable buttons are
also available for ease of repetitive data entry. The buttons do
not have any keyboard mapping; they are accessible only by the mouse.

To support typical
needs of an embedded system development environment, uCon has the
following servers built in: TFTP, FTP, DHCP/BOOTP, SYSLOG.
Each of these servers are configurable and are useful for
transactions with a single client (i.e. one at a time). These
servers are not meant for use by a large number of simultaneous
transactions with mutliple clients; rather, they provide the basic
services needed to interface with a single embedded target.

The scripting
facility within uCon is fairly extensive. It includes the ability
to interact with both the target and the user and supports conditional
branching. Interaction with the target is through whatever
back end is active (COM port, Telnet, SSH) and interaction with the user
is through familiar Windows dialog boxes. There are about 15
different scripting commands that allow the user to build reasonably
sophisticated logical control within the script. Click
here
for more information on uCon's scripting.

uCon also has
knowledge of MicroMonitor (uMon). It can backup and/or restore a
set of TFS files, edit an ASCII file on the target in TFS, and includes
the MONCMD and NEWMON facilities in the scripting command set.

Look and Feel:

uCon looks like a
terminal emulator. It just has a lot of other stuff going on
behind the scenes.

Wanna try it?

Click here(action=purge)
or here to download a self-extracting executable. The installation is very basic. If the
defaults are used, it simply creates a 'C:/program files/ucon' (or equivalent, depending on your system) directory
on your machine and installs the necessary files to that directory.
It also adds an item to your programs list, asks if you
want a desktop shortcut and includes an uninstaller accessible
through the program list.