fixed nullptr dereference in example 3

This commit is contained in:
Michał Bazan 2024-09-19 04:10:51 -07:00
parent 4b3404a361
commit 268fd5ea4e
2 changed files with 14 additions and 7 deletions
examples
1_SimpleTestShapes
3_DoubleBuffer

View file

@ -108,7 +108,7 @@ void setup() {
myWHITE = dma_display->color565(255, 255, 255);
myRED = dma_display->color565(255, 0, 0);
myGREEN = dma_display->color565(0, 255, 0);
myBLUE = dma_disdisplay->color565(0, 0, 255);
myBLUE = dma_display->color565(0, 0, 255);
dma_display->fillScreen(myWHITE);

View file

@ -5,16 +5,15 @@
// Double buffering is not always required in reality.
#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#include <array>
MatrixPanel_I2S_DMA *display = nullptr;
uint16_t myDARK = display->color565(64, 64, 64);
uint16_t myWHITE = display->color565(192, 192, 192);
uint16_t myRED = display->color565(255, 0, 0);
uint16_t myGREEN = display->color565(0, 255, 0);
uint16_t myBLUE = display->color565(0, 0, 255);
constexpr std::size_t color_num = 5;
using colour_arr_t = std::array<uint16_t, color_num>;
uint16_t colours[5] = { myDARK, myWHITE, myRED, myGREEN, myBLUE };
uint16_t myDARK, myWHITE, myRED, myGREEN, myBLUE;
colour_arr_t colours;
struct Square
{
@ -45,6 +44,14 @@ void setup()
display = new MatrixPanel_I2S_DMA(mxconfig);
display->begin(); // setup display with pins as pre-defined in the library
myDARK = display->color565(64, 64, 64);
myWHITE = display->color565(192, 192, 192);
myRED = display->color565(255, 0, 0);
myGREEN = display->color565(0, 255, 0);
myBLUE = display->color565(0, 0, 255);
colours = {{ myDARK, myWHITE, myRED, myGREEN, myBLUE }};
// Create some random squares
for (int i = 0; i < numSquares; i++)
{