From e19178193d90938795552db1e21f73b8976151e8 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Tue, 9 Jan 2024 06:50:07 +0100 Subject: [PATCH 1/3] Fix: prevent artefacts from appearing on the screen during a SCROLL_LEFT. This fixes #226. --- libraries/Arduino_LED_Matrix/src/Arduino_LED_Matrix.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Arduino_LED_Matrix/src/Arduino_LED_Matrix.h b/libraries/Arduino_LED_Matrix/src/Arduino_LED_Matrix.h index b3ebfc2b0..32a199831 100644 --- a/libraries/Arduino_LED_Matrix/src/Arduino_LED_Matrix.h +++ b/libraries/Arduino_LED_Matrix/src/Arduino_LED_Matrix.h @@ -250,7 +250,7 @@ class ArduinoLEDMatrix #ifdef MATRIX_WITH_ARDUINOGRAPHICS virtual void set(int x, int y, uint8_t r, uint8_t g, uint8_t b) { - if (y >= canvasHeight || x >= canvasWidth) { + if (y >= canvasHeight || x >= canvasWidth || y < 0 || x < 0) { return; } // the r parameter is (mis)used to set the character to draw with From 2dc9b7322e5a4d8992d8aac5b4a4f03c1462b023 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Tue, 9 Jan 2024 06:51:55 +0100 Subject: [PATCH 2/3] Fixing the scrolling function allows to shot the full text. --- .../TextWithArduinoGraphics/TextWithArduinoGraphics.ino | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino b/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino index 1a13b7aef..87792a229 100644 --- a/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino +++ b/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino @@ -8,15 +8,16 @@ void setup() { Serial.begin(115200); matrix.begin(); + matrix.textScrollSpeed(50); + matrix.beginDraw(); matrix.stroke(0xFFFFFFFF); - // add some static text - // will only show "UNO" (not enough space on the display) + const char text[] = "UNO r4"; matrix.textFont(Font_4x6); matrix.beginText(0, 1, 0xFFFFFF); matrix.println(text); - matrix.endText(); + matrix.endText(SCROLL_LEFT); matrix.endDraw(); From 23a2447275dceb966d9117a48ae2fefb20285750 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Tue, 9 Jan 2024 06:56:13 +0100 Subject: [PATCH 3/3] Eliminate Serial.begin(), streamline code, reduce scroll speed. --- .../TextWithArduinoGraphics/TextWithArduinoGraphics.ino | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino b/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino index 87792a229..906e85714 100644 --- a/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino +++ b/libraries/Arduino_LED_Matrix/examples/TextWithArduinoGraphics/TextWithArduinoGraphics.ino @@ -5,23 +5,20 @@ ArduinoLEDMatrix matrix; void setup() { - Serial.begin(115200); matrix.begin(); - matrix.textScrollSpeed(50); - matrix.beginDraw(); + matrix.stroke(0xFFFFFFFF); + matrix.textScrollSpeed(100); - const char text[] = "UNO r4"; + const char text[] = " UNO r4 "; matrix.textFont(Font_4x6); matrix.beginText(0, 1, 0xFFFFFF); matrix.println(text); matrix.endText(SCROLL_LEFT); matrix.endDraw(); - - delay(2000); } void loop() {