The Signal Mapper maintains its definitions of signal maps in a configuration file. While operators may edit this file directly (when the Signal Mapper application is not running) it is preferred they use the provided facilities in the workspace to edit the Signal Mapper. A sample signal map definition is listed below:
- map_id: "{fb09fbf8-a2b5-49ce-acd9-074e1c025af2}"
input: JOYBOX_STAT:S_JOYBOX_AI_8_V
output: OPENMNGR_CMD:U_VEHICLE_X
description: Map Joystick X to Vehicle X-DOF command
transform: DUAL_LINEAR(0,2.44049,2.4405,5,-100,0.36005018,100.0001)
The Signal Mapper editor provides access to all configurable parameters of a signal map. Creating and defining a signal map requires the operator specify the input and output at a minimum. The Signal Mapper will populate the other parameters with default or NULL values as appropriate. Some of the configurable parameters for the Signal Mapper are listed in the following table.
Field | Description |
id_object / map_id |
A universally unique identifier for the signal map. It may be omitted when hand-editing whereupon the signal mapper will assign one the next time the configuration files is read. |
input channel / input signal |
The input channel and signal. Each time the signal is published over channel the signal map will be evaluated. |
output channel / output signal |
The output channel and signal. If the transform does not drop a message, each time the input is published the signal mapper will transform and publish over output immediately. |
profile |
Signal maps can be assigned profiles. This provides both organization as well as a facility to enable and disable the signal maps in a profile as a group. |
description |
A human readable description of the intent of the signal map. It is for operator or system designer use only. |
transform |
A configurable means to transform an input signal before publishing the result as output. Transforms can be chained, as shown in the example, using the '|' symbol, in which case they will be evaluated left to right. Some transforms drop messages while others modify the input value. The example above demonstrates one of each; the 'AND' filter drops a message unless each of the comma separated values digital signals are true (they support logical inversion by prepending '!') while the 'LINEAR' transform performs a linear transformation where the first argument is 'm' and the second is 'b' in the equation y = mx+b. |
disable |
Selection to enable disabling the signal map while keeping it in the list of signal maps. |
invert |
Selection to invert the output of the transform. |