# Equations

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

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

• 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