TModSoft
Providing a range of Python software for the Telit family of embedded hardware modules.
TMS Term Screenshot

TMS Term

A Windows desktop application to facilitate development on the Telit range of embedded python modules. Providing easy access to common functions such as listing / uploading / download / compiling files, sending/receiving AT commands, displaying trace port output.

Features:

  • Compatible with both older modules running Python 1.5.2, and newer modules running Python 2.7.
  • Fast efficient reliable running of commands, and uploading/downloading of files with full error checking.
  • 20 Item AT Command Send history to allow easily sending the same command multiple times.
  • Quick click buttons for common commands such as "AT", "AT#EXECSCR", "AT#CGSN", "AT#REBOOT".
  • Scroll list for other popular commands including those related to SMS, GPRS, Network functions.
  • AT command terminal option to display non printable characters as hex codes.
  • Trace Port terminal smart display option to show data and time, normalised line endings, and non printable characters as hex codes.
  • "Pause" option on serial trace port display for easier debugging.
  • In application (Python install required) compiling showing errors onscreen with immediate indication of success/failure condition (rather than separate CMD window that quickly disappears off screen).
  • Compile output automatic removal of "#" prefixed lines to allow easy viewing of actual compiler errors.
  • Reliable file downloads (based on file size from AT#LSCRIPT, not a match for "\r\nOK\r\n" which might fail if that text is inside the file itself).
  • Serial operations / compiling all done through queues on background threads to prevent locking up the main interface.
  • Large scroll back buffers on both the AT Command and Trace terminals to facilitate seeing output / errors before they are overwritten with new data.
  • Compile path, and arguments configurable directly in the application.
  • COM port refresh button to avoid needing to close/reopen the application after plugging in USB devices.

Note: Text file logging and Decode Escapes features are currently pending implementation.

Demo

[Download]

Note: Demo will randomly close the COM port every 3-5 minutes.

Support

The .net Framework version 4 is required for this application.

"Smart" display mode will prefix received trace log data entries with the current date/time, hide entries prefixed with a "#" character, display non printable received characters as hex escaped while attempting to split entries/line intelligently i.e. not to split individual command results across multiple lines or show unnecessary excessive new lines if received data does not have Windows compatible \r\n line endings. "Raw" display mode will display data exactly as received even if this does not display "correctly" / look right on Windows. The display mode can be dynamically switched and the new choice will instantly update the display (without needing to wait for more data to be received), this means it is possible to switch between modes to e.g. see the raw data, and non printable data shown escaped for debugging purposes.

"Max Size" refers to the maximum size in bytes of the receive data scroll back buffer. If more data is received than this amount it will start to be lost on a FIFO (first in first out) basis i.e. old data at the top of the window will be lost as new data is added to the bottom. In "Smart" display mode with Python 2.7 modules it should be kept to the default value of 100000 to prevent the window being blank/showing minimal data (due to "#" prefixed lines - which are automatically hidden from display using up buffer space).

"Line Timeout" specified in milliseconds refers to the wait time before data is shown on screen if a return is not found beforehand, it is useful to prevent separate lines/log entries splitting the middle of a command result.

"Pause" will pause display of new data in the window however will not stop new data being received to the buffer. Therefore as long as the buffer is big enough un-pausing display will show all data received while paused i.e. no received data will be "lost".

For Python 1.5.2 (Round Solutions) use:
Compile Path: C:\Program Files (x86)\Python\python.exe
Compile Args: -v -S -OO "C:\Program Files (x86)\Python\Lib\Dircompile.py" "[file_path]"

For Python 2.7 use:
Compile Path: D:\Python27\python.exe
Compile Args: -v -S "D:\Python27\Lib\compileall.py" -l -f "[file_path]"

Note: Change paths to match the location of your Python install.

As per the Microsoft .NET framework default moving the application will "clear" any saved settings (each executable location has its own associated settings). This is useful in some ways since it allows two copies of the application e.g. one for older Python 1.5.2 and one for Python 2.7 without needing to keep changing the compile settings manually each time hardware is changed.

Licensing Cost

Type Cost (£ GBP per license)
Personal 30.00
Commercial 50.00

Purchase

TMS Term licenses are available for both personal and commercial business use, please choose from the below options. If you are intending to use TMS Term for your own personal benefit please purchase a personal use license. If you are intending to use TMS Term to assist in development or testing of an application you are planning to sell or that will be used by a for profit entity please purchase a commercial license.


Personal Use License:


Commercial Use License: