diff --git a/src/main/java/com/ardublock/translator/block/operators/PidBlock.java b/src/main/java/com/ardublock/translator/block/operators/PidBlock.java index 8fce63b60bef1d5e01772c9bc33a58dd18c87995..a3062964a6118a328242a35b2a73d70670aab6f4 100644 --- a/src/main/java/com/ardublock/translator/block/operators/PidBlock.java +++ b/src/main/java/com/ardublock/translator/block/operators/PidBlock.java @@ -1,7 +1,6 @@ package com.ardublock.translator.block.operators; import java.util.ResourceBundle; -import java.util.function.ToIntFunction; import com.ardublock.translator.Translator; import com.ardublock.translator.block.TranslatorBlock; @@ -34,6 +33,7 @@ public class PidBlock extends TranslatorBlock boolean derivative = tb_kd != null; boolean limited = (tb_limitL != null) && (tb_limitH != null); + //TODO: TEST CONTROLLER FUNCTIONALITY!!!!!!! //FUNCTION CODE ASSEMBLY String functionCode = "int computePID(int input, int setpoint, long interval, int kp"; diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 27c9c3bf957921b20c42b265cf4dcde7b544aca1..4649738ea521a99a3002f688452baaeb6f5403ab 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -457,6 +457,10 @@ bg.and=and bg.or=or bg.equal_digital=== bg.not_equal_digital=!= +bg.bit_and_poly=& +bg.bit_or_poly=| +bg.bit_xor_poly=^ +bg.bit_not_poly=~ bg.bit_and=& bg.bit_or=| bg.bit_xor=^ @@ -464,6 +468,7 @@ bg.bit_not=~ bg.bit_shift_left=<< bg.bit_shift_right=>> + bg.greater.description=True if the first number is greater the second number bg.less.description=True if the first number is less then the second number bg.equal.description=True if the first number equals to the second number @@ -477,6 +482,10 @@ bg.or.description=True if one or both of the two conditions are true. bg.not.description=The opposite of bg.equal_poly.description=True if first character is equal to the second character bg.not_equal_poly.description=True if first character is not equal to the second character +bg.bit_and_poly.description=bitwise AND +bg.bit_or_poly.description=bitwise OR +bg.bit_xor_poly.description=bitwise XOR +bg.bit_not_poly.description=bitwise NOT bg.bit_and.description=bitwise AND bg.bit_or.description=bitwise OR bg.bit_xor.description=bitwise XOR diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml index 6be7bd5d0c091d346a55ac8b074f1b67864be477..339c3d5486da3f2d2b32d3def19ea01e9d1a5048 100644 --- a/src/main/resources/com/ardublock/block/ardublock.xml +++ b/src/main/resources/com/ardublock/block/ardublock.xml @@ -1179,6 +1179,54 @@ <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> </BlockConnectors> </BlockGenus> + <BlockGenus name="bit_and_poly" kind="function" color="255 20 147" initlabel="bg.bit_and_poly"> + <description> + <text></text> + </description> + <BlockConnectors> + <BlockConnector connector-type="string-list" connector-kind="plug" position-type="mirror" > + <DefaultArg genus-name="dummy" label="" /> + </BlockConnector> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + </BlockConnectors> + </BlockGenus> + <BlockGenus name="bit_or_poly" kind="function" color="255 20 147" initlabel="bg.bit_or_poly"> + <description> + <text></text> + </description> + <BlockConnectors> + <BlockConnector connector-type="string-list" connector-kind="plug" position-type="mirror" > + <DefaultArg genus-name="dummy" label="" /> + </BlockConnector> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + </BlockConnectors> + </BlockGenus> + <BlockGenus name="bit_xor_poly" kind="function" color="255 20 147" initlabel="bg.bit_xor_poly"> + <description> + <text></text> + </description> + <BlockConnectors> + <BlockConnector connector-type="string-list" connector-kind="plug" position-type="mirror" > + <DefaultArg genus-name="dummy" label="" /> + </BlockConnector> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + </BlockConnectors> + </BlockGenus> + <BlockGenus name="bit_not_poly" kind="function" color="255 20 147" initlabel="bg.bit_not_poly"> + <description> + <text></text> + </description> + <BlockConnectors> + <BlockConnector connector-type="string-list" connector-kind="plug" position-type="mirror" > + <DefaultArg genus-name="dummy" label="" /> + </BlockConnector> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + <BlockConnector connector-type="string-list" connector-kind="socket" position-type="bottom" /> + </BlockConnectors> + </BlockGenus> <BlockGenus name="bit_and" kind="function" color="255 20 147" initlabel="bg.bit_and"> <description> <text></text> @@ -3116,6 +3164,11 @@ <BlockGenusMember>bit_shift_left</BlockGenusMember> <BlockGenusMember>bit_shift_right</BlockGenusMember> + + <BlockGenusMember>bit_and_poly</BlockGenusMember> + <BlockGenusMember>bit_or_poly</BlockGenusMember> + <BlockGenusMember>bit_xor_poly</BlockGenusMember> + <BlockGenusMember>bit_not_poly</BlockGenusMember> </BlockDrawer> <BlockDrawer button-color="255 20 147" name="bd.logic" type="page"> <BlockGenusMember>logicDivider1</BlockGenusMember> diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index c74aa134b1c720e0d798307a53e01d0493cb77af..33bbb7922931d687a64e17f9f81382b07691e73f 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -455,6 +455,10 @@ bg.and=UND bg.or=ODER bg.equal_digital=== bg.not_equal_digital=!= +bg.bit_and_poly=& +bg.bit_or_poly=| +bg.bit_xor_poly=^ +bg.bit_not_poly=~ bg.bit_and=& bg.bit_or=| bg.bit_xor=^ @@ -475,6 +479,10 @@ bg.or.description=WAHR, wenn eine oder beide Bedingungen erf bg.not.description= Das Gegenteil von (z.B. WAHR wird zu FALSCH) bg.equal_poly.description=WAHR wenn die zwei Zeichen identisch sind bg.not_equal_poly.description=WAHR wenn die zwei Zeichen NICHT identisch sind +bg.bit_and_poly.description=bitweises UND +bg.bit_or_poly.description=bitweises ODER +bg.bit_xor_poly.description=bitweises XOR +bg.bit_not_poly.description=bitweises NICHT bg.bit_and.description=bitweises UND bg.bit_or.description=bitweises ODER bg.bit_xor.description=bitweises EXCLUSIV-ODER 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 b403f4162ae3fb446cb7f7a1a845ec8e4e564224..80189ecde1f3da08d0354f738bcdc25f5711263f 100644 --- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties +++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties @@ -456,6 +456,10 @@ bg.and=&& (AND) bg.or=|| (OR) bg.equal_digital=== bg.not_equal_digital=!= +bg.bit_and_poly=& +bg.bit_or_poly=| +bg.bit_xor_poly=^ +bg.bit_not_poly=~ bg.bit_and=& bg.bit_or=| bg.bit_xor=^ @@ -476,6 +480,10 @@ bg.or.description=ODER - WAHR, wenn eine oder beide Bedingungen erf bg.not.description=NICHT - Das Gegenteil von (z.B. WAHR wird zu FALSCH) bg.equal_poly.description=WAHR wenn die zwei Zeichen identisch sind bg.not_equal_poly.description=WAHR wenn die zwei Zeichen NICHT identisch sind +bg.bit_and_poly.description=bitweises UND +bg.bit_or_poly.description=bitweises ODER +bg.bit_xor_poly.description=bitweises XOR +bg.bit_not_poly.description=bitweises NICHT bg.bit_and.description=bitweises UND bg.bit_or.description=bitweises ODER bg.bit_xor.description=bitweises EXCLUSIV-ODER diff --git a/src/main/resources/com/ardublock/block/block-mapping.properties b/src/main/resources/com/ardublock/block/block-mapping.properties index 3707487a5c2d749304800134b59c9078700f13d9..a09aed523ab6ffac0e2800f7a190370eda5a2b77 100644 --- a/src/main/resources/com/ardublock/block/block-mapping.properties +++ b/src/main/resources/com/ardublock/block/block-mapping.properties @@ -138,6 +138,10 @@ greater_equal=com.ardublock.translator.block.logic.GreaterEqualBlock less_equal=com.ardublock.translator.block.logic.LessEqualBlock not_equal=com.ardublock.translator.block.logic.NotEqualBlock equal=com.ardublock.translator.block.logic.EqualBlock +bit_and_poly=com.ardublock.translator.block.logic.BitAndBlock +bit_or_poly=com.ardublock.translator.block.logic.BitOrBlock +bit_xor_poly=com.ardublock.translator.block.logic.BitXorBlock +bit_not_poly=com.ardublock.translator.block.logic.BitNotBlock bit_and=com.ardublock.translator.block.logic.BitAndBlock bit_or=com.ardublock.translator.block.logic.BitOrBlock bit_xor=com.ardublock.translator.block.logic.BitXorBlock