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-карты.

Getters – Возвращает информацию о SD-карте и файлах.

  • is_inserted – Возвращает логическое значение, указывающее, вставлена ​​ли SD-карта в Brain.

  • filesize – Возвращает размер файла в байтах.

  • size – Возвращает размер файла в байтах.

  • exists – Возвращает логическое значение, указывающее, найден ли файл на SD-карте.

Для получения информации о создании Brain для доступа к методам sdcard см. Brain.

Действия#

loadfile#

loadfile загружает файл с SD-карты в массив байтов.

Usage:
brain.sdcard.loadfile(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")

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