IDE 1.8.10 en board versie 2.5.2
6 berichten
• Pagina 1 van 1
IDE 1.8.10 en board versie 2.5.2
Ik heb een probleem met het compileren van een schets voor een Lolin(Wemos) D1 R2 in combinatie met een SD.
De foutmelding die ik krijg komt ook bij de voorbeeld schets Cardinfo uit de voorbeelden groep voorbeelden voor ieder board.
Omdat het nog altijd een probleem van de libraries op mijn PC kan zijn, hierbij mijn verzoek of iemand dat voorbeeld zou kunnen compileren voor bovenstaand board en genoemde versies..
Afhankelijk of dat wel of niet fout gaat moet ik verder gaan zoeken.
Bij voorbaat dank, Nico
De foutmelding die ik krijg komt ook bij de voorbeeld schets Cardinfo uit de voorbeelden groep voorbeelden voor ieder board.
Omdat het nog altijd een probleem van de libraries op mijn PC kan zijn, hierbij mijn verzoek of iemand dat voorbeeld zou kunnen compileren voor bovenstaand board en genoemde versies..
Afhankelijk of dat wel of niet fout gaat moet ik verder gaan zoeken.
Bij voorbaat dank, Nico
Advertisement
Re: IDE 1.8.10 en board versie 2.5.2
menu: Bestand / Voorbeelden / (Voorbeelden voor ieder board) / SD / CardInfo
Dat compileert inderdaad niet, want die gebruikt de low-level functies van de SD library.
De ESP libraries gebruiken hun eigen SD code. Die is totaal anders. Er zit een laag tussen om het compatible te maken met de meest gebruikte Arduino functies voor een SD.
Dit soort problemen gebeurt veel vaker. Soms is een library geschreven voor een Arduino Uno, terwijl er niet bij staat dat het nergens anders op werkt.
De ESP boardjes (Wemos / LOLIN / ESP8266 / ESP32 / NodeMCU) zijn geen officiële Arduino boardjes.
Nu zie ik bij "Voorbeelden voor WeMos D1 R1" een "SD(esp8266)" staan met een paar voorbeelden. Die kun je gebruiken.
Dat compileert inderdaad niet, want die gebruikt de low-level functies van de SD library.
De ESP libraries gebruiken hun eigen SD code. Die is totaal anders. Er zit een laag tussen om het compatible te maken met de meest gebruikte Arduino functies voor een SD.
Dit soort problemen gebeurt veel vaker. Soms is een library geschreven voor een Arduino Uno, terwijl er niet bij staat dat het nergens anders op werkt.
De ESP boardjes (Wemos / LOLIN / ESP8266 / ESP32 / NodeMCU) zijn geen officiële Arduino boardjes.
Nu zie ik bij "Voorbeelden voor WeMos D1 R1" een "SD(esp8266)" staan met een paar voorbeelden. Die kun je gebruiken.
Re: IDE 1.8.10 en board versie 2.5.2
Het voorbeeld wordt t/m board versie 2.5.0 wel goed gecompileerd.
Het gaat mij niet zo zeer om het voorbeeld maar juist om de functies die daarin worden gebruikt.
Met name informatie over de gebruikte SD en andere "volume" info.
Ik denk dat het gaat om de map …… esp8266>2.5.0>libraries>SD>src>utility
Die ontbreekt in versie 2.5.2
Op zoek naar alternatieven of de oude versie blijven gebruiken of delen uit de software verwijderen.
m.v.g.
Nico
Het gaat mij niet zo zeer om het voorbeeld maar juist om de functies die daarin worden gebruikt.
Met name informatie over de gebruikte SD en andere "volume" info.
Ik denk dat het gaat om de map …… esp8266>2.5.0>libraries>SD>src>utility
Die ontbreekt in versie 2.5.2
Op zoek naar alternatieven of de oude versie blijven gebruiken of delen uit de software verwijderen.
m.v.g.
Nico
Re: IDE 1.8.10 en board versie 2.5.2
Of je code herschrijven.
De ESP8266 is van de Arduino SD library afgestapt, en ik denk dat daar goed aan hebben gedaan.
De basis is nu de standaard functies zoals ze al tientallen jaren heten in de 'C'-taal.
Daar bovenop hebben ze een laag gemaakt om toch weer compatible met Arduino te zijn.
De ESP8266 en ESP32 kunnen een deel van het Flash geheugen als bestandsysteem gebruiken, dat is het SPIFFS.
Ik vermoed dat ze dezelfde functies willen gebruiken voor de SD-kaart en voor de SPIFFS.
De basis functies vind je in "FS.cpp", "FS.h" en "FSImpl.h":
.arduino15/packages/esp8266/hardware/esp8266/2.5.2/cores/esp8266
De bovenste laag om compatible met Arduino te zijn, is "SD.cpp" en "SD.h":
.arduino15/packages/esp8266/hardware/esp8266/2.5.2/libraries/SD/src
Dan is er nog een tussenlaag met "SDFS.cpp", "SDFS.h" en "SDFSFormatter.h":
.arduino15/packages/esp8266/hardware/esp8266/2.5.2/libraries/SDFS/src
Je kunt eens proberen om de "info()" functie uit "SDFS.h" aan de praat te krijgen.
De ESP8266 is van de Arduino SD library afgestapt, en ik denk dat daar goed aan hebben gedaan.
De basis is nu de standaard functies zoals ze al tientallen jaren heten in de 'C'-taal.
Daar bovenop hebben ze een laag gemaakt om toch weer compatible met Arduino te zijn.
De ESP8266 en ESP32 kunnen een deel van het Flash geheugen als bestandsysteem gebruiken, dat is het SPIFFS.
Ik vermoed dat ze dezelfde functies willen gebruiken voor de SD-kaart en voor de SPIFFS.
De basis functies vind je in "FS.cpp", "FS.h" en "FSImpl.h":
.arduino15/packages/esp8266/hardware/esp8266/2.5.2/cores/esp8266
De bovenste laag om compatible met Arduino te zijn, is "SD.cpp" en "SD.h":
.arduino15/packages/esp8266/hardware/esp8266/2.5.2/libraries/SD/src
Dan is er nog een tussenlaag met "SDFS.cpp", "SDFS.h" en "SDFSFormatter.h":
.arduino15/packages/esp8266/hardware/esp8266/2.5.2/libraries/SDFS/src
Je kunt eens proberen om de "info()" functie uit "SDFS.h" aan de praat te krijgen.
Re: IDE 1.8.10 en board versie 2.5.2
Code herschrijven was ook mijn eerste optie.
In de praktijk zal ik de oude versie nog wel nodig hebben voor het eventueel oplossen van acute problemen.
Nog geen uur geleden had ik op GitHub inderdaad gelezen dat er sprake was van een geheel nieuwe bibliotheek.
Ik was nog niet zover dat ik de mogelijkheden hiervan in kaart had gebracht.
Ook moet ik nog een hardware test omgeving met SD in elkaar sleutelen.
m.v.g. Nico
In de praktijk zal ik de oude versie nog wel nodig hebben voor het eventueel oplossen van acute problemen.
Nog geen uur geleden had ik op GitHub inderdaad gelezen dat er sprake was van een geheel nieuwe bibliotheek.
Ik was nog niet zover dat ik de mogelijkheden hiervan in kaart had gebracht.
Ook moet ik nog een hardware test omgeving met SD in elkaar sleutelen.
m.v.g. Nico
Re: IDE 1.8.10 en board versie 2.5.2
Voor de zekerheid eerst maar de standaard voorbeelden geprobeerd.
Helaas heb ik geen voorbeeld kunnen vinden dat zonder fouten gecompileerd wordt.
Ook de tekst TO DO en not valid in het commentaar in de functie info() geeft geen vertrouwen in een goede afloop van een eventuele poging die werkend te krijgen.
Voorlopig maar even een oude versie gebruiken en wachten op 2.5.3
m.v.g.
Nico
Helaas heb ik geen voorbeeld kunnen vinden dat zonder fouten gecompileerd wordt.
Ook de tekst TO DO en not valid in het commentaar in de functie info() geeft geen vertrouwen in een goede afloop van een eventuele poging die werkend te krijgen.
- Code: Alles selecteren
bool info(FSInfo& info) override {
if (!_mounted) {
DEBUGV("SDFS::info: FS not mounted\n");
return false;
}
info.maxOpenFiles = 999; // TODO - not valid
info.blockSize = _fs.vol()->blocksPerCluster() * 512;
info.pageSize = 0; // TODO ?
info.maxPathLength = 255; // TODO ?
info.totalBytes =_fs.vol()->volumeBlockCount() * 512;
info.usedBytes = info.totalBytes - (_fs.vol()->freeClusterCount() * _fs.vol()->blocksPerCluster() * 512);
return true;
}
Voorlopig maar even een oude versie gebruiken en wachten op 2.5.3
m.v.g.
Nico
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten