From 94fabdb1a153e376c1fa72be8f0280d6598c2786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anian=20B=C3=BChler?= <anian.buehler@reutlingen-university.de> Date: Mon, 15 Jul 2024 17:53:15 +0200 Subject: [PATCH] added neopixel effect-blocks --- .../block/output/NeopixelBrightnessBlock.java | 3 +- .../com/ardublock/block/ardublock.properties | 14 +++ .../com/ardublock/block/ardublock.xml | 118 +++++++++++++++++- .../ardublock/block/ardublock_de.properties | 14 +++ .../block/ardublock_de_DE.properties | 14 +++ .../block/ardublock_en_GB.properties | 14 +++ .../ardublock/block/block-mapping.properties | 5 + 7 files changed, 179 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ardublock/translator/block/output/NeopixelBrightnessBlock.java b/src/main/java/com/ardublock/translator/block/output/NeopixelBrightnessBlock.java index ce9d5f3..8fb4fbe 100644 --- a/src/main/java/com/ardublock/translator/block/output/NeopixelBrightnessBlock.java +++ b/src/main/java/com/ardublock/translator/block/output/NeopixelBrightnessBlock.java @@ -25,7 +25,6 @@ public class NeopixelBrightnessBlock extends TranslatorBlock { String ret = "strip_pin"+Pin+".setBrightness("+Brightness +");\n"; - return codePrefix + ret + codeSuffix; - + return codePrefix + ret + codeSuffix; } } diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 9be84cb..c6bcbda 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -358,6 +358,12 @@ bg.neopixel_init=Neopixel Init bg.neopixel_pixel_color=Neopixel Pixel Color bg.neopixel_show=Neopixel Show bg.neopixel_brightness=Neopixel Brightness +bg.neopixel_wipe=Neopixel Wipe +bg.neopixel_theater_chase=Neopixel Chase +bg.neopixel_rainbow=Neopixel Rainbow +bg.neopixel_rainbow_chase=Neopixel Rainbow Chase +bg.neopixel_number_to_rgb=analogRead to RGB + bg.stepper_2pin=Setup for Stepper bg.stepper_4pin=Setup for Stepper bg.stepper_set_rpm=Stepper set rpm @@ -380,13 +386,21 @@ bg.neopixel_pixel_color.description=Pixel Color between 0 and 255 for each color bg.neopixel_brightness.description=Brightness between 0 and 255 bg.neopixel_init.description=Init Neopixel\nBus: NEO_KHZ800 / NEO_KHZ400\nColor: NEO_GRB / NEO_RGB bg.neopixel_show.description= Push the color data to the strip +bg.neopixel_wipe.description= Fill strip pixels one after another with a color +bg.neopixel_theater_chase.description=Theater-marquee-style chasing lights +bg.neopixel_rainbow.description=Rainbow cycle along whole strip +bg.neopixel_rainbow_chase.description=Rainbow-enhanced theater marquee +bg.neopixel_number_to_rgb.description=Calculates RGB Values from analoReadn-Values (0-1023) bc.steps=Steps/r bc.speed=rpm bc.red=Red Start bc.blue=Blue Start bc.green=Green Start +bc.color=RGB Color Nr. bc.brightness=Brightness +bc.wait_time=wait time +bc.iterations=iterations bc.Nb_of_Led=how many pixel bc.Nb_of_Led.description=how many pixel bc.Pixel_Nb=number of the pixel diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml index dc779b1..b4e190f 100644 --- a/src/main/resources/com/ardublock/block/ardublock.xml +++ b/src/main/resources/com/ardublock/block/ardublock.xml @@ -718,6 +718,116 @@ </Images> </BlockGenus> + + <BlockGenus name="neopixel_wipe" kind="command" color="74 108 212" initlabel="bg.neopixel_wipe"> + <description> + <text>neopixel_pixel_colorRGB</text> + </description> + <BlockConnectors> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.pin_number"> + <DefaultArg genus-name="number" label="2" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.red"> + <DefaultArg genus-name="number" label="100" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.green"> + <DefaultArg genus-name="number" label="100" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.blue"> + <DefaultArg genus-name="number" label="100" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.wait_time"> + <DefaultArg genus-name="number" label="20" /> + </BlockConnector> + </BlockConnectors> + </BlockGenus> + + <BlockGenus name="neopixel_theater_chase" kind="command" color="74 108 212" initlabel="bg.neopixel_theater_chase"> + <description> + <text>neopixel_pixel_colorRGB</text> + </description> + <BlockConnectors> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.pin_number"> + <DefaultArg genus-name="number" label="2" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.red"> + <DefaultArg genus-name="number" label="100" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.green"> + <DefaultArg genus-name="number" label="100" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.blue"> + <DefaultArg genus-name="number" label="100" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.wait_time"> + <DefaultArg genus-name="number" label="20" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.iterations"> + <DefaultArg genus-name="number" label="1" /> + </BlockConnector> + </BlockConnectors> + </BlockGenus> + + <BlockGenus name="neopixel_rainbow" kind="command" color="74 108 212" initlabel="bg.neopixel_rainbow"> + <description> + <text>neopixel_pixel_colorRGB</text> + </description> + <BlockConnectors> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.pin_number"> + <DefaultArg genus-name="number" label="2" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.wait_time"> + <DefaultArg genus-name="number" label="20" /> + </BlockConnector> + </BlockConnectors> + </BlockGenus> + + <BlockGenus name="neopixel_rainbow_chase" kind="command" color="74 108 212" initlabel="bg.neopixel_rainbow_chase"> + <description> + <text>neopixel_pixel_colorRGB</text> + </description> + <BlockConnectors> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.pin_number"> + <DefaultArg genus-name="number" label="2" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.wait_time"> + <DefaultArg genus-name="number" label="20" /> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.iterations"> + <DefaultArg genus-name="number" label="1" /> + </BlockConnector> + </BlockConnectors> + </BlockGenus> + + <BlockGenus name="neopixel_number_to_rgb" kind="data" color="74 108 212" initlabel="bg.neopixel_number_to_rgb"> + <BlockConnectors> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.value"> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="socket" label="bc.color"> + </BlockConnector> + <BlockConnector connector-type="number" + connector-kind="plug" /> + </BlockConnectors> + </BlockGenus> + <!--****************** Input *************** --> <BlockGenus name="inputDivider1" kind="command" is-starter="yes" is-terminator="yes" initlabel="bg.inputDivider1" color="150 150 150" /> <BlockGenus name="inputDivider2" kind="command" is-starter="yes" is-terminator="yes" initlabel="bg.inputDivider2" color="150 150 150" /> @@ -3263,7 +3373,13 @@ <BlockGenusMember>neopixel_init</BlockGenusMember> <BlockGenusMember>neopixel_pixel_color</BlockGenusMember> <BlockGenusMember>neopixel_brightness</BlockGenusMember> - <BlockGenusMember>neopixel_show</BlockGenusMember> + <BlockGenusMember>neopixel_show</BlockGenusMember> + <BlockGenusMember>neopixel_wipe</BlockGenusMember> + <BlockGenusMember>neopixel_theater_chase</BlockGenusMember> + <BlockGenusMember>neopixel_rainbow</BlockGenusMember> + <BlockGenusMember>neopixel_rainbow_chase</BlockGenusMember> + <BlockGenusMember>neopixel_number_to_rgb</BlockGenusMember> + <BlockGenusMember>outputDivider3</BlockGenusMember> <BlockGenusMember>tone</BlockGenusMember> diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index 7e5882f..eb35a22 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -358,6 +358,12 @@ bg.neopixel_init=Pixel Setup bg.neopixel_pixel_color=Pixel setPixelColor bg.neopixel_show= Pixel show bg.neopixel_brightness=Pixel setBrightness +bg.neopixel_wipe=Neopixel Wipe +bg.neopixel_theater_chase=Neopixel Chase +bg.neopixel_rainbow=Neopixel Rainbow +bg.neopixel_rainbow_chase=Neopixel Rainbow Chase +bg.neopixel_number_to_rgb=analogRead zu RGB + bg.stepper_2pin=Stepper Setup bg.stepper_4pin=Stepper Setup bg.stepper_set_rpm=Stepper setSpeed @@ -380,6 +386,11 @@ bg.neopixel_brightness.description=Stellt die Helligkeit der gesamten Kette ein bg.neopixel_pixel_color.description=Farbewerte fuer einen bestimmten Pixel festlegen (RGB [0...255]) bg.neopixel_init.description=Initialisiert die RGB-Pixel\nSchnittstelle: NEO_KHZ800 / NEO_KHZ400\nFarbfolge: NEO_GRB / NEO_RGB bg.neopixel_show.description=Daten werden erst mit diesem Befehl an die Pixel übertragen +bg.neopixel_wipe.description= Fill strip pixels one after another with a color +bg.neopixel_theater_chase.description=Theater-marquee-style chasing lights +bg.neopixel_rainbow.description=Rainbow cycle along whole strip +bg.neopixel_rainbow_chase.description=Rainbow-enhanced theater marquee +bg.neopixel_number_to_rgb.description=Calculates RGB Values from analoReadn-Values (0-1023) bc.steps=Schritte/U bc.speed=U/min @@ -387,6 +398,9 @@ bc.red=Rot bc.blue=Blau bc.green=Gruen bc.brightness=Helligkeit +bc.wait_time=Wartezeit +bc.color=RGB Farbnr. +bc.iterations=Wiederholungen bc.Nb_of_Led=Wie viele Pixel bc.Nb_of_Led.description=Wie viele Pixel hat die Kette bc.Pixel_Nb=Nummer Pixel diff --git a/src/main/resources/com/ardublock/block/ardublock_de_DE.properties b/src/main/resources/com/ardublock/block/ardublock_de_DE.properties index c99e22e..23057a8 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de_DE.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de_DE.properties @@ -357,6 +357,12 @@ bg.neopixel_init=Setup Pixel bg.neopixel_pixel_color=Farbe fuer Pixel RGB [0...255] bg.neopixel_show= Daten an Pixel senden bg.neopixel_brightness=Pixel Helligkeit[0...255] +bg.neopixel_wipe=Neopixel Wischen +bg.neopixel_theater_chase=Neopixel Lauflicht +bg.neopixel_rainbow=Neopixel Regenbogen +bg.neopixel_rainbow_chase=Neopixel Regenbogen Lauflicht +bg.neopixel_number_to_rgb=analogRead zu RGB + bg.stepper_2pin=Setup fuer Stepper bg.stepper_4pin=Setup fuer Stepper bg.stepper_set_rpm=Stepper U/min @@ -379,13 +385,21 @@ bg.neopixel_brightness.description=Stellt die Helligkeit der gesamten Kette ein bg.neopixel_pixel_color.description=Farbewerte fuer einen bestimmten Pixel festlegen bg.neopixel_init.description=Initialisiert die RGB-Pixel\nSchnittstelle: NEO_KHZ800 / NEO_KHZ400\nFarbfolge: NEO_GRB / NEO_RGB bg.neopixel_show.description=Daten werden erst mit diesem Befehl an die Pixel übertragen +bg.neopixel_wipe.description= Fill strip pixels one after another with a color +bg.neopixel_theater_chase.description=Theater-marquee-style chasing lights +bg.neopixel_rainbow.description=Rainbow cycle along whole strip +bg.neopixel_rainbow_chase.description=Rainbow-enhanced theater marquee +bg.neopixel_number_to_rgb.description=Calculates RGB Values from analoReadn-Values (0-1023) bc.steps=Schritte/U bc.speed=U/min bc.red=Rot Start bc.blue=Blau Start bc.green=Gruen Start +bc.color=RGB Farbnr. bc.brightness=Helligkeit +bc.wait_time=Wartezeit +bc.iterations=Wiederholungen bc.Nb_of_Led=Wie viele Pixel bc.Nb_of_Led.description=Wie viele Pixel hat die Kette bc.Pixel_Nb=Nummer Pixel diff --git a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties index 78aaa6b..2a59aad 100644 --- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties +++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties @@ -357,6 +357,12 @@ bg.neopixel_init=Pixel Setup bg.neopixel_pixel_color=Pixel setPixelColor bg.neopixel_show= Pixel show bg.neopixel_brightness=Pixel setBrightness +bg.neopixel_wipe=Neopixel Wipe +bg.neopixel_theater_chase=Neopixel Chase +bg.neopixel_rainbow=Neopixel Rainbow +bg.neopixel_rainbow_chase_chase=Neopixel Rainbow Chase +bg.neopixel_number_to_rgb=analogRead to RGB + bg.stepper_2pin=Stepper Setup bg.stepper_4pin=Stepper Setup bg.stepper_set_rpm=Stepper setSpeed @@ -379,13 +385,21 @@ bg.neopixel_brightness.description=Stellt die Helligkeit der gesamten Kette ein bg.neopixel_pixel_color.description=Farbewerte fuer einen bestimmten Pixel festlegen (RGB [0...255]) bg.neopixel_init.description=Initialisiert die RGB-Pixel\nSchnittstelle: NEO_KHZ800 / NEO_KHZ400\nFarbfolge: NEO_GRB / NEO_RGB bg.neopixel_show.description=Daten werden erst mit diesem Befehl an die Pixel übertragen +bg.neopixel_wipe.description= Fill strip pixels one after another with a color +bg.neopixel_theater_chase.description=Theater-marquee-style chasing lights +bg.neopixel_rainbow.description=Rainbow cycle along whole strip +bg.neopixel_rainbow_chase.description=Rainbow-enhanced theater marquee +bg.neopixel_number_to_rgb.description=Calculates RGB Values from analoReadn-Values (0-1023) bc.steps=Schritte/U bc.speed=U/min bc.red=Rot bc.blue=Blau bc.green=Gruen +bc.color=RGB Farbnr. bc.brightness=Helligkeit +bc.wait_time=Wartezeit +bc.iterations=Wiederholungen bc.Nb_of_Led=Wie viele Pixel bc.Nb_of_Led.description=Wie viele Pixel hat die Kette bc.Pixel_Nb=Nummer Pixel diff --git a/src/main/resources/com/ardublock/block/block-mapping.properties b/src/main/resources/com/ardublock/block/block-mapping.properties index 61c1496..0a6e00d 100644 --- a/src/main/resources/com/ardublock/block/block-mapping.properties +++ b/src/main/resources/com/ardublock/block/block-mapping.properties @@ -93,6 +93,11 @@ neopixel_init=com.ardublock.translator.block.output.NeopixelInitBlock neopixel_pixel_color=com.ardublock.translator.block.output.NeopixelColorBlock neopixel_show=com.ardublock.translator.block.output.NeopixelShowBlock neopixel_brightness=com.ardublock.translator.block.output.NeopixelBrightnessBlock +neopixel_wipe=com.ardublock.translator.block.output.NeopixelWipeBlock +neopixel_theater_chase=com.ardublock.translator.block.output.NeopixelTheaterChaseBlock +neopixel_rainbow=com.ardublock.translator.block.output.NeopixelRainbowBlock +neopixel_rainbow_chase=com.ardublock.translator.block.output.NeopixelRainbowChaseBlock +neopixel_number_to_rgb=com.ardublock.translator.block.output.NeopixelAinToColorBlock #INPUT #**************************** -- GitLab