Bitmap byte allocation

Hello,

I need to allocate bytes in bitmap for P10, HUB12 led matrix. I am using esp32 Lily go module and it is sending data to buffer of other microcontroler. The problem is when i send it just like a bitmap I get from image to cpp conversion it breaks.
Code:

#include <SPI.h>
#include <Arduino.h>
#include <Adafruit_I2CDevice.h>


#define GPIO_35 35  
#define GPIO_33 33  

static const int spiClk = 16000000; // 16 MHz
SPIClass * vspi = NULL;

byte Pac_MAN[1024]
{
// 'Pac', 128x64px
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xf0, 0x00, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xc0, 0x01, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0xff, 0xff, 0xff, 
0xff, 0xf0, 0x00, 0x01, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0xff, 0xff, 0xff, 
0xff, 0xf0, 0x00, 0xff, 0xe0, 0x00, 0x1f, 0xf8, 0x00, 0x1f, 0xf8, 0x00, 0x03, 0xff, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x78, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x78, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x78, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0x3f, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0x3f, 0xff, 
0xff, 0xf0, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xc0, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 
0x00, 0x00, 0x03, 0xc0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x78, 0x00, 0x07, 0xff, 0xff, 0xcf, 0xff, 
0x00, 0x00, 0x03, 0xff, 0xe0, 0x7f, 0xff, 0xfe, 0x00, 0x7f, 0xfe, 0x07, 0xff, 0xff, 0xcf, 0xff, 
0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x1f, 0xf8, 0x00, 0x1f, 0xfe, 0x00, 0x03, 0xff, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0xc0, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0xc0, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xc0, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 
0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xff, 0x00, 0x0f, 0xff, 
0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x0f, 0xff, 
0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x0f, 0xff, 
0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x0f, 0xff, 
0x00, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xff, 0x0f, 0xff, 
0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xcf, 0xff, 
0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xcf, 0xff, 
0x03, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xcf, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};


void setup(){ 

  vspi = new SPIClass(VSPI);  
  
  Serial.begin(115200);

  vspi->begin();
  pinMode(SS, OUTPUT);
  pinMode(GPIO_33, OUTPUT);
  pinMode(GPIO_35, INPUT);
  digitalWrite(GPIO_33, LOW);
  digitalWrite(SS, HIGH);
}

void loop(){ 

  vspi->beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE0));
  while(GPIO_35 == LOW);
  digitalWrite(GPIO_33, HIGH);
  digitalWrite(SS, LOW);
  
  vspi->write(0x02);
  vspi->write(0x00);
  vspi->write(0x00);
  
  vspi->writeBytes(Pac_MAN, 1024);


  digitalWrite(SS, HIGH);
  vspi->endTransaction();
  digitalWrite(GPIO_33, LOW);                 
  
  delay(3000);

}


Shematics for the display. First it fills RW0, then RW1, RW2, RW3

Please follow the advice given in the link below when posting code, in particular the section entitled 'Posting code and common code problems'

Use code tags (the </> icon above the compose window) to make it easier to read and copy for examination

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.