Ce site contient essentiellement des notes de travail. Le contenu est en constante évolution, et loin d'être achevé. (+ d'infos)
La plupart des documentations informatiques sont orientées Debian / Ubuntu.

Modélisme/Hardware/Télécommande/OpenTX/Scripts Lua/velempct

De Ordinoscope.net
Sauter à la navigation Sauter à la recherche

Introduction

Attention: le LUA n'est pas encore prêt pour la télémétrie dans OpenTX. Ce script n'est pas encore fonctionnel.

Code

-- cell percentile calculator

local inputs = { {"Velem", SOURCE} }
local outputs = { "VPct" }

--state functions forward declaration
local map, pct

--map a range to another one
function map (x, in_min, in_max, out_min, out_max)
    return math.floor ((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min);
end

--fake a spline
function pct (Velem)
    if Velem >= 4.10 then
        return map (Velem, 4.10, 4.20, 90, 100)
    end
    if Velem >= 3.97 then
        return map (Velem, 3.97, 4.10, 80, 90)
    end
    if Velem >= 3.92 then
        return map (Velem, 3.92, 3.97, 70, 80)
    end
    if Velem >= 3.87 then
        return map (Velem, 3.87, 3.92, 60, 70)
    end
    if Velem >= 3.83 then
        return map (Velem, 3.83, 3.87, 50, 60)
    end
    if Velem >= 3.79 then
        return map (Velem, 3.79, 3.83, 40, 50)
    end
    if Velem >= 3.75 then
        return map (Velem, 3.75, 3.79, 30, 40)
    end
    if Velem >= 3.70 then
        return map (Velem, 3.70, 3.75, 20, 30)
    end
    if Velem >= 3.60 then
        return map (Velem, 3.60, 3.70, 10, 20)
    end
    if Velem >= 3.30 then
        return map (Velem, 3.30, 3.60, 05, 10)
    end
    if Velem >= 3.00 then
        return map (Velem, 3.00, 3.30, 00, 05)
    end
    return 0
end

local function run (Velem)
    return pct (Velem)
end

return { run=run, input=inputs, output=outputs }