# Difference between revisions of "Equations"

From Torque OBD2 Wiki

Jump to navigationJump to searchLine 5: | Line 5: | ||

The equation editor supports the following functions | The equation editor supports the following functions | ||

− | + | ====EWMAF(weight:value)==== | |

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

− | + | ====TDLY(seconds:value) ==== | |

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

− | + | ====RDLY(polls:value) ==== | |

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

− | + | ====TOT(seconds:value)==== | |

:Totalizer function based upon difference from time/value | :Totalizer function based upon difference from time/value | ||

− | + | ====TAVG(seconds:value)==== | |

: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 | :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 | ||

− | + | ====RAVG(value)==== | |

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

− | + | ====AVG(bucketSize:value)==== | |

: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 | :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 | ||

− | + | ====SIN(value), COS(value) ,TAN(value)==== | |

:Trigonometric functions are supported | :Trigonometric functions are supported | ||

− | + | ====LOG(value)==== | |

:Returns the natural logarithm (base e) of a value | :Returns the natural logarithm (base e) of a value | ||

− | + | ====LOG10(value)==== | |

:Returns the base 10 logarithm of a value | :Returns the base 10 logarithm of a value | ||

− | + | ====LOG1P(value)==== | |

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

− | + | ====INT(value)==== | |

:Converts the incoming number to an integer | :Converts the incoming number to an integer | ||

− | + | ====SQRT(value)==== | |

:Returns the correctly rounded positive square root of a value. | :Returns the correctly rounded positive square root of a value. | ||

− | + | ====ABS(value)==== | |

:Returns the absolute value of the number given | :Returns the absolute value of the number given | ||

− | + | ====SIGNED(value)==== | |

:Treats the incoming value as 8bit signed | :Treats the incoming value as 8bit signed | ||

− | + | === Functions that generate or retrieve data === | |

+ | |||

+ | ====RANDOM()==== | ||

:Returns a random number between 0 and 1 | :Returns a random number between 0 and 1 | ||

− | + | ====BARO()==== | |

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

## Revision as of 12:47, 7 October 2016

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

## Contents

- 1 Functions
- 1.1 EWMAF(weight:value)
- 1.2 TDLY(seconds:value)
- 1.3 RDLY(polls:value)
- 1.4 TOT(seconds:value)
- 1.5 TAVG(seconds:value)
- 1.6 RAVG(value)
- 1.7 AVG(bucketSize:value)
- 1.8 SIN(value), COS(value) ,TAN(value)
- 1.9 LOG(value)
- 1.10 LOG10(value)
- 1.11 LOG1P(value)
- 1.12 INT(value)
- 1.13 SQRT(value)
- 1.14 ABS(value)
- 1.15 SIGNED(value)
- 1.16 Functions that generate or retrieve data

## Functions

The equation editor supports the following functions

#### EWMAF(weight:value)

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

#### TDLY(seconds:value)

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

#### RDLY(polls:value)

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

#### TOT(seconds:value)

- Totalizer function based upon difference from time/value

#### TAVG(seconds:value)

- 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

#### RAVG(value)

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

#### AVG(bucketSize:value)

- 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

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

- Trigonometric functions are supported

#### LOG(value)

- Returns the natural logarithm (base e) of a value

#### LOG10(value)

- Returns the base 10 logarithm of a value

#### LOG1P(value)

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

#### INT(value)

- Converts the incoming number to an integer

#### SQRT(value)

- Returns the correctly rounded positive square root of a value.

#### ABS(value)

- Returns the absolute value of the number given

#### SIGNED(value)

- Treats the incoming value as 8bit signed

### Functions that generate or retrieve data

#### RANDOM()

- Returns a random number between 0 and 1

#### BARO()

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