From 67bfedd84522925f73b2152a483abcd213bc09bc Mon Sep 17 00:00:00 2001 From: Peter Hall Date: Mon, 23 Dec 2019 23:23:21 +0000 Subject: [PATCH] AP_Scripting: add button example script --- .../AP_Scripting/examples/button_test.lua.lua | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 libraries/AP_Scripting/examples/button_test.lua.lua diff --git a/libraries/AP_Scripting/examples/button_test.lua.lua b/libraries/AP_Scripting/examples/button_test.lua.lua new file mode 100644 index 0000000000..ffb4ab88a9 --- /dev/null +++ b/libraries/AP_Scripting/examples/button_test.lua.lua @@ -0,0 +1,26 @@ +-- This script is an example button functionality + +local button_number = 1 -- the button numbber we want to read, as deffined in AP_Button + +local button_active_state = true -- the 'pressed' state of the button + +local last_button_state + +function update() -- this is the loop which periodically runs + + local button_new_state = button:get_button_state(button_number) == button_active_state + + -- the button has changes since the last loop + if button_new_state ~= last_button_state then + last_button_state = button_new_state + if button_new_state then + gcs:send_text(0, "LUA: Button pressed") + else + gcs:send_text(0, "LUA: Button released") + end + end + + return update, 1000 -- reschedules the loop (1hz) +end + +return update() -- run immediately before starting to reschedule