uCon HomePage

What's New

This section chronologically documents the changes (enhancements and bug fixes) that have been made to uCon. The changes documented here begin with uCon as of Nov 1, 2003. Note that this is obviously not an official change log, rather a page that allows users to be informally kept aware of improvements made to the tool. Having stated that, please report all bugs and or enhancement requests to Ed Sutter.

Mar 16, 2017:
Updated the version of plink, based on putty-0.68.

Feb 1, 2017:
For systems that have more than one IP address, there's a chance that the MYIP shell variable will not be set to what you expect.  There's really no way (that I'm aware of) to pick a particular IP address within your list of network interfaces, uCon just assigns the first one it sees.  To allow the user to configure a particular uCon session to a particular IP address (and affect the status bar and the MYIP setting), you can now export the MYIP shell variable and save your config so that next startup that IP address will be loaded into MYIP and the status bar.  Also, as part of this, I added a new 
CONFIG  subcommand: "nicinfo", to list the known IP addresses (1 per NIC).

Jan 13, 2017:

Single-file Ymodem is implemented.  Because of the limited number of systems to test this on, its tough to be sure if its fully operational.  It appears (based on user feedback) that it does not handle error recovery; however if no errors occur, the transfer (using u-boot as the target) works ok.
Added MODBUS crc (big & little endian) to the set of ASCII-Coded Hex (ACH) mode checksums. Refer to Miscellaneous Config Items dialog.
Strings sent through function keys and/or buttons now pass through ACH processing.

Jun 20, 2016:
New ACH option to local-echo.  Refer to Miscellaneous Config Items dialog.

May 4, 2016:
New argument for RECV  blkcpy script command.  If a filename is specified, then the content of the received buffer will be written to it (instead of RECVBLOCK shell variable).  This is useful because at times, the size/length of the RECVBLOCK variable is too large to deal with as a shell variable.
New -n option used with RECV blkinit to turn off automatic wrapping (circular queue) of the incoming data.

Apr 15, 2016:
New sub-command for FILE script command: dump.  Simply dumps the content of the file to the console.
New options for the LOG script command.  Supports the dialog box options available through Logging->Standard menu item.

Feb 3, 2016:
New sub-command for the LOG script command: trunc.  Just gives you the ability to truncate the currently active logging file.

Jan 15, 2016:
New sub-command for the FILE script command: hexdump.  Just gives you the ability to dump a file (or a portion of it) in ascii-coded-hex format to the console.

Nov 3, 2015:
New script command "SRVRSETUP", added to support server configuration from a script.  As of now, all this does is allows the user to turn the dhcp server on and off; as needs arise, I'll update this capability.

Sep 15, 2015:
The code in RECV that waits for a string had a bug: If a portion of the string is received, then the actual string is received after some valid substring, the state machine was failing.  For example, if the the command was RECV -x 11223344, and the incoming data was 112211223344, this would be missed because the restart was within a valid substring of the match.

Aug 14, 2015:
To support overriding the default SSH port number, the plink argument list can now be appended with the familar port syntax using ":PORT".

Aug 13, 2015:
New 'restore' and 'minimize' sub-commands to CONFIG script command.

Aug 12, 2015:
Back in June I "fixed" something that caused some problems with some folks...
Recently I realized that FileBrowser that comes with the Microsoft environment (used by uCon) will, by default, change the current working directory (CWD) to whatever the directory of the selected file is.   That's not what I wanted it to do, so I changed it so that the CWD is not affected by any file opened with the browser.  Unfortunately, this also causes scripts that are invoked from Scripts->Run (using the browser) to not automatically change the CWD to the directory from which the script is invoked.  This is bad for any script that uses relative file paths and assumes the CWD was changed.
So, I added an exception so that launching a script from Run->Scripts (using the browser) will still do the change-directory, but in all other cases the CWD is left untouched when using the browser.

Jun 11, 2015:
Buttons and function keys can now be colored using their configuration dialogs or the 'FKEY' script command.

Jun 10, 2015:
If uCon starts up with a config file, and there is no specified "Titlebar" text in the Miscellaneous Configuration, the title bar text will include the name of the config file.

May 18, 2015:
Made some improvements to cut-n-paste.

May 7, 2015:
Added line-tagging option to the CATCH facility.  This gives the user the ability to have uCon append a line tag at the far-right edge of the console window on every line that contains a catch string.

Apr 22, 2015:
You can now open up a CMD shell to run within the uCon console... Why would you want to do that?.
New -C option for RECV script command.

Apr 13, 2015:
Similar to the LINES variable, now each time the window is resized, the COLS variable is loaded with the width.

Mar 27, 2015:
Standard logging now supports logging non-printables.

Mar 12, 2015:
New 'CRC32/MD5' dialog.

Mar 11, 2015:
New 'md5' sub-command added to the script command FILE.

Mar 10, 2015:
Bug fix: Config->Backend was not properly opening the port if uCon started up with a preconfigured port that was invalid.
Bug fix: The toolbar buttons related to RS232 control were not disabled when the port was disconnected (they are now).
Bug fix: If there is an error in the config file at startup, uCon now allows the user to ignore the error and continue.

Feb 5, 2015:
Bug fix: if you move the window around (or even just left-click in the outer edges of the window) uCon would drop the characters received during that period if VT100 emulation was enabled.  This is fixed.

Jan 30, 2015:
The timestamp facility now allows you to specify a custom format.

Jan 16, 2015:
New 'crc' sub-command added to the script command FILE.

Jan 9, 2015:
Set up very low-traffic mail list subscription: http://www.umonfw.com/ucon/joinlist.html .  This is not a "forum" style list, just a list that I will use to send out notifications to users (bugs, bug fixes, new features, etc...).

Dec 15, 2014:
Disallow uCon from starting up with a window height that exceeds the size of the PC screen.  

Dec 2, 2014:
If the comport is via USB, and the USB connection drops or hangs for some reason, uCon will now automatically disconnect.  
After that type of automatic disconnect, uCon will attempt to reconnect each time a character is typed into the console window.

Oct 14, 2014:
The installer now does something different if /S (silent mode) is detected.  Until now, the installer always asked the user for permission to overwrite an existing installation of uCon, and it asked if the user wanted to install a desktop shortcut.  Now, if the /S option is provided on the command line (i.e. ucon_install.exe /S), then an existing installation will automatically be overwritten and a desktop shortcut icon will be automatically installed; both without user query.  This allows folks to use /S and /D (specify the installation directory) as command line options to the installer so that it installs quietly.  See the "uCon Installation & Removal" page for more information.

Oct 10, 2014:
The function keys and buttons now support right-click access to either the script they have loaded or the dialog box used to set the command.

Sep 19, 2014:
The function keys and buttons will now show tooltips with the execution string or script.

Sep 9, 2014:
The console window can be put into -readonly- mode.

Sep 4, 2014:
Bug fix: ClearScreen() was not properly dealing with a vertically scrolled window.
Feature: User can now change the console font.
Improvement: More robust handling of remote end timeouts in XMODEM.

Aug 27, 2014:
Bug fix: xmodem receive was not properly dealing with packet retransmissions (fixed).
Bug fix: if uCon was opened with a NULL or LPBK port, you could not reconfigure to a normal connection (fixed).
Improvement: port scan is faster.

Aug 20, 2014:
Bug fix: the standard logging 'Truncate' action could cause a crash under certain circumstances (fixed).
Feature: new sub commands to CLS script command to support changing text attributes applied only to new incoming data.
Feature: the size of the buffer used to store incoming characters when the screen is scrolled off home is now configurable (see
Feature: the header written to the log file now includes time/date.

Aug 8, 2014:
The 'blkinit' function within the RECV script command now allows you to specify the size of the block.
uCon's scripting engine now supports Lua.

Aug 6, 2014:
uCon now supports floating point operations on variables.  Refer to the -f option of the SET and IF commands for more information .

July 17, 2014:
uCon now supports remote console through HTTP.  For more information on this, refer to the HTTP server page.

July 8, 2014:
New SOCKET script command, allows user to interact with other UDP/TCP servers.

June 13, 2014:
New option to the EXIT command: ALLSCRIPTS will terminate all running scripts.

June 9, 2014:
The LOG append script command will create the file if it doesn't already exist (instead of terminating with error).
New -h option for CATCH script command.

May 28, 2014:
The 'any-char' token (a dot) and 'anything-till-eol" ("*\n") string can now be used when specifying a "catch string" in the CATCH script command

May 20, 2014:
Added new 'line' sub-command to the script command FILE.

May 5, 2014:
New WOL (wake-on-lan) command.

Apr 30, 2014:
The port used by the telnet server is now configurable.

Apr 24, 2014:
The telnet client backend has the ability to automatically restart the connection (AutoRestart) if the server dies.  In addition to that, if the user has specified a startup script, and the shell variable 'RUN_STARTSCRIPT_ON_RESTART' is set to TRUE, then the startup script will rerun when the connection is re-established. When using the telnet client as the backend, if AutoRestart is enabled and and the connection drops, .

Mar 31, 2014:
The RECV script command has a new -c option and also supports using '.' as an incoming character (meaning any character will be accepted).

Jan 16, 2014:
Until now, if characters were incoming when the console window was scrolled vertically, those incoming characters would force the vertical scroll position back to zero so that the incoming characters would be seen.  This is now changed so that incoming characters will be buffered (up to 32K) until the scroll position is restored or a character is manually typed in by the user..

Jan 14, 2014:
Added new 'appendf' sub-command to the script command FILE.

Jan 6, 2014:
Fixed a bug in the TIME script command related to the -f 'j' option..

Oct 19, 2013:
The TFTP client script command now populates TFTPC_ERRNO and TFTPC_ERRMSG with the transaction's error number and error message (if an error occurs).

Oct 11, 2013:
New "special" shell variables: THISSCRIPTDIR & THISSCRIPTNAME.  Each of these variables can be accessed by a running script.  In particular, THISSCRIPTDIR is useful for cases where scripts use files that are located relative to the location of the script..

Oct 10, 2013:
New -t option to ECHO script command to put text to system trace window.

Oct 9, 2013:
New menu item 'File->New' allows the user to open a new uCon session.
Multi-line copy-n-paste is now working.

Oct 8, 2013:
New configurable item 'RtBtnIsPaste' which, when set, will tell uCon to use the right mouse button as a 'Paste" command.

July 22, 2013:
New '-a' optino for CATCH script command.

June 24, 2013:
New 'token' subcommand for use with STRING script command.

May 30, 2013:
If a session starts with the COMPORT connection set to NONE, subsequent configuration saves will not include a changed backend setting.  This allows a user to set up a backend-agnostic configuration file; so that the same configuration can be used on various backend connections by simply making that connection after the session has been started and pre-configured.

May 16, 2013:
New script command: EVENT
This allows multiple uCon sessions to use events to synchronize between sessions.

May 15, 2013:
- Bug fix 1: fixed an issue that may have been causing stability issues with some USB-to-Serial dongles.  
- Bug fix 2: only noticed if running multiple uCon sessions each of which have running scripts.

May 9, 2013:
Added a -D option to the uCon command line so that a shell variable can be specified at startup:  -D Var=Val
This is useful if multiple uCon sessions are started and are to use one script, now each session can have a unique variable that can be used in the script to distinguish between the sessions and invoke different subroutines.

May 6, 2013:
Added support for display/monitoring of incoming modem control lines and a 'break' signal.  The user can see the state of DSR, DCD, RI and CTS by observing new buttons on the toolbar.  These state changes can become "inline" if enabled with the new "inline-signaling" checkbox in Config->Miscellaneous.

Apr 29, 2013:
The buttons can now be used to invoke a single-line script command.

Apr 24, 2013:
New menu item under logging that allows user to disable the automatically inserted message into the log file each time it starts up.

Apr 2, 2013:
Fixed an issue that could have caused the 'CATCH' facility not to work when set up through the GUI.

Mar 27, 2013:
Increased MAXCOMPORTS (internal #define)  from 64 to 128 to support *really* high comport numbers.

Mar 22, 2013:
New 'FKEY:' and 'BUTTON:' command for MONCMD server.
Fixed a bug that caused uCon to crash in some cases if the baudrate was incorrect during a disconnect.

Mar 11, 2013:
New 'color' sub-command to the  CONFIG script command. Allows the user to secify the color of text, alternate-text and background..

Mar 8, 2013:
Added the 'what' subcommand to the FILE script command to support the ability to extract "what strings" from files.

Mar 7, 2013:
Fixed a bug that was causing RTS/CTS flow control to be disabled erroneously.

Mar 4, 2013:
New -r option to DIALOG script command, allows the user to override the default use of the DIALOG shell variable for storage of the result.
- New -h option to SET script command, allows a variable to be hidden from view when the environment is dumped to the console.
- New PQ_AND_A command option for the DIALOG script command.  Adds some privacy to the user input.
- Over the last few weeks, I've been cleaning up the cut-n-paste capabilitiy in uCon.  There's no longer any need to enable "character attributes" and while it still isn't working for multi-line swipes, single line is in pretty good shape for both swiping text and double-clicking to quickly capture a whitespace delimited block.

Feb 22, 2013:
New 'httpget' sub-command to the FILE script command (this is a work-in-progres, currently it does not work with a proxy).
The 'token' sub-command to the FILE script command now allows you to specify a delimiter (instead of only defaulting to whitespace).  I've tested this with Excel generating 'csv' output files (comma delimited) and it works pretty well.

Feb 22, 2013:
Text and background colors are now specified with a 'colors' dialog box instead of just using raw RGB values.
Cleaned up some nagging issues that should make single-line cut-n-paste work a bit better.

Feb 20, 2013:
When "Echo outgoing characters to screen" is enabled, the user now has the option to specify the color of those characters.

Feb 7, 2013:
New 'bringtofront' sub-command to the  CONFIG script command. Simply brings the window to the front-most position.
New 'copy' , 'move', 'd2u' and 'u2d' sub-commands
to the FILE script command.

Dec 14, 2012:
New 'mkdir & rmdir' sub-commands to the FILE script command.

Dec 7, 2012:
New 'trace' sub-command to the CONFIG script command.  Allows a script to enable/disable script tracing.

Dec 5, 2012:
New 'BACKUP' script command, provides SCRIPT based access to the menu item uMon->Backup uMonFS.

Dec 1, 2012:
New 'contains' test in  IF script command.

Nov 14, 2012:
Fixed a screen refresh bug: if uCon was minimized by WINDOW-D, then re-normalized portions of the window did not properly update.  Should be better now.

Oct 18, 2012:
The HiRes timer item in the Config->Miscellaneous dialog box is no longer saved to the config file.
Fixed a bug in the command line processing of the config file so that ther user only needs to specify the path of the file relative to "INSTALLDIR/config".

Sep 25, 2012:
Added -b (banner) option to ECHO script command.

Sep 21, 2012:
Added CONTINUE action to the IF script command.

Sep 18, 2012:
HTML-based documentation is now part of the installation; allowing systems to retrieve HELP even if not tied to the Internet.  There is also one new help item that points to the web-based pages.

Sep 14, 2012:
- Added new conditional tests to IF script command: ismac (MAC syntax checker) isip (IP syntax checker), ishex (hexadecimal checker) and isdec (decimal checker).
- Added a new intrinsic shell variable SVNREV, which will always contain the SVN release number for which the running version of uCon was built from.  This is useful for scripts that incorporate new features and need to make sure that they are being run by a version of uCon that supports those features.  For example, if I add a feature into revision 987 that you need, then you would just add a check in your script (example: IF $SVNREV lt 987 GOTO UPDATE_UCON) to make sure the environment is up to date.
- Added RECVBLKTOT shell variable to the RECV script command.

Sep 10, 2012:
Added new SHELLEXEC script command, as a wrapper to the ShellExecute API call discussed in MSDN.

Aug 10, 2012:
New 'Inverted Mod100' added to the list of checksum/crc methods available to the system.

Jul 25, 2012:

New CONFIG command to support (eventually) all operations that can be clicked through in the Config->Miscellaneous dialog box.
New options to the ECHO command to support the ability to more conveniently print delimited ascii coded hex.

Jul 23, 2012:
Added a new timestamp, that provides millisecond resolution.  Note that this is only as accurate as the Win32 SYSTEMTIME structure supports.

Jul 9, 2012:
New 'Fletcher' CRC16 added to the list of checksum/crc methods available to the system.

Jul 7, 2012:
The STRING command now supports all of the checksum/crc methods as listed in the Config->Miscellaneous dialog box.

Jul 5, 2012:
Enhanced RECV script command: the data recevied will be loaded into the RECVBLOCK shell variable when using new 'blkinit' and 'blkcopy' subcommands.  The new -a option tells RECV to do a binary-to-ASCII-coded-hex conversion prior to populating RECVBLOCK.
New -C option available to SEND script command allows the user to specify the same checksum/crc algorithm to be applied when using SEND -x for transferring ASCII-coded-hex.  Also, added new checksum (CRC16) type for use with ASCII-coded-hex data transfer.

Jul 2, 2012:
Bug fix: Under the Config->Backend->Comport dialog box, if the user changed the port and also had set a custom baud rate; it would not work.  The custom baud rate change was being applied prior to updating the port; hence, it was never being successfully applied to the desired port.  Note that this only shows itself as a problem if the port is changed at the same time.

Jun 26, 2012:
Added the ability to put the uCon console into an ASCII-coded-hex convert mode so that all characters typed on the console are assumed to be ascii-coded hex.  When <ENTER> is received, the block of data is converted and sent.  Optionally a checksum can be applied.  Refer to the Config->Miscellaneous dialog box for more information..

Jun 25, 2012:
Added the ability to insert a space between each character when ASCII-Coded-Hex-Conversion of incoming characters (Config->Miscellaneous) is active.
Improved vt100 emulation of colored text and background.  This requires that the "Enable-Character-Attributes" mode (Config->Miscellaneous) be enabled as well.   

Jun 22, 2012:
Added a new script command called AUXCOM.  Primarily intended for use with ARDUINO boards to add additional coordination between the backend connection and anything you want to connect to with an ARDUINO.  

Jun 21, 2012:
The -p option to the SEND command now accepts "\x" so that you can specify non-printables in the prompt.

Jun 20, 2012:
Added a new SRVRSETUP sub-command to TFTP script command to allow the user to turn on/off the TFTP server from a script.

Jun 18, 2012:
Added a new DBC sub-command to the COMPORT script command to allow the user to redefine the delay-between-characters value from a script.

Jun 12, 2012:
The textbox in the Transfer->Binary ("Transfer ASCII Coded Hex as Binary") dialog now supports automatic horizontal scrolling.
Fixed a bug in RECV -x command:  it did not work if uCon was configured to display incoming binary as ascii-coded-hex.  Now it does.

Feb 23, 2012:
Fixed a few screen-paint/refresh issues reported by a user.

Jan 26, 2012:
Added a 'tag' subcommand to the scripting LOG command.  See the LOG script command for details.

Jan 21, 2012:
The port scan output shown in the initial uCon dialog box now only shows COM ports that are configured in the registry.  No more "not-in-registry" ports displayed in this dropdown.  It also starts off by displaying the currently active port (if one).

Dec 20, 2011:
The TFTP server in uCon is now multithreaded to support multiple simultaneous TFTP transactions simultaneously.

Nov 22, 2011:
The state of DTR and RTS are now saved in config.  Also, the COMPORT command now has additional arguments: DTRSET, DTRCLR, RTSSET & RTSCLR.

Nov 1, 2011:
The Telnet server supports a new mode that allows the first connection to be read/write and all subsequent connections read-only.

Sept 26, 2011:
The TFTP server now supports multiple simultaneous file transfers.

May 13, 2011:
Added the ability to establish a loopback COM port.  When connected to this "dummy" comport, all that is pushed to the port is echoed back..

Mar 16, 2011:
Bug fix: the F2/F3/F4 keys were attempting to send characters (if pressed) to the COM port even if the port was not opened.   This action is now filtered by the state of the COM port.

Feb 24, 2011:
New feature: to turn off the console output of data from the target, LOG screenon and LOG screenoff are now available.

Feb 16, 2011:
Bug fix:  Automatic execution of startup script should not be done till after the COM port is opened.
Feature: Added the ability to disable the config file diff check.
Bug fix:  The lastScriptName is excluded from the config-diff.

Dec 23, 2010:
Bug fix: There was a case that uCon could get in that would cause it to enter an empty loop; thus, hogging the CPU.  At least one of these cases has been fixed.

Nov 24, 2009:
Bug fix: a buffer overflow bug was causing some folks to crash on uCon startup. This issue has been resolved.
The installer will now push the current version of uCon executables to the 'bak' directory prior to doing the installation. This allows for a 'quick' recovery if for some reason the new installation is broke.

Sept 1, 2009:
When a log file is created, it is now stamped with the version of uCon (SVNREL) that created it.

Aug 1, 2009:
Two new shell variables are populated at startup: MYNETMASK & MYGATEWAYIP.

July 16, 2009:
New "-s" option in XMODEM script command.
New "-V" option in FILE script command.

July 12, 2009:
Added a new option (-d ##) to the SEND script command. This allows SEND to specify the delay-between-characters setting for just the output of that command's data to the target.

July 11, 2009:
The "command" text that can be specified when using XMODEM is now forced to have a 50-millisecond delay between characters regardless of the current DBC setting.

June 9, 2009:
More regarding the DTR/RTS changes made on Jun 8: the buttons on the toolbar will reflect the state of the signal. If the button is depressed, then the signal is active; if not depressed, the signal is inactive. Also, the COMPORT script command now has a RTSTGL command (similar to the DTRTGL command already there).

June 8, 2009:
As an extension to the changes of June 3, uCon now comes up and initially populates the ComPort combobox with data retrieved from the registry rather than from state gathered by opening/closing the port. Additional information can be gathered with the "PortScan" button to see which (if any) available ports are actually in use.
Some additional cleanup of how DTR and RTS are initially set up has been done.
The "toggle DTR" function on the toolbar used to just provide a momentary change of state to the DTR pin. If it was high, then this button would bring it low for one second, then return it to the high state. If it was low, then this button would bring it high for one second, then back low. This functionality is changed so that now the button simply inverts the state and leaves it that way; thus, allowing the user to toggle by simply clicking the button twice.
Added a new "toggle RTS" button on the toolbar. It does exactly the same thing as the "toggle DTR" button, except that it applies to the RTS pin of the RS232 port instead.

June 3, 2009:
When uCon started up, it would attempt to open all possible comports (up to COM32), and if the open succeeded, it would close the port, but then tag that port as available for use. This provided a convenient means of seeing which ports were available on the machine; however, it also caused each available port to be "glitched" by the quick open/close call set. The "glitch" would show itself as a momentary change in DTR and/or RTS lines on the port itself. In some cases, this glitch can have a negative affect on equipment that may be attached to the port. So, now uCon comes up without that scan, but the user can just click a button on opening dialog to generate the scan.

May 28, 2009:
Added the ability to establish the initial state of the DTR and/or RTS bit when the corresponding flow control bit is not set. So, if DTRDSR flow control is not enabled, then DTR can be set or cleared at startup. Similarly, if RTSCTS flow control is not enabled, then the RTS bit can be set or cleared at startup.

May 26, 2009:
The BMPVIEW script command now supports RGB mode (see BMPVIEW command for more info).

May 7, 2009:
Fixed a few problems in the DIALOG command noticed only when only one of the dimension options (w & h) was specified. The code was erroneously setting the 'other' dimension.
Fixed a bug in the script runner's command line parsing that was causing some unusual cases of backslashes and dollar signs not to work.

Mar 13, 2009:
Fixed a bug in handling daylight savings time, update to 7.1.

Mar 2, 2009:
The text argument used by the DIALOG script command now properly parses "\n" so that newlines can be inserted into the text placed in the dialog box. Also, for cases where a lot of text is to be put in the dialog box, the shell variables DIALOG_LX (where 1 <= X <= 100) can be loaded with text that will be concatenated onto the dialog box.

Feb 25, 2009:
Fixed and cleaned up the MONCMD backend stuff.
Added the ability to set a different port number in the SYSLOG server.

Oct 22, 2008:
Fixed a bug in the script execution engine that was only noticed if the SEND command was running and more than 512 characters were received without any of them being a carriage return and/or line feed. The code that keeps track of the last line received had a buffer overrun bug (now fixed). Also, in the process of searching for this bug, I optimized two other snippets of code that should make uCon a bit more CPU friendly under certain circumstances.
Update to 6.9

Oct 3, 2008:
Fixed a bug in the FSEND command that is only noticed when large (i.e. >= 500K) files are transferred, and data is being received on the same COM port while data is being sent.

Sept 1, 2008:
New item under the Scripts menu... You can now set up your buttons and function keys, then store away that configuration to a script that can be run later to establish that same function-key/button setup. Refer to the Script menu item page for more information.

July 18, 2008:
The function keys/buttons now support '\xHH' syntax for entering ASCII-coded-hex values for individual characters. Refer to the function key/button help page for more information.

Jun 9, 2008:
Bug fix: in the Logging->Standard dialog box, if the "append" checkbox is checked, and the file doesn't exist, uCon would complain that the file didn't exist. This is changed so that if no file exists, it will create one. Then, the normal situation (when a file exists) will work the same way.

May 22, 2008:
Update to 6.8
New script command: catch. This command allows the user to tell uCon to wait for a specified string from the target, and when that string is received, run a specified script. Note, this is done in the background while an otherwise normal uCon session is running. Refer to the CATCH script command page for more information.

May 21, 2008:
New script command: STRING. This command allows the user to do some parsing on a specified string.

Apr 5, 2008:
The TFTP server in now supports the blksize option request. Prior to this, the server not only didn't support the blksize request, but if the request came in, the server would hang.

Mar 24, 2008:
Bug fix: The items in the group box "ASCII-coded hex conversion of incoming characters" of dialog Config->Miscellaneous were not properly saved to configuration file. This is now fixed.

Mar 11, 2008:
Added the ability to disable uCon's use of the Ctrl-V key as a 'paste'. Refer to the Config->Miscellaneous dialog box for more information.

Feb 15, 2008:
Added a new item to the floating pull-down menu, which is available when you right-click while in the console window... Along with the ability to open up an editor on the entire screen buffer (i.e. "Edit Screen Buffer"), now you can open up an editor on only the text in the viewable screen: "Edit Screen Only".

Jan 30, 2008:
New '-t' option to the TITLE script command. Allows a script to change the Welcome message that is presented to the telnet client when it connects to uCon's backend telnet server. Refer to the TITLE command for more info.
Added two new remote commands: fkey, button & scrcmd. Refer to the remote command help text for more information.

Dec 7, 2007:
Added two new capabilities to the 'strstr' sub command of the script command FILE... If the string is found, populate the shell variable 'LINE' with the line at which it was found. Also, if an additional argument is specified (see the FILE 'strstr' sub-command for more details), then require that the 'N'th occurance be found, not the first.
New FKEY command capability: any button or function key can be enabled or disabled via script. Refer to FKEY command for more information.

Dec 3, 2007:
If the configuration has changed, and the user attempts to exit without saving it, uCon will now post a warning and give the user the opportunity to save the changed configuration.
TFTP server port number (default=69) can be overridden if the TFTPSRVR_PORT shell variable is set in uCon's environment. See TFTP server for more details.
TFTP client port number (default=69) can be overriden if the server ip address is followed by a colon and an number. See TFTP client for more details.
New "NoBeep" checkbox in Config->Miscellaneous menu item. If checked, then the "bell" character (0x07) will be muted.
New "-c" option to FKEY script command. This allows the user to keep track of the number of times a button or function key is hit. Refer to FKEY script command for more information.
New "-t" option to DIALOG command to allow the user to specify the text in the title bar of the dialog box created.

Nov 16, 2007:
Two new subcommands to the FILE script command: first & next. This allows a script to walk through filenames in a directory. Refer to the FILE command for more information.

Nov 15, 2007:
The DIALOG command now allows the user to override the default dimensions of the dialog box created within the script.

Nov 9, 2007:
New script command: BEEP Refer to command help text for details.
New option to CONNECT command: 'close'. Simply closes whatever connection was previously opened.

Oct 31, 2007:
Added the ability to change the font and console backround colors through a script. This is done with sub-commands built into the CLS command. Refer to that command for more information.

Oct 11, 2007:
The timestamp facility in uCon now allows you to insert a timestamp whenever the timestamp button is toggled. Refer to the timestamp page for more information.

Oct 3, 2007:

The FKEY script command now allows you to omit the "label" and "text" arguments, to indicate that the specified button or function key is to simply be cleared.

Sept 27, 2007:

New "copyscreen" subcommand to FILE script command to give a script the ability to copy the content of the screen buffer to a file.

Bug fix: Fix #2 from Sept 20, uncovered a problem with screen resizing, that until now has gone unnoticed/unreported... If the screen width is decreased (to a point where characters on the console are chopped off), then re-increased, the chopped off characters are lost. This is no longer a problem.

As a result of the Sept 20, 2007 fixes, a few other coding issues surfaced. The result is that I re-wrote the way that uCon deals with screen-width resizing. The change was reasonably significant (i.e. it can affect a lot of different parts of the GUI), so hopefully I've covered all the areas of concern. If any weird stuff happens during screen-width resizing, please report them.

Sept 20, 2007:
Bug fix 1: problem with timestamping (where some lines would not be time stamped) is fixed.
Bug fix 2: crash that would occur as a result of resizing the window (intermittent) is fixed.

Sept 11, 2007:
Added the ability to change the color of text and background in the console window. The settings are in the Config->Miscellaneous dialog box.

Aug 22, 2007:
Updated to release 6.7.
This is the first pass at testing uCon with Wine.
I personally do not have a recent enough version of linux running on any of my machines to be able to test uCon with a recent version of wine. As a result, the only test results I have are with Wine 0.9.24. For that version of Wine, uCon's GUI came up successfully and much of the feature set worked; however there were problems. Hopefully much of it is resolved in later versions of wine; however I am not able to test it. Refer to the WineNotes help text for more information.

Aug 21, 2007:
New -p & -w options to SYSTEM script command so that a command can be run as a seperate process. Refer to the SYSTEM command documentation for more details.

July 27, 2007:
Added a few new formats for line line timestamping.
New 'lntot' subcommand for the FILE script command.

July 12, 2007:
Scripts can call other scripts using the RUN script command; however, if a script is active, then it is illegal to attempt to run another script from the Scripts pull-down menu. To keep this from happening, uCon grays out the Scripts->Run menu item from the pulldown menu while a script is active. An alternate mechanism for running a script is with the function keys or buttons, and that case did not disallow one script from being started when some other script was active. This is now fixed, so scripts invoked by function key or button will be blocked if a script is already running.

July 9, 2007:
Fixed a bug in the script-runner's command line processor, related to dealing with backslash-delimited pound-sign (\#).

June 15, 2007:
Added some help text to SEND script command.
Fixed a bug in the script runner related to long command lines.

Apr 20, 2007:
Updated to release 6.6...
Fixed a few issues with the xmodem dialog box (thanks Joerg!).
Added cumulative transmit and receive character counts to the output of Help->About.
New script command: CD (change directory). Refer to the CD command help text for more information.
New script command: RECV (receive characters). Refer to the RECV command help text for more information.
The SEND and RECV commands populate the SCR_TIMEOUT shell variable to indicate whether or not a timeout occurred (applicable only with -t option for these commands).
Added new 'hex' formats (hex0,hex2,hex4,hex8) to the expression evaluator built into the SET command.

Apr 9, 2007:
Fixed a few issues with uCon's telnet client option negotiation.

Mar 22, 2007:
Updated the items in the floating pull-down menu...
Instead of 'Notepad', now 'Editor' will open up whatever editor you've got configured in the Config->Miscellaneous dialog box.
Added a new 'Edit Screen Buffer' item which simply combines the steps used to copy screen buffer, open an editor, and paste the screen buffer to that editor.

Feb 13, 2007:
More updates to XMODEM. Added the ability to tell uCon to validate incoming packets with CRC. Prior to this, uCon's xmodem receive size defaulted to always use checksum. This adds a new subcommand (recvcrc) to the XMODEM script command and a new button (RecvCrc) to the XMODEM dialog box.

Feb 7, 2007:
Yet another fix to the XMODEM script command. As a result of this bug, there are a few new options to the XMODEM command because it has to be able to interact with the target similar to the way SEND has to interact with the target (it typically must wait for a prompt).

Jan 23, 2007:
Fixed a bug in the console interface caused when focus transitions between various dialog boxes and the console window of uCon. In certain cases these focus transitions would cause the cursor to be erroneously repositioned within the console. Hopefully this is now resolved.

Jan 22, 2007:
Fixed a couple of bugs that came to the surface in XMODEM as a result of the recent 1K packet size update. Also added a -d option to the XMODEM script command to allow the user to control the use of the "delay-between-character" mode.

Jan 5, 2007:
Added 1K send packet size option to Xmodem. Refer to Xmodem help page for more info. This applies to the Xmodem dialog box as well as the XMODEM script command.

Jan 4, 2007:
Updated to release 6.5...
The DHCP server config can now use shell variables as the arguments. This obviously requires that at the time of the DHCP server startup, the shell variable must exist.
Added the ability to set a shell variable through the GUI. This includes some movement in uCon's menu items... Moved the 'Environment' pull-down menu item from 'Scripts->Environment' to 'Config->Environment', and added 'Set and Display' as two sub-menuitems beneath Config->Environment. The 'Display' item is what used to be 'Scripts->Environment' and the 'Set' item is a new dialog box that allows the user to establish/clear shell variables.
New sub-commands to the script command "FILE": 'append' & 'edit'. Refer to "FILE" command within scripting for more details.

Dec 15, 2006:
Added a new script command: BMPVIEW. This is new and still under development. This commad can be used to display raw bitmaps of various formats. As of this writing only basic 8-bit grayscale is supported; however, its simple enough to add additional formats as needed. Refer to the BMPVIEW help text for more info.

Dec 13, 2006:
Bug fixes:
1. Apparently, if the COM port number is greater than 9, then some systems require that the name be altered when passed to "CreateFile" for opening the port. Instead of COM10, the string is \\.\COM10. Don't ask me why, but it fixes a bug!!!.
2. If the Config->Backend->Comport dialog box was used to reconfigure the COM port in any way, it would fail. This was caused by some new code I added (Aug 25,2006) to better support the somewhat arbitrary COM port assignments made by USB drivers.

Nov 30, 2006:
Added a -q option to the TIME command so that it can be "quietly" used to populate the TIME shell variable without dumping anything to the console.

Nov 8, 2006:
New script command: FSEND. The script equivalent of the Transfer->File dialog box.

Oct 20, 2006:
Added support in the TFTP server for incoming option negotiation. Particularly, the 'tsize' option (RFC-2349).

Sept 22, 2006:
Update to release 6.4...
Added a browse button to the startup dialog box for retrieval of a pre-built configuration file. This really eliminates the need for the pull-down menu within that dialog group; however, for now, both dialog items can be used, with the -Browse- button being more useful.
New script command: TITLE. Simply allows a script to update the content of uCon's title bar. Refer to the TITLE page for more details.

Sept 20, 2006:
uCon now has the ability to receive commands from the moncmd client (part of the MicroMonitor toolset). This
is "still-in-the-works" feature that simply allows a user to issue commands to uCon via UDP. The moncmd client is a tool typically used to talk to a MicroMonitor based target over UDP. uCon now has the receive end (moncmd srvr) built into it so that certain commands can be remotely passed into uCon via UDP. Refer to the MONCMD server page for more details.

Aug 28, 2006:

The ability to enter a logging tag applies to both standard and long-term logging, so the dialog used to enter this tag has been moved from the stanard logging dialog box to it's own dialog box accessible through the Logging->InsertTag menu item. Refer to the logging help text for more details.

Aug 25, 2006:

Apparently the USB-to-Serial drivers do not attempt to use the next available COM port. This means that on a given system that has USB-to-Serial adapters in use, the COM port associated with any particular adapter could be anywhere in "COMxx land". This makes it tedious to figure out what COM ports are actually available on a PC that uses USB-to-serial adapters. To help out with this a bit, the drop-down menu in uCon's comport dialog box now attempts to display the status of the COM ports, thus making it a bit easier for the user to decide which one to attach to. Note that even though the drop-down label may say it is unavailable, you still have the option to attempt to attach to it (just in case uCon get's it wrong).

Aug 16, 2006:

The content of a clickable button (i.e. the data that would normally be sent to the backend) now supports a prefix field that allows the user to use the buttons for things other than just pre-configured blocks of text destined for the backend. Currently the only prefix is LTAG, which allows that button to be used to insert text into the active logging file. I'm sure more of these prefixes will be added as ideas pop up. Refer to the function key help info for more details.

July 20, 2006:
The clickable buttons now have the "script" option similar to the function keys. This allows each button to be configured to quickly enter some configured keystroke sequence or execute a script.

July 19, 2006:
The long-term logging mechanism in uCon now dumps a few new messages to the log file depending on what has happened...
NEXTDAY: indicates that the log was closed and a new file for the next day is being opened.
TERMINATE:indicates the uCon has been shut down.
NEWFILE:indicates that the current log file was closed in favor of some new logfile.

July 14, 2006:
If the logging toolbar button was clicked to enable standard logging but there was no previously specified log file, uCon would just tell the user that a filename must first be established through the standard logging dialog box. This is now changed so that if no file is specified when the button is depressed, it will notify the user and immediately start logging with a temporary file that can be seen (and later edited) through the standard logging menu item.

July 13, 2006:
Thanks to an efficiency made in the way uCon highlights text, the default startup state is changed to have uCon's character highlighting be enabled. It can still be disabled in the Miscellaneous dialog box.

July 12, 2006:
Fixed a bug that was not allowing uCon to properly terminate (i.e. halt) a script under certain circumstances.

July 6, 2006:
Update to release 6.3...
The DIALOG script command has a new -m option which allows the script to create a modeless dialog box. This simply means that the dialog interaction with the user can be set up so that it allows the user to do other stuff prior to completion of the dialog.
This update allows the user to enable/disable (default = disabled) uCon's ability to highlight the text on the screen that is being swiped (and copied) to the clipboard. This is an optional feature because the current implementation of the highlighting is cpu-intense; hence, may not be appreciated on older/slower machines. Refer to miscellaneous configuration dialog for more information.

June 28, 2006:
New "if" comparison: sec (string equal to, case insensitive).
New "CONNECT" script command to allow the script to control what backend connection is used.
New -c option to REGEX script command.
New -b option to the FKEY script command to allow this command to support the new buttons.

June 24, 2006:
Added 2 additional rows of clickable buttons as an extension to the set of function keys.

June 22, 2006:
Bug fix: When running with plink as the backend, uCon would hang on certain dialog boxes. This update fixes that problem.

June 8, 2006:
Cut 'n' Paste is getting closer (still needs work). Looking a bit more like real cut-n-paste. The improvments may not be enabled in all uCon installations.
Added a configurable inactivity timeout so that uCon can be set up to automatically disconnect from the backend it is tied to after some pre-defined number of minutes. Refer to Config->Miscellaneous dialog box.
Added option to Xmodem Send that, when enabled, will insert the -s ### option into the xmodem command line (used with uMon's xmodem command) to tell the receiver the exact size of the file (rather than having the file save at the modulo-128 size).

May 30, 2006:
One more update to the startup dialog box (to be a bit more intiutive)...
Now there are 4 unique choices for startup: comport backend, telnet backend, plink backend or pre-existing config file. One of those 4 is selected, and the OK (or CANCEL) button at the bottom is used to continue.

May 25, 2006:
New Scripts menu item (Scripts->Environment) to display the current set of established shell variables.
Updated the startup dialog box to support the PuTTY Link backend, and eliminated the ICON and the stuff related to the telnet server (this is done after uCon starts up).
Fixed a few minor bugs in the new plink backend code.

May 17, 2006:
Update to release 6.2...
Made some efficiency improvements to uCon's incoming character processing and screen updates. This reduces the burden that uCon puts on the host CPU; thus providing a better interface with COM ports that are running without flow control.
Also, updated a few of the dialog boxes (TFTP client, TFTP server and FTP server) to support a browse button.

May 11, 2006:
The long-term logging dialog box now allows the user to specify filename prefix, plus the ability to browse for the long-term logging directory to be used.

May 1, 2006:
This is an update to release 6.1 and includes the first (i.e. beta) version of a new Plink backend. This is still very new, so user beware. The goal is to provide an interface between plink (part of the Open Source PuTTY package) and uCon; thus allowing uCon to connect to RLOGIN & SSH servers. Refer to the plink backend help information for more details.

Apr 27, 2006:
Added a new function to the SET command's ability to process expressions... rand(). This allows the user to load a shell variable with a random number.
Slight change to symbol processing on the command line... If a '%' is found on a command line, but there is no SYMFILE shell variable set, then the string is not processed as a symbol name.

Apr 13, 2006:
Added the ability to capture binary data with standard logging. A new BIN check box is part of the standard logging dialog. Refer to logging for more information.

Mar 31, 2006:
Ctrl-V can now optionally be used as a PASTE command (instead of the floating menu item).
Improvements (i.e. bug fixes) made to the accuracy of the "cut" in cut-n-paste when the window is resized.
Fixed a screen refresh problem that occasionally caused the console window (and the text that would be stored in the buffer) to be erased.

Mar 9, 2006:
Update to 6.0...
TFTP Client...
The TFTP client now supports the "tsize" option in the WRQ. Refer to the TFTP Client documentation for more information.
Cut 'n Paste...
The ability to swipe a block of text from the console window to the clipboard is now working (note that the cursor over the console window is now an I-beam rather than an Arrow). When the left mouse button is depressed and swiped accross some set of characters within the console window of uCon, those characters are automatically copied to the clipboard and can be pasted. Currently this only works for swipes within a single row or line and the group of characters is only momentarily highlighted.
Also, a block of non-whitespace characters can be copied to the clipboard with a single left-button double-click over any character within the block (uCon will then figure out the first and last character of the block).
For this release (at least), the trace window will show the data that has been copied.

Mar 6, 2006:
Bug fix: tftp client was erroneously updating the destination file when doing a "get" and the incoming packet block number repeated.

Mar 3, 2006:
Added a new uMon-specific tool to allow the user to edit a TFS-based ASCII file using a host-based editor. The new uMon->EditTFSFile menu item assumes the target has an IP address, pulls the requested file up to the host using TFTP, allows the user to edit it using the editor specified in uCon, then the file is transferred back to the target, once again using TFTP.

Feb 21, 2006:
Finally got around to getting the THUMB and MOUSEWHEEL scrolling methods to work.

Feb 9, 2006:
The -t option to SEND now supports time in floating point notation, so you can specify a timeout that has a resolution of 100ths of a second. Obviously this is limited to the accuracy of the PC's internal timer, so it isn't going to be very precise; however, it does allow the timeout to be much less than the old minimum of a second.
A similar change has been made to MONCMD. The the -w option supports resolution of 100th's of a second.

Jan 31, 2006:
Update to 5.3...
When uCon's configuration is saved, it includes the postion (not just the size) of the window so that when restarted it will come back to the same spot on the desktop.
The LINES shell variable is now loaded with the size (in lines) of the console window.
If the SEND command is configured to wait for a prompt (via -p or PROMPT shell variable), then SEND will also populate the shell variable LASTLINE with the most recently received line prior to reception of the prompt.

Jan 27, 2006:
Added a new script command called REGEX. This command gives the script the ability to do sophisticated regular expression processing. Refer to the REGEX help text for more information.

Jan 26, 2006:
Added a new script command called RUN. This command gives the script the ability to call other scripts. Refer to the RUN help text for more information.

Jan 23, 2006:
Added a new script command called FKEY. This command gives the script the ability to configure all/any of the 9 visible function keys on the uCon user interface. Refer to FKEY help text for more information.

Jan 13, 2006:
DHCP server has more help text in both this help data and the default DHCP config file when a new server config file is created. Also, added support for multiple IPA_xxx option types to be concatenated on a line. Refer to DHCP server help text for more information.

Jan 10, 2006:
Update to 5.2...
The baud rate can now optionally be specified as user defined. This allows users to set the baud rate to any value (within the driver's limitations), not just the standard bit rates. Note that this is only configurable from the Config->BackEnd->Comport dialog box.
Scripts can now be paused, resumed and stepped. Added appropriate additions to the "Scripts" menu item, new "pause", "resume" and "step" toolbar buttons, and changed the stopsign (used to halt a script) to a square. Refer to the scripting help text for more information.

Dec 3, 2005:
Added new dialog box type for use with the DIALOG command in scripts. The new type, DDLIST (i.e. drop-down-list), allows the script to create a list of choices for the user to pick from using a drop-down list. Refer to the DIALOG command description for more information.

Nov 26, 2005:
Added new toolbar button to support transmission of the BREAK state over the COM port. The BREAK is also sent by the BREAK/PAUSE key.

Nov 22, 2005:
Function key labels are now buttons as well, so the user can click on the button or depress the function key.

Nov 18, 2005:
Fixed a few memory leaks that were causing uCon to eventually hog RAM on a system if left running under certain circumstances. Also, transitioned over to a MAJOR/MINOR release number format. This puts us at release 5.1.

Oct 28, 2005:
A new scripting command is available to support the ability to have one uCon session interact with another. The command is called TCP, refer to the scripting page for more information.

Oct 21, 2005:
The telnet backend now provides an option to automatically reconnect to a remote server that may have temporarily gone down. Refer to telnet backend description for more information on this.

Oct 11, 2005:
The SYSLOG server can now be configured to send its received packets to the log. The packets can be directed to whichever log is enabled (standard or long-term). The TFTP, DHCP and SYSLOG servers can now be disabled without the exiting uCon.

Sep 12, 2005:
uCon can now act as a proxy providing an FTP-to-TFTP file transfer agent. The idea is simple. For one reason or another you need to TFTP a file to a target but that TFTP transfer is blocked (usually due to some kind of firewall issue). Assuming you are able to ftp into the same site, then you can enable uCon's FTP server, and transfer the file (using FTP) to the host running uCon, then uCon will transfer that file to some other machine within it's domain. Refer to Help->Servers->FTP for more information.

Apr 21, 2005:
When uCon is used as a telnet server (with clients attached to it for access to the COM port), the running uCon session is usually not visiable to the remote client (simply because the remote client is usually distant from the server). In cases when that server takes some kind of error (shouldn't happen, but it can), the server would simply lock up and all clients would just hang. This isn't good, so in the event that an error occurs, the uCon error handler now sends the message to all attached clients prior to sending it to the local console by way of a dialog box. This notifies the remote user of the need to restart the uCon server.

Apr 1 2005:
New toolbar button to loop through the COM port baud rates. This allows the user to quickly determine the baud rate of the target connection (if unknown).

Mar 15, 2005:
The dialog boxes used with the DIALOG command (in scripts) now supports the CLOSE button (top right corner X). This allows the user of the script to terminate the script at any dialog box created by the DIALOG command.

Mar 1, 2005:
Added "Moncmd" menu item under the uMon menu list. This allows the user to issue UDP-based commands to the target running MicroMonitor.

Mar 9, 2004:
Added a new "ANY" COM port option. If this port is specified, uCon will look for the first available COM port in the system. For example, if COM1 is being used, and the "ANY" port is specified then COM2 (assuming it physically exists) will be opened.

Mar 5, 2004:
Most of the VT100-mode cursor positioning is now supported. This allows a reasonable amount of support for interfaces that rely on VT100 terminal emulation.

Feb 19, 2004:
The command line options "-I" (specify uCon's installation directory) and "-s" (invoke a startup script) have been eliminated. The "-I" option is no longer needed, and the "-s" option is replaced with an entry in the Config->Miscellaneous dialog box. This follows the trend to replace all command line options with configuration items so that the options can be stored into the configuration file and are not dependent on command line entry.
Also, the Config->Miscellaneous dialog box has a "StartupMsg" text box. The content of this box (if anything) will be posted to the user as a simple message box as uCon starts up.

Feb 12, 2004:
The configuration now includes the window position, so that after saving a configuration and exiting uCon, when restarted using the saved configuration, uCon will come up in the same position on the screen that it was in at the time of the last configuration save. By default, uCon will come up and allow the OS to position the window; but once a configuration is saved, subsequent startups of uCon will start at the active screen position at the time of the last configuration save.

Feb 10, 2004:
The command line options "-c" (column adjust) and "-r" (row adjust) are no longer supported. The width and height of the main window are now part of the configuration that is stored in the config file. The uCon console window defaults to 80 columns by 40 rows, and can be adjusted by changing the size of the window through normal "windows-like" manipulation, then saving the configuration. The height of the trace window (default = 8 rows) is also a configuration item and is now handled in the Config->SystemTrace dialog box.

Nov 26, 2003:
There's a new "View" menu item. The items within this menu item allow the user to remove various portions of the window from view. The presence of the statusbar, toolbar, function keys and system trace windows are all configurable through this menu.

Nov 18, 2003:
The window width is now adjustable and new text within the console window will appropriately be displayed based on the new screen width.

Nov 2, 2003:
I had originally configured all servers (excluding the terminal server) within uCon to require the user to manually enable them at startup. I did this because depending on how they are configured, they can be a security risk or, in the case of the DHCP/BOOTP server, could cause confusion on a network if unintentionally enabled. On the other hand, for those that regularly use the servers, it is convenient to have the servers configured to automatically start up. As a compromise, now at startup, if a server is enabled in the configuration file, then that server will automatically be started; however, uCon will post a warning to the user, to verify user awareness of the fact that the server is running.

Nov 1, 2003:
Updated the "Miscellaneous" dialog box. Mostly just text changes; however, I added a new checkbox that will cause the ENTER key to generate both CR & LF instead of just CR.