SD karta#

Zavedení#

Použití SD karty s VEX EXP vám umožňuje ukládat a přistupovat k souborům na vyjímatelné SD kartě vložené do slotu pro SD karty v zařízení Brain. Ať už ukládáte data ze senzorů nebo načítáte vlastní obrázky, tyto metody poskytují plnou kontrolu nad operacemi se soubory. Vyjímatelná SD karta vám umožňuje snadný přenos dat mezi zařízením Brain a počítačem.

EXP Brain vyžaduje SD kartu s kapacitou maximálně 32 GB, naformátovanou jako FAT32. SD karty větší než 32 GB standardně používají formátování exFAT, které není s EXP Brain kompatibilní. Před použitím se ujistěte, že je vaše SD karta správně naformátována na FAT32.

Všechny soubory musí být umístěny v kořenovém adresáři SD karty, aby byly přístupné.

V níže uvedených příkladech zahrnuje konstruovaný Brain přístup k metodám SD karty a bude použit ve všech následujících příkladech v této dokumentaci k API při odkazování na tyto metody.

Níže je uveden seznam všech metod:

Akce – Provádění operací se soubory a zobrazení obrázků z SD karty.

  • loadfile — Načte obsah souboru z SD karty do uživatelem poskytnuté vyrovnávací paměti.

  • savefile — Uloží data z uživatelem zadané vyrovnávací paměti do souboru na SD kartě EXP Brain.

  • appendfile — Připojí data z uživatelem zadané vyrovnávací paměti na konec existujícího souboru na SD kartě EXP Brain.

  • draw_image_from_file — Zobrazí bitmapový obrázek z SD karty.

Gettery – Vracejí informace o SD kartě a souboru.

  • is_inserted — Vrátí, zda je do Brainu vložena SD karta.

  • filesize — Vrátí velikost souboru.

  • size — Vrátí velikost souboru.

  • exists — Vrátí, zda byl na SD kartě nalezen soubor.

Akce#

loadfile#

loadfile načte soubor z SD karty do pole typu bytearray.

Usage:
brain.sdcard.loadfile(filename, buffer)

Parametry

Popis

filename

Název souboru, který se má načíst jako řetězec. Název souboru musí obsahovat příponu souboru.

buffer

Volitelné. Existující pole bytearray, do kterého se má načíst obsah souboru. Pokud je existující pole bytearray větší, jeho obsah bude přepsán. Pokud je existující pole bytearray menší, metoda nemusí načíst všechna data. Ve výchozím nastavení bude vráceno nové pole bytearray, pokud není poskytnuta žádná vyrovnávací paměť.

# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
    # Save new text to a file
    brain.sdcard.savefile("Note.txt", bytearray("VEX"))
    # Load the file and print it
    data = brain.sdcard.loadfile("Note.txt")
    brain.screen.print(data.decode("utf-8"))
else:
    brain.screen.print("Insert SD card")

savefile#

savefile uloží bajtové pole na SD kartu.

Usage:
brain.sdcard.savefile(filename, buffer)

Parametry

Popis

filename

Název souboru, který se má uložit jako řetězec. Název souboru musí obsahovat příponu souboru. Pokud soubor již existuje, bude přepsán. Pokud soubor neexistuje, bude vytvořen nový.

buffer

Volitelné. Objekt bytearray, který se má zapsat do souboru.

# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
    # Save new text to a file
    brain.sdcard.savefile("Note.txt", bytearray("VEX"))
    # Load the file and print it
    data = brain.sdcard.loadfile("Note.txt")
    brain.screen.print(data.decode("utf-8"))
else:
    brain.screen.print("Insert SD card")

appendfile#

appendfile připojí objekt bytearray k existujícímu souboru a přidá nová data na konec souboru bez změny aktuálního obsahu.

Usage:
brain.sdcard.appendfile(filename, buffer)

Parametry

Popis

filename

Název souboru, který se má připojit jako řetězec. Název souboru musí obsahovat příponu souboru.

buffer

Pole typu bytearray obsahující data, která se mají připojit.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray("code"))
    size = brain.sdcard.size("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)

draw_image_from_file#

draw_image_from_file zobrazí bitmapový obrázek (BMP) uložený na SD kartě.

Soubory .bmp jsou omezeny na 5120 pixelů a velikost 6 kB.

Poznámka: EXP Brain podporuje zobrazení pouze souborů .bmp Pro minimalizaci velikosti souboru se doporučuje 8bitové kódování RLE.

Usage
brain.screen.draw_image_from_file(filename, x, y)

Parametry

Popis

filename

Název souboru s obrázkem.

x

Souřadnice x pro levý horní roh obrázku na obrazovce.

y

Souřadnice y pro levý horní roh obrázku na obrazovce.

# Draw a bmp file on the Brain's screen at coordinate 0, 0
brain.screen.draw_image_from_file('test_image.bmp', 0, 0)

Gettery#

is_inserted#

is_inserted vrací booleovskou hodnotu označující, zda je do Brainu aktuálně vložena SD karta.

  • True — Brain má vloženou SD kartu.

  • False — Brain nemá vloženou SD kartu.

Usage:
brain.sdcard.is_inserted()

Parametry

Popis

Tato metoda nemá žádné parametry.

# Check for SD card and show a file's text
if brain.sdcard.is_inserted():
    # Save new text to a file
    brain.sdcard.savefile("Note.txt", bytearray("VEX"))
    # Load the file and print it
    data = brain.sdcard.loadfile("Note.txt")
    brain.screen.print(data.decode("utf-8"))
else:
    brain.screen.print("Insert SD card")

filesize#

filesize vrací velikost souboru v bajtech jako desetinné číslo (float).

Usage:
brain.sdcard.filesize(filename)

Parametry

Popis

filename

Název souboru jako řetězec. Název souboru musí obsahovat příponu souboru.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray("code"))
    size = brain.sdcard.filesize("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)

size#

size vrací velikost souboru v bajtech jako desetinné číslo (float).

Usage:
brain.sdcard.size(filename)

Parametry

Popis

filename

Název souboru jako řetězec. Název souboru musí obsahovat příponu souboru.

# Add more text and display file size
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray("code"))
    size = brain.sdcard.size("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)

exists#

exists vrací booleovskou hodnotu označující, zda je soubor na SD kartě nalezen.

  • True — Soubor je na SD kartě.

  • False — Soubor není na SD kartě.

Usage:
brain.sdcard.exists(filename)

Parametry

Popis

filename

Název souboru jako řetězec. Název souboru musí obsahovat příponu souboru.

# Add more text and display file size if the file exists
if brain.sdcard.exists("Note.txt"):
    brain.sdcard.appendfile("Note.txt", bytearray(" World"))
    size = brain.sdcard.size("Note.txt")
    brain.screen.print("Size: ")
    brain.screen.print(size)