Math expressions can take your watch face to next level. Facer supports arithmetical operations as well as a handful of math functions. You can also drop facer tags into expressions to make them even more dynamic!
NOTE: Math expression require parentheses. So, this will work (1+1)
and this will not 1+1
!
Operators
OPERATOR | DEFINITION | EXAMPLE EXPRESSION | EXAMPLE OUTPUT |
---|---|---|---|
+ | Addition operator | (3+2) | 5 |
- | Subtraction operator | (3-2) | 1 |
* | Multiplication operator | (3*2) | 6 |
/ | Division operator | (3/2) | 1.5 |
% | Modulo operator | (5%2) | 1 |
Constants
CONSTANT | DEFINITION | EXAMPLE EXPRESSION | EXAMPLE OUTPUT |
---|---|---|---|
pi | Value of pi | (pi) | 3.141592653589793 |
e | Value of e | (e) | 2.718281828459045 |
Functions
FUNCTION | DEFINITION | EXAMPLE EXPRESSION | EXAMPLE OUTPUT |
---|---|---|---|
rand(min, max) | Random number generator | (rand(1, 10)) | 1 |
wakeRand(min, max) | Random number generator that's updated every time the watch face goes into active mode | (wakeRand(1, 10)) | 1 |
abs(number) | Absolute value function | (abs(-10)) | 10 |
sin(number) | Sine function | (sin(1)) | 0.8414709848078965 |
cos(number) | Cosine function | (cos(1)) | 0.5403023058681398 |
tan(number) | Tangent function | (tan(1)) |
1.5574077246549023 |
asin(number) | Inverse Sine function | (asin(1)) | 1.5707963268 |
acos(number) | Inverse Cosine function | (acos(1)) | 0 |
atan(number) | Inverse Tangent function | (atan(1)) |
0.7853981634 |
round(number) | Round function (get the closest integer) | (round(1.6)) | 2 |
ceil(number) | Ceiling function (gets the next highest integer) | (ceil(1.2)) | 2 |
floor(number) | Floor function - gets the next lowest integer) | (floor(1.6)) | 1 |
pad(number, digits) | Pads a number with "0" so it fills the digits value specified | pad(51, 5) | 00051 |
toFixed(number, digits) | Truncates a number to a decimal precision based on the digits value specified | toFixed(10.123456789, 3) | 10.123 |
log(number) | Log function | (log(2)) | 0.6931471805599453 |
log2(number) | Log base 2 function | (log2(2)) | 1 |
log10(number) | Log base 10 function | (log10(2)) | 0.3010299956639812 |
sqrt(number) | Square root function | (sqrt(4)) | 2 |
cbrt(number) | Cube root function | (cbrt(8)) | 2 |
exp(number) | Gets E to the x power | (exp(2)) | 7.38905609893065 |
expm1(number) | Gets E to the x power minus 1 | (expm1(2)) | 6.38905609893065 |
deg(radians) | Convert radians to degrees | (deg(1)) | 57.29577951308232 |
rad(degrees) | Converts degrees to radians | (rad(180)) | 3.141592653589793 |
clamp(current, min, max) | Restrict 'current' value to the 'min' & 'max' | (clamp(#Ds#, 15, 45)) | 31 |
squareWave(current, amplitude, period, xOffset) | Creates a square wave pattern out of 'current' value | (squareWave(#Ds#, 15, 10, 0)) | 15 |
interpAccel(current, min, max, accelerationFactor) | Creates a ease-in transition with 'current' value | (interpAccel(#Ds#, 0, 60, 2)) | 0.2669444444444445 |
interpDecel(current, min, max, accelerationFactor) | Creates a ease-out transition with 'current' value | (interpDecel(#Ds#, 0, 60, 2)) | 0.9454258487654321 |
interpAccelDecel(current, min, max) | Creates a ease-in-out transition with 'current' value | (interpAccelDecel(#Ds#, 0, 60)) | 0.5261679781214715 |
interpOvershoot(current, min, max, tensionFactor) | Creates a overshoot transition with 'current' value | (interpOvershoot(#Ds#, 0, 60, 2)) | 0.5261679781214715 |
interpBounce(current, min, max) | Creates a bounce transition with 'current' value | (interpBounce(#Ds#, 0, 60)) | 0.5261679781214715 |
interpDial(current, min, max, size, offset) | Calibrates a value into an angle | interpDial(50, 0, 100, 180, -90) | 0 |
gyroX() | Outputs the X axis of the gyro sensor, accumulated into positional coordinates | 3.9241372946780517 | 3.9241372946780517 |
gyroY() | Outputs the Y axis of the gyro sensor, accumulated into positional coordinates | -1.0019503694835041 | -1.0019503694835041 |
accelerometerX() | Outputs the X axis of the accelerometer sensor, accumulated into positional coordinates | -5.273500685642811 | -5.273500685642811 |
accelerometerY() | Outputs the Y axis of the accelerometer sensor, accumulated into positional coordinates | 7.629725700177308 | 7.629725700177308 |
gyroRawX() | Outputs the raw X axis of the gyro sensor, which detects rotational acceleration | 6.64500963775291 | 6.64500963775291 |
gyroRawY() | Outputs the raw Y axis of the gyro sensor, which detects rotational acceleration | -3.9204606214134596 | -3.9204606214134596 |
accelerometerRawX() | Outputs the raw X axis of the accelerometer sensor | 1.4595613230651239 | 1.4595613230651239 |
accelerometerRawY() | Outputs the raw Y axis of the accelerometer sensor | 9.87964297713896 | 9.87964297713896 |