SD-kártya#

Bevezetés#

A VEX IQ (2. generáció) SD-kártya API-ja lehetővé teszi fájlok tárolását és elérését egy, az agy SD-kártyanyílásába helyezett, cserélhető SD-kártyán. Akár szenzoradatokat ment, akár egyéni képeket tölt be, ezek a módszerek teljes kontrollt biztosítanak a fájlműveletek felett. A cserélhető SD-kártya lehetővé teszi az adatok egyszerű átvitelét az agy és a számítógép között.

Az IQ (2. generációs) Brainhez legfeljebb 32 GB-os, FAT32 fájlrendszerű SD-kártya szükséges. A 32 GB-nál nagyobb SD-kártyák alapértelmezés szerint exFAT formázást használnak, amely nem kompatibilis a VEX IQ (2. generációs) Brainnel. Használat előtt győződjön meg arról, hogy az SD-kártya megfelelően FAT32 fájlrendszerre van formázva.

Minden fájlnak az SD-kártya gyökérmappájába kell kerülnie ahhoz, hogy elérhető legyen.

Ez az oldal brain értéket használja példaként a Brain névre. Szükség szerint cserélje le a saját konfigurált névre.

Az alábbiakban felsoroljuk az összes módszert:

Műveletek – Fájlműveletek végrehajtása és képek megjelenítése az SD-kártyáról.

  • loadfile — Betölti egy fájl tartalmát az SD-kártyáról a felhasználó által megadott memóriapufferbe.

  • savefile — Adatokat ment a felhasználó által megadott pufferből egy fájlba az IQ (2. generációs) Brain SD-kártyáján.

  • appendfile — Hozzáfűzi az adatokat egy felhasználó által megadott pufferből egy meglévő fájl végéhez az IQ (2. generációs) Brain SD-kártyáján.

  • draw_image_from_file — Megjeleníti az SD-kártyán található bitképet.

Getterek — SD-kártya és fájlinformációk visszaadása.

  • is_inserted — Visszaadja, hogy van-e SD-kártya behelyezve az agyba.

  • filesize — Visszaadja a fájl méretét.

  • size — Visszaadja a fájl méretét.

  • exists — Visszaadja, hogy található-e fájl az SD-kártyán.

Műveletek#

loadfile#

loadfile Betölt egy fájlt az SD kártyáról egy bytearray tárolóba.

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

Paraméterek

Leírás

filename

A betöltendő fájl neve karakterláncként. A fájl nevének tartalmaznia kell a fájlkiterjesztést.

buffer

Opcionális. Egy meglévő bytearray, amelybe a fájl tartalma betöltésre kerül. Ha a meglévő bytearray nagyobb, akkor a tartalma felülírásra kerül. Ha a meglévő bytearray kisebb, előfordulhat, hogy a metódus nem tölti be az összes adatot. Alapértelmezés szerint egy új bytearray kerül visszaadásra, ha nincs megadva puffer.

# 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 elment egy bájtméretű fájlt az SD kártyára.

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

Paraméterek

Leírás

filename

A mentendő fájl neve karakterláncként. A fájlnévnek tartalmaznia kell a fájlkiterjesztést. Ha a fájl már létezik, akkor felülírja. Ha a fájl nem létezik, akkor egy új fájl jön létre.

buffer

Opcionális. Egy bytearray, ami a fájlba írható.

# 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 függvény egy bájttömböt fűz hozzá egy meglévő fájlhoz, új adatokat adva a fájl végéhez a jelenlegi tartalom megváltoztatása nélkül.

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

Paraméterek

Leírás

filename

A karakterláncként hozzáfűzendő fájl neve. A fájlnévnek tartalmaznia kell a fájlkiterjesztést.

buffer

Egy bájtsorozat, amely a hozzáfűzendő adatokat tartalmazza.

# 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 parancs egy SD-kártyán tárolt bitképet (BMP) jelenít meg.

.bmp fájlok mérete 5120 képpontra és 6 KB-ra korlátozódik.

Megjegyzés: Az IQ (2. generációs) Brain csak .bmp fájl megjelenítését támogatja. A fájlméret minimalizálása érdekében 8 bites RLE kódolás ajánlott.

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

Paraméterek

Leírás

filename

A kép fájlneve.

x

A kép bal felső sarkának x koordinátája a képernyőn.

y

A kép bal felső sarkának y koordinátája a képernyőn.

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

Getterek#

is_inserted#

is_inserted egy logikai értéket ad vissza, amely azt jelzi, hogy jelenleg van-e SD-kártya a Brain-ben.

  • True — Az agyban SD-kártya van behelyezve.

  • False — Az agyban nincs SD-kártya behelyezve.

Usage:
brain.sdcard.is_inserted()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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 A fájl méretét adja vissza bájtban decimális törtként (float).

Usage:
brain.sdcard.filesize(filename)

Paraméterek

Leírás

filename

A fájl neve karakterláncként. A fájlnévnek tartalmaznia kell a fájlkiterjesztést.

# 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 A fájl méretét adja vissza bájtban, decimális (float) formátumban.

Usage:
brain.sdcard.size(filename)

Paraméterek

Leírás

filename

A fájl neve karakterláncként. A fájlnévnek tartalmaznia kell a fájlkiterjesztést.

# 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 pedig egy logikai értéket ad vissza, amely azt jelzi, hogy található-e fájl az SD-kártyán.

  • True — A fájl az SD-kártyán található.

  • False — A fájl nincs az SD-kártyán.

Usage:
brain.sdcard.exists(filename)

Paraméterek

Leírás

filename

A fájl neve karakterláncként. A fájlnévnek tartalmaznia kell a fájlkiterjesztést.

# 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)