aboutsummaryrefslogtreecommitdiff
path: root/examples/1_SimpleTestShapes
diff options
context:
space:
mode:
authormrfaptastic <12006953+mrfaptastic@users.noreply.github.com>2021-02-10 15:49:19 +0000
committermrfaptastic <12006953+mrfaptastic@users.noreply.github.com>2021-02-10 15:49:19 +0000
commit0749fa41932cc163a46801c1c1d6d2a309e8f273 (patch)
tree396fd65acebf24c2335399039819485dc930ead1 /examples/1_SimpleTestShapes
parent6ea2280ff3af21828974832402270ce54e52c5cc (diff)
Update to 2.0.0
Also known as the @vortigont release! Hooray!
Diffstat (limited to 'examples/1_SimpleTestShapes')
-rw-r--r--examples/1_SimpleTestShapes/1_SimpleTestShapes.ino130
1 files changed, 130 insertions, 0 deletions
diff --git a/examples/1_SimpleTestShapes/1_SimpleTestShapes.ino b/examples/1_SimpleTestShapes/1_SimpleTestShapes.ino
new file mode 100644
index 0000000..80f2236
--- /dev/null
+++ b/examples/1_SimpleTestShapes/1_SimpleTestShapes.ino
@@ -0,0 +1,130 @@
+// Example sketch which shows how to display some patterns
+// on a 64x32 LED matrix
+//
+
+#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
+
+/*
+ * Below is an example of the 'legacy' way of initialising the MatrixPanel_I2S_DMA class.
+ * i.e. Matrix Width and Height will need to be confirmed as compile-time directives.
+ * By default the library assumes a single 64x32 pixel panel is connected.
+ *
+ * Refer to the example '2_PatternPlasma' on the new / correct way to setup this library
+ * for different resolutions / panel chain lengths.
+ *
+ */
+ MatrixPanel_I2S_DMA dma_display;
+
+ // Or use an Alternative non-DMA library, i.e:
+ //#include <P3RGB64x32MatrixPanel.h>
+ //P3RGB64x32MatrixPanel display;
+
+
+void setup() {
+
+
+ Serial.begin(115200);
+
+ Serial.println("*****************************************************");
+ Serial.println(" HELLO !");
+ Serial.println("*****************************************************");
+
+ dma_display.begin(); // use default pins
+
+ // draw a pixel in solid white
+ dma_display.drawPixel(0, 0, dma_display.color444(15, 15, 15));
+ delay(500);
+
+ // fix the screen with green
+ dma_display.fillRect(0, 0, dma_display.width(), dma_display.height(), dma_display.color444(0, 15, 0));
+ delay(500);
+
+ // draw a box in yellow
+ dma_display.drawRect(0, 0, dma_display.width(), dma_display.height(), dma_display.color444(15, 15, 0));
+ delay(500);
+
+ // draw an 'X' in red
+ dma_display.drawLine(0, 0, dma_display.width()-1, dma_display.height()-1, dma_display.color444(15, 0, 0));
+ dma_display.drawLine(dma_display.width()-1, 0, 0, dma_display.height()-1, dma_display.color444(15, 0, 0));
+ delay(500);
+
+ // draw a blue circle
+ dma_display.drawCircle(10, 10, 10, dma_display.color444(0, 0, 15));
+ delay(500);
+
+ // fill a violet circle
+ dma_display.fillCircle(40, 21, 10, dma_display.color444(15, 0, 15));
+ delay(500);
+
+ // fill the screen with 'black'
+ dma_display.fillScreen(dma_display.color444(0, 0, 0));
+
+
+ // draw some text!
+ dma_display.setTextSize(1); // size 1 == 8 pixels high
+ dma_display.setTextWrap(false); // Don't wrap at end of line - will do ourselves
+
+ dma_display.setCursor(5, 0); // start at top left, with 8 pixel of spacing
+ uint8_t w = 0;
+ char *str = "ESP32 DMA";
+ for (w=0; w<9; w++) {
+ dma_display.setTextColor(dma_display.color565(255, 0, 255));
+ dma_display.print(str[w]);
+ }
+
+ dma_display.println();
+ for (w=9; w<18; w++) {
+ dma_display.setTextColor(Wheel(w));
+ dma_display.print(str[w]);
+ }
+ dma_display.println();
+ //dma_display.setTextColor(dma_display.Color333(4,4,4));
+ //dma_display.println("Industries");
+ dma_display.setTextColor(dma_display.color444(15,15,15));
+ dma_display.println("LED MATRIX!");
+
+ // print each letter with a rainbow color
+ dma_display.setTextColor(dma_display.color444(0,8,15));
+ dma_display.print('3');
+ dma_display.setTextColor(dma_display.color444(15,4,0));
+ dma_display.print('2');
+ dma_display.setTextColor(dma_display.color444(15,15,0));
+ dma_display.print('x');
+ dma_display.setTextColor(dma_display.color444(8,15,0));
+ dma_display.print('6');
+ dma_display.setTextColor(dma_display.color444(8,0,15));
+ dma_display.print('4');
+
+ // Jump a half character
+ dma_display.setCursor(34, 24);
+ dma_display.setTextColor(dma_display.color444(0,15,15));
+ dma_display.print("*");
+ dma_display.setTextColor(dma_display.color444(15,0,0));
+ dma_display.print('R');
+ dma_display.setTextColor(dma_display.color444(0,15,0));
+ dma_display.print('G');
+ dma_display.setTextColor(dma_display.color444(0,0,15));
+ dma_display.print("B");
+ dma_display.setTextColor(dma_display.color444(15,0,8));
+ dma_display.println("*");
+
+}
+
+void loop() {
+ // do nothing
+}
+
+
+// Input a value 0 to 24 to get a color value.
+// The colours are a transition r - g - b - back to r.
+uint16_t Wheel(byte WheelPos) {
+ if(WheelPos < 8) {
+ return dma_display.color444(15 - WheelPos*2, WheelPos*2, 0);
+ } else if(WheelPos < 16) {
+ WheelPos -= 8;
+ return dma_display.color444(0, 15-WheelPos*2, WheelPos*2);
+ } else {
+ WheelPos -= 16;
+ return dma_display.color444(0, WheelPos*2, 7 - WheelPos*2);
+ }
+}