Wie muss ich diese klasse richtig schreiben?

wenn ich untenstehenden code kompilieren will, bekomme ich die Fehlermeldung: Compilation eror HSPI_SD not declared in this scope mit verwies auf die zeile: mit dem inhalt File dir = HSPI_SD.open("/"); in der Methode updateSD(int interruptPin)
wie muss ich die Klasse / den Sketch richtig schreiben?

// ESP32 SD-CLOUD

#include <SPI.h>
#include <SD.h>

// Ueberwachungspin Card-CS vom Printer
#define ACCESSREQUEST_PIN 4

// Pin-Definitionen für VSPI
#define VSPI_SCK 18
#define VSPI_MISO 19
#define VSPI_MOSI 23
#define VSPI_SS 5

// Pin-Definitionen für HSPI
#define HSPI_SCK 14
#define HSPI_MISO 12
#define HSPI_MOSI 13
#define HSPI_SS 33

// Dateinamen für die Micro-SD-Karten
#define VSPI_CARD_NAME "VSPI_SD"  
#define HSPI_CARD_NAME "HSPI_SD"  

File vspiFile;
File hspiFile;

// sektion Klassen
class SDSync {
public:
  void updateSD(int interruptPin) {
    
    // Überprüfen, ob der Interrupt-Pin LOW ist
    if (digitalRead(interruptPin) == LOW) {
      // Interrupt-Pin ist LOW, Abbruch des Kopiervorgangs
      closeFiles();
      endAccess();
      return;
    }

    // Kopieren der Dateien von HSPI_SD nach VSPI_SD

    File dir = HSPI_SD.open("/");
    while (true) {
      File entry = dir.openNextFile();
      if (!entry) {
        break;
      }
      String filename = entry.name();
      // Überprüfen, ob Datei bereits auf VSPI_SD vorhanden ist
      if (!VSPI_SD.exists(filename)) {
        // Datei nur auf HSPI_SD vorhanden, kopieren
        copyFile(entry, filename);
      }
      entry.close();
    }
    dir.close();
    // Dateien aktualisieren die aud HSPI_SD neuer sind als auf VSPI_SD
    File dir = VSPI_SD.open("/");
    while (true) {
      File entry = dir.openNextFile();
      if (!entry) {
        break;
      }
      String filename = entry.name();
      // Überprüfen, ob Datei auf HSPI_SD vorhanden ist
      if (HSPI_SD.exists(filename)) {
        // Überprüfen, ob Datei auf HSPI_SD neuer ist
        if (HSPI_SD.lastWrite() > VSPI_SD.lastWrite()) {
          // Datei auf HSPI_SD ist neuer, ersetzen
          replaceFile(filename);
        }
      } else {
        // Datei nur auf VSPI_SD vorhanden, löschen
        VSPI_SD.remove(filename);
      }
      entry.close();
    }
    dir.close();
  }

private:
  void copyFile(File source, String filename) {
    File destination = VSPI_SD.open(filename, FILE_WRITE);
    if (destination) {
      while (source.available()) {
        destination.write(source.read());
      }
      destination.close();
    }
  }

  void replaceFile(String filename) {
    File sourceFile = HSPI_SD.open(filename);
    File destFile = VSPI_SD.open(filename, FILE_WRITE);
    while (sourceFile.available()) {
      destFile.write(sourceFile.read());
    }
    sourceFile.close();
    destFile.close();
  }

  void closeFiles() {
    HSPI_SD.end();
    VSPI_SD.end();
  }

  void endAccess() {
    // Setze SS von VSPI auf HIGH, um den Zugriff auf VSPI_SD zu beenden
    digitalWrite(VSPI_SS, HIGH);
  }
};
// ende sektion klassen

// Instanz für SDSync erzeugen
SDSync updateSD(ACCESSREQUEST_PIN);


void setup() {
  Serial.begin(115200);

  // Initialisiere die VSPI-Schnittstelle
  SPI.begin(VSPI_SCK, VSPI_MISO, VSPI_MOSI, VSPI_SS);
  SD.begin(VSPI_SS, VSPI);

  // Initialisiere die HSPI-Schnittstelle
  SPI.begin(HSPI_SCK, HSPI_MISO, HSPI_MOSI, HSPI_SS);
  SD.begin(HSPI_SS, HSPI);

  // Überprüfe, ob die Micro-SD-Karten erkannt wurden
  if (SD.begin(VSPI_SS, VSPI)) {
    Serial.println("VSPI Micro-SD-Karte erkannt!");
    vspiFile = SD.open(VSPI_CARD_NAME);
  } else {
    Serial.println("Fehler beim Initialisieren der VSPI Micro-SD-Karte!");
  }

  if (SD.begin(HSPI_SS, HSPI)) {
    Serial.println("HSPI Micro-SD-Karte erkannt!");
    hspiFile = SD.open(HSPI_CARD_NAME);
  } else {
    Serial.println("Fehler beim Initialisieren der HSPI Micro-SD-Karte!");
  }
  // PINs initialisieren
  pinMode(ACCESSREQUEST_PIN, INPUT);


  SDSync.updateSD();
}

void loop() {
  // put your main code here, to run repeatedly:
}

Danke für eure wertvolle Hilfe.

Unabhängig davon, ob das überhaupt funktionieren kann was du da versuchst, müsste HSPI_SD erst mal definiert werden.

In deinem Code hast du ein Literal HSPI_CARD_NAME mit dem Wert „HSPI_SD“ erstellt. Das ist was anderes.

Soweit ich weiß, kann man Dateien nur mit SD.open öffnen. Will man mit zwei Kartenlesern arbeiten, muss man sie nacheinander ansteuern.
Beim Kopieren von Daten etwa:

Datei von Karte 1 öffnen, Daten lesen, Datei schließen, Datei von Karte 2 öffnen, Daten schreiben, Datei schließen usw.

Kann aber auch sein, dass ich mich da vertue.

@Deltaflyer

sketch.ino: In member function 'void SDSync::updateSD(int)':
sketch.ino:43:18: error: 'HSPI_SD' was not declared in this scope
       File dir = HSPI_SD.open("/");
                  ^~~~~~~

Du hast kein SD Objekt namens HSPI_SD. Woher käme das?
Du hast ein SD Objekt namens SD auf das du zweimal die begin Methode anwendest.
Was auch immer du vor hast, das schaut eher schräg aus...

Oder du beschreibst mal was es werden soll.

Ja da hast Du Recht. ich habe inzwischen Festgestellt, dass noch nicteinmal die Initialisierun beider SPI Schnitstellen (VSPI , HSPI) so funktioniert, wie ichs in meinem code versucht habe. Dies habe ich inzwischen hinbekommen. Die SDSyncklasse muss ich vorerst aussen vor lassen, denn ich bekomme schon Fehlermeldungen, wenn ich im Setup SD.begin() aufrufe.
Mein vorhaben ist folgendes: ich möchte am ESP32S2 auf dem VSPI Bus 1 SD-Karte und eine 2. SD-Karte auf dem HSPI-Bus (mit alternativer Pinbelegung) betreiben. Beide Karten auf einer SPI ist KEINE Option, da der eine SPI-Bus (eine Karte) zeitweise auch über viele Stunden / Tage von aussen her belegt ist.
Das ziel ist, dass die 2. karte imer und jederzeit im privaten wlan ereichbar sein soll um Dateien aufzunehmen. Also eine SD in der cloud. wenn die 1 Karte nicht blegt ist, und der Karteninhalt sich von der 2.Karte (die in der cloud) unterscheidet, sollen die karteninhalte synchronisiert werden, so dass der inhalt von Karte 1 dem inhalt von Karte 2 entspricht. Die karte 1 hat neben der verbindung zum ESP32 auch eine Verbindung zum SD-Slot im 3D.Drucker. Wenn der Drucker auf die karte zugreift, sperrt er die karte für den ESP32, da dieser das CS Signal vom Drucker an einem Eingang auswertet. Der Drucker hat Priorität vor dem ESP32. Darum auch die 2. Karte, weil eben der Drucker den Zugriff auf die erste Karte sperrt, und je nach Druckmodell kann das auch Tage dauern.ich will aber eben auch in dieser Zeit Files auf die Cloud Sd schreiben können.
Hier jetzt mal mein Code ohne die SDSync-Klasse. dieser code kompiliert, solange die Zeilen

SD.begin(VSPI_SS, vspiSD);
SD.begin(HSPI_SS, hspiSD);

auskomentiert sind. hier der Code:

// ESP32 SD-CLOUD

#include <SPI.h>
#include <SD.h>

// Ueberwachungspin Card-CS vom Printer
#define ACCESSREQUEST_PIN 4

// Pin-Definitionen für VSPI
#define VSPI_MISO   MISO
#define VSPI_MOSI   MOSI
#define VSPI_SCLK   SCK
#define VSPI_SS     SS

// Pin-Definitionen für HSPI
#define HSPI_MISO   26
#define HSPI_MOSI   27
#define HSPI_SCLK   25
#define HSPI_SS     32

#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
  #define VSPI FSPI
#endif

static const int spiClk = 20000000; // 20 MHz
//uninitalised pointers to SPI objects
SPIClass * vspiSD = NULL;
SPIClass * hspiSD = NULL;

void setup() {
  Serial.begin(115200);
  //initialise two instances of the SPIClass attached to VSPI and HSPI respectively
  
  
  // Initialisiere die VSPI-Schnittstelle
  vspiSD = new SPIClass(VSPI);
  vspiSD->begin();
  SD.begin(VSPI_SS, vspiSD);

  // Initialisiere die HSPI-Schnittstelle
  hspiSD = new SPIClass(HSPI);
  
  hspiSD->begin(HSPI_SCLK, HSPI_MISO, HSPI_MOSI, HSPI_SS);
  SD.begin(HSPI_SS, hspiSD);
  // PINs initialisieren

  pinMode(vspiSD->pinSS(), OUTPUT); //VSPI SS
  pinMode(hspiSD->pinSS(), OUTPUT); //HSPI SS
  pinMode(ACCESSREQUEST_PIN, INPUT);  
}

void loop() {
  // put your main code here, to run repeatedly:
}

beim kompilieren bekomme ich folgende fehlermeldung, sobald die beiden oben genannten zeilen aktiv sind:

P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino: In function 'void setup()':
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:145:21: error: invalid user-defined conversion from 'SPIClass*' to 'SPIClass&' [-fpermissive]
   SD.begin(VSPI_SS, vspiSD);
                     ^~~~~~
In file included from P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:3:
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SPI\src/SPI.h:61:5: note: candidate is: 'SPIClass::SPIClass(uint8_t)' <near match>
     SPIClass(uint8_t spi_bus=HSPI);
     ^~~~~~~~
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SPI\src/SPI.h:61:5: note:   conversion of argument 1 would be ill-formed:
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:145:21: error: invalid conversion from 'SPIClass*' to 'uint8_t' {aka 'unsigned char'} [-fpermissive]
   SD.begin(VSPI_SS, vspiSD);
                     ^~~~~~
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:145:21: error: invalid conversion from 'SPIClass*' to 'uint8_t' {aka 'unsigned char'} [-fpermissive]
In file included from P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:3:
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SPI\src/SPI.h:61:22: note:   initializing argument 1 of 'SPIClass::SPIClass(uint8_t)'
     SPIClass(uint8_t spi_bus=HSPI);
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:145:27: error: conversion to non-const reference type 'class SPIClass&' from rvalue of type 'SPIClass' [-fpermissive]
   SD.begin(VSPI_SS, vspiSD);
                           ^
In file included from P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:4:
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SD\src/SD.h:31:10: note:   initializing argument 2 of 'bool fs::SDFS::begin(uint8_t, SPIClass&, uint32_t, const char*, uint8_t, bool)'
     bool begin(uint8_t ssPin=SS, SPIClass &spi=SPI, uint32_t frequency=4000000, const char * mountpoint="/sd", uint8_t max_files=5, bool format_if_empty=false);
          ^~~~~
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:151:21: error: invalid user-defined conversion from 'SPIClass*' to 'SPIClass&' [-fpermissive]
   SD.begin(HSPI_SS, hspiSD);
                     ^~~~~~
In file included from P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:3:
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SPI\src/SPI.h:61:5: note: candidate is: 'SPIClass::SPIClass(uint8_t)' <near match>
     SPIClass(uint8_t spi_bus=HSPI);
     ^~~~~~~~
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SPI\src/SPI.h:61:5: note:   conversion of argument 1 would be ill-formed:
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:151:21: error: invalid conversion from 'SPIClass*' to 'uint8_t' {aka 'unsigned char'} [-fpermissive]
   SD.begin(HSPI_SS, hspiSD);
                     ^~~~~~
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:151:21: error: invalid conversion from 'SPIClass*' to 'uint8_t' {aka 'unsigned char'} [-fpermissive]
In file included from P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:3:
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SPI\src/SPI.h:61:22: note:   initializing argument 1 of 'SPIClass::SPIClass(uint8_t)'
     SPIClass(uint8_t spi_bus=HSPI);
P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:151:27: error: conversion to non-const reference type 'class SPIClass&' from rvalue of type 'SPIClass' [-fpermissive]
   SD.begin(HSPI_SS, hspiSD);
                           ^
In file included from P:\ARDUINO_2.0\ESP32_SD_CLOUD\ESP32_SD_CLOUD.ino:4:
C:\Users\desit\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14\libraries\SD\src/SD.h:31:10: note:   initializing argument 2 of 'bool fs::SDFS::begin(uint8_t, SPIClass&, uint32_t, const char*, uint8_t, bool)'
     bool begin(uint8_t ssPin=SS, SPIClass &spi=SPI, uint32_t frequency=4000000, const char * mountpoint="/sd", uint8_t max_files=5, bool format_if_empty=false);
          ^~~~~
exit status 1
Compilation error: invalid user-defined conversion from 'SPIClass*' to 'SPIClass&' [-fpermissive]

mir fehlt hier jedoch die Erfahrung und das Verständnis wie ich das beheben kann.

Zwei andere SD Lib nehmen?
So wie es gemacht wird bei zwei SPI Displays.

SPI ist kein Multimaster Bussystem
(soweit mir bekannt)

ich verstehe das so
Zwei Kartenleser auf einem ESP

Warum das zwei SPI BUSe benötigen soll, ist mir nicht klar.
Warum klappt das nicht mit zwei verschiedenen CS?

Wenn es diese Einschränkung gibt ... dann würde ich sagen, weg von einem (diesen) Microcontroller zu etwas mit einem vollständigen OS.

Hier ist mal ein Beispiel mit zwei SD Kartenlesern an einem Device. Ist zwar an einem ATmega, aber möglicherweise hilft das trotzdem weiter…

Soweit ich die Geschichte kenne: Eine Karte steckt im 3D Drucker UND ist am ESP und die 2 Karte soll als Buffer dienen solange die 1. Karte durch den Drucker belegt ist.

Ja das stimmt schon. Jedoch ist es möglich, eine an SPI hängende SD-Karte von 2 controllern aus zu bespassen. Nur:

  1. Nicht gleichzeitig
  2. sind schaltungstechnische Massnamen notwendig, in den signalleitungen von SCK, MISO, MOSI, und CS zum 2. Controller sind Widerstände notwendig die einen Kurzschluss verhindern wen eider der Controler die entsprechende Leitung auf HIGH zieht, während der Andere diese auf LOW setzt.
  3. die Software des 2. Controllers, der mit der niedrigeren Priorität MUSS das vom anderen Controler komende CS-Signal auswerten (überwachen) und den eigenen CS-Pin sofort auf HIGH setzen, wenn der Priorisirende die CS-Leitung auf LOW zieht (und damit aktiviert).
  4. die Sofware des Prioritären controllers Muss den CS-Pin unbedingt wieder auf HIGH setzten, wenn er keine Zugriffe mehr auf die Karte tätigen muss, um die Karte wieder frei zu geben.
    Ich habe mehrere solche Module , nennen sich BTT TF-Cloud bei mir in meinen 3D-Druckern im Einsatz, diese sind mit nem ESP8266 ausgestattet. der Nachteil: wenn der Drucker am Drucken ist, oder das Directori der SD-Karten im Display angezeigt wird, habe ich über wlan natürlich keinen Zugriff auf die SD-Karte, da diese ja vom Drucker reserviert ist. In Windows hage ich die Karten der Drucker al Netzlaufwerk eingebunden, aber kann natürlich von da nur zugreifen, wenn der Drucker die Karte grade nicht braucht.
    Darum jetzt meine Idee mit dem ESP32 und 2 SD-Karte jeweils an nem eigenen SPI-Bus. Die eine Karte soll eben als Clod-speicher , also das Netzlaufwerk , darstellen und so immer rereichbar sein. die 2. Karte istjenige, die Prioritäre Verbindung zum Drucker hat. Und wenn die karte nicht vom Drucker benötigt wird, erfolgt die Synchronisation der Karten um sie auf dem gelichen Datenbestand zu halten. wobei immer die Karte des Druckers an die Cloud-Karte angepasst wird, niemals umgekhert.

Es benötigt deshalb 2 SPIs weil die eine Karte nich nur am ESP sondern auch am Druckermainboard via SPI angekoppelt ist. und während der Drucker druckt darf der esp auf keinen Fall mit den Signalen SCK, MISO MOSI herumspielen, da das Druckermainboard das ja zu der zeit ebenfalls tut, das würde die datenübertragung zwischen SD-Karte und Drucker stören, was zu fehldrucken und 7 oder Druckabbrüchen führen würde. Und nein, ich will weder nen Raspi noch nen Kompletten Laptop an den Drucker hängen. Der EP8266 schaft es mit einer Karte, der ESP32 sollte das dann mit 2 Karten hinbekommen. Hardware mässig funktioniert das und da komme ich auch klar, Ich hab nur eben momentan noch Probleme mit der Software, hier insbesondere mit der Fehermeldung beim SD.begin(). Ich bin auf den ESP32 gekommen, weil mir beim ESP8266 die Pins ausgehen, wenn ich 2 HW SPI's nutzen möchte.

Nein leider nicht, ich benötige 2 HW SPI schnittstellen, da der eine SPI bus blokiert wird, sobald der 3D-Drucker auf seine SD-Karte (die einerseits am ESP und auch am Drucker hängt) zugreift. Leider ist es genau die Schaltungs Art die in meinem Fall nicht funktioniert, zumindest nicht , ohne dass ich da noch einen Three-State-Bustreibet zwischen ESP und der SD-Karte vom 3D-Drucker schalte. dDies möchte ich eigentlich vermeiden. Ich habe übrigens die selbe Schaltungs-Variante auch schon nit nem ESP gesehen, und bin da dann eben drauf gekommen, dass dies nur mit nem zusätzlichen Three-State Bustreiber fünktionieren würde, Eben wel der SPI bus eben auch noch mit dem SPI auf dem Druckermainboard verbunden ist.

Zwei Master greifen auf einen Slave zu?!? Dann bin ich sowieso draußen. Broken by design.

Absolut genau so ist das gemeint. Ich will den Buffer sogar dauerhaft nutzen, so dass ich diesen als Netzlaufwerk in Windows anlegen kann und somit jederzeit der gesammte Karten inhalt ersichtlich und modifizierbar ist.Die karte für den Drucke, sowie die buffer-Karte haben jeweils 16GB.

in der Zwischenzeit bin ich , so glaube ich zumindest, ein bisschen weiter gekommen. wenn ich das SD.begin() so schreibe, kompiliert der zuletzt gepostete Code fehlerfrei und warnungsfrei,

SD.begin(VSPI_SS, *vspiSD);
SD.begin(HSPI_SS, *hspiSD);

Die fehlermeldung sagte ja irgendwas von dass eine typenconvetierung nicht möglich ist. Bin ich da jetzt auf dem richtigen Weg?

Wenn du glaubst, dass man 2 SPI Bussysteme mit einer SD Instanz "gleichzeitig am Haken halten" könnte, dann bist du schief gewickelt.

So sieht mein code bisher aus:

// ESP32 SD-CLOUD

#include <SPI.h>
#include <SD.h>

// Ueberwachungspin Card-CS vom Printer
#define ACCESSREQUEST_PIN 4

// Pin-Definitionen für VSPI
#define VSPI_MISO   MISO
#define VSPI_MOSI   MOSI
#define VSPI_SCLK   SCK
#define VSPI_SS     SS

// Pin-Definitionen für HSPI
#define HSPI_MISO   26
#define HSPI_MOSI   27
#define HSPI_SCLK   25
#define HSPI_SS     32

#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
  #define VSPI FSPI
#endif



static const int spiClk = 20000000; // 20 MHz
//uninitalised pointers to SPI objects
SPIClass * vspiSD = NULL;
SPIClass * hspiSD = NULL;

void setup() {
  Serial.begin(115200);
  //initialise two instances of the SPIClass attached to VSPI and HSPI respectively
  vspiSD = new SPIClass(VSPI);
  vspiSD->begin();
  SD.begin(VSPI_SS, *vspiSD)
   // Initialisiere die HSPI-Schnittstelle
  hspiSD = new SPIClass(HSPI);
  hspiSD->begin(HSPI_SCLK, HSPI_MISO, HSPI_MOSI, HSPI_SS);
  SD.begin(HSPI_SS, *hspiSD);
  // PINs initialisieren
  pinMode(vspiSD->pinSS(), OUTPUT); //VSPI SS
  pinMode(hspiSD->pinSS(), OUTPUT); //HSPI SS
  pinMode(ACCESSREQUEST_PIN, INPUT);  
}

void loop(){
  
}

ich dachte, dass ich im setup 2 instanzen erzeugt habe. Da ich mich da wohlDeiner Galubhaten Aussage zu folge im Irrtum , Irrglaube befinde, kannst Du mir bitte zeigen, wie ich es richtig machen muss? Ich möchte gerne meine schiefen Wicklungen gerade rücken.

Du hast nur 1 SD Instanz.

Ob die verwendete SD-Library mit mehreren arbeiten könnte, ist sehr zweifelhaft.
Das zweite SD.begin macht entweder das erste zunichte oder ist unzulässig.

Gibt es als Gegenstück zu begin() ein end() ?
Dann ist vor dem open das passende begin und nach dem close ein end erforderlich,
zumindest bei jedem Wechsel des SPI-Bus.

Du sprichst von SPI Instanzen, ich über SD Instanzen.

Nein.
Für mich ist SPI kein Multimasterbus.
Und auf SD Karten gibts von daher auch Null Schutz gegen konkurrierende Zugriffe.
So sehe ich keine Chance auf Heilung.

ok danke, dann versuhe ich es mit der SDFat von greimann, da wurde das mit 2 SD karten an 2 SPI schon gemacht. Habe gedacht, das SD lib ebenfalls 2 SD-Karten händeln kann. Aber wenn nicht, versuche ich es mit der anderen Lib.