|
| 1 | +local template = loadScript(radio.templateHome.."simplified_pids.lua") |
| 2 | +if template then |
| 3 | + template = template() |
| 4 | +else |
| 5 | + template = assert(loadScript(radio.templateHome.."default_template.lua"))() |
| 6 | +end |
| 7 | +local margin = template.margin |
| 8 | +local indent = template.indent |
| 9 | +local lineSpacing = template.lineSpacing |
| 10 | +local tableSpacing = template.tableSpacing |
| 11 | +local sp = template.listSpacing.field |
| 12 | +local yMinLim = radio.yMinLimit |
| 13 | +local x = margin |
| 14 | +local y = yMinLim - lineSpacing |
| 15 | +local inc = { x = function(val) x = x + val return x end, y = function(val) y = y + val return y end } |
| 16 | +local labels = {} |
| 17 | +local fields = {} |
| 18 | + |
| 19 | +labels[#labels + 1] = { t = "Simplified Pid", x = x, y = inc.y(lineSpacing) } |
| 20 | +fields[#fields + 1] = { t = "Pid Tuning", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 0, max = 2, vals = { 1 }, table = { [0] = "OFF", "RP", "RPY" } } |
| 21 | +fields[#fields + 1] = { t = "Master Mult", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 2 }, scale = 100, mult = 5 } |
| 22 | +fields[#fields + 1] = { t = "R/P Ratio", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 3 }, scale = 100, mult = 5 } |
| 23 | +fields[#fields + 1] = { t = "I Gain", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 4 }, scale = 100, mult = 5 } |
| 24 | +fields[#fields + 1] = { t = "P/D Ratio", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 5 }, scale = 100, mult = 5 } |
| 25 | +fields[#fields + 1] = { t = "PD Gain", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 6 }, scale = 100, mult = 5 } |
| 26 | +fields[#fields + 1] = { t = "Dmin Ratio", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 7 }, scale = 100, mult = 5 } |
| 27 | +fields[#fields + 1] = { t = "FF Gain", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 8 }, scale = 100, mult = 5 } |
| 28 | + |
| 29 | +labels[#labels + 1] = { t = "Simplified Filter", x = x, y = inc.y(lineSpacing) } |
| 30 | +fields[#fields + 1] = { t = "Gyro Tuning", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 0, max = 1, vals = { 9 }, table = { [0] = "OFF", "ON" } } |
| 31 | +fields[#fields + 1] = { t = "Gyro Mult", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 10 }, scale = 100, mult = 5 } |
| 32 | +fields[#fields + 1] = { t = "D Tuning", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 0, max = 1, vals = { 11 }, table = { [0] = "OFF", "ON" } } |
| 33 | +fields[#fields + 1] = { t = "D Mult", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = 50, max = 200, vals = { 12 }, scale = 100, mult = 5 } |
| 34 | + |
| 35 | +return { |
| 36 | + read = 140, -- MSP_SIMPLIFIED_TUNING |
| 37 | + write = 141, -- MSP_SET_SIMPLIFIED_TUNING |
| 38 | + title = "Simplified Tuning", |
| 39 | + reboot = false, |
| 40 | + eepromWrite = true, |
| 41 | + minBytes = 12, |
| 42 | + labels = labels, |
| 43 | + fields = fields, |
| 44 | +} |
0 commit comments