From 77f1c4e0dc16578edf2ce600d45c34daa73bba6e Mon Sep 17 00:00:00 2001 From: Stephan Bielmann Date: Thu, 1 Nov 2018 07:46:21 +0100 Subject: [PATCH 1/6] Added more germand translations, improved a few existing ones --- .../ardublock/block/ardublock_de.properties | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index f11c108a..1345e30b 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -17,6 +17,10 @@ bc.eeprom_data=Daten bc.ln=neue Zeile bc.message=Meldung2 +bg.program=Programm +bc.setup=Konfiguration +bc.loop=Schleife +bg.setup=Konfiguration bg.variable_poly=char Variablennamen bg.char=A @@ -42,6 +46,9 @@ bd.especial=Code-Bl\u00f6cke bg.not_equal_digital=\!\= bg.glue_msg=Verbinde Nachricht +bc.commands=Kommandos +bc.condition=teste + # BlockDrawer name bc.angle=Grad bc.base=Basis @@ -103,7 +110,8 @@ bg.addition=+ bg.and=und bg.cos=cos - +bg.delay=verz\u00f6gern MILLIS +bg.delay_microseconds=verz\u00f6gern MIKROS bg.df_360_degree_rotation_motor=umlaufender Servomotor bg.df_adjustable_infrared_sensor_switch=Einstellbarer Infrarot Sensor Schalter @@ -165,6 +173,8 @@ bg.less_equal=<\= bg.loop=wiederhole fortlaufend bg.subroutine=Unterprogramm bg.subroutine-ref=Unterprogramm +bg.subroutine_var=Unterprogramm mit Wert +bg.subroutine-ref_var=Unterprogramm mit Wert bg.map=zuordnen bg.max=Max bg.message=Nachricht @@ -283,10 +293,17 @@ bc.repeat_times=Mal # Descriptions of all Block -bg.loop.description=Hauptprogramm-Schleife ohne setup +bg.program.description=Hauptprogramm mit Schleife und Konfiguration +bg.loop.description=Hauptprogramm-Schleife ohne Konfiguration +bg.delay.description=Verz\u00f6gerung um "Millisekunden".\n HINWEIS 1000 millis = 1 Sekunde +bg.delay_microseconds.description=Verz\u00f6gerung um "Mikrosekunden".\n HINWEIS: 1000000 mikros = 1 Sekunde +bg.millis.description=Millisekunden seit dem letzen Einschalten oder Neustart.\n Mit einer 'Large Integer' Variable verwenden. +bg.if.description=Kommandos ausf\u00fchren wenn "teste" wahr ist. +bg.ifelse.description=Erste Reihe von Kommandos ausf\u00fchren wenn "tests" wahr ist, sonst die zweite Reihe von Kommandos ausf\u00fchren. +bg.while.description=Kommandos ausf\u00fchren solange "teste" wahr ist. -bg.subroutine.description=erstellt ein Unterprogramm +bg.subroutine.description=Erstellt ein Unterprogramm bg.subroutine-ref.description=Unterprogramm aufrufen bg.pin-read-analog.description=Lies den Analogwert von pin bg.pin-read-digital.description=Liest den Digitalwert von Pin @@ -468,8 +485,6 @@ bg.seeed_led_strip.description=Damit k\u00f6nnen die Intensit\u00e4t einer einfa bg.seeed_led.description=Die LED ist f\u00fcr Anf\u00e4nger des Arduino/Seeeduino und soll Steuersignale aus digitalen Ports \u00fcberwachen. bg.seeed_var_led.description=Wenn der SIG-Anschluss logisch auf LOW steht, leuchtet die RGB-LED. - - bg.ls_10mmLEDModule.description=10mm blau/gr\u00fcn/gelb/rot LED-Modul bg.ls_5mmLEDModule.description=5mm-blau/gr\u00fcn/gelb/rot LED-Modul bg.ls_AccelerometerModule_x.description=Basierend auf dem hervorragenden ADXL-345, hat dieser digitalen 3-Achsen-Beschleunigungssensor einen hervorragenden EMV-Schutz. From 30a8642f5d1df5d1bdde5453575f65a1dcae8fed Mon Sep 17 00:00:00 2001 From: Stephan Bielmann Date: Fri, 2 Nov 2018 14:37:47 +0100 Subject: [PATCH 2/6] More german translations added --- .../com/ardublock/block/ardublock_de.properties | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index 1345e30b..183e9ea5 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -193,6 +193,7 @@ bg.pin-write-analog=setze Analog pin auf bg.pin-write-digital=Setze digital pin auf bg.pow=Potenz bg.random=Zufallszahl +bg.random_range=Zufallszahl bg.repeat_times=Wiederhole bg.seeed_joystick=Grove Thumb Joystick bg.seeed_joystick_button=Grove Thumb Joystick Taster @@ -239,6 +240,10 @@ bg.serial_println=serial println bg.serial_print=serial print bg.servo=Servo bg.setter_variable_digital=digitale Variable setzen +bg.setter_variable_number=Ganzzahlige Variable setzen +bg.setter_variable_number_unsigned_long=Grosse ganzzahlige Variable setzen +bg.setter_variable_number_double=Dezimalzahl Variable setzen + bg.sin=sin bg.sqrt=Wurzel bg.subtraction=- @@ -333,6 +338,10 @@ bg.equal_poly.description=Wahr, wenn das erstes Zeichen identisch mit dem zweite bg.not_equal_poly.description=Wahr, wenn das erstes Zeichen nicht identisch mit dem zweiten Zeichen bg.true.description=Boolescher Wert Richtig bg.false.description=Boolescher Wert Falsch +bg.number.description=Standard ganzzahlige Konstante.\n32,768 bis +32,767 +bg.number_long.description=Grosse ganzzahlige Konstante.\n0 bis 4,294,967,295 +bg.number_double.description='Dezimal' Zahl Konstante. +/- 3.4028235E+38 +bg.variable_number.description=Standard ganzzahlige Variable.\n-32,768 to +32,767 bg.setter_variable_digital.description=digitale Variable setzen bg.servo.description=Einen Servo steuern bg.ultrasonic.description=Ultraschall Abstandssensor From 3906fefd26525764b1b4c08e65ee405b0adcd733 Mon Sep 17 00:00:00 2001 From: Stephan Bielmann Date: Tue, 6 Nov 2018 06:32:33 +0100 Subject: [PATCH 3/6] Added support for 0.96 inch SSD1306 OLED over I2C with U8g2 library, however only using U8x8 text output only --- .../block/u8x2display/ClearDisplayBlock.java | 24 ++ .../block/u8x2display/ClearLineBlock.java | 26 +++ .../block/u8x2display/Draw2x2NumberBlock.java | 17 ++ .../block/u8x2display/Draw2x2StringBlock.java | 16 ++ .../block/u8x2display/Draw2x2UTF8Block.java | 16 ++ .../block/u8x2display/DrawNumberBlock.java | 33 +++ .../block/u8x2display/DrawStringBlock.java | 60 +++++ .../block/u8x2display/DrawUTF8Block.java | 16 ++ ...ed96Inch128x64SSD1306I2CNONAMEHWBlock.java | 29 +++ .../block/u8x2display/SetFlipModeBlock.java | 26 +++ .../block/u8x2display/SetFontBlock.java | 24 ++ .../u8x2display/SetInverseFontBlock.java | 26 +++ .../com/ardublock/block/ardublock.properties | 23 ++ .../com/ardublock/block/ardublock.xml | 209 ++++++++++++++++++ .../ardublock/block/ardublock_de.properties | 33 +++ .../ardublock/block/block-mapping.properties | 14 ++ .../oled-096inch-128x64-ssd1306-i2c.png | Bin 0 -> 9496 bytes 17 files changed, 592 insertions(+) create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/ClearDisplayBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/ClearLineBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2NumberBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2StringBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2UTF8Block.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/DrawNumberBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/DrawStringBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/DrawUTF8Block.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/Oled96Inch128x64SSD1306I2CNONAMEHWBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/SetFlipModeBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/SetFontBlock.java create mode 100644 src/main/java/com/ardublock/translator/block/u8x2display/SetInverseFontBlock.java create mode 100644 src/main/resources/com/ardublock/block/u8x2display/oled-096inch-128x64-ssd1306-i2c.png diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/ClearDisplayBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/ClearDisplayBlock.java new file mode 100644 index 00000000..53be3f86 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/ClearDisplayBlock.java @@ -0,0 +1,24 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + + + +public class ClearDisplayBlock extends TranslatorBlock +{ + public ClearDisplayBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + + return "u8x8.clearDisplay();\n"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/ClearLineBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/ClearLineBlock.java new file mode 100644 index 00000000..151a781b --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/ClearLineBlock.java @@ -0,0 +1,26 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + + + +public class ClearLineBlock extends TranslatorBlock +{ + public ClearLineBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); + String row = translatorBlock.toCode(); + + return "u8x8.clearLine(" + row + ");\n"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2NumberBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2NumberBlock.java new file mode 100644 index 00000000..ca73d4bc --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2NumberBlock.java @@ -0,0 +1,17 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.TranslatorBlock; + +public class Draw2x2NumberBlock extends DrawNumberBlock +{ + public Draw2x2NumberBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + protected String getCommand() + { + return "draw2x2String"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2StringBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2StringBlock.java new file mode 100644 index 00000000..6838471f --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2StringBlock.java @@ -0,0 +1,16 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; + +public class Draw2x2StringBlock extends DrawStringBlock +{ + public Draw2x2StringBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + protected String getCommand() + { + return "draw2x2String"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2UTF8Block.java b/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2UTF8Block.java new file mode 100644 index 00000000..acfc7820 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/Draw2x2UTF8Block.java @@ -0,0 +1,16 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; + +public class Draw2x2UTF8Block extends DrawStringBlock +{ + public Draw2x2UTF8Block(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + protected String getCommand() + { + return "draw2x2UTF8"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/DrawNumberBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/DrawNumberBlock.java new file mode 100644 index 00000000..81348991 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/DrawNumberBlock.java @@ -0,0 +1,33 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + +public class DrawNumberBlock extends TranslatorBlock +{ + public DrawNumberBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); + String x = translatorBlock.toCode(); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); + String y = translatorBlock.toCode(); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); + String num = translatorBlock.toCode(); + + return "char s[30];\nitoa(" + num + ",s,10);\nu8x8." + getCommand() + "(" + x + "," + y + ",s);\n"; + } + + protected String getCommand() + { + return "drawString"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/DrawStringBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/DrawStringBlock.java new file mode 100644 index 00000000..ff3f0969 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/DrawStringBlock.java @@ -0,0 +1,60 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + +public class DrawStringBlock extends TranslatorBlock +{ + public DrawStringBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public static String replace(String strSource, String strFrom, String strTo) + { + if (strSource == null) { + return null; + } + int i = 0; + if ((i = strSource.indexOf(strFrom, i)) >= 0) { + char[] cSrc = strSource.toCharArray(); + char[] cTo = strTo.toCharArray(); + int len = strFrom.length(); + StringBuffer buf = new StringBuffer(cSrc.length); + buf.append(cSrc, 0, i).append(cTo); + i += len; + int j = i; + while ((i = strSource.indexOf(strFrom, i)) > 0) { + buf.append(cSrc, j, i - j).append(cTo); + i += len; + j = i; + } + buf.append(cSrc, j, cSrc.length - j); + return buf.toString(); + } + return strSource; + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); + String x = translatorBlock.toCode(); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); + String y = translatorBlock.toCode(); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); + String str = translatorBlock.toCode(); + str = this.replace(str,"\\\\","\\"); + str = this.replace(str,"\\\"","\""); + + return "u8x8." + getCommand() + "(" + x + "," + y + "," + str + ");\n"; + } + + protected String getCommand() + { + return "drawString"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/DrawUTF8Block.java b/src/main/java/com/ardublock/translator/block/u8x2display/DrawUTF8Block.java new file mode 100644 index 00000000..1bc145f6 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/DrawUTF8Block.java @@ -0,0 +1,16 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; + +public class DrawUTF8Block extends DrawStringBlock +{ + public DrawUTF8Block(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + protected String getCommand() + { + return "drawUTF8"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/Oled96Inch128x64SSD1306I2CNONAMEHWBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/Oled96Inch128x64SSD1306I2CNONAMEHWBlock.java new file mode 100644 index 00000000..7776a32d --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/Oled96Inch128x64SSD1306I2CNONAMEHWBlock.java @@ -0,0 +1,29 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + + + +public class Oled96Inch128x64SSD1306I2CNONAMEHWBlock extends TranslatorBlock +{ + public Oled96Inch128x64SSD1306I2CNONAMEHWBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + + translator.addHeaderFile("Arduino.h"); + translator.addHeaderFile("U8x8lib.h"); + translator.addDefinitionCommand("U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE);"); + translator.addSetupCommand("u8x8.begin();"); + + return ""; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/SetFlipModeBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/SetFlipModeBlock.java new file mode 100644 index 00000000..d5e88b11 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/SetFlipModeBlock.java @@ -0,0 +1,26 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + + + +public class SetFlipModeBlock extends TranslatorBlock +{ + public SetFlipModeBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); + String enable = translatorBlock.toCode(); + + return "u8x8.setFlipMode(" + enable + ");\n"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/SetFontBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/SetFontBlock.java new file mode 100644 index 00000000..d9833af1 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/SetFontBlock.java @@ -0,0 +1,24 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + +public class SetFontBlock extends TranslatorBlock +{ + public SetFontBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); + String font = translatorBlock.toCode(); + + return "u8x8.setFont(" + font.replaceAll("\"","") + ");\n"; + } +} diff --git a/src/main/java/com/ardublock/translator/block/u8x2display/SetInverseFontBlock.java b/src/main/java/com/ardublock/translator/block/u8x2display/SetInverseFontBlock.java new file mode 100644 index 00000000..da02cf32 --- /dev/null +++ b/src/main/java/com/ardublock/translator/block/u8x2display/SetInverseFontBlock.java @@ -0,0 +1,26 @@ +package com.ardublock.translator.block.u8x2display; + +import com.ardublock.translator.Translator; +import com.ardublock.translator.block.NumberBlock; +import com.ardublock.translator.block.TranslatorBlock; +import com.ardublock.translator.block.exception.BlockException; +import com.ardublock.translator.block.exception.SocketNullException; +import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; + + + +public class SetInverseFontBlock extends TranslatorBlock +{ + public SetInverseFontBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label) + { + super(blockId, translator, codePrefix, codeSuffix, label); + } + + public String toCode() throws SocketNullException, SubroutineNotDeclaredException + { + TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); + String enable = translatorBlock.toCode(); + + return "u8x8.setInverseFont(" + enable + ");\n"; + } +} diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 69024426..dd694ec4 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -1156,6 +1156,7 @@ bg.DuinoEDU_IRREMOTE_NE_PAS_MEMORISER=No Mem bg.DuinoEDU_IRREMOTE_MEMORISER_200_MS=200Ms Mem bg.DuinoEDU_IRREMOTE_MEMORISER_2000_MS=20000Ms Mem bg.DuinoEDU_infrared_compare=Key of Infrared +bg.DuinoEDU_infrared_compare.description=Key of Infrared bc.DuinoEDU_Brightness=Brightness bc.DuinoEDU_Display=Display bg.DuinoEDU_On_digit1=1 @@ -1851,3 +1852,25 @@ bg.Midi_GS=G# bg.Midi_A=A bg.Midi_AS=A# bg.Midi_B=B + +bd.u8x2display=U8x2 Display +bg.u8x2display-oled-096inch-128x64-ssd1306-noname-hw-i2c=OLED 0.96 inch 128x64 SSD1306 NONAME HW I2C +bg.u8x2display-clear-display=Clear display +bg.u8x2display-clear-line=Clear line +bc.u8x2display-clear-line-row=Row +bg.u8x2display-set-flip-mode=Set flip mode +bc.u8x2display-set-flip-mode-enable=Enable +bg.u8x2display-set-inverse-font=Set inverse font +bc.u8x2display-set-inverse-font-enable=Enable +bg.u8x2display-set-font=Set font +bc.u8x2display-set-font-name=Name +bg.u8x2display-draw-string=Draw string +bc.u8x2display-draw-string-x=x position +bc.u8x2display-draw-string-y=y position +bc.u8x2display-draw-string-string=string +bg.u8x2display-draw-2x2-string=Draw 2x2 string +bg.u8x2display-draw-utf8=Draw UTF8 string +bg.u8x2display-draw-2x2-utf8=Draw 2x2 UTF8 string +bg.u8x2display-draw-number=Draw number +bc.u8x2display-draw-number-number=number +bg.u8x2display-draw-2x2-number=Draw 2x2 number diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml index f965ef5d..8ccd1455 100644 --- a/src/main/resources/com/ardublock/block/ardublock.xml +++ b/src/main/resources/com/ardublock/block/ardublock.xml @@ -11067,6 +11067,199 @@ + + + + OLED 0.96 inch 128x64 SSD1306 NONAME HW I2C setup + + + + com/ardublock/block/u8x2display/oled-096inch-128x64-ssd1306-i2c.png + + + + + + + Clear whole display + + + + + + Clear a single line on display + + + + + + + + + + + Inverse font drawing + + + + + + + + + + Set flip mode of display + + + + + + + + + + Set font + + + + + + + + + + + Draw string on display + + + + + + + + + + + + + + + + + Draw number on display + + + + + + + + + + + + + + + + Draw double sized number on display + + + + + + + + + + + + + + + + Draw double sized string on display + + + + + + + + + + + + + + + + + Draw UTF8 string on display + + + + + + + + + + + + + + + + + Draw double sized UTF8 string on display + + + + + + + + + + + + + @@ -12282,6 +12475,22 @@ midi_command + + + u8x2display-oled-096inch-128x64-ssd1306-noname-hw-i2c + u8x2display-clear-display + u8x2display-clear-line + u8x2display-set-font + u8x2display-set-inverse-font + u8x2display-set-flip-mode + u8x2display-draw-string + u8x2display-draw-number + u8x2display-draw-utf8 + u8x2display-draw-2x2-string + u8x2display-draw-2x2-number + u8x2display-draw-2x2-utf8 + +