Solved

RS232 comm spy, peek, sniff, capture, redirect

Posted on 2004-09-07
9
822 Views
Last Modified: 2008-02-26
I would like to spy (peek, sniff, capture, redirect) data sent to a comm (RS232) port from an existing application that cannot be modified for purposes of modifying that information into a new data stream for export to another RS323 port. I have a navigation program that sends out  tracking information through an RS232 port using the newer NMEA 0183 protocal. I would like to modify this data to an older NMEA 0180 protocal so that my vintage auto pilot will accept it. I am looking for a VB 6.0 preferrable application. the application cannot interfere with the communications, it should only be able to read the data being sent out the RS232 port.
0
Comment
Question by:Vincentpiraino
  • 5
  • 3
9 Comments
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 500 total points
ID: 12001962
Well, let's start saying that this is done generally in C. Windows serial driver doesn't allow you to access serial port while other process is doing the same, so you need to replace Windows standard serial driver with a "filter serial driver" (SERIAL.SYS in WinXP, SERIAL.VXD in Win9x).
Once you haver replaced the driver you will need to talk with it with proper calling (usually done in C/C++). Here is an example of serial application that use the refered method:
http://www.getsomesoft.com/Utilities/System-Tools/11719-Serial-Monitor.html
0
 

Author Comment

by:Vincentpiraino
ID: 12002463
jaime_olivares, thanks for response. Is there a VB solution (with souce code) that can interface to a "filter serial driver"? I checked out serial monitor but that seems to require $ plus C programming skills.
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 12002479
Sincerely I don't know about a Visual Basic solution, sometimes you can translate C code to Visual Basic with some performance penality. But the stuff about the driver is fully valid.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 12002482
About using WinExec:

Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, Optional ByVal nCmdShow As Long) As Long

WinExec ("thesameprogram.exe");
0
 

Author Comment

by:Vincentpiraino
ID: 12009852
jaime_olivarea, was your last entry meant for another question?
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 12010649
Sorry, you are right.
0
 

Author Comment

by:Vincentpiraino
ID: 12022032
I confirmed with HDD Software that VB won't be able to (easily anyway) interface with the object in Serial Monitor, this was there response:

"The classes and interfaces of the Serial Monitor are developed in such way, that are accessible only to compiling languages, such as C++ or Pascal. More precise, all interfaces are marked "local", so cannot take part in automation, which is the way Visual Basic uses them."

Any other thouhts?
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 12068967
I recommend you to switch to C/C++ if you want to dedicate to this kind of applications. Visual Basic has many limitations and low performance.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question