The defintion format is fairly simple...
...but is best loaded into your favorite spreadsheet or CSV editing software.
Just use a comma seperator and no quotations on text fields.

Lines starting with # are ignored completely.

The first type of definition record is the message header.  It indicates when a new message is being defined.

Field 1: The NEW keyword
Field 2: the device address
Field 3: the message number
Field 4: a short text comment describing the contents of the message.
Example: NEW,0xF4,0x00,Main

The second type is the record itself:

Field 1: The byte offset (starting from 0 in the data section)
Field 2: The "short name" aka lookup name.  This is a critical field as eehack will use it to
   identify and search for common parameters with logical names such as RPM and MAP.  Don't use
   common names for your own parameters.  It is generally hidden from the user.
Field 3: The "long name".  The full description to be displayed with the data.
Field 4: The unit of measure string, such as Degrees.  It can be blank.
Field 5: The view level, must be one of BASIC, EXTENDED, HACKER, ERROR, or VERROR.  Parameters
   other than BASIC are generally hidden from the user unless asked for.  VERROR is for corvette
   specific transitional OBD-II errors.
Field 6: The size in bits.  This must be 1, 8, or 16.  1 denotes a binary parameter.
Field 7: The output precision (for 8-16 bit values) or the bit field (for 1 bit values).
   0 specifies an integer, 1 or more specifies a floating point value.
Field 8-9: The multiplier and adder comprising the linear equation that converts this data to
   a human-readable value.
Field 10-11: The minimum and maximum patch versions that this data appears in.
Field 12: The 'special' field.  Specifying CELCIUS, MPH, or KPA will allow metric/imperial
   conversion on the field.  Specifying SIGNED will use signed input.  RESEARCH will display
   the data both as hex and binary on output.  Various other special fields may be added later.
Field 13-14: Low and high warning levels, if left blank, no warning threshold.
Field 15-16: Low and high output range (for graphing, etc).  If left blank, calculated automatically.
