Difference between revisions of "Equations"

From Torque OBD2 Wiki
Jump to navigationJump to search
(Functions that manipulate data)
Line 81: Line 81:
Numeric, range matching – 0 to 3 = 4 and 4 to 5 = 7:<br>
Numeric, range matching – 0 to 3 = 4 and 4 to 5 = 7:(the 'tilde' character separates the range, not the minus character)<br>

Revision as of 22:42, 8 December 2017

The PID Editor contains a reasonably powerful equation editor that allows you to manipulate the incoming data from an OBD device, Sensor, or other data input to the app

Functions that manipulate data

The equation editor supports the following functions


Exponentially weighted moving average filter - filter noisy signals here. 'weight' should be between 0(more smoothing) and 1(less smoothing)


Timed average. This averages the incoming data for the configured amount of time (in seconds). Data older than the configured time is removed from being averaged


Rolling average. This averages incoming values until it is reset. No values are removed from the average until it is reset.


Point average. This averages incoming values from a bucket of s set size. The bucket can be configured to average a set amount of values, so AVG(10,value) would average the last 10 values


Time based delay - causes data to be delayed by 'seconds' amount before being returned. Returns 0 until data buffer is full


Read based delay - data is delayed by X polling loops before being returned


Totalizer function based upon difference from time/value

SIN(value), COS(value) ,TAN(value)

Trigonometric functions are supported


Returns the natural logarithm (base e) of a value


Returns the base 10 logarithm of a value


Returns the natural logarithm of the sum of the value and 1


Converts the incoming number to an integer


Returns the correctly rounded positive square root of a value.


Returns the absolute value of the number given


Treats the incoming value as 8bit signed


Returns the bit specified at 'bit' from the 'value'. This function replaces the use of the {value:bit} notation


Look up a value from a list of key/value pairs. Can be used to substitute values, reply with a text string, etc


String, exact matching, returning a string:

Numeric, exact, with a default of 0 for no match:

Numeric, exact, with a default of the input value for no match:

Numeric, range matching – 0 to 3 = 4 and 4 to 5 = 7:(the 'tilde' character separates the range, not the minus character)

String, exact matching, returning a string, value is also returned into the PID. The value will be ‘5’ when A is 2, and 4 when A is 1 (the display will show boo and moo however):

Mixed matching with strings and numbers (Strings are shown on the display with numbers being passed through to the equation) exact, with a default of the input value for no match:
LOOKUP(A:A:1=100:2=200:3=’this is a test’)


Similar to the LOOKUP function, this returns the value which is numerically closest to the key


Return 'low' when less than 128 and 'high' when near 255:

Functions that generate or retrieve data


Returns a random number between 0 and 1


Returns the barometric pressure from the android device or measured from the vehicle ECU if it supports it in psi