SD-kort#

Introduktion#

SD-kort-API:et för VEX IQ (2:a generationen) låter dig lagra och komma åt filer på ett flyttbart SD-kort som sätts in i Brains SD-kortplats. Oavsett om du sparar sensordata eller laddar anpassade bilder ger dessa metoder full kontroll över filhanteringen. Det flyttbara SD-kortet låter dig enkelt överföra data mellan din Brain och datorn.

IQ (2:a generationen) Brain kräver ett SD-kort som inte är större än 32 GB, formaterat som FAT32. SD-kort större än 32 GB använder exFAT-formatering som standard, vilket inte är kompatibelt med VEX IQ (2:a generationen) Brain. Se till att ditt SD-kort är korrekt formaterat till FAT32 innan användning.

Alla filer måste placeras i SD-kortets rotmapp för att vara tillgängliga.

Den här sidan använder brain som exempelnamn för Hjärna. Ersätt det med ditt eget konfigurerade namn efter behov.

Nedan följer en lista över alla metoder:

Åtgärder — Utför filåtgärder och visa bilder från SD-kortet.

  • loadfile — Laddar innehållet i en fil från SD-kortet till en användardefinierad minnesbuffert.

  • savefile — Sparar data från en användardefinierad buffert till en fil på IQ (2:a generationen) Brains SD-kort.

  • appendfile — Lägger till data från en användardefinierad buffert i slutet av en befintlig fil på IQ (2:a generationen) Brains SD-kort.

  • draw_image_from_file — Visar en bitmappsbild från SD-kortet.

Getters — Returnera SD-kort- och filinformation.

  • is_inserted — Returnerar om ett SD-kort är isatt i Brain.

  • filesize — Returnerar filstorleken.

  • size — Returnerar filens storlek.

  • exists — Returnerar om en fil finns på SD-kortet.

Åtgärder#

loadfile#

loadfile laddar en fil från SD-kortet till en bytearray.

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

Parametrar

Beskrivning

filename

Namnet på filen som ska läsas in som en sträng. Filnamnet måste innehålla filändelsen.

buffer

Valfritt. En befintlig bytearray att läsa in filens innehåll i. Om den befintliga bytearrayen är större kommer dess innehåll att skrivas över. Om den befintliga bytearrayen är mindre kanske metoden inte laddar all data. Som standard returneras en ny bytearray om ingen buffert tillhandahålls.

# 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 sparar en bytearray på SD-kortet.

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

Parametrar

Beskrivning

filename

Namnet på filen som ska sparas som en sträng. Filnamnet måste innehålla filändelsen. Om filen redan finns kommer den att skrivas över. Om filen inte finns skapas en ny fil.

buffer

Valfritt. En bytearray att skriva in i filen.

# 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 lägger till en bytearray till en befintlig fil och lägger till ny data i slutet av filen utan att ändra det aktuella innehållet.

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

Parametrar

Beskrivning

filename

Namnet på filen som ska läggas till som en sträng. Filnamnet måste innehålla filändelsen.

buffer

En bytearray som innehåller de data som ska läggas till.

# 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 visar en bitmappsbild (BMP) som är lagrad på SD-kortet.

.bmp -filer är begränsade till 5120 pixlar och 6 KB i storlek.

Obs! IQ (2:a generationen) Brain stöder endast visning av .bmp filer. 8-bitars RLE-kodning rekommenderas för att minimera filstorleken.

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

Parametrar

Beskrivning

filename

Bildens filnamn.

x

X-koordinaten för bildens övre vänstra hörn på skärmen.

y

Y-koordinaten för bildens övre vänstra hörn på skärmen.

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

Getters#

is_inserted#

is_inserted returnerar ett booleskt värde som anger om ett SD-kort för närvarande är isatt i Brain.

  • True — Hjärnan har ett SD-kort isatt.

  • False — Hjärnan har inget SD-kort isatt.

Usage:
brain.sdcard.is_inserted()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# 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 returnerar filstorleken i byte som ett decimaltal (flyttal).

Usage:
brain.sdcard.filesize(filename)

Parametrar

Beskrivning

filename

Filnamnet som en sträng. Filnamnet måste innehålla filändelsen.

# 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 returnerar filens storlek i byte som ett decimaltal (float).

Usage:
brain.sdcard.size(filename)

Parametrar

Beskrivning

filename

Filnamnet som en sträng. Filnamnet måste innehålla filändelsen.

# 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 returnerar ett booleskt värde som anger om en fil finns på SD-kortet.

  • True — Filen finns på SD-kortet.

  • False — Filen finns inte på SD-kortet.

Usage:
brain.sdcard.exists(filename)

Parametrar

Beskrivning

filename

Filnamnet som en sträng. Filnamnet måste innehålla filändelsen.

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