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);
}