From 21ead4f3b85384c851bbbcf4027e922ad0001e67 Mon Sep 17 00:00:00 2001 From: druckgott Date: Sat, 12 Nov 2022 17:37:57 +0100 Subject: [PATCH 1/9] Add Page: Trim Accelerometer Add new Page: title = "Trim Accelerometer", script = "acc_calibrate.lua" --- src/SCRIPTS/BF/pages.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/SCRIPTS/BF/pages.lua b/src/SCRIPTS/BF/pages.lua index 571a390..87e8691 100644 --- a/src/SCRIPTS/BF/pages.lua +++ b/src/SCRIPTS/BF/pages.lua @@ -56,4 +56,8 @@ if apiVersion >= 1.41 then PageFiles[#PageFiles + 1] = { title = "GPS PIDs", script = "gpspids.lua" } end +if apiVersion >= 1.16 then + PageFiles[#PageFiles + 1] = { title = "Trim Accelerometer", script = "acc_calibrate.lua" } +end + return PageFiles From e808f9516b2189b06328f52483237c56ac76e1a9 Mon Sep 17 00:00:00 2001 From: druckgott Date: Sat, 12 Nov 2022 17:38:56 +0100 Subject: [PATCH 2/9] Add Page to Trim Accelerometer Add Page to Trim Accelerometer: MSP_ACC_TRIM MSP_SET_ACC_TRIM { "acc_trim_pitch", VAR_INT16 | MASTER_VALUE, .config.minmax = { -300, 300 }, PG_ACCELEROMETER_CONFIG, offsetof(accelerometerConfig_t, accelerometerTrims.values.pitch) }, { "acc_trim_roll", VAR_INT16 | MASTER_VALUE, .config.minmax = { -300, 300 }, PG_ACCELEROMETER_CONFIG, offsetof(accelerometerConfig_t, accelerometerTrims.values.roll) }, --- src/SCRIPTS/BF/PAGES/acc_calibrate.lua | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/SCRIPTS/BF/PAGES/acc_calibrate.lua diff --git a/src/SCRIPTS/BF/PAGES/acc_calibrate.lua b/src/SCRIPTS/BF/PAGES/acc_calibrate.lua new file mode 100644 index 0000000..9b80c43 --- /dev/null +++ b/src/SCRIPTS/BF/PAGES/acc_calibrate.lua @@ -0,0 +1,30 @@ + +local template = assert(loadScript(radio.template))() +local margin = template.margin +local indent = template.indent +local lineSpacing = template.lineSpacing +local tableSpacing = template.tableSpacing +local sp = template.listSpacing.field +local yMinLim = radio.yMinLimit +local x = margin +local y = yMinLim - lineSpacing +local inc = { x = function(val) x = x + val return x end, y = function(val) y = y + val return y end } +local labels = {} +local fields = {} + +if apiVersion >= 1.041 then + labels[#labels + 1] = { t = "Trim Accelerometer" , x = x, y = inc.y(lineSpacing) } + fields[#fields + 1] = { t = "acc trim pitch", x = x, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 1 } } + fields[#fields + 1] = { t = "acc trim roll", x = x, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 2 } } +end + +return { + read = 240, -- MSP_ACC_TRIM + write = 239, -- MSP_SET_ACC_TRIM + title = "ACC", + reboot = true, + eepromWrite = true, + minBytes = 1, + labels = labels, + fields = fields, +} From 1535b18af42562c0bc534fa6661c665a540deff7 Mon Sep 17 00:00:00 2001 From: druckgott Date: Sat, 12 Nov 2022 22:22:25 +0100 Subject: [PATCH 3/9] Update name: acc_trim.lua --- src/SCRIPTS/BF/pages.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SCRIPTS/BF/pages.lua b/src/SCRIPTS/BF/pages.lua index 87e8691..db0d078 100644 --- a/src/SCRIPTS/BF/pages.lua +++ b/src/SCRIPTS/BF/pages.lua @@ -57,7 +57,7 @@ if apiVersion >= 1.41 then end if apiVersion >= 1.16 then - PageFiles[#PageFiles + 1] = { title = "Trim Accelerometer", script = "acc_calibrate.lua" } + PageFiles[#PageFiles + 1] = { title = "Trim Accelerometer", script = "acc_trim.lua" } end return PageFiles From a8d0765584a1d125afe267b52ea1f4bc4dc7a4b4 Mon Sep 17 00:00:00 2001 From: druckgott Date: Sat, 12 Nov 2022 22:25:25 +0100 Subject: [PATCH 4/9] Fix Points in File 1.remove first line 2. remove: if apiVersion >= 1.041 then ... 3. fix indent 4. add: x = x + indent 5. change name acc_calibrate.lua --> acc_trim.lua 6. reboot = false, 7. minBytes = 4, 8. fix vals --- src/SCRIPTS/BF/PAGES/acc_trim.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/SCRIPTS/BF/PAGES/acc_trim.lua diff --git a/src/SCRIPTS/BF/PAGES/acc_trim.lua b/src/SCRIPTS/BF/PAGES/acc_trim.lua new file mode 100644 index 0000000..abdb012 --- /dev/null +++ b/src/SCRIPTS/BF/PAGES/acc_trim.lua @@ -0,0 +1,27 @@ +local template = assert(loadScript(radio.template))() +local margin = template.margin +local indent = template.indent +local lineSpacing = template.lineSpacing +local tableSpacing = template.tableSpacing +local sp = template.listSpacing.field +local yMinLim = radio.yMinLimit +local x = margin +local y = yMinLim - lineSpacing +local inc = { x = function(val) x = x + val return x end, y = function(val) y = y + val return y end } +local labels = {} +local fields = {} + +labels[#labels + 1] = { t = "Trim Accelerometer", x = x, y = inc.y(lineSpacing) } +fields[#fields + 1] = { t = "Pitch", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 1, 2 } } +fields[#fields + 1] = { t = "Roll", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 3, 4 } } + +return { + read = 240, -- MSP_ACC_TRIM + write = 239, -- MSP_SET_ACC_TRIM + title = "Acc", + reboot = false, + eepromWrite = true, + minBytes = 4, + labels = labels, + fields = fields, +} From 3383fd7015d0672a81f7d36bd78472e04c5aa942 Mon Sep 17 00:00:00 2001 From: druckgott Date: Sat, 12 Nov 2022 22:26:21 +0100 Subject: [PATCH 5/9] Delete acc_calibrate.lua remove due to name change --- src/SCRIPTS/BF/PAGES/acc_calibrate.lua | 30 -------------------------- 1 file changed, 30 deletions(-) delete mode 100644 src/SCRIPTS/BF/PAGES/acc_calibrate.lua diff --git a/src/SCRIPTS/BF/PAGES/acc_calibrate.lua b/src/SCRIPTS/BF/PAGES/acc_calibrate.lua deleted file mode 100644 index 9b80c43..0000000 --- a/src/SCRIPTS/BF/PAGES/acc_calibrate.lua +++ /dev/null @@ -1,30 +0,0 @@ - -local template = assert(loadScript(radio.template))() -local margin = template.margin -local indent = template.indent -local lineSpacing = template.lineSpacing -local tableSpacing = template.tableSpacing -local sp = template.listSpacing.field -local yMinLim = radio.yMinLimit -local x = margin -local y = yMinLim - lineSpacing -local inc = { x = function(val) x = x + val return x end, y = function(val) y = y + val return y end } -local labels = {} -local fields = {} - -if apiVersion >= 1.041 then - labels[#labels + 1] = { t = "Trim Accelerometer" , x = x, y = inc.y(lineSpacing) } - fields[#fields + 1] = { t = "acc trim pitch", x = x, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 1 } } - fields[#fields + 1] = { t = "acc trim roll", x = x, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 2 } } -end - -return { - read = 240, -- MSP_ACC_TRIM - write = 239, -- MSP_SET_ACC_TRIM - title = "ACC", - reboot = true, - eepromWrite = true, - minBytes = 1, - labels = labels, - fields = fields, -} From b19b6a633ac74c1282a1081d9e36b15fc444ea6d Mon Sep 17 00:00:00 2001 From: druckgott Date: Sun, 13 Nov 2022 09:15:13 +0100 Subject: [PATCH 6/9] Update acc_trim.lua Change Tab to Space --- src/SCRIPTS/BF/PAGES/acc_trim.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SCRIPTS/BF/PAGES/acc_trim.lua b/src/SCRIPTS/BF/PAGES/acc_trim.lua index abdb012..96ab089 100644 --- a/src/SCRIPTS/BF/PAGES/acc_trim.lua +++ b/src/SCRIPTS/BF/PAGES/acc_trim.lua @@ -11,9 +11,9 @@ local inc = { x = function(val) x = x + val return x end, y = function(val) y = local labels = {} local fields = {} -labels[#labels + 1] = { t = "Trim Accelerometer", x = x, y = inc.y(lineSpacing) } -fields[#fields + 1] = { t = "Pitch", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 1, 2 } } -fields[#fields + 1] = { t = "Roll", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 3, 4 } } +labels[#labels + 1] = { t = "Trim Accelerometer", x = x, y = inc.y(lineSpacing) } +fields[#fields + 1] = { t = "Pitch", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 1, 2 } } +fields[#fields + 1] = { t = "Roll", x = x + indent, y = inc.y(lineSpacing), sp = x + sp, min = -300, max = 300, vals = { 3, 4 } } return { read = 240, -- MSP_ACC_TRIM From 1a9b57fac909782f7d2c457d7434938046bfe64a Mon Sep 17 00:00:00 2001 From: druckgott Date: Sun, 13 Nov 2022 10:52:37 +0100 Subject: [PATCH 7/9] Fix problem with negativ values --- src/SCRIPTS/BF/PAGES/acc_trim.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/SCRIPTS/BF/PAGES/acc_trim.lua b/src/SCRIPTS/BF/PAGES/acc_trim.lua index 96ab089..e5f6b4c 100644 --- a/src/SCRIPTS/BF/PAGES/acc_trim.lua +++ b/src/SCRIPTS/BF/PAGES/acc_trim.lua @@ -24,4 +24,14 @@ return { minBytes = 4, labels = labels, fields = fields, + postLoad = function(self) + temp_pitch=bit32.lshift(self.values[1], (1-1)*8)+bit32.lshift(self.values[2], (2-1)*8) + if temp_pitch >= 65000 then + self.fields[1].value = math.floor((temp_pitch-32767)-32768-1) + end + temp_roll=bit32.lshift(self.values[3], (1-1)*8)+bit32.lshift(self.values[4], (2-1)*8) + if temp_roll >= 65000 then + self.fields[2].value = math.floor((temp_roll-32767)-32768-1) + end + end, } From d131e74a7394dfda0390a8beb17b7d612f1cba39 Mon Sep 17 00:00:00 2001 From: druckgott Date: Sun, 13 Nov 2022 11:28:06 +0100 Subject: [PATCH 8/9] size down calculation --- src/SCRIPTS/BF/PAGES/acc_trim.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SCRIPTS/BF/PAGES/acc_trim.lua b/src/SCRIPTS/BF/PAGES/acc_trim.lua index e5f6b4c..4b12b74 100644 --- a/src/SCRIPTS/BF/PAGES/acc_trim.lua +++ b/src/SCRIPTS/BF/PAGES/acc_trim.lua @@ -27,11 +27,11 @@ return { postLoad = function(self) temp_pitch=bit32.lshift(self.values[1], (1-1)*8)+bit32.lshift(self.values[2], (2-1)*8) if temp_pitch >= 65000 then - self.fields[1].value = math.floor((temp_pitch-32767)-32768-1) + self.fields[1].value = math.floor(temp_pitch-65536) end temp_roll=bit32.lshift(self.values[3], (1-1)*8)+bit32.lshift(self.values[4], (2-1)*8) if temp_roll >= 65000 then - self.fields[2].value = math.floor((temp_roll-32767)-32768-1) + self.fields[2].value = math.floor(temp_roll-65536) end end, } From d25763d4759c4be3c6becc0cb7e05fb2b2f80d4b Mon Sep 17 00:00:00 2001 From: druckgott Date: Sun, 13 Nov 2022 16:38:14 +0100 Subject: [PATCH 9/9] remove postload due to generic way --- src/SCRIPTS/BF/PAGES/acc_trim.lua | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/SCRIPTS/BF/PAGES/acc_trim.lua b/src/SCRIPTS/BF/PAGES/acc_trim.lua index 4b12b74..96ab089 100644 --- a/src/SCRIPTS/BF/PAGES/acc_trim.lua +++ b/src/SCRIPTS/BF/PAGES/acc_trim.lua @@ -24,14 +24,4 @@ return { minBytes = 4, labels = labels, fields = fields, - postLoad = function(self) - temp_pitch=bit32.lshift(self.values[1], (1-1)*8)+bit32.lshift(self.values[2], (2-1)*8) - if temp_pitch >= 65000 then - self.fields[1].value = math.floor(temp_pitch-65536) - end - temp_roll=bit32.lshift(self.values[3], (1-1)*8)+bit32.lshift(self.values[4], (2-1)*8) - if temp_roll >= 65000 then - self.fields[2].value = math.floor(temp_roll-65536) - end - end, }