Probleme mit oled ssd1327 128 X 128 Px

Hallo ich benutze die Bibliothek von U8g2 und Bislang ein Oled Display SSD1306 128x64 erfolgreich (4 Pins Gnd,VCC,SCL,SDA).
Da mir nun der Platz ausgegangen ist war der plan dieses (einfach) durch ein größeres zu Tauschen (auch 4 Pins selbe Belegung) SSD1327 128X128.
Mein ursprünglicher Plan also das alte raus das neue rein und die 13. Zeile im Code dementsprechend verändern.
So weit so so gut klappt nur nicht habe alle in den Beispielen verwendeten Zeilen mit SSD1327 versucht und nicht eine klappt. Hat für dieses Problem jemand eine Lösung parat?

#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include "DS3231.h"           //RTC
#include <Arduino.h>          //oled
#include <U8x8lib.h>          //oled
#ifdef U8X8_HAVE_HW_SPI       //oled
#include <SPI.h>              //oled
#endif                        //oled
#ifdef U8X8_HAVE_HW_I2C       //oled
#include <Wire.h>             //oled
#endif                        //oled
RTClib RTC;                   //RTC
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display   //oled
//----------------------------------------------------------------Variablen fürs Empfangen
WiFiUDP Udp;
char packetBuffer[255];
unsigned int localPort = Möp;
const char * ssid = "sag ich nicht";
const char * password = "geht dich nix an";
int packetSize = 0;
int len = 0;
int Empf = 0;
//-----------------------------------------------------------------Buttons
int But = 0;
int Oledw = 0;
//-----------------------------------------------------------------Variablen fürs Senden

//-----------------------------------------------------------------Variablen für die Logik
float Temp = 0;
float Hum = 0;
float Tempa = 0;
float Mag = 0;
float Dach = 0;
float Zus = 0;
float MaxTemp = 0;
float MinTemp = 100;
float MaxHum = 0;
float MinHum = 100;
//-----------------------------------------------------------------Logik Led
int Blau = D5;
int Grun = D7;
int Rot = D6;
int DachLED = D8;

void setup() {
  Serial.begin(115200);
  WiFi.softAP(ssid, password);
  Udp.begin(localPort);
  u8x8.begin();               //oled
  Wire.begin();               //RTC  
  digitalWrite(Blau, LOW);    //LED
  digitalWrite(Grun, LOW);    //LED
  digitalWrite(Rot, LOW);     //LED
  pinMode(Blau, OUTPUT);      //LED
  pinMode(Grun, OUTPUT);      //LED
  pinMode(Rot, OUTPUT);       //LED
  pinMode(DachLED, OUTPUT);   //LED
}
void loop() {
  Empfangen();
  Zerlegen();
  Logik();
  Logik_LED();
  Senden();
  Oled();
  Pc();
}

void Empfangen(){
packetSize = Udp.parsePacket();
   if (packetSize) {
    len = Udp.read(packetBuffer, 255);
    if (len > 0) packetBuffer[len-1] = 0;
    Empf = len;
   }
}
void Zerlegen(){
  if (Empf > 0){
    Temp = atof(strtok(packetBuffer, "!"));
    Hum = atof(strtok(NULL, "!"));
    Tempa = atof(strtok(NULL, "!"));
    Mag = atof(strtok(NULL, "!"));
    Dach = atof(strtok(NULL, "!"));  
  }
}
void Logik(){
  if (Empf > 0){
    But = analogRead(A0);        //Button auslesen  
    if ((Dach == 0)&&(Temp > 12)&&(Tempa > 12)){
      Zus = 1;
    }
    else if ((Dach == 1)&&(Temp > 16)&&(Tempa > 12)){
      Zus = 2;
    }
    else if ((Dach == 2)&&(Temp > 20)&&(Tempa > 12)){
      Zus = 3;
    }
    else if ((Temp < 12)||(Tempa < 12)){
      Zus = 0; 
    }
    else if ((But > 500)&&(But < 510)){
      Zus = 6;
    }
    else if ((But > 728)&&(But < 755)){
      Zus = 7;
    }
    else {
      Zus = 5;
    }
//-----------------------------------------------------Max-Min    
  if (MaxTemp < Temp){
    MaxTemp = Temp;   
  }
  if (MinTemp > Temp){
    MinTemp = Temp;
  }
  if (MaxHum < Hum){
    MaxHum = Hum;   
  }
  if (MinHum > Hum){
    MinHum = Hum;
  }
  if ((But > 140)&&(But < 165)){
     MinHum = Hum;
     MaxHum = Hum;
     MinTemp = Temp;
     MaxTemp = Temp;
  }
  Serial.println(But);
//-----------------------------------------------------Oled wechsel
  if ((But > 250)&&(But < 270)){
    Oledw ++;
    if (Oledw > 1){
      Oledw = 0;
    }
  }
  }
}
void Logik_LED(){
  if (Empf > 0){
    if (Mag == 1){
      digitalWrite(DachLED, HIGH);
    }
    if (Mag == 2){
      digitalWrite(DachLED, LOW);
    }
    if (Temp < 10) {
      digitalWrite(Blau, HIGH);
      digitalWrite(Grun, LOW);
      digitalWrite(Rot, LOW);
    }
    if ((Temp > 10) && (Temp < 27)) {
      digitalWrite(Grun, HIGH);
      digitalWrite(Blau, LOW);
      digitalWrite(Rot, LOW);
    }
    if (Temp > 28) {
      digitalWrite(Rot, HIGH);
      digitalWrite(Grun, LOW);
      digitalWrite(Blau, LOW);
    }  
  }
}
void Senden(){
  if (Empf > 0){
   char zust[2];
   dtostrf(Zus, 1, 0, zust);

    Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());
    Udp.write(zust);
    Udp.write("!");
    Udp.write("\r\n");
    Udp.endPacket(); 
  }
}
void Oled(){
  if (Empf > 0){  
    if (Oledw == 0){
      DateTime now = RTC.now(); //-----------------------------------RTC
      u8x8.setFont(u8x8_font_amstrad_cpc_extended_f);    
      u8x8.clear();
//      u8x8.draw2x2String(0, 1, "Sensor 1");
      u8x8.setCursor(0,0);
      u8x8.print("  Max  ");
      u8x8.print("  Min");
      u8x8.setCursor(0,2);
      u8x8.print(MaxTemp);
      u8x8.print("C ");
      u8x8.print(MinTemp);
      u8x8.print("C");
      u8x8.setCursor(0,4);
      u8x8.print(Temp);
      u8x8.print("C ");
      u8x8.print(Hum);
      u8x8.print("%");
      u8x8.setCursor(0,6);            //RTC
      u8x8.print(now.day(), DEC);     //RTC
      u8x8.print('/');                //RTC
      u8x8.print(now.month(), DEC);   //RTC
//    u8x8.print('/');              //RTC
//    u8x8.print(now.year(), DEC);  //RTC
      u8x8.print(' ');                //RTC
      u8x8.print(now.hour(), DEC);    //RTC
      u8x8.print(':');                //RTC
      u8x8.print(now.minute(), DEC);  //RTC
      u8x8.print(':');                //RTC
      u8x8.print(now.second(), DEC);  //RTC  
    }
    if (Oledw == 1){
      u8x8.clear();
      u8x8.setCursor(0,0);
      u8x8.print("  Max  |  Min");      
      u8x8.setCursor(0,2);
      u8x8.print(MaxTemp);
      u8x8.print("C | ");
      u8x8.print(MinTemp);
      u8x8.print("C");
      u8x8.setCursor(0,4);
      u8x8.print(MaxHum);
      u8x8.print("% | ");
      u8x8.print(MinHum);
      u8x8.print("%");
    }
  }
}
void Pc() {
  if (Empf > 0){
    DateTime now = RTC.now(); //-----------------------------------RTC
    Serial.println("--------------------------------------------------");
    Serial.println("Empfangen(IP/Size/Data): ");
    Serial.print(Udp.remoteIP());Serial.print(" / ");
    Serial.print(Udp.remotePort());Serial.print(" / ");
    Serial.print(packetSize);Serial.print(" / ");
    Serial.println(packetBuffer);
    Serial.print("Temp:");Serial.println(Temp);
    Serial.print("Hum:");Serial.println(Hum);
    Serial.print("Tempa:");Serial.println(Tempa);
    Serial.print("Mag:");Serial.println(Mag);
    Serial.print("Dach:");Serial.println(Dach);
    Serial.print("Zustand Lüftung:");Serial.println(Zus);    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.println(now.second(), DEC);
    Serial.println("--------------------------------------------------");
    Empf = 0;    
    
delay(2500);
}
}

Hallo,

Treiber ist bei mir

U8G2_SSD1327_EA_W128128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

falls Du nicht ein völlig anderes OLED hast. Zumindest läuft meins damit.

Gruß aus Berlin
Michael

Gaertner90:
Hat für dieses Problem jemand eine Lösung parat?

Wahrscheinlich nicht die, die Du Dir erhoffst: Schreib' Dir Deine Bibliothek selbst. Sprich: Finde heraus, wie das Display initialisiert wird und wie man ein einzelnes Pixel gezielt und zuverlässig an- und ausmacht (und natürlich anzeigt).

Wenn Du das hast (was meiner Erfahrung nach mit einem SSD1306-getriebenen 128x64 Pixel-Display nicht schwer ist), ist der Rest ein Klacks - quasi pure Fleißarbeit. Wenn es hilft, kann ich meine Bibliothek zur Verfügung stellen.

Ansonsten zum Code: Als ich den mal kurz durchgescrollt habe, dachte ich zunächst, dass Du das aber hübsch formatiert hast. Womöglich hast Du irgendwann mal Strg-T benutzt.

Aber als ich zum Schluss

...
}
}

gesehen habe, spürte ich schon den Pickel, der wachsen wollte :slight_smile:

Und die #include-#ifdef-Orgie am Anfang Deines Sketches kannst Du mit meiner Bibliothek auf

#include <gSSD1306.h>
gSSD1306 d; // I2C-OLED-Display

eindampfen.

Gruß

Gregor

Super die Codezeile hat geklappt musste nur von U8X8 auf U8g2 umsteigen aber schon bahnt sich ein neues Problem an. Er stürzt immer wieder ab und bring mir diese Fehlermeldung:

Soft WDT reset

ctx: cont 
sp: 3fff0090 end: 3fff0430 offset: 01b0

>>>stack>>>
3fff0240:  0000000b 00000000 00000000 3ffeeb50  
3fff0250:  3ffeeb69 00000000 00000004 40202388  
3fff0260:  00000019 00000001 3ffeeb57 402024d2  
3fff0270:  0000003c 00000001 3ffeeb52 402024e9  
3fff0280:  0000003c 00000000 00000000 00000030  
3fff0290:  00000018 3ffef394 3ffeeb4d 40205ef8  
3fff02a0:  3fff0380 3ffef394 3ffeea7c 40205f20  
3fff02b0:  0000000b 00000033 3ffeea7c 402060db  
3fff02c0:  00000018 3ffef394 3ffeea7c 40204408  
3fff02d0:  09b70f33 3ffef394 3ffeea7c 402018a0  
3fff02e0:  00000018 00000020 3ffeea7c 4020199d  
3fff02f0:  3ffef394 00000000 00000000 3fff0380  
3fff0300:  3fff0380 00000001 3ffeea7c 40204451  
3fff0310:  350b7308 00000000 3fff037f 40201b06  
3fff0320:  00000004 00000000 00000010 3ffef2f4  
3fff0330:  00000000 0000000a 3ffeea74 402045ed  
3fff0340:  3fff037f 3ffeea7c 00000005 00000001  
3fff0350:  0000000e 0000000f 3ffeea7c 40201b70  
3fff0360:  00000007 0000000a 00000003 00000000  
3fff0370:  0000000e 0000000e 3ffeea7c 402044b0  
3fff0380:  3ffef294 000e0010 3ffe88a4 0000003a  
3fff0390:  00000009 00000046 3ffeea7c 40201060  
3fff03a0:  00000010 00000010 00000001 3ffee948  
3fff03b0:  3ffeea7c 00000000 3ffeea74 3ffee948  
3fff03c0:  3ffeea7c 00000000 3ffeea7c 402010ec  
3fff03d0:  3ffeea7c 00000000 3ffeea74 40204bc9  
3fff03e0:  15180ad0 00000727 3ffeea5c 402050a9  
3fff03f0:  401071c0 0a04a8c0 3ffe0035 3ffef400  
3fff0400:  3fffdad0 00000000 3ffef3f8 402050cc  
3fff0410:  3fffdad0 00000000 3ffef3f8 402068a0  
3fff0420:  feefeffe feefeffe 3ffef410 40100710  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v614f7c32
~ld
4

Soft WDT reset

ctx: cont 
sp: 3fff00a0 end: 3fff0430 offset: 01b0

>>>stack>>>
3fff0250:  3ffeeb59 00000000 00000000 3ffeeb50  
3fff0260:  3ffeeb52 00000100 00000003 40202388  
3fff0270:  00000002 00000001 00000004 402024b8  
3fff0280:  0000003c 00000000 00000000 00000018  
3fff0290:  00000008 3ffef3ac 3ffeeb4d 0000001c  
3fff02a0:  3fff0380 0000001c 3ffeeb4d 40205ef8  
3fff02b0:  0000000b 0000001c 3ffeea7c 40205f20  
3fff02c0:  00000008 3ffef3ac 3ffeea7c 402060db  
3fff02d0:  1236001c 0000001c 3ffeea7c 40204408  
3fff02e0:  00000018 00000008 3ffeea7c 4020198e  
3fff02f0:  3ffef394 00000000 00000000 3fff0380  
3fff0300:  3fff0380 00000001 3ffeea7c 40204439  
3fff0310:  350b7308 00000001 3fff037f 40201aa9  
3fff0320:  00000009 00000000 00000010 3ffef1cc  
3fff0330:  00000000 0000000a 3ffeea74 402045ed  
3fff0340:  3fff037e 3ffeea7c 00000005 00000001  
3fff0350:  0000000c 0000000f 3ffeea7c 40201b70  
3fff0360:  00000007 0000000a 00000003 00000000  
3fff0370:  0000000c 0000000c 3ffeea7c 402044b0  
3fff0380:  3ffef194 000c0010 3ffe88a4 0000003a  
3fff0390:  00000009 00000046 3ffeea7c 40201060  
3fff03a0:  00000010 00000010 00000001 3ffee948  
3fff03b0:  3ffeea7c 00000000 3ffeea74 3ffee948  
3fff03c0:  3ffeea7c 00000000 3ffeea7c 402010ec  
3fff03d0:  3ffeea7c 00000000 3ffeea74 40204bc9  
3fff03e0:  15180ad0 00001027 3ffeea5c 402050a9  
3fff03f0:  401071c0 0a04a8c0 3ffe0035 3ffef400  
3fff0400:  3fffdad0 00000000 3ffef3f8 402050cc  
3fff0410:  3fffdad0 00000000 3ffef3f8 402068a0  
3fff0420:  feefeffe feefeffe 3ffef410 40100710  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v614f7c32
~ld
4

Soft WDT reset

ctx: cont 
sp: 3fff00a0 end: 3fff0430 offset: 01b0

>>>stack>>>
3fff0250:  3ffeeb59 00000000 00000000 3ffeeb50  
3fff0260:  3ffeeb52 000001c0 00000005 40202388  
3fff0270:  00000002 00000001 00000004 402024b8  
3fff0280:  0000003c 00000000 00000000 0000003c  
3fff0290:  00000008 3ffef3ac 3ffeeb4d 00000000  
3fff02a0:  3fff0380 00000015 3ffeeb4d 40205ef8  
3fff02b0:  0000000b 00000015 3ffeea7c 40205f20  
3fff02c0:  00000008 3ffef3ac 3ffeea7c 402060db  
3fff02d0:  b8123415 00000015 3ffeea7c 40204408  
3fff02e0:  00000018 00000008 3ffeea7c 4020198e  
3fff02f0:  3ffef394 00000000 00000000 3fff0380  
3fff0300:  3fff0380 00000001 3ffeea7c 40204421  
3fff0310:  350b7308 00000001 3fff037f 40201aa2  
3fff0320:  00000010 00000000 00000010 3ffef094  
3fff0330:  00000000 0000000a 3ffeea74 402045ed  
3fff0340:  3fff037e 3ffeea7c 00000005 00000001  
3fff0350:  0000000a 0000000f 3ffeea7c 40201b70  
3fff0360:  00000007 0000000a 00000003 00000000  
3fff0370:  0000000a 0000000a 3ffeea7c 402044b0  
3fff0380:  3ffef094 000a0010 3ffe88a4 0000003a  
3fff0390:  00000009 00000046 3ffeea7c 40201060  
3fff03a0:  00000010 00000010 00000001 3ffee948  
3fff03b0:  3ffeea7c 00000000 3ffeea74 3ffee948  
3fff03c0:  3ffeea7c 00000000 3ffeea7c 402010ec  
3fff03d0:  3ffeea7c 00000000 3ffeea74 40204bc9  
3fff03e0:  15180ad0 00001827 3ffeea5c 402050a9  
3fff03f0:  401071c0 0a04a8c0 3ffe0035 3ffef400  
3fff0400:  3fffdad0 00000000 3ffef3f8 402050cc  
3fff0410:  3fffdad0 00000000 3ffef3f8 402068a0  
3fff0420:  feefeffe feefeffe 3ffef410 40100710  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v614f7c32
~ld

Installiere Dir mal den Exceptiondecoder für ESP.

Gruß Tommy

Post zu lange deswegen der 2te
[/code]
ich habe im Coder diverse Pausen verteilt weil ich dachte er braucht evtl. zum verarbeiten zu lange

#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include "DS3231.h"           //RTC
#include <Arduino.h>          //oled
#include <U8g2lib.h>          //oled
#ifdef U8X8_HAVE_HW_SPI       //oled
#include <SPI.h>              //oled
#endif                        //oled
#ifdef U8X8_HAVE_HW_I2C       //oled
#include <Wire.h>             //oled
#endif                        //oled
RTClib RTC;                   //RTC
U8G2_SSD1327_EA_W128128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//----------------------------------------------------------------Variablen fürs Empfangen
WiFiUDP Udp;
char packetBuffer[255];
unsigned int localPort = 9999;
const char * ssid = "KabelBox-9FA0";
const char * password = "96632310457798212270";
int packetSize = 0;
int len = 0;
int Empf = 0;
//-----------------------------------------------------------------Buttons
int But = 0;
int Oledw = 0;
//-----------------------------------------------------------------Variablen fürs Senden

//-----------------------------------------------------------------Variablen für die Logik
float Temp = 0;
float Hum = 0;
float Tempa = 0;
float Mag = 0;
float Dach = 0;
float Zus = 0;
float MaxTemp = 0;
float MinTemp = 100;
float MaxHum = 0;
float MinHum = 100;
//-----------------------------------------------------------------Logik Led
int Blau = D5;
int Grun = D7;
int Rot = D6;
int DachLED = D8;

void setup() {
  Serial.begin(115200);
  WiFi.softAP(ssid, password);
  Udp.begin(localPort);
  u8g2.begin();               //oled
  Wire.begin();               //RTC  
  digitalWrite(Blau, LOW);    //LED
  digitalWrite(Grun, LOW);    //LED
  digitalWrite(Rot, LOW);     //LED
  pinMode(Blau, OUTPUT);      //LED
  pinMode(Grun, OUTPUT);      //LED
  pinMode(Rot, OUTPUT);       //LED
  pinMode(DachLED, OUTPUT);   //LED
}
void loop() {
  Empfangen();
  Zerlegen();
  Logik();
  Logik_LED();
  Senden();
  Oled();
  Pc();
}

void Empfangen(){
packetSize = Udp.parsePacket();
   if (packetSize) {
    len = Udp.read(packetBuffer, 255);
    if (len > 0) packetBuffer[len-1] = 0;
    Empf = len;
        delay(200);
   }
}
void Zerlegen(){
  if (Empf > 0){
    Temp = atof(strtok(packetBuffer, "!"));
    Hum = atof(strtok(NULL, "!"));
    Tempa = atof(strtok(NULL, "!"));
    Mag = atof(strtok(NULL, "!"));
    Dach = atof(strtok(NULL, "!"));  
        delay(200);
  }
}
void Logik(){
  if (Empf > 0){
    But = analogRead(A0);        //Button auslesen  
    if ((Dach == 0)&&(Temp > 12)&&(Tempa > 12)){
      Zus = 1;
    }
    else if ((Dach == 1)&&(Temp > 16)&&(Tempa > 12)){
      Zus = 2;
    }
    else if ((Dach == 2)&&(Temp > 20)&&(Tempa > 12)){
      Zus = 3;
    }
    else if ((Temp < 12)||(Tempa < 12)){
      Zus = 0; 
    }
    else if ((But > 500)&&(But < 510)){
      Zus = 6;
    }
    else if ((But > 728)&&(But < 755)){
      Zus = 7;
    }
    else {
      Zus = 5;
    }
//-----------------------------------------------------Max-Min    
  if (MaxTemp < Temp){
    MaxTemp = Temp;   
  }
  if (MinTemp > Temp){
    MinTemp = Temp;
  }
  if (MaxHum < Hum){
    MaxHum = Hum;   
  }
  if (MinHum > Hum){
    MinHum = Hum;
  }
  if ((But > 140)&&(But < 165)){
     MinHum = Hum;
     MaxHum = Hum;
     MinTemp = Temp;
     MaxTemp = Temp;
  }
  Serial.println(But);
//-----------------------------------------------------Oled wechsel
  if ((But > 250)&&(But < 270)){
    Oledw ++;
    if (Oledw > 1){
      Oledw = 0;
    }
  }
  }
}
void Logik_LED(){
  if (Empf > 0){
    if (Mag == 1){
      digitalWrite(DachLED, HIGH);
    }
    if (Mag == 2){
      digitalWrite(DachLED, LOW);
    }
    if (Temp < 10) {
      digitalWrite(Blau, HIGH);
      digitalWrite(Grun, LOW);
      digitalWrite(Rot, LOW);
    }
    if ((Temp > 10) && (Temp < 27)) {
      digitalWrite(Grun, HIGH);
      digitalWrite(Blau, LOW);
      digitalWrite(Rot, LOW);
    }
    if (Temp > 28) {
      digitalWrite(Rot, HIGH);
      digitalWrite(Grun, LOW);
      digitalWrite(Blau, LOW);
    }
        delay(200); 
  }
}
void Senden(){
  if (Empf > 0){
   char zust[2];
   dtostrf(Zus, 1, 0, zust);

    Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());
    Udp.write(zust);
    Udp.write("!");
    Udp.write("\r\n");
    Udp.endPacket();
        delay(200);
  }
}
void Oled(){
  if (Empf > 0){  
    u8g2.firstPage();
    if (Oledw == 0){
      do {
      DateTime now = RTC.now(); //-----------------------------------RTC
      u8g2.setFont(u8g2_font_courB12_tf);    
      u8g2.clear();
//      u8x8.draw2x2String(0, 1, "Sensor 1");
      u8g2.setCursor(0,10);
      u8g2.print("  Max  ");
      u8g2.print("  Min");
      u8g2.setCursor(0,30);
      u8g2.print(MaxTemp);
      u8g2.print("C ");
      u8g2.print(MinTemp);
      u8g2.print("C");
      u8g2.setCursor(0,50);
      u8g2.print(Temp);
      u8g2.print("C ");
      u8g2.print(Hum);
      u8g2.print("%");
      u8g2.setCursor(0,70);            //RTC
      u8g2.print(now.day(), DEC);     //RTC
      u8g2.print('/');                //RTC
      u8g2.print(now.month(), DEC);   //RTC
//    u8g2.print('/');              //RTC
//    u8g2.print(now.year(), DEC);  //RTC
      u8g2.print(' ');                //RTC
      u8g2.print(now.hour(), DEC);    //RTC
      u8g2.print(':');                //RTC
      u8g2.print(now.minute(), DEC);  //RTC
      u8g2.print(':');                //RTC
      u8g2.print(now.second(), DEC);  //RTC  
      }
      while ( u8g2.nextPage() );
    }
    if (Oledw == 1){
      do {
      u8g2.clear();
      u8g2.setCursor(0,10);
      u8g2.print("  Max  |  Min");      
      u8g2.setCursor(0,30);
      u8g2.print(MaxTemp);
      u8g2.print("C | ");
      u8g2.print(MinTemp);
      u8g2.print("C");
      u8g2.setCursor(0,50);
      u8g2.print(MaxHum);
      u8g2.print("% | ");
      u8g2.print(MinHum);
      u8g2.print("%");
      }
      while ( u8g2.nextPage() );
    }
        delay(200);
  }
}
void Pc() {
  if (Empf > 0){
    DateTime now = RTC.now(); //-----------------------------------RTC
    Serial.println("--------------------------------------------------");
    Serial.println("Empfangen(IP/Size/Data): ");
    Serial.print(Udp.remoteIP());Serial.print(" / ");
    Serial.print(Udp.remotePort());Serial.print(" / ");
    Serial.print(packetSize);Serial.print(" / ");
    Serial.println(packetBuffer);
    Serial.print("Temp:");Serial.println(Temp);
    Serial.print("Hum:");Serial.println(Hum);
    Serial.print("Tempa:");Serial.println(Tempa);
    Serial.print("Mag:");Serial.println(Mag);
    Serial.print("Dach:");Serial.println(Dach);
    Serial.print("Zustand Lüftung:");Serial.println(Zus);    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.println(now.second(), DEC);
    Serial.println("--------------------------------------------------");
    Empf = 0;    
    
delay(2400);
}
}

Tommy56:
Installiere Dir mal den Exceptiondecoder für ESP.

Gruß Tommy

Habs jetzt auf alle erdenklichen arten und weisen versucht bekomme das Tool nicht zum laufen Sry
Was ich jetzt allerdings noch beobachtet habe sobald sich die RTC und das Oled aufgehängt haben klappt der Rest wieder super

Hast Du auch die Installationsbeschreibung gelesen?

Gruß Tommy

Tommy56:
Hast Du auch die Installationsbeschreibung gelesen?

Gruß Tommy

ja habe ich und die .jar datei in einen Ordner zu ziehen hat mich jetzt auch nicht sonderlich gefordert doch ob mit oder ohne Unterordner und auch nach mehrmaligen neustarten wurde mir das Tool nicht angezeigt

Da ich von hier aus nicht sehen kann, was Du genau gemacht hast, kann ich Dir da nicht weiter helfen.
Bei mir hat es nach dieser Beschreibung problemlos funktioniert.

Gruß Tommy

Edit: Du hast in der IDE unter Werkzeuge keinen neuen Eintrag "ESP Exception Decoder"?

Tommy56:
Edit: Du hast in der IDE unter Werkzeuge keinen neuen Eintrag "ESP Exception Decoder"?

nein nichts
kannst du den fehlercode von mir nicht bei dir rein kopieren müsste das Tool dann nicht auch was anzeigen

Edit: es hat auf jeden fall was mit dem Oled zutun wenn ich dieses ausklammere klappt alles wunderbar

Nö, weil das Tool auch den kompilieren Code und den Quellcode zugreifen muss/will.

Gruß Tommy

Jetzt klappt es mit dieser Zeile:

amithlon:
U8G2_SSD1327_EA_W128128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

und der Fehler rührte von dieser Zeile :

u8g2.clear();

seit der Befehl draußen ist klappt es