From 7c60869124cb22d79f1d60d7a06952c0196f6f44 Mon Sep 17 00:00:00 2001 From: Mario Pesch Date: Mon, 3 Apr 2023 12:26:43 +0200 Subject: [PATCH] add Button as Switch --- src/components/Blockly/blocks/sensebox-sensors.js | 1 + src/components/Blockly/generator/sensebox-sensors.js | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/components/Blockly/blocks/sensebox-sensors.js b/src/components/Blockly/blocks/sensebox-sensors.js index 3236275..7e0db56 100644 --- a/src/components/Blockly/blocks/sensebox-sensors.js +++ b/src/components/Blockly/blocks/sensebox-sensors.js @@ -336,6 +336,7 @@ Blockly.Blocks["sensebox_button"] = { [Blockly.Msg.senseBox_button_isPressed, "isPressed"], [Blockly.Msg.senseBox_button_wasPressed, "wasPressed"], [Blockly.Msg.senseBox_button_longPress, "longPress"], + [Blockly.Msg.senseBox_button_switch,"toggleButton"] ]), "FUNCTION" ) diff --git a/src/components/Blockly/generator/sensebox-sensors.js b/src/components/Blockly/generator/sensebox-sensors.js index 21b5bb2..3929957 100644 --- a/src/components/Blockly/generator/sensebox-sensors.js +++ b/src/components/Blockly/generator/sensebox-sensors.js @@ -399,6 +399,7 @@ Blockly.Arduino.sensebox_button = function () { Blockly.Arduino.libraries_[ "library_jcButtons" ] = `#include // http://librarymanager/All#JC_Button`; + Blockly.Arduino.definitions_["define_button" + dropdown_pin + ""] = "Button button_" + dropdown_pin + "(" + dropdown_pin + ");"; Blockly.Arduino.setupCode_["setup_button" + dropdown_pin + ""] = @@ -413,6 +414,10 @@ Blockly.Arduino.sensebox_button = function () { } else if (dropown_function === "longPress") { var time = this.getFieldValue("time"); code = "button_" + dropdown_pin + ".pressedFor(" + time + ")"; + } else if (dropown_function === "toggleButton") { + code = "button_" + dropdown_pin + ".toggleState()"; + Blockly.Arduino.definitions_["define_button" + dropdown_pin + ""] = + "ToggleButton button_" + dropdown_pin + "(" + dropdown_pin + ");"; } return [code, Blockly.Arduino.ORDER_ATOMIC]; };