Skip to content

User Defined Parameter Guide🔗

Introduction🔗

User Defined Parameters is an optional feature that can be purchased on the HP Tuners website.

If you have information on parameters (switches, scalars, and/or tables) that we do not have defined currently in VCM Editor, this feature makes it possible to add them yourself and edit them in VCM Editor immediately.

Note

  • Parameters added must be supported by the operating system on the controller being tuned. You are simply telling VCM Editor about parameters that it does not have any information on yet. Adding a parameter that is NOT supported by the controller's operating system will have no effect because the controller won't use it.

When using this feature, parameters must be defined in TunerPro, which can be downloaded at:

http://www.tunerpro.net/downloadApp.htm

Procedure🔗

  1. Use TunerPro to define the parameters to be added.

    a. Open TunerPro.

    b. Configure the XDF header info.

    c. Define each parameter you wish to add.

    d. In the menu bar, select XDF > Save XDF.

  2. In VCM Editor, open the .HPT file to which you want to add parameters.

  3. In the menu bar, select Edit > User Defined Parameters.

  4. Click the icon.

  5. Select the TunerPro (.XDF) file that contains the parameters you wish to import.

  6. Click Open. Your parameters will be imported into VCM Editor.

If you would like parameters added to VCM Editor permanently, email HP Tuners support to request that they be added.

Note

  • Not all controllers supported by VCM Suite support User Defined Parameters. Please start a support ticket for more information.

What Are the "Allowed Addresses" in the User Defined Parameters Window?🔗

The allowed addresses are address ranges that you are allowed to define parameters in. If you try to define a parameter outside these ranges, they will not import and you will not be allowed to edit them.

Purchasing the User Defined Parameters Feature🔗

The User Defined Parameters feature can be purchased from the HP Tuners website:

  1. Log into your account on www.hptuners.com.
  2. On the My Account page, select My Devices.
  3. The My Devices page lists all of your registered interface devices. Select the Purchase link for the desired device.
  4. Click Add to cart and proceed to checkout.

  5. Once checkout is completed, connect the device to a USB port on your computer.

  6. Open VCM Editor.
  7. In the menu bar, select Help > Resync Interface. This will apply the feature license to VCM Editor.

Note

  • The User-Defined Parameters should now be available for you to use.

XDF Header Configuration🔗

Before you define parameters in TunerPro, you will need to set up the XDF header. Typically, only two header parameters need to be configured:

  • Some controllers require a base offset for all parameters. For example, if you define the parameter at address 0x1ABCDE, however the location of the parameter is actually at 0x801ABCDE, this would require an offset of +0x80000000. Although it's possible to enter this for each individual parameter defined, the XDF header allows you to specify it for all parameters in the current XDF file.
  • A number must be entered for the bin size. It does not have to be the actual size of the bin (VCM Editor will ignore this value). It merely has to be a larger number than the highest parameter address that will be entered (the address you will actually enter + the base offset).

Editing the XDF Header🔗

  1. Open TunerPro.
  2. In TunerPro's menu bar, select XDF > View/Edit XDF Header Info.
  3. Enter your Bin Size.
  4. Enter your Base Offset (if needed).
  5. Click OK.

Manually Adjusting the Base Offset🔗

If you need to define a base offset of 0x80000000 or higher in TunerPro V5.00.8944 or older, you must edit the base offset manually in a text editor (for example: Notepad or Notepad++).

To manually adjust the offset in a text editor:

  1. Open your .XDF file in the text editor.
  2. Find the <baseoffset> field in the XDFHEADER (always near/at the top).
  3. Enter your new offset value in DECIMAL, not hexadecimal.

    Note

    • For example, to specify an offset of 0x80000000, enter 2147483648 in the baseoffset field.
  4. If the offset is negative, add a - before the offset.

    Note

    • For example, -2147483648.
  5. Save your XDF.

Defining Parameters🔗

If you have the optional User Defined Parameters feature, three types of parameters can be added to VCM Editor:

  • Scalar: a numerical value. For example, a temperature or a speed.
  • Flag/Switch: a simple True/False value.
  • Table: a table.

Once you have installed TunerPro and configured the XDF header info, follow these steps to define a new parameter:

  1. In TunerPro's menu bar, select XDF > Create New XDF Parameter.

  2. Select the type of parameter to add (Scalar, Flag/Switch, or Table).

  3. Click OK. A form with configuration information for the new parameter appears.
  4. Fill out the fields in the form as needed for the new parameter. See the appropriate configuration section below for more information.
  5. Click OK.

Switch Configuration🔗

To configure a new switch in TunerPro, fill out the following fields:

  • Title. The name entered here will be displayed as the parameter name in VCM Editor.
  • Description (optional). A description that can be used for your reference in TunerPro. VCM Editor will not display this description.
  • Address. The address of this parameter within the binary file.

Note

  • If you have defined a Base Offset in the XDF header, the actual address used will be the address entered here plus the base offset.
  • Src Data Size. Although switches are stored as single bits, the address specified above will point to a larger (1, 2, or 4 byte) field that contains the switch. Specify the size (in bytes) of the data field that contains this switch.
  • Bit Number. The bit in the src data field that contains this switch. For example, the Police Equipped switch is encoded in bit 12 of the 16 bit src data field.

Note

  • Visibility Level and Categories will be ignored by VCM Editor.

Scalar Configuration🔗

To configure a new scalar in TunerPro, fill out the following fields on the General tab:

  • Title. The name entered here will be displayed as the parameter name in VCM Editor.
  • Description (optional). A description that can be used for your reference in TunerPro. VCM Editor will not display this description.
  • Address. The address of this parameter within the bin file.

Note

  • If you have defined a Base Offset in the XDF header, the actual address used will be the address entered here plus the base offset.
  • Size. The size (in bytes) of this data.
  • Signed. Check this box if the value is signed (supports both positive and negative values).
  • Floating Point. If you are adding a 4-byte parameter, checking this box indicates that the parameter is stored as a floating point value. Leaving the box unchecked indicates that the value is stored as a 4-byte integer.

Note

  • The Output Type field also includes a Floating Point option. But the option in that field does not specify how the value is stored. It specifies how the value is displayed.
  • LSB First. If this is a multibyte field (Size is 2 or more bytes), the state of this box indicates whether the value in this field is encoded with the least significant byte first (checked) or the most significant byte first (unchecked).

Note

  • This setting depends on the processor used in the vehicle controller. Some processors store multibyte data with the least significant byte first. Others store this data with the most significant byte first.
  • Stock Units. The units for this parameter (e.g. a speed in rpm, a temperature in degrees Celsius, etc.).
  • Use Low Range. Specifies the lowest value that may be entered for this scalar.
  • Use High Range. Specifies the highest value that may be entered for this scalar.

Note

  • Visibility Level and Categories will be ignored by VCM Editor.

You will also need to enter an Expression on the Conversion tab. This is the Conversion Equation used to transform the raw stored value for this parameter to the value that will be displayed in VCM Editor. See Conversion Equations for more information.

Table Configuration🔗

To configure a new table in TunerPro, it is necessary to enter general information about the table and information about the table's row axis and column axis.

Table Information (General Tab)🔗

  • Title. The name entered here will be displayed as the table name in VCM Editor.
  • Description (optional). A description that can be used for your reference in TunerPro. VCM Editor will not display this description.
  • Address. The address of this parameter within the bin file.

Note

  • If you have defined a Base Offset in the XDF header, the actual address used will be the address entered here plus the base offset.
  • Cell Data Size. The size (in bytes) of the value in each cell of the table.
  • Signed. Check this box if cell values are signed (support both positive and negative values).
  • Floating Point. If cells in this table are each 4-bytes, checking this box indicates that cells are stored as floating point values. Leaving the box unchecked indicates that cells are stored as 4-byte integers.

Note

  • The Output Type field also includes a Floating Point option. But the option in that field does not specify how cell data is stored. It specifies how the data is displayed.
  • LSB First. If Cell Data Size is 2 or more bytes, the state of this box indicates whether cell values are encoded with the least significant byte first (checked) or the most significant byte first (unchecked).

Note

  • This setting depends on the processor used in the vehicle controller. Some processors store multibyte data with the least significant byte first. Others store this data with the most significant byte first.
  • Cell Units (optional). See What Units Do I Enter for Tables?.
  • Use Low Range. Specifies the lowest value that can be entered in any table cell.
  • Use High Range. Specifies the highest value that can be entered in any table cell.

Note

  • Visibility Level and Categories will be ignored by VCM Editor.

Row Axis Information (Rows Tab)🔗

  • Number of Rows. The number of rows in the table.
  • Stock Units. The type of unit for the labels on the row axis.
  • Label Source. Specifies where the values for the row labels are defined:
  • External (Manual). Row label values are specified in the table to the right. Fill out the values in this table.
  • Internal, Pure. Row label values are defined in the binary file. Use the fields in the Pure Internal Axis Label Parameters group to specify where in the binary file these values are located.
  • Linked, Scale. The row label values are determined by a scaling table already defined in the XDF file. Use the Browse button in the Scale/Normalizer Link group to select the table to be used.

Note

  • At this time, only External (Manual), Internal, Pure, and Linked, Scale are supported by VCM Editor.

If you selected Internal, Pure in the Label Source field, the following fields are also required:

  • Address
  • Data Size
  • Address Step
  • Signed, Floating Point, and LSB checkboxes
  • Click Edit to specify the Conversion Equation that will be used to transform the raw stored row label values to the values that will be displayed in VCM Editor. See Conversion Equations for more information.

Column Axis Information (Columns Tab)🔗

  • Number of Columns. The number of columns in the table.
  • Label Source. Specifies where the values for the column labels are defined:
  • External (Manual). Column label values are specified in the table below. Fill out the values in this table.
  • Internal, Pure. Column label values are defined in the binary file. Use the fields in the Pure Internal Axis Label Parameters group to specify where in the binary file these values are located.
  • Linked, Scale. The column label values are determined by a scaling table already defined in the XDF file. Use the Browse button in the Scale/Normalizer Link group to select the table to be used.

Note

  • At this time, only External (Manual), Internal, Pure, and Linked, Scale are supported by VCM Editor.

If you selected Internal, Pure in the Label Source field, the following fields are also required:

  • Address
  • Data Size
  • Address Step
  • Signed, Floating Point, LSB flags
  • Click Edit to specify the Conversion Equation that will be used to transform the raw stored column label values to the values that will be displayed in VCM Editor. See Conversion Equations for more information.

Table Conversion Equation (Conversion Tab)🔗

Use this tab to define conversion equations for the table cell data. At a minimum, you must have a global equation. Conversion equations that apply to individual cells, rows, or columns can also be defined.

  • To define a global equation that will be used for all cells in the table, click the Edit Global Table Equation button.
  • To define an equation that will be used for all cells in a specific row or column, select the yellow box at the left end of the row or at the top of the column. Then, click the Edit Cell Equation button. For the selected row or column, this equation will be used instead of the global table equation.
  • To define an equation that will be used only for a specific cell, select the desired cell. Then, click the Edit Cell Equation button. For the selected cell, this equation will be used instead of the global table equation and any row or column equation defined.

What Units Do I Enter for Tables?🔗

In the instances where there is no drop-down selection for units (main table cells), you will need to enter a valid unit into the Cell Units text box.

To find valid units for import:

  1. Open VCM Scanner.
  2. Go to Tools > Quantities & Units.

  3. Copy the Symbol OR Name into the Cell Units box in TunerPro.

For all other parameter types (Scalars, Axes) that have an available Stock Units dropdown, please select your unit from the drop-down.

Conversion Equations🔗

Vehicle controllers sometimes apply a mathematical transformation to certain scalar parameters and table data in order to store them more efficiently. For example, a parameter whose values are integers between -50 and 200 could easily be stored in a single byte (range 0–255) if 50 is added to the value prior to storage. If the controller performs this type of transformation on the parameter you are defining, you must enter the math performed as a "conversion equation".

The conversion equation is the math that needs to be performed to transform the stored value read from the vehicle to the value that should be displayed in VCM Editor. For the example parameter above, you would specify X - 50 as the conversion equation in order to obtain the original value.

Note

  • When the value is written back to the vehicle, VCM Editor will automatically apply the inverse of the conversion equation defined in order to obtain the stored version of the value. (In the case of the example parameter, it would add 50.)

For scalar parameters, you can enter the conversion equation on the Conversion tab.

For tables, there are three different places to enter conversion equations:

  • A conversion equation that transforms the row labels can be defined by clicking the Edit button on the Rows tab. (This equation is used only for labels whose source is Internal, Pure.)
  • A conversion equation that transforms the column labels can be defined by clicking the Edit button on the Columns tab. (This equation is used only for labels whose source is Internal, Pure.)
  • Conversion equations that transform the cell data can be defined on the Conversion tab.

Using the Conversion Editor🔗

The interface for defining a conversion equation is essentially the same for scalar values as it is for table cell data or row and column labels.

The current conversion equation appears in the Expression box. Follow these steps to change it:

  1. Click Edit. The Edit Expression window appears.

  2. Type the equation you wish to enter.

    Note

    • Letters entered will be interpreted as variables, which must be defined in the remaining steps. So, if you enter X + Y - 5, the editor will create a variable for X and a variable for Y.
    • The Conversion Editor topic in TunerPro's help system includes comprehensive lists of operators and functions that can be used here.
    • By default, the expression is just X, where X is defined as the raw stored value. So, the value you would see in VCM Editor would be the same as the value stored.
  3. Click OK.

  4. For each variable listed in the Variables box, define the variable by doing the following: a. Select the variable to be defined. b. In the Variable Type dropdown, select one of the following:
    • This Item's Raw Data. Set the variable equal to the raw stored value of the XDF item being configured.
    • Other XDF Item's Output. Set the variable equal to the output of another flag or scalar already defined in this XDF file.
    • Raw Data at Address. Set the variable equal to a value stored at a known address in the controller's memory. c. If you selected Other XDF Item's Output, click the Choose button to display a list of XDF items already defined in this XDF file. Then, select the item you want to use and click OK. d. If you selected Raw Data at Address, enter the Address of the data to be used and select its size in bytes. Also, use the checkboxes to indicate whether the data is LSB First and/or Signed.