Pico; SD, Zeitstempel, PlatformIO

OP #7689292
Lesenswert?
• ▲
▼

Benutzt man den Pico mit der Original Arduino-Platform (mbed), so stehen einige Funktionen/Bibliotheken nicht ohne Zutun zur Verfügung. Benötigt man die SD-Funktionen für eine per SPI angeschaltete SD-Karte, so hat man eine gute Library, die von Bill Greiman's SdFat abgeleitet wurde: https://github.com/khoih-prog/RP2040_SD Die Library wird bei einem vorhandenen PlatformIO-Projekt direkt hinzugefüügt, wenn man die Zeile lib_deps = khoih-prog/RP2040_SD in platform.ini einfügt. Beim nächsten Build werden die notwendigen Dateien aus dem Internet heruntergeladen, und stehen dann unter ... \PlatformIO<Ordner>.pio\libdeps\pico\RP2040_SD, wenn die Zeile unter [env:pico] eingefügt wurde. Leider kann man nicht direkt die Zeitstempel der Dateien herausbekommen. Es fehlen die Funktionen getLastWrite() und getCreationTime() in RP2040_SD.h. Ich habe diese Funktionen hinzugefügt und dazu entsprechend RP2040_SD.h und File.hpp angepaßt. Sollen neue Dateien mit Zeitstempel erzeugt werden, so muß man noch eine CallBack Funktion erstellen und den folgenden Aufruf machen: RP2040_SdFile::dateTimeCallback(DateTimeCallbackSD);

Die Funktion DateTimeCallbackSD sieht z.B. so aus:

1
void DateTimeCallbackSD(uint16_t* date, uint16_t* time)
2
{
3
  *date = FAT_DATE(Jhr+2000,Monat,Tag); 
4
  *time = FAT_TIME(Std,Min,Sek);
5
}

Die Variablen Tag,Monat,.. müssen natürlich die aktuellen Zeitwerte enthalten. Die geänderten Dateien der Lib befinden sich in der beigefügten zip-Datei und dazu ein Beispiel, wie sie genutzt werden können. Das Beipiel ist nicht vollständig, sondern soll nur das Prinzip darstellen.

Harald

Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.