From 98d89c7d61626628d49c63dcca7f121065ceab03 Mon Sep 17 00:00:00 2001 From: mrfaptastic <12006953+mrfaptastic@users.noreply.github.com> Date: Mon, 31 Aug 2020 20:13:18 +0100 Subject: [PATCH] New example for Glediator3 --- .../Glediator3_TPM2_MatrixPanel.ino | 50 +++++++++++++++++++ .../Glediator3_TPM2_MatrixPanel/README.md | 9 ++++ 2 files changed, 59 insertions(+) create mode 100644 examples/Glediator3_TPM2_MatrixPanel/Glediator3_TPM2_MatrixPanel.ino create mode 100644 examples/Glediator3_TPM2_MatrixPanel/README.md diff --git a/examples/Glediator3_TPM2_MatrixPanel/Glediator3_TPM2_MatrixPanel.ino b/examples/Glediator3_TPM2_MatrixPanel/Glediator3_TPM2_MatrixPanel.ino new file mode 100644 index 0000000..e44a8f7 --- /dev/null +++ b/examples/Glediator3_TPM2_MatrixPanel/Glediator3_TPM2_MatrixPanel.ino @@ -0,0 +1,50 @@ +/* -------------------------- Class Initialisation -------------------------- */ +#include +RGB64x32MatrixPanel_I2S_DMA matrix; + +#include "TPM2.h" // https://github.com/rstephan/TPM2 + +#define NO_OF_LEDS MATRIX_WIDTH*MATRIX_HEIGHT +bool led_off = true; +uint8_t buffer[NO_OF_LEDS * 3]; +// uint8_t buffer[NO_OF_LEDS * 3]; tpm2 lite +TPM2 tpm2Driver(&Serial, buffer, sizeof(buffer)); + + +void CallbackRx(uint8_t* data, uint16_t len) +{ + uint16_t pixel; + + for (int y = 0; y < MATRIX_HEIGHT; y++) + { + for (int x = 0; x < MATRIX_WIDTH; x++) + { + pixel = (y * MATRIX_WIDTH) + x; + pixel *= 3; + + matrix.drawPixelRGB888(x, y, data[pixel], data[pixel+1], data[pixel+2]); + + //matrix.drawPixelRGB565(x, y, (((uint16_t)data[pixel+1] << 8) | data[pixel])); // tpm2 light + + } // end x + } // end row + +} + + + +void setup() +{ + // Setup serial interface + Serial.begin(1250000); + delay(250); + + tpm2Driver.registerRxData(CallbackRx); + + matrix.begin(); // setup the LED matrix +} + +void loop() +{ + tpm2Driver.update(); +} \ No newline at end of file diff --git a/examples/Glediator3_TPM2_MatrixPanel/README.md b/examples/Glediator3_TPM2_MatrixPanel/README.md new file mode 100644 index 0000000..7836b9d --- /dev/null +++ b/examples/Glediator3_TPM2_MatrixPanel/README.md @@ -0,0 +1,9 @@ +# Glediator3_TPM2_MatrixPanel +An example of controlling an LED Matrix panel using desktop software via. the serial TPM2 protocol. + +# How to use +Install the TPM2 library: https://github.com/rstephan/TPM2 + +# Then get Glediator3 running on your computer, and connect to the LED Matrix device via. Serial Port. + +Refer to: https://github.com/mrfaptastic/Glediator3 \ No newline at end of file