Connect with us

Freeware port analyzer

Discussion in 'Electronic Basics' started by Abstract Dissonance, Mar 21, 2006.

Scroll to continue with content
  1. Is there a freeware windows port analyzer that basicaly just lets you
    "record" the data off the parallel or serial port? (even if it just dumps it
    to a file it would be ok but ofcourse I'd rather have more functionality)


    Thanks,
    Jon
     
  2. Guest

    If you used bsd-unix you could get away with:

    #include <stdio.h>
    #include <fcntl.h>
    #include <sys/types.h>
    #include <machine/cpufunc.h>
    #include <dev/ppbus/ppbconf.h>

    int main(int ac, char *av[]) {
    int io_fd;
    char *io_devname="/dev/io";

    if( (io_fd=open(io_devname,O_RDWR)) !=-1 ) {
    for(;;) {
    printf("0x%02X\n", inb( 0x378+2 ) );
    }
    }
    return 0;
    }
     
  3. David Harmon

    David Harmon Guest

    On Tue, 21 Mar 2006 13:15:45 -0600 in sci.electronics.basics,
    There is no electronics question in your post!
    A better newsgroup would be: alt.comp.freeware
     
  4. um... and are you the sci.electronics.basic police?
     
  5. Well, unfortunate/fortunately I use windows ;/

    Jon
     
  6. Si Ballenger

    Si Ballenger Guest

    Google for portmon.zip, which is freeware.
     
  7. David Harmon

    David Harmon Guest

    On Tue, 21 Mar 2006 17:58:47 -0600 in sci.electronics.basics,
    Only if you usually need the police to help you find your way
    around.
     
  8. I tried that but for some reason it didn't work ;/ I'm not sure if it works
    for raw bits or what?


    Basically I am trying to dump a serial data line to the parallel port and
    read it almost like a logical analyzer. This way I can make sure some
    devices are working right and such... The only thing that seems to work is
    parmon but it doesn't log the data ;/

    Jon
     
  9. JeffM

    JeffM Guest


  10. Someone points you to what they beleive is a better place to ask your
    question and you attack them? What a guy.


    --
    Service to my country? Been there, Done that, and I've got my DD214 to
    prove it.
    Member of DAV #85.

    Michael A. Terrell
    Central Florida
     
  11. Si Ballenger

    Si Ballenger Guest

    Below is the portmon output for a program called jbasic.exe with
    the Tx and Rx lines connected together on the com1 port. In this
    case the jbasic program sent "hello world" (displayed in hex) to
    com1 and then read the com1 input buffer picking up the "hello
    world". The lines are probably word wrapped. You may need to have
    a device connected to the parallel port for it to see the traffic
    there. To setup portmon you have to go to "computer" and select
    local, then go to "capture" and select the ports to monitor.
    Check the help file for other setup and logging options and such.

    0 0.00009191 jbasic.exe IRP_MJ_CREATE Serial0
    SUCCESS Options: Open
    1 0.00002486 jbasic.exe
    IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 8192
    OutSize: 8192
    2 0.00000531 jbasic.exe
    IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
    3 0.00000363 jbasic.exe
    IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
    4 0.00000307 jbasic.exe IOCTL_SERIAL_GET_CHARS
    Serial0 SUCCESS
    5 0.00000279 jbasic.exe IOCTL_SERIAL_GET_HANDFLOW
    Serial0 SUCCESS
    6 0.00001509 jbasic.exe
    IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
    7 0.00000950 jbasic.exe IOCTL_SERIAL_SET_RTS
    Serial0 SUCCESS
    8 0.00000950 jbasic.exe IOCTL_SERIAL_CLR_DTR
    Serial0 SUCCESS
    9 0.00000922 jbasic.exe
    IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1
    Parity: NONE WordLength: 8
    10 0.00000698 jbasic.exe IOCTL_SERIAL_SET_CHAR
    Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:0 XOFF:0
    11 0.00000894 jbasic.exe IOCTL_SERIAL_SET_HANDFLOW
    Serial0 SUCCESS Shake:0 Replace:40 XonLimit:0 XoffLimit:0
    12 0.00004945 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 68
    13 0.00102639 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 65
    14 0.00090682 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 6C
    15 0.00098113 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 6C
    16 0.00098309 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 6F
    17 0.00098085 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 20
    18 0.00098448 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 77
    19 0.00099985 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 6F
    20 0.00005950 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 72
    21 0.00096884 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 6C
    22 0.00092470 jbasic.exe IRP_MJ_WRITE Serial0
    SUCCESS Length 1: 64
    23 0.00002291 jbasic.exe
    IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
    24 0.00000950 jbasic.exe
    IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
    25 0.00000810 jbasic.exe
    IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
    26 0.00001648 jbasic.exe IRP_MJ_READ Serial0
    SUCCESS Length 11: 68 65 6C 6C 6F 20 77 6F 72 6C 64
    27 0.00000698 jbasic.exe IRP_MJ_CLEANUP Serial0
    SUCCESS
    28 0.01878982 jbasic.exe IRP_MJ_CLOSE Serial0
    SUCCESS
     
  12. Bob Masta

    Bob Masta Guest

    If you are using Win9x you can probably cobble together
    some code to read the parallel port directly. WinXP, NT,
    and 2K don't allow user-mode access to ports, so you'd need
    a special ring 0 driver like GIVEIO or USERPORT.

    Unlike serial ports, parallel ports are not clocked devices.
    So you will have to decide how often you want to look at
    the port. Note that timing is definitely not Windoze strong
    suit, so expect a fair amount of jitter and don't expect to
    get fine resolution (high sample rate).

    The hilarious part of all this, is that the earliest 8088
    PC running DOS was orders of magnitude better than
    the fastest Windows system for this kind of stuff.

    Best regards,


    Bob Masta
    dqatechATdaqartaDOTcom

    D A Q A R T A
    Data AcQuisition And Real-Time Analysis
    www.daqarta.com
    Home of DaqGen, the FREEWARE signal generator
     
  13. hmm, wasn't his first post sorta an attack too?

    "There is no electronics question in your post!"

    This maybe or may not be true but surely the parallel port is used
    indirectly with electronics? I am asking this question simply because I
    want to use some electronic devices and monitor there digital outputs... so
    indirectly it has everythign to do with electronics... and surely many
    people here in "sci.electronics.xxx" has messed with the parallel port in
    some fashion or another and probably has had the need to monitor/log the
    port?

    The fact is this is probably the best place to ask this question since it is
    directly used for an electronics application... I could be wrong but he
    obviously thought that my OP didn't belong in here and he had to point it
    out.

    He could have said something like

    "You might find better luck asing in blah.blah".

    Cause basicaly he's implying that I'm asking something that is completely
    off base in this group, which I think it isn't.

    And I seriously doubt I would get any answeres in alt.comp.freeware that I
    couldn't get googling.
     
  14. I'm just doing this for the keyboard so I just need it to run from 10khz to
    20khz. Its not clocked but if the application could use one port for the
    clock to sample another port then it should work? Or even just set the
    speed at which to sample?

    Basicaly what I want to do is hook the keyboard up to the parallel port and
    then hit keys and read the data being sent. I have the parallel port all
    setup to do this easy but it looks like I'm going to have to do it with a
    serial port since that seems to be the only one with the extensive
    applications.
    Thanks,
    Jon
     
  15. Si Ballenger

    Si Ballenger Guest

    If you have a win95/98 machine, you might check the software at
    the below site. It is for recording IR signals from remote
    controls for replay using the parallel port. It won't work well
    with win NT/2K/XP. You might be able to use a similar setup to
    record the output from the keyboard. You probably could make a
    similar recording setup using qbasic, but actual timing
    measurement would be dependent on the speed of the computer.

    http://www.ziplabel.com/cir/index.html
     

  16. It looks like a simple statement that you don't seem to agree with.


    If the port is defective, or you are designing the port, it is
    electronics. The rest is software related.


    You seem to have a chip on your shoulder, and a bad attitude will get
    you very little help. Its your choice.


    Then why are you here instead of "Googling"?


    --
    Service to my country? Been there, Done that, and I've got my DD214 to
    prove it.
    Member of DAV #85.

    Michael A. Terrell
    Central Florida
     
  17. Bob Masta

    Bob Masta Guest

    Yeah, the parallel port would be a bad idea for this anyway, since
    you would have to poll it at a high rate to be sure of not missing
    key scan codes. Note that the scan codes are not just a single
    byte per key press... there can be a whole stream of bytes from
    hitting a single key. If you want to have a look at what is going on,
    I have a little free utility you can download from
    www.daqarta.com/download.htm
    called KEYCODE.EXE. (It's down near the bottom of the
    page under "Utilities".) HOWEVER, this is only for use under
    real-mode DOS, which you can't get under WinXP, 2k, or NT.
    From Win9x you have to use Start- Shutdown - Restart in MS-DOS Mode.
    This will write all the scan codes to the screen as they happen,
    which can be rather eye-opening.

    There might be a way to use the parallel port under DOS if
    you can rig up the keyboard to generate an interrupt. The port
    does support interrupts, and that would save you having to poll
    for bytes.

    Best regards,


    Bob Masta
    dqatechATdaqartaDOTcom

    D A Q A R T A
    Data AcQuisition And Real-Time Analysis
    www.daqarta.com
    Home of DaqGen, the FREEWARE signal generator
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-