Click here to Skip to main content
11,583,484 members (65,013 online)
Click here to Skip to main content

Termie: A Simple RS232 Terminal

, 13 Oct 2008 BSD 170.5K 14.8K 141
Rate this:
Please Sign up or sign in to vote.
Termie opens a serial port and allows you to communicate with it in a chat-like interface.
Termie/termie.jpg

Introduction

Termie opens a serial port and logs data received to a window. It is useful for embedded software development. It can also send data so it is actually a RS232 terminal with a chat-like interface.

An embedded system is a special-purpose computer such as a Wii, MP3 player, or cell phone. To develop for such a system, you need a development "kit" which allows you to download software and debug. Communication between your PC and the embedded system is often a serial cable (RS-232).

In my case, I get output from the embedded system (a game console) via an RS-232 cable. So if I want to see my printfs, I need a program that will display anything that comes in the COM port on my PC.

Background

Termie is an open source clone of Termite from ITB CompuPhase.

What I liked about Termite is that it is simple and fast. Hyperterminal is clunky. I wanted something similar to Termite that was open source. Writing it in C# turned out to be easy; a weekend project. Once done, I can add new features as needed and get great suggestions here!

Settings

Settings are stored in an INI file in the application startup folder:

Termie/termie2.jpg

Features

  • Multiple select, select all, and copy to the clipboard
  • Hex Output (not in Termite)
  • Output filter (not in Termite)
  • Partial line output (so you can see "..." one dot at a time)
  • Click status to close/open with current port settings
  • Toggle Scrolling button
  • Send File button
  • Color coded lines (green=received, blue=sent)
  • Send escape sequences (\n, \x7f)
  • Send history

Using the Code

System.IO.Ports has a SerialPort class that does everything we want. I wrapped it in a singleton class with delegates for status and data events.

History

  • February-2008: Original submission
  • March-2008: Added clipboard, output filter, hex output, monospace font, and all settings
  • May-2008: Added read thread, partial output, color coding, and "send file"
  • October-2008: Fixed thread bug, added history and escape sequences to send (\n, \x7f), and upgraded project files to Visual C# 2008 Express

License

This article, along with any associated source code and files, is licensed under The BSD License

Share

About the Author

milkplus
Software Developer Buzz Monkey Software
United States United States
David McClurg is a game programmer from Oregon, USA. He is currently interested in C#, xna for zune, and steering behaviors. When not coding, David enjoys tennis, kayaking, and botany.

You may also be interested in...

Comments and Discussions

 
QuestionReading data from a RS485 port Pin
Bahram Ettehadieh2-Jul-13 6:40
memberBahram Ettehadieh2-Jul-13 6:40 
QuestionClose? Pin
YDLU2-May-13 7:34
memberYDLU2-May-13 7:34 
QuestionTo plot a data Pin
Ananthinatesan18-Jan-13 22:39
memberAnanthinatesan18-Jan-13 22:39 
QuestionFilter usage/syntax? Pin
Member 976553217-Jan-13 13:20
memberMember 976553217-Jan-13 13:20 
QuestionIt works great! Pin
Member 388480229-Aug-12 7:35
memberMember 388480229-Aug-12 7:35 
QuestionCOM port already in use Pin
Member 859645325-Jan-12 7:02
memberMember 859645325-Jan-12 7:02 
Questiontermie Pin
silvio pontes10-Aug-11 18:24
membersilvio pontes10-Aug-11 18:24 
AnswerRe: termie Pin
milkplus10-Aug-11 18:37
membermilkplus10-Aug-11 18:37 
GeneralRe: termie Pin
ocaccy11-Aug-11 4:41
memberocaccy11-Aug-11 4:41 
AnswerRe: termie Pin
silvio pontes14-Sep-11 14:51
membersilvio pontes14-Sep-11 14:51 
GeneralFormatting string [modified] Pin
robert-t198320-Jan-11 3:42
memberrobert-t198320-Jan-11 3:42 
GeneralRe: Formatting string Pin
milkplus20-Jan-11 5:44
membermilkplus20-Jan-11 5:44 
QuestionTermie code? Pin
steve7606316-Aug-10 13:44
membersteve7606316-Aug-10 13:44 
GeneralTransmit delay (char/line) Pin
Dragon2004_fr27-Jun-10 22:06
memberDragon2004_fr27-Jun-10 22:06 
GeneralNon-standard Baud Rates Pin
CamCoder6623-Oct-09 12:29
memberCamCoder6623-Oct-09 12:29 
GeneralRe: Non-standard Baud Rates Pin
CamCoder6623-Oct-09 12:32
memberCamCoder6623-Oct-09 12:32 
GeneralRe: Non-standard Baud Rates Pin
milkplus23-Oct-09 12:48
membermilkplus23-Oct-09 12:48 
GeneralRe: Non-standard Baud Rates Pin
Ukkie913-Feb-10 4:29
memberUkkie913-Feb-10 4:29 
GeneralMoving cursor to the right one position (right arrow) Pin
Fernando Vargas22-Sep-09 7:01
memberFernando Vargas22-Sep-09 7:01 
Questioncool~ Pin
nube0112-Sep-09 4:44
membernube0112-Sep-09 4:44 
GeneralThanks for your greate work Pin
PBalaKumar2-Aug-09 16:16
memberPBalaKumar2-Aug-09 16:16 
GeneralHEX output. Pin
nathanteepee24-Jul-09 19:32
membernathanteepee24-Jul-09 19:32 
General\xa5 sends hex 3f Pin
codeblue55530-Jun-09 5:12
membercodeblue55530-Jun-09 5:12 
GeneralThanks! Pin
BillDF27-Mar-09 11:33
memberBillDF27-Mar-09 11:33 
Generalbin code Pin
raq12329-Jan-09 6:09
memberraq12329-Jan-09 6:09 
GeneralRe: bin code Pin
milkplus29-Jan-09 6:24
membermilkplus29-Jan-09 6:24 
GeneralRe: bin code Pin
raq12329-Jan-09 6:57
memberraq12329-Jan-09 6:57 
GeneralRe: bin code Pin
mwb110017-Jun-09 6:12
membermwb110017-Jun-09 6:12 
GeneralUsing Termie to send a file to a microprocessor Pin
Gary_12328-Jan-09 19:45
memberGary_12328-Jan-09 19:45 
GeneralRe: Using Termie to send a file to a microprocessor Pin
milkplus29-Jan-09 6:32
membermilkplus29-Jan-09 6:32 
GeneralMy vote of 2 Pin
brettratner22-Dec-08 16:49
memberbrettratner22-Dec-08 16:49 
GeneralOnly ascii characters up to 127dec are supported. All bytes above 127 are converted to the ? character. Pin
MyEvilTwin4-Nov-08 11:59
memberMyEvilTwin4-Nov-08 11:59 
GeneralRe: Only ascii characters up to 127dec are supported. All bytes above 127 are converted to the ? character. Pin
milkplus29-Jan-09 6:33
membermilkplus29-Jan-09 6:33 
GeneralRe: Only ascii characters up to 127dec are supported. All bytes above 127 are converted to the ? character. Pin
Greg Lapin28-Dec-10 12:35
memberGreg Lapin28-Dec-10 12:35 
GeneralRe: Only ascii characters up to 127dec are supported. All bytes above 127 are converted to the ? character. Pin
milkplus28-Dec-10 13:43
membermilkplus28-Dec-10 13:43 
GeneralRe: Only ascii characters up to 127dec are supported. All bytes above 127 are converted to the ? character. Pin
robert-t198316-Jan-11 10:13
memberrobert-t198316-Jan-11 10:13 
GeneralRe: Only ascii characters up to 127dec are supported. All bytes above 127 are converted to the ? character. Pin
robert-t198317-Jan-11 3:25
memberrobert-t198317-Jan-11 3:25 
GeneralTermie.. Good little program.. Pin
Dan Sherack12-Oct-08 11:04
memberDan Sherack12-Oct-08 11:04 
GeneralRe: Termie.. Good little program.. Pin
milkplus13-Oct-08 12:56
membermilkplus13-Oct-08 12:56 
GeneralRe: Termie.. Good little program.. Pin
Dan Sherack28-Oct-08 17:14
memberDan Sherack28-Oct-08 17:14 
GeneralHistory Pin
eb0916-Sep-08 2:37
membereb0916-Sep-08 2:37 
GeneralRe: History Pin
milkplus13-Oct-08 13:16
membermilkplus13-Oct-08 13:16 
QuestionProblem exiting termie when serial port is sending lots of data Pin
MyEvilTwin27-Aug-08 16:19
memberMyEvilTwin27-Aug-08 16:19 
AnswerRe: Problem exiting termie when serial port is sending lots of data Pin
milkplus23-Sep-08 9:55
membermilkplus23-Sep-08 9:55 
GeneralRe: Problem exiting termie when serial port is sending lots of data Pin
milkplus13-Oct-08 13:17
membermilkplus13-Oct-08 13:17 
GeneralPerfect! Pin
Drew Loika14-Jul-08 15:23
memberDrew Loika14-Jul-08 15:23 
Generalinteresting.. but Pin
william h johnson iii27-May-08 7:54
memberwilliam h johnson iii27-May-08 7:54 
GeneralRe: interesting.. but Pin
milkplus27-May-08 8:38
membermilkplus27-May-08 8:38 
GeneralRe: interesting.. but Pin
william h johnson iii27-May-08 9:08
memberwilliam h johnson iii27-May-08 9:08 
Generalnice guy and good solution Pin
belcooo16-May-08 17:23
memberbelcooo16-May-08 17:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150603.1 | Last Updated 13 Oct 2008
Article Copyright 2008 by milkplus
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid