wbUTIL - Wideband Emulator

Wideband Software Emulator : Produces data frames just like a real controller. It is used primarily to test different display configurations and for driving logging software. It is useful for understanding data frame operation and for developing new hardware (or software) displays.

The emulator pop-up window is started from the [EMUL] button in the Terminal tab, or select the main menu item ToolsEmulator. You can independantly move the emulator window around the screen. Its position will be rememberd the next time you start it. Be aware that operations in other wbUTIL windows may affect the operation of the emulator by either changing operating parameters, or stopping frames being produced where frame generation affects the operation of that function.

WBo2 Emulator - Simulates a Wideband Unit

The value of each version 2.0 frame variable can be altered by either changing the value directly, via a slider, or via drop a down menu selection. As different controllers have different default frame types, a number of fields can be customised (refer to the drop down menu to the right of some fields).
  • The top slider varies the quantity currently highlighted in green, or you can change it by simply typing a new value in. Change the highlight by clicking on another box - for example, click on the Lambda (Ipx) box (second down from the top left) to make that the "green box". Now move the slider and see the hex value (0F1D hex in the image at right) change. The green Lambda (Ipx) value will also change.
    In the image the Lambda (Ipx) value is decimal 3869 (= 0F1D hex). Note that the maximum allowable value for the slider changes from field to field and in the image the 2328 hex value and the 9000 decimal (top right) is the maximum value for the Lambda (Ipx) field. The small left/right arrow buttons increment or decrement the selected value. The Lambda and AFR values are calculated using the currently selected parameters on the General tab.

  • The middle slider changes the RPM value. You can also set the RPM by entering a decimal value into the box (7326 shown) above the slider. To the right, the Pulses/Rev box shows the current value that is set in the Display section of the General tab. Depending on Pulses/Rev the RPM Count field (below left of the RPM slider) is converted to a displayed RPM. And lastly, the hex value of the RPM field ($ 0333 shown) is to the right of the text RPM Count.

  • There are two ways to change the Status word (shown as hex value 0300). Change it in decimal format in the box to the left of the Status Word text - the hex value shown to the right also changes. Alternatively, change one of the values in the 4 drop down menu selections and the four check boxes. A normal status word from a functional wideband controller is 768. (0x0300) and this can be set by selecting the 3 - OK Operational menu item from the second box. Various error conditions can be simulated for the Vs/Ip (Lambda control) PID or the Heater PID. For further info see the status byte details.

The Emulation Control section is only partially implemented as of this software rev, but pressing the Start toggle button (face then changes to Stop) controls sending out data frames. Note that when the Stop button is pressed a special Enter Conf Mode frame is sent as the last frame. This frame forces a display to enter config mode (the display shows conF). In config mode a display interprets ASCII data as commands in the same way a wideband unit does, and this mode is used to reprogram the display.

The Force CRC Error check box does just that, forcing each frame to have an incorrect CRC calculated for it.

The status bar shows the Frame Sequence counter byte field in decimal (191 shown.) and the Tick word field (1F9B shown) in hex. Other bar status fields change depending on what controls are being adjusted, the image shows that the Start button was pressed (changing its text to Stop) and setting the button's state to 1.

To exit the emulator simply close the window (top right X and the currently selected values will be remembered the next time the emulator is started.