From 33259d1728c41b459f80d923989ab917ceabdcf0 Mon Sep 17 00:00:00 2001 From: Lothar Thole Date: Sun, 10 Nov 2024 11:55:49 +1030 Subject: [PATCH] Update model-lua scripts --- .DS_Store | Bin 6148 -> 6148 bytes english/dev-environment/.DS_Store | Bin 8196 -> 8196 bytes .../manual/macro_support/modellua.sh | 11 +++++ .../scripts/lua task example/main.lua | 43 +++++++++++++++++ .../scripts/source example/main.lua | 44 ++++++++++++++++++ english/dev-environment/manual/modellua.sh | 7 ++- 6 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 english/dev-environment/manual/macro_support/modellua.sh create mode 100644 english/dev-environment/manual/macro_support/scripts/lua task example/main.lua create mode 100644 english/dev-environment/manual/macro_support/scripts/source example/main.lua diff --git a/.DS_Store b/.DS_Store index 8005be6c99f2e202d0ae5d7f3c7fd9cfe8581867..5c8f5ac48ef0db6052e8dcba68a531fc2bfb9a29 100644 GIT binary patch delta 21 dcmZoMXffFEmxYmW^FNkZjEoGMXR>7r0svQc2Ri@& delta 21 dcmZoMXffFEmxYmG^FNkZjEsz%XR>7r0svQV2Ri@& diff --git a/english/dev-environment/.DS_Store b/english/dev-environment/.DS_Store index f8031de54050584b00957f10745085abf8936916..6947c548843a24077cef91503ba8fb8b69dd5d7f 100644 GIT binary patch delta 74 zcmZp1XmQvOEWo&9a)>~ox~ons{}!g{h8$rD3g(Lbai(iG_}WnTcU-EhmSlvc7dte0EN5 dUVi7~Hv;mEU7L9Xf3t07llacE`JV_oGXO4f7Q6re diff --git a/english/dev-environment/manual/macro_support/modellua.sh b/english/dev-environment/manual/macro_support/modellua.sh new file mode 100644 index 0000000..bd6cbdd --- /dev/null +++ b/english/dev-environment/manual/macro_support/modellua.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +ETHOS='/mnt/c/Program Files (x86)/FrSky/Ethos' + +# These scripts only needed for this macro +cp -r 'macro_support/scripts/lua task example' scripts +cp -r 'macro_support/scripts/source example' scripts +"${ETHOS}/X20S/simulator.exe" --read-only --no-audio --documents-directory ./sd/documents --radio-settings ./x20s-en.bin --sd-directory ./sd --flash-directory ./flash --exec ./macros/model-lua.lua +# Remove the scripts again so the LUA icon only appears in this macro +rm -r 'scripts/lua task example' +rm -r 'scripts/source example' diff --git a/english/dev-environment/manual/macro_support/scripts/lua task example/main.lua b/english/dev-environment/manual/macro_support/scripts/lua task example/main.lua new file mode 100644 index 0000000..c730dc3 --- /dev/null +++ b/english/dev-environment/manual/macro_support/scripts/lua task example/main.lua @@ -0,0 +1,43 @@ +-- Lua Task Example + +local taskMin = -100 +local taskMax = 100 + +local function taskInit() + print("Task init") +end + +local function taskWakeup(task) + -- print("Task wakeup") +end + +local function taskEvent(task) + print("Task event") +end + +local function taskConfigure(task) + print("Task configure") + local line = form.addLine("Range") + local slots = form.getFieldSlots(line, {0, "-", 0}) + form.addNumberField(line, slots[1], -1024, 1024, function() return taskMin end, function(value) taskMin = value end) + form.addStaticText(line, slots[2], "-") + form.addNumberField(line, slots[3], -1024, 1024, function() return taskMax end, function(value) taskMax = value end) +end + +local function taskRead(task) + print("Task read") + taskMin = storage.read("min") + taskMax = storage.read("max") +end + +local function taskWrite(task) + print("Task write") + storage.write("min", taskMin) + storage.write("max", taskMax) +end + +local function init() + system.registerTask({key="LuaTask", name="Task Example", init=taskInit, wakeup=taskWakeup, event=taskEvent, configure=taskConfigure, read=taskRead, write=taskWrite}) +end + +return {init=init} diff --git a/english/dev-environment/manual/macro_support/scripts/source example/main.lua b/english/dev-environment/manual/macro_support/scripts/source example/main.lua new file mode 100644 index 0000000..1131b1b --- /dev/null +++ b/english/dev-environment/manual/macro_support/scripts/source example/main.lua @@ -0,0 +1,44 @@ +-- Lua Source Example + +local translations = {en="Lua Source", fr="Source Lua"} + +local function sourceName(source) + local locale = system.getLocale() + return translations[locale] or translations["en"] +end + +local function sourceInit(source) + print("Source init") + source:decimals(2) + source:unit(UNIT_VOLT) + source:value(0.0) +end + +local function sourceReset(source) + print("Source reset") + source:value(0.0) +end + +local function sourceRead(source) + print("Source read") + source:value(storage.read("Some Key")) +end + +local function sourceWrite(source) + print("Source write") + storage.write("Some Key", source:value()) +end + +local function sourceWakeup(source) + -- print("Source wakeup") + source:value(source:value() + 0.1) +end + +local function sourceConfigure(source) +end + +local function init() + system.registerSource({key="Example", name=sourceName, init=sourceInit, reset=sourceReset, wakeup=sourceWakeup, configure=sourceConfigure, read=sourceRead, write=sourceWrite}) +end + +return {init=init} diff --git a/english/dev-environment/manual/modellua.sh b/english/dev-environment/manual/modellua.sh index a219f08..bd6cbdd 100644 --- a/english/dev-environment/manual/modellua.sh +++ b/english/dev-environment/manual/modellua.sh @@ -2,5 +2,10 @@ ETHOS='/mnt/c/Program Files (x86)/FrSky/Ethos' +# These scripts only needed for this macro +cp -r 'macro_support/scripts/lua task example' scripts +cp -r 'macro_support/scripts/source example' scripts "${ETHOS}/X20S/simulator.exe" --read-only --no-audio --documents-directory ./sd/documents --radio-settings ./x20s-en.bin --sd-directory ./sd --flash-directory ./flash --exec ./macros/model-lua.lua - +# Remove the scripts again so the LUA icon only appears in this macro +rm -r 'scripts/lua task example' +rm -r 'scripts/source example'