RP2350-Zero/LittleFS

Zo stránky 3D liga wiki
Verzia z 19:43, 8. september 2026, ktorú vytvoril Sebastian (diskusia | príspevky) (Vytvorená stránka „Späť na RP2350 - úvod == LittleFS == Na rozdiel od EEPROM (jeden blok bajtov, adresovaný číslom) je LittleFS skutočný '''súborový systém''' – vieš v ňom mať viacero súborov s vlastnými menami, prípadne aj priečinky, podobne ako na počítači. Hodí sa vtedy, keď chceš uložiť viac dát (viac ako 4 kB) alebo dáta so štruktúrou (napr. samostatný súbor pre každé meranie). '''Nastavenie dosky''' Skôr než LittleFS…“)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Prejsť na navigáciu Prejsť na vyhľadávanie

Späť na RP2350 - úvod

LittleFS

Na rozdiel od EEPROM (jeden blok bajtov, adresovaný číslom) je LittleFS skutočný súborový systém – vieš v ňom mať viacero súborov s vlastnými menami, prípadne aj priečinky, podobne ako na počítači. Hodí sa vtedy, keď chceš uložiť viac dát (viac ako 4 kB) alebo dáta so štruktúrou (napr. samostatný súbor pre každé meranie).

Nastavenie dosky

Skôr než LittleFS použiješ, treba vo flash pamäti vyhradiť miesto pre súborový systém – v Arduino IDE to nastavíš cez Tools → Flash Size, kde zvolíš rozdelenie, ktoré obsahuje aj časť pre FS (napríklad niečo ako "2MB (Sketch: 1MB, FS: 1MB)" – presné položky menu sa môžu podľa verzie balíka pre RP2350 líšiť, tak si over aktuálny zoznam priamo v IDE). Bez tohto nastavenia LittleFS nemá kde fyzicky existovať a begin() zlyhá.

Štruktúra súborov

Všetky cesty v LittleFS začínajú od koreňového priečinka / – napríklad súbor data.txt uložený priamo v koreni má cestu /data.txt. LittleFS podporuje aj podpriečinky, takže si vieš dáta usporiadať napríklad takto:

/
├── config.txt
└── logs/
    ├── log_01.txt
    └── log_02.txt

Priečinok si vytvoríš pomocou LittleFS.mkdir("/logs"), súbor v ňom potom otvoríš cestou /logs/log_01.txt.

Pred prvým použitím treba súborový systém "nabehnúť" (a pri prvom spustení na novej doske sa automaticky naformátuje):

#include <LittleFS.h>

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

  if (!LittleFS.begin()) {
    Serial.println("LittleFS sa nepodarilo spustit!");
    return;
  }
  Serial.println("LittleFS pripraveny.");
}

void loop() {
}

Vytvorenie a zápis súboru

Mód "w" súbor vytvorí (ak neexistuje) alebo prepíše jeho obsah (ak existuje):

File f = LittleFS.open("/data.txt", "w");
if (f) {
  f.println("Prvy riadok dat");
  f.println("Druhy riadok dat");
  f.close();
  Serial.println("Zapisane.");
} else {
  Serial.println("Nepodarilo sa otvorit súbor na zapis!");
}

Čítanie súboru

Mód "r" otvorí súbor len na čítanie – f.available() hovorí, či ešte zostávajú nejaké neprečítané bajty:

File f = LittleFS.open("/data.txt", "r");
if (f) {
  while (f.available()) {
    Serial.write(f.read());
  }
  f.close();
} else {
  Serial.println("Súbor neexistuje!");
}

Appendovanie (pripájanie na konec)

Mód "a" na rozdiel od "w" existujúci obsah nevymaže – nový text sa pripíše na koniec súboru. Hodí sa napríklad na priebežné logovanie:

File f = LittleFS.open("/data.txt", "a");
if (f) {
  f.println("Dalsi zaznam, ktory sa priplete na koniec");
  f.close();
}

Poznámka: pred otvorením súboru sa oplatí overiť, či existuje, pomocou LittleFS.exists("/data.txt") – napríklad ak chceš pri prvom spustení vytvoriť súbor len raz a pri ďalších spusteniach doňho už len appendovať.