| { | |
| "ardupilot": { | |
| "w": { | |
| "eqn": "2*pi*x", | |
| "prefix": "mul INT+ 2 mul pi x", | |
| "constants": {} | |
| }, | |
| "degF_to_Kelvin": { | |
| "eqn": "(x+459.67)*0.55556", | |
| "prefix": "mul k0 add x k1", | |
| "constants": {"k0": "459.67", "k1": "0.55556"} | |
| }, | |
| "radians": { | |
| "eqn": "x*pi/180", | |
| "prefix": "mul k0 x", | |
| "constants": {"k0": "pi/180"} | |
| }, | |
| "degrees": { | |
| "eqn": "x*180/pi", | |
| "prefix": "mul k0 x", | |
| "constants": {"k0": "180/pi"} | |
| }, | |
| "sq": { | |
| "eqn": "x**2", | |
| "prefix": "pow x INT+ 2", | |
| "constants": {} | |
| }, | |
| "angle_to_accel": { | |
| "eqn": "9.80665*tan(x*pi/180)", | |
| "prefix": "mul k0 tan mul x k1", | |
| "constants": {"k0": "9.80665", "k1": "pi/180"} | |
| }, | |
| "accel_to_angle": { | |
| "eqn": "atan(x/9.80665)*180/pi", | |
| "prefix": "mul atan div x k0 k1", | |
| "constants": {"k0": "9.80665", "k1": "180/pi"} | |
| }, | |
| "tau": { | |
| "eqn": "0.25*log(3*x**2 + 6*x + 1) - sqrt(6)/24*log((x+1-sqrt(2/3))/(x + 1 + sqrt(2/3)))", | |
| "prefix": "sub mul div INT+ 1 INT+ 4 log add mul INT+ 3 pow x INT+ 2 add mul INT+ 6 x INT+ 1 mul k0 log div sub add x INT+ 1 k1 add x add INT+ 1 k1", | |
| "constants": {"k0": "sqrt(6)/24", "k1": "sqrt(2/3)"} | |
| } | |
| }, | |
| "paparazzi": { | |
| "isometric_latitude0": { | |
| "eqn": "log(tan(pi/4+x/2))", | |
| "prefix": "log tan add div pi INT+ 4 div x INT+ 2", | |
| "constants": {} | |
| }, | |
| "pprz_isa_pressure_of_altitude": { | |
| "eqn": "101325*exp((-1/8434.667799)*x)", | |
| "prefix": "mul k0 exp mul k1 x", | |
| "constants": {"k0": "101325", "k1": "-1/8434.667799"} | |
| }, | |
| "pprz_isa_altitude_of_pressure": { | |
| "eqn": "8434.667799*log(101325/x)", | |
| "prefix": "mul k0 log div k1 x", | |
| "constants": {"k1": "101325", "k0": "8434.667799"} | |
| }, | |
| "pprz_isa_pressure_of_height": { | |
| "eqn": "0.8*101325*exp((-1/8434.667799)*x)", | |
| "prefix": "mul k0 exp mul k1 x", | |
| "constants": {"k0": "0.8*101325", "k1": "-1/8434.667799"} | |
| }, | |
| "pprz_isa_height_of_pressure_full": { | |
| "eqn": "(1-pow(x/(0.8*101325), 0.19029848))*288.15/0.0065", | |
| "prefix": "mul sub INT +1 pow div x k0 k1 k2", | |
| "constants": {"k0": "0.8*101325", "k1": "0.19029848", "k2": "288.15/0.0065"} | |
| }, | |
| "pprz_isa_height_of_pressure": { | |
| "eqn": "8434.667799*log(0.8*101325/x)", | |
| "prefix": "mul k0 log div k1 x", | |
| "constants": {"k1": "0.8*101325", "k0": "8434.667799"} | |
| }, | |
| "pprz_isa_temperature_of_altitude": { | |
| "eqn": "288.15 - 0.0065*x", | |
| "prefix": "sub k0 mul k1 x", | |
| "constants": {"k0": "288.15", "k1": "0.0065"} | |
| }, | |
| "change_rep": { | |
| "eqn": "pi/2-x", | |
| "prefix": "sub div pi INT+ 2 x", | |
| "constants": {} | |
| }, | |
| "eas_from_dynamic_pressure": { | |
| "eqn": "sqrt(x*2/1.225)", | |
| "prefix": "pow mul x k0 div INT+ 1 INT+ 2", | |
| "constants": {"k0": "2/1.225"} | |
| }, | |
| "nmea_degree2radian": { | |
| "eqn": "x*pi/180", | |
| "prefix": "mul x k0", | |
| "constants": {"k0": "pi/180"} | |
| }, | |
| "nmea_radian2degree": { | |
| "eqn": "x*180/pi", | |
| "prefix": "mul x k0", | |
| "constants": {"k0": "180/pi"} | |
| } | |
| }, | |
| "cleanflight": { | |
| "invSqrt": { | |
| "eqn": "1/sqrt(x)", | |
| "prefix": "pow x div INT- 1 INT+ 2", | |
| "constants": {} | |
| }, | |
| "pressureToAltitude": { | |
| "eqn": "1-pow(x/101325, 0.190295)*4433000", | |
| "prefix": "sub INT+ 1 mul pow div x k0 k1 k2", | |
| "constants": {"k0": "101325", "k1": "0.190295", "k2": "4433000"} | |
| }, | |
| "dynThrottle": { | |
| "eqn": "x*(1-x*x/3)*1.5", | |
| "prefix": "mul x mul sub INT+ 1 div pow x INT+ 2 INT+ 3 div INT+ 3 INT+ 2", | |
| "constants": {} | |
| }, | |
| "calculateAccZLowPassFilterRCTimeConstant": { | |
| "eqn": "0.5/pi/x", | |
| "prefix": "div k0 x", | |
| "constants": {"k0": "0.5/pi"} | |
| }, | |
| "calculateThrottleAngleScale": { | |
| "eqn": "1800/pi*900/x", | |
| "prefix": "div k0 x", | |
| "constants": {"k0": "1800/pi*900"} | |
| }, | |
| "sin_approx": { | |
| "eqn": "sin(x)", | |
| "prefix": "", | |
| "constants": {} | |
| }, | |
| "acos_approx": { | |
| "eqn": "acos(x)", | |
| "prefix": "", | |
| "constants": {} | |
| } | |
| }, | |
| "nn_funcs": { | |
| "logistic": { | |
| "eqn": "1/(1+exp(-x))", | |
| "prefix": "div INT+ 1 add INT+ 1 exp mul INT- 1 x", | |
| "constants": {} | |
| }, | |
| "rbf": { | |
| "eqn": "exp(-(x-0.7328)**2/1.9983)", | |
| "prefix": "exp div pow sub x k0 INT+ 2 k1", | |
| "constants": {"k0": "0.7328", "k1": "1.9983"} | |
| }, | |
| "multiquad": { | |
| "eqn": "sqrt((x-0.881)**2+8.66172)", | |
| "prefix": "pow add pow sub x k0 INT+ 2 k1 div INT+ 1 INT+ 2", | |
| "constants": {"k0": "0.881", "k1": "8.66172"} | |
| }, | |
| "invmultiquad": { | |
| "eqn": "1/sqrt((x-0.881)**2+8.66172)", | |
| "prefix": "pow add pow sub x k0 INT+ 2 k1 div INT- 1 INT+ 2", | |
| "constants": {"k0": "0.881", "k1": "8.66172"} | |
| }, | |
| "tanh": { | |
| "eqn": "tanh(x)", | |
| "prefix": "div sub exp x exp mul INT- 1 x add exp x exp mul INT- 1 x", | |
| "constants": {} | |
| }, | |
| "softplus": { | |
| "eqn": "log(1+exp(x))", | |
| "prefix": "log add INT+ 1 exp x", | |
| "constants": {} | |
| }, | |
| "silu": { | |
| "eqn": "x/(1+exp(-x))", | |
| "prefix": "div x add INT+ 1 exp mul INT- 1 x", | |
| "constants": {} | |
| } | |
| }, | |
| "ntc_thermistor": { | |
| "resistanceToKelvins": { | |
| "eqn": "1/25+log(x/100000)/3950", | |
| "prefix": "add div INT+ 1 INT+ 2 5 div log div x k0 k1", | |
| "constants": {"k0": "100000", "k1": "3950"} | |
| }, | |
| "readResistance": { | |
| "eqn": "8000/(1024/x - 1)", | |
| "prefix": "div k0 sub div k1 x INT+ 1", | |
| "constants": {"k0": "8000", "k1": "1024"} | |
| }, | |
| "celsiusToKelvins": { | |
| "eqn": "x+273.15", | |
| "prefix": "add x k0", | |
| "constants": {"k0": "273.15"} | |
| }, | |
| "kelvinsToCelsius": { | |
| "eqn": "x-273.15", | |
| "prefix": "sub x k0", | |
| "constants": {"k0": "273.15"} | |
| }, | |
| "celsiusToFahrenheit": { | |
| "eqn": "x*1.8+32", | |
| "prefix": "add mul x div INT+ 9 INT+ 5 INT+ 3 2", | |
| "constants": {} | |
| }, | |
| "kelvinsToFahrenheit": { | |
| "eqn": "(x-273.15)*1.8+32", | |
| "prefix": "add mul sub x k0 div INT+ 9 INT+ 5 INT+ 3 2", | |
| "constants": {"k0": "273.15"} | |
| } | |
| }, | |
| "arduino_sensorkit": { | |
| "calcAltitude": { | |
| "eqn": "(1-(x/101325)**(1/5.25588))/0.0000225577", | |
| "prefix": "div sub INT+ 1 pow div x k0 k1 k2", | |
| "constants": {"k0": "101325", "k1": "1/5.25588", "k2": "0.000225577"} | |
| }, | |
| "convertCtoF": { | |
| "eqn": "x*1.8+32", | |
| "prefix": "add mul x div INT+ 9 INT+ 5 INT+ 3 2", | |
| "constants": {} | |
| } | |
| }, | |
| "pathtracing": { | |
| "fresnelReflectanceAtNormal": { | |
| "eqn": "(1-x)**2/(1+x)**2", | |
| "prefix": "pow div sub INT+ 1 x add INT+ 1 x INT+ 2", | |
| "constants": {} | |
| }, | |
| "blinToBeckmann": { | |
| "eqn": "sqrt(2/(2+x))", | |
| "prefix": "pow div INT+ 2 add x INT+ 2 div INT+ 1 INT+ 2", | |
| "constants": {} | |
| }, | |
| "beckmannToBlinn": { | |
| "eqn": "2/x**2 - 2", | |
| "prefix": "add div INT+ 2 mul x x INT- 2", | |
| "constants": {} | |
| } | |
| } | |
| } | |