SD-карта#

Вступ#

Використання SD-карти з VEX V5 дозволяє зберігати та отримувати доступ до файлів на знімній SD-карті, вставленій у слот для SD-карт Brain. Незалежно від того, чи ви зберігаєте дані датчика, чи завантажуєте власні зображення, ці методи забезпечують повний контроль над операціями з файлами. Знімна SD-карта дозволяє легко передавати дані між Brain та комп’ютером.

Для V5 Brain потрібна SD-карта об’ємом не більше 32 ГБ, відформатована у файловій системі FAT32. SD-карти об’ємом понад 32 ГБ за замовчуванням використовують форматування exFAT, яке несумісне з V5 Brain. Перед використанням переконайтеся, що ваша SD-карта належним чином відформатована у FAT32.

Усі файли мають бути поміщені в кореневу папку SD-карти, щоб бути доступними.

У наведених нижче прикладах сконструйований Brain включає доступ до методів SD-карти та буде використовуватися у всіх наступних прикладах цієї документації API під час посилання на ці методи.

Нижче наведено список усіх методів:

Дії – Виконання операцій з файлами та відображення зображень з SD-карти.

  • loadfile – Завантажує файл з SD-карти в масив байтів.

  • savefile – Зберігає масив байтів на SD-карту.

  • appendfile – Додає масив байтів до існуючого файлу.

  • draw_image_from_file – Відображає растрове зображення з SD-карти.

Геттери – Повертають інформацію про SD-карту та файл.

  • is_inserted – Повертає логічне значення, яке вказує, чи вставлено SD-карту в Brain.

  • filesize – Повертає розмір файлу в байтах.

  • size – Повертає розмір файлу в байтах.

  • exists – Повертає логічне значення, яке вказує, чи знайдено файл на SD-карті.

Щоб дізнатися більше про створення об’єкта Brain для отримання доступу до методів sdcard , див. Brain.

Дії#

loadfile#

loadfile завантажує файл з SD-карти в масив байтів.

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

Параметри

Опис

filename

Ім’я файлу, який потрібно завантажити у вигляді рядка. Ім’я файлу має містити розширення файлу.

buffer

Необов’язково. Існуючий масив байтів (bytearray) для завантаження вмісту файлу. Якщо існуючий масив байтів більший, його вміст буде перезаписано. Якщо існуючий масив байтів менший, метод може не завантажити всі дані. За замовчуванням буде повернуто новий масив байтів, якщо буфер не надано.

# 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 зберігає масив байтів на SD-карту.

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

Параметри

Опис

filename

Ім’я файлу, який потрібно зберегти як рядок. Ім’я файлу має містити розширення файлу. Якщо файл вже існує, його буде перезаписано. Якщо файл не існує, буде створено новий файл.

buffer

Необов’язково. Масив байтів для запису у файл.

# 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 додає масив байтів до існуючого файлу, додаючи нові дані в кінець файлу без зміни поточного вмісту.

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

Параметри

Опис

filename

Ім’я файлу, який потрібно додати у вигляді рядка. Ім’я файлу має містити розширення файлу.

buffer

Масив байтів, що містить дані для додавання.

# 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 відображає растрове зображення (BMP), що зберігається на SD-карті.

Файли .bmp обмежені розміром 5120 пікселів та 6 КБ.

Примітка: V5 Brain підтримує відображення лише файлів .bmp Для мінімізації розміру файлу рекомендується 8-бітне кодування RLE.

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

Параметри

Опис

filename

Ім’я файлу зображення.

x

Координата x для верхнього лівого кута зображення на екрані.

y

Координата Y для верхнього лівого кута зображення на екрані.

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

Геттери#

is_inserted#

is_inserted повертає логічне значення, яке вказує, чи SD-карта наразі вставлена ​​в Brain.

  • True - У мозок вставлено SD-карту.

  • False - У Brain не вставлено SD-карту.

Usage:
brain.sdcard.is_inserted()

Параметри

Опис

Цей метод не має параметрів.

# 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 повертає розмір файлу в байтах.

Usage:
brain.sdcard.filesize(filename)

Параметри

Опис

filename

Ім’я файлу у вигляді рядка. Ім’я файлу має містити розширення файлу.

# 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 повертає розмір файлу в байтах.

Usage:
brain.sdcard.size(filename)

Параметри

Опис

filename

Ім’я файлу у вигляді рядка. Ім’я файлу має містити розширення файлу.

# 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 повертає логічне значення, яке вказує, чи знайдено файл на SD-карті.

  • True - Файл знаходиться на SD-карті.

  • False - Файл відсутній на SD-карті.

Usage:
brain.sdcard.exists(filename)

Параметри

Опис

filename

Ім’я файлу у вигляді рядка. Ім’я файлу має містити розширення файлу.

# Add more text and display file size
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)