Fehler beim Kompilieren für das Board Generic ESP8266 -PxMatrix -SPI fehler

Hallo,

ich wollte mit dem ESP8266 ein 64x32 RGB Panel ansteuern. Dafür habe ich im Internet die Bibliothek von PxMatrix heruntergeladen und alles so wie in der Anleitung ausgeführt.

Nun kommt der Fehler:
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
Ich habe schon einige dinge versucht aber nie weiter gekommen, nun hoffe ich das irgendjemand von euch weiter weiß.
Ich füge das Programm und die Fehler Meldung unter diesen Text. Ich bedanke mich jetzt schon einmal für eure Hilfe.
Gruß Eric

Das Programm:

#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>


#include <PxMatrix.h>

#ifdef ESP32

#define P_LAT 22
#define P_A 19
#define P_B 23
#define P_C 18
#define P_D 5
#define P_E 15
#define P_OE 2
hw_timer_t * timer = NULL;
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;

#endif

#ifdef ESP8266

#include <Ticker.h>
Ticker display_ticker;
#define P_LAT 16
#define P_A 5
#define P_B 4
#define P_C 15
#define P_D 12
#define P_E 0
#define P_OE 2

#endif
// Pins for LED MATRIX

#define matrix_width 32
#define matrix_height 16

// This defines the 'on' time of the display is us. The larger this number,
// the brighter the display. If too large the ESP will crash
uint8_t display_draw_time=10; //10-50 is usually fine

PxMATRIX display(matrix_width,matrix_height,P_LAT, P_OE,P_A,P_B,P_C);
//PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
//PxMATRIX display(64,64,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);

// Some standard colors
uint16_t myRED = display.color565(255, 0, 0);
uint16_t myGREEN = display.color565(0, 255, 0);
uint16_t myBLUE = display.color565(0, 0, 255);
uint16_t myWHITE = display.color565(255, 255, 255);
uint16_t myYELLOW = display.color565(255, 255, 0);
uint16_t myCYAN = display.color565(0, 255, 255);
uint16_t myMAGENTA = display.color565(255, 0, 255);
uint16_t myBLACK = display.color565(0, 0, 0);

uint16_t myCOLORS[8]={myRED,myGREEN,myBLUE,myWHITE,myYELLOW,myCYAN,myMAGENTA,myBLACK};

uint8_t static weather_icons[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0
,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0xff,0xe0,0xff,0xe0,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xdf,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,,0x00,0x20,0x00,0x00,0x00
,0x00,0x00,0xff,0xe0,0x00,0x00,0xff,0xe0,0xff,0xe0,0xff,0xe0,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xdf,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0xff,0xe0,0x00,0x20,0x00,0x00,0x07,0xdf,0x07,0xdf,0x07
,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0xff,0xe0,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xdf,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x07,0xff,0x00,0x20,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0xff,0xe0,0xff,0xe0,0xff,0xe0,0x00,0x00,0xff,0xe0,0xff,0xe0,0x07,0xdf,0x07,0xdf,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00
,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0xff,0xe0,0x07,0xff,0x07,0xff,0x07
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xdf,0x07,0xdf,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x07
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xff,0x07,0xff,0x07,0xff,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

#ifdef ESP8266
// ISR for display refresh
void display_updater()
{
display.display(display_draw_time);
}
#endif

#ifdef ESP32
void IRAM_ATTR display_updater(){
// Increment the counter and set the time of ISR
portENTER_CRITICAL_ISR(&timerMux);
display.display(display_draw_time);
portEXIT_CRITICAL_ISR(&timerMux);
}
#endif


void display_update_enable(bool is_enable)
{

#ifdef ESP8266
if (is_enable)
  display_ticker.attach(0.002, display_updater);
else
  display_ticker.detach();
#endif

#ifdef ESP32
if (is_enable)
{
  timer = timerBegin(0, 80, true);
  timerAttachInterrupt(timer, &display_updater, true);
  timerAlarmWrite(timer, 2000, true);
  timerAlarmEnable(timer);
}
else
{
  timerDetachInterrupt(timer);
  timerAlarmDisable(timer);
}
#endif
}



void setup() {
Serial.begin(9600);
// Define your display layout here, e.g. 1/8 step
display.begin(8);

// Define your scan pattern here {LINE, ZIGZAG, ZAGGIZ, WZAGZIG, VZAG} (default is LINE)
//display.setScanPattern(LINE);

// Define multiplex implemention here {BINARY, STRAIGHT} (default is BINARY)
//display.setMuxPattern(BINARY);

display.setFastUpdate(true);
display.clearDisplay();
display.setTextColor(myCYAN);
display.setCursor(2,0);
display.print("Pixel");
display.setTextColor(myMAGENTA);
display.setCursor(2,8);
display.print("Time");
display_update_enable(true);

delay(3000);

}
union single_double{
uint8_t two[2];
uint16_t one;
} this_single_double;

// This draws the weather icons
void draw_weather_icon (uint8_t icon)
{
if (icon>10)
icon=10;
for (int yy=0; yy<10;yy++)
{
  for (int xx=0; xx<10;xx++)
  {
    uint16_t byte_pos=(xx+icon*10)*2+yy*220;
    this_single_double.two[1]=weather_icons[byte_pos];
    this_single_double.two[0]=weather_icons[byte_pos+1];
    display.drawPixel(1+xx,yy,this_single_double.one);
  }
}
}

unsigned long last_draw=0;
void scroll_text(uint8_t ypos, unsigned long scroll_delay, String text, uint8_t colorR, uint8_t colorG, uint8_t colorB)
{
  uint16_t text_length = text.length();
  display.setTextWrap(false);  // we don't wrap text so it scrolls nicely
  display.setTextSize(1);
  display.setRotation(0);
  display.setTextColor(display.color565(colorR,colorG,colorB));

  // Asuming 5 pixel average character width
  for (int xpos=matrix_width; xpos>-(matrix_width+text_length*5); xpos--)
  {
    display.setTextColor(display.color565(colorR,colorG,colorB));
    display.clearDisplay();
    display.setCursor(xpos,ypos);
    display.println(text);
    delay(scroll_delay);
    yield();

    // This might smooth the transition a bit if we go slow
    // display.setTextColor(display.color565(colorR/4,colorG/4,colorB/4));
    // display.setCursor(xpos-1,ypos);
    // display.println(text);

    delay(scroll_delay/5);
    yield();

  }
}

uint8_t icon_index=0;
void loop() {
scroll_text(1,50,"Welcome to PxMatrix!",96,96,250);
display.clearDisplay();

draw_weather_icon(icon_index);
icon_index++;
if (icon_index>10)
  icon_index=0;

for (int xx=0; xx<16;xx++)
{
  display.drawLine(xx+16,0,xx+16,5,display.color565(xx*16,0,0));
  display.drawLine(xx+16,6,xx+16,10,display.color565(0,xx*16,0));
  display.drawLine(xx+16,11,xx+16,15,display.color565(0,0,xx*16));
}
for (uint8_t dimm=255; dimm>0; dimm--)
{
  display.setBrightness(dimm);
  delay(5);
}
for (uint8_t dimm=0; dimm<255; dimm++)
{
  display.setBrightness(dimm);
  delay(5);
}


}

Setze deinen Sketch bitte in Code-Tags, dann können den auch alle vernünftig lesen.
Das kannst du noch nachträglich machen. Dazu die Schaltfläche </> oben links im Editorfenster verwenden.

Ach und wo ist die Fehlermeldung ?
Setze die bitte gleich in Code-Tags.

Fehlermeldung als Bild ist Quatsch.
Ich kann es leider nicht öffnen.

HotSystems:
Ich kann es leider nicht öffnen.

Danke agmue.
Der TO hat wohl kein Interesse an weiterer Hilfe.

HotSystems:
Danke agmue.

Bitte gerne :slight_smile:

HotSystems:
Der TO hat wohl kein Interesse an weiterer Hilfe.

Eher zu viele schnelle Antworten, damit hat er wohl nicht gerechnet :wink:

HotSystems:
Danke agmue.
Der TO hat wohl kein Interesse an weiterer Hilfe.

Hallo,
ich habe natürlich Interesse an weiterer Hilfe!! Aber habe nicht gedacht das hier so schnell geantwortet wird, dacht das bräuchte ein paar Tage.
Und sorry das dass ganze hier so ein durcheinander ist, ich bin noch nicht ganz vertraut mit den Funktionen...

Manche
Libs beim ESP funktionieren nur mit bestimmten Core Versionen. Wechsel doch mal auf eine niedrigere bzw. höhere, je nachdem, was du installiert hast.

Testen am besten mit unveränderten Beispielen der Lib.

eric_208:
Hallo,
ich habe natürlich Interesse an weiterer Hilfe!! Aber habe nicht gedacht das hier so schnell geantwortet wird, dacht das bräuchte ein paar Tage.
Und sorry das dass ganze hier so ein durcheinander ist, ich bin noch nicht ganz vertraut mit den Funktionen...

Und warum postest du deine Fehlermeldung nicht so, das man die ordentlich lesen kann ?
Hatte ich schon geschrieben.

HotSystems:
Und warum postest du deine Fehlermeldung nicht so, das man die ordentlich lesen kann ?
Hatte ich schon geschrieben.

Hallo,
da ich leider mehr als 9000 Zeichen habe, sonst hätte ich die Fehlermeldung natürlich auch nicht als Bild hochgeladen :wink:

Gruß Eric