LittleFS into

Zo stránky 3D liga wiki
Verzia z 01:51, 8. máj 2026, ktorú vytvoril Sebastian (diskusia | príspevky) (Vytvorená stránka „ == Úvod do LittleFS == Táto stránka slúži pre šikovných účastníkov, ktorí sa chcú naučiť niečo viac. Sme naozaj radi ak si čo len prečítate tento výťažok. Ak chcete vedieť veci do podrobna, odporúčame [https://arduino-pico.readthedocs.io/en/latest/fs.html oficiálnu dokumentáciu]. === Čo je LittleFS? === LittleFS je '''súborový systém''' uložený priamo vo flash pamäti mikrokontroléra – podobne ako priečinky a súbory na poč…“)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Prejsť na navigáciu Prejsť na vyhľadávanie

Úvod do LittleFS

Táto stránka slúži pre šikovných účastníkov, ktorí sa chcú naučiť niečo viac. Sme naozaj radi ak si čo len prečítate tento výťažok. Ak chcete vedieť veci do podrobna, odporúčame oficiálnu dokumentáciu.

Čo je LittleFS?

LittleFS je súborový systém uložený priamo vo flash pamäti mikrokontroléra – podobne ako priečinky a súbory na počítači, len oveľa jednoduchší. Nevyžaduje žiadny externý hardvér (SD karta, EEPROM) – využíva pamäť ktorú už mikrokontrolér má.

Hodí sa keď chceme:

  • Ukladať dáta počas behu programu (logy, merania)
  • Čítať konfiguráciu pri štarte (nastavenia, kalibrácia)
  • Zachovať dáta aj po vypnutí – na rozdiel od premenných ktoré sa pri reštarte vymažú

Základné operácie

#include <LittleFS.h>

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

  // Inicializácia – vždy ako prvé
  if (!LittleFS.begin()) {
    Serial.println("LittleFS zlyhalo!");
    return;
  }

  // Zápis do súboru
  File f = LittleFS.open("/data.csv", "w");  // "w" = write (prepíše existujúci)
  if (f) {
    f.println("cas_ms,hodnota");
    f.println("1000,42");
    f.close();  // vždy zatvoriť po zápise!
  }

  // Čítanie zo súboru
  File r = LittleFS.open("/data.csv", "r");  // "r" = read
  if (r) {
    while (r.available()) {
      Serial.println(r.readStringUntil('\n'));
    }
    r.close();
  }

  // Pridávanie na koniec súboru (append)
  File a = LittleFS.open("/data.csv", "a");  // "a" = append
  if (a) {
    a.println("2000,99");
    a.close();
  }

  // Vymazanie súboru
  LittleFS.remove("/data.csv");
}

void loop() {}
Mód Písmeno Správanie
Write "w" Vytvorí nový súbor alebo prepíše existujúci
Read "r" Číta existujúci súbor – ak neexistuje, vráti chybu
Append "a" Pridáva na koniec existujúceho súboru

Dôležité poznámky

  • Cesty musia začínať lomítkom: "/data.csv" ✅ – "data.csv"
  • Vždy zavolaj f.close() po zápise – inak sa dáta nemusia uložiť
  • Ak chceš mať súbor otvorený dlhšie (napr. počas jazdy), volaj f.flush() priebežne – zapíše dáta na flash bez zatvorenia súboru
  • Flash pamäť má obmedzený počet zápisov (~100 000) – pre časté logovanie to ale nie je problém

Stiahnutie súboru do počítača

Existujú dva spôsoby ako dostať súbor z mikrokontroléra do počítača:

Spôsob 1 – Výpis cez sériový monitor (jednoduchší)

Nahraj tento kód, otvor sériový monitor a skopíruj výstup do súboru .csv:

#include <LittleFS.h>

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

  if (!LittleFS.begin()) {
    Serial.println("LittleFS zlyhalo!");
    return;
  }

  File r = LittleFS.open("/data.csv", "r");
  if (!r) {
    Serial.println("Súbor nenájdený!");
    return;
  }

  while (r.available()) {
    Serial.println(r.readStringUntil('\n'));
  }
  r.close();
}

void loop() {}

Spôsob 2 – USB disk (elegantnejší)

RP2350 vie emulovať USB flash disk – po pripojení k počítaču sa objaví ako jednotka a súbor si jednoducho skopíruješ myšou.

#include <LittleFS.h>
#include <SingleFileDrive.h>

void onPlug(uint32_t data) {
  // PC pripojil disk – zastavíme logovanie ak beží
}

void onUnplug(uint32_t data) {
  // PC odpojil disk – môžeme pokračovať
}

void setup() {
  LittleFS.begin();

  // Sprístupni súbor /data.csv ako USB disk
  singleFileDrive.begin("data.csv", "/data.csv", onPlug, onUnplug);
}

void loop() {
  // Tvoj bežný kód...
}

Šablóna:Note

Po skopírovaní súboru ho otvor v Exceli alebo nahraj na Desmos pre vizualizáciu trasy.