IDM Tools

The following tools are provided with the IDM distribution. The first one, xidm, is the graphical tool that is run when you launch the IDM from the Start menu or desktop icon.

You may run these tools from the IDM Command Prompt (available from the Start menu).

xidm

You may run xidm with the following options:

    # xidm -h

      idm -- Intrig Data Monitor

      Usage: xidm [options] || xidm [options] [message]...

      Options:
        -h : show this help usage
        -v : show version
        -x file : load xddl file
        -f file : load data file

        -c restore all saved settings to default
        -r restore main window size, position, and dock window states to default
        -R restore list view headers to their default sizes
        -l key : specify license key

        message : an ASCII hex or ASCII binary message string: e.g., 010304 or @11011011

      Copyright (c) 2009, 2010, 2011 Intrig (http://intrig.com)

Please note, since xidm is configured to be a graphical program, typing xidm -h or xidm -v at the IDM Command Prompt will not print anything. Refer to the Help->About menu item to see the version information.

idm

idm is a command line version of the IDM. It is ideally suited for quickly decoding messages. This is the tool used to create all the examples through the IDM documentation. Using idm with just the XddlFile parameter is a also a good way to quickly validate your XDDL, and see where there are errors.

Typing idm -h at the command line results in the following output:

    # idm -h

      idm -- Command Line Intrig Data Monitor

      Usage: idm [options] XddlFile [message]...
      Options:
        -h : show this help usage
        -v : show version
        -c : number of columns used for the Name, default is 30
        -x : display message(s) in XML instead
        -p : display message(s) in C++ instead

      message : an ASCII hex or binary message string: e.g., 010304 or @11011011
      Try 'xidm' to launch GUI version.

      Copyright (c) 2009, 2010, 2011 Intrig (http://intrig.com)

As the help text indicates, the idm (and xidm) accept message strings on the command line. These can be binary or hexadecimal. Binary numbers are indicated by preceded them with @, and hex numbers with #, or nothing at all. The following are valid hex numbers: "04", "AA", "1122334455AB3F", "#04", "#AA", "#1122334455AB3F". Hex numbers must be byte aligned (binary numbers do not have this restriction). So "3" is considered invalid.

Currently, idm does not perform realtime monitoring.

xmit

The xmit tool is provided for convenience. Its purpose is to help you get data to the IDM. There are many options:

    # xmit -h

      xmit -- Send messages to the IDM

      Usage: xmit [options] [message]...

      Options:
        -h : show this help usage
        -v : show version

        -a : send messages as ASCII hex instead of binary
        -s server : server address (default is 127.0.0.1)
        -p port : server port (default is 50000)
        -f file : read and send messages from an xdat file
        -o file : append messages to a file instead of sending to a UDP port
        -r : continuously repeat sending message(s)
        -i interval : interval in ms between messages (default is 100)
        -V : verbose mode, print messages as they are sent

      message : an ASCII hex or binary message string: e.g., 010304 or @11011011

      With no -m or -f option, xidm will read ASCII hex messages from the standard
      input.  One message per line.

      See http://intrig/idm/tools/#xmit

      Copyright (c) 2009, 2010, 2011 Intrig (http://intrig.com)

As mentioned in the Getting Started Guide, the IDM only accepts messages from a UDP port. You must package one message per UDP packet.

xmit let's you send messages from a file, from the command line, or from standard input to the IDM. You don't have to write UDP networking code.

Although there are many options, the default values for -a, -s, and -p are the same as the IDM. If the IDM is running and configured to listen on port 50000 (the default), then running the following command will send it a single message:

    # xmit 034234

Messages can also be read from a file. Specify one ASCII hex message per line:

    # xmit -f file

When reading from a file, the -r, -i and -V options may be useful.

And finally, messages can be read from standard input by typing xmit without the -f options or any messages specified on the command line. This is convenient if you already have a program that prints out messages in ASCII hex. You can just pipe the ouptut to xmit and xmit will take care of the rest. If your program is called dumper then this is all you need:

    # dumper | xmit

As you can see, xmit is a versatile tool and a helpful companion to the IDM.