Karta SD#
Wstęp#
Użycie karty SD z VEX EXP umożliwia przechowywanie i dostęp do plików na wymiennej karcie SD włożonej do gniazda karty SD w Brain. Niezależnie od tego, czy zapisujesz dane z czujnika, czy ładujesz własne obrazy, te metody zapewniają pełną kontrolę nad operacjami na plikach. Wymienna karta SD umożliwia łatwe przesyłanie danych między Brain a komputerem.
Do EXP Brain potrzebna jest karta SD o pojemności nie większej niż 32 GB, sformatowana w systemie FAT32. Karty SD o pojemności powyżej 32 GB domyślnie korzystają z formatu exFAT, który nie jest kompatybilny z EXP Brain. Przed użyciem upewnij się, że karta SD jest prawidłowo sformatowana w systemie FAT32.
Aby były dostępne, wszystkie pliki muszą zostać umieszczone w folderze głównym karty SD.
W poniższych przykładach skonstruowany Brain obejmuje dostęp do metod karty SD i będzie używany we wszystkich kolejnych przykładach w tej dokumentacji API podczas odwoływania się do tych metod.
Poniżej znajduje się lista wszystkich metod:
Akcje — wykonywanie operacji na plikach i wyświetlanie obrazów z karty SD.
loadfile— Ładuje zawartość pliku z karty SD do bufora pamięci udostępnionego przez użytkownika.savefile— Zapisuje dane z bufora dostarczonego przez użytkownika do pliku na karcie SD EXP Brain.appendfile— Dodaje dane z bufora dostarczonego przez użytkownika na końcu istniejącego pliku na karcie SD EXP Brain.draw_image_from_file— Wyświetla obraz bitmapowy z karty SD.
Gettery — zwracają informacje o karcie SD i pliku.
is_inserted— Zwraca informację, czy karta SD jest włożona do mózgu.filesize— Zwraca rozmiar pliku.size— Zwraca rozmiar pliku.exists— Zwraca informację, czy plik został znaleziony na karcie SD.
Akcje#
loadfile#
loadfile ładuje plik z karty SD do tablicy bajtów.
Usage:
brain.sdcard.loadfile(filename, buffer)
Parametry |
Opis |
|---|---|
|
Nazwa pliku do załadowania jako ciąg znaków. Nazwa pliku musi zawierać rozszerzenie pliku. |
|
Opcjonalnie. Istniejąca tablica bajtów, do której ma zostać załadowana zawartość pliku. Jeśli istniejąca tablica bajtów jest większa, jej zawartość zostanie nadpisana. Jeśli istniejąca tablica bajtów jest mniejsza, metoda może nie załadować wszystkich danych. Domyślnie, jeśli bufor nie zostanie podany, zostanie zwrócona nowa tablica bajtów. |
# 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 zapisuje tablicę bajtów na karcie SD.
Usage:
brain.sdcard.savefile(filename, buffer)
Parametry |
Opis |
|---|---|
|
Nazwa pliku do zapisania jako ciąg znaków. Nazwa pliku musi zawierać rozszerzenie pliku. Jeśli plik już istnieje, zostanie nadpisany. Jeśli plik nie istnieje, zostanie utworzony nowy plik. |
|
Opcjonalnie. Tablica bajtów do zapisania w pliku. |
# 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 dołącza tablicę bajtów do istniejącego pliku, dodając nowe dane na końcu pliku bez zmiany bieżącej zawartości.
Usage:
brain.sdcard.appendfile(filename, buffer)
Parametry |
Opis |
|---|---|
|
Nazwa pliku do dołączenia w postaci ciągu znaków. Nazwa pliku musi zawierać rozszerzenie pliku. |
|
Tablica bajtów zawierająca dane do dołączenia. |
# 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 wyświetla obraz bitmapowy (BMP) zapisany na karcie SD.
Pliki .bmp są ograniczone do 5120 pikseli i rozmiaru 6 KB.
Uwaga: EXP Brain obsługuje tylko wyświetlanie plików .bmp W celu zminimalizowania rozmiaru pliku zaleca się stosowanie 8-bitowego kodowania RLE.
Usage
brain.screen.draw_image_from_file(filename, x, y)
Parametry |
Opis |
|---|---|
|
Nazwa pliku obrazu. |
|
Współrzędna x lewego górnego rogu obrazu na ekranie. |
|
Współrzędna y lewego górnego rogu obrazu na ekranie. |
# 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 zwraca wartość logiczną wskazującą, czy karta SD jest aktualnie włożona do mózgu.
True— W mózgu znajduje się karta SD.False— Mózg nie ma włożonej karty SD.
Usage:
brain.sdcard.is_inserted()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 zwraca rozmiar pliku w bajtach jako liczbę dziesiętną (float).
Usage:
brain.sdcard.filesize(filename)
Parametry |
Opis |
|---|---|
|
Nazwa pliku w postaci ciągu znaków. Nazwa pliku musi zawierać rozszerzenie pliku. |
# 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 zwraca rozmiar pliku w bajtach jako liczbę dziesiętną (float).
Usage:
brain.sdcard.size(filename)
Parametry |
Opis |
|---|---|
|
Nazwa pliku w postaci ciągu znaków. Nazwa pliku musi zawierać rozszerzenie pliku. |
# 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 zwraca wartość logiczną wskazującą, czy plik został znaleziony na karcie SD.
True— Plik znajduje się na karcie SD.False— Plik nie znajduje się na karcie SD.
Usage:
brain.sdcard.exists(filename)
Parametry |
Opis |
|---|---|
|
Nazwa pliku w postaci ciągu znaków. Nazwa pliku musi zawierać rozszerzenie pliku. |
# 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)