SD-карта#
Вступ#
Використання SD-карти з VEX EXP дозволяє зберігати та отримувати доступ до файлів на знімній SD-карті, вставленій у гніздо для SD-карт Brain. Незалежно від того, чи ви зберігаєте дані датчика, чи завантажуєте власні зображення, ці методи забезпечують повний контроль над операціями з файлами. Знімна SD-карта дозволяє легко передавати дані між Brain та комп’ютером.
Для EXP Brain потрібна SD-карта об’ємом не більше 32 ГБ, відформатована у файловій системі FAT32. SD-карти об’ємом понад 32 ГБ за замовчуванням використовують форматування exFAT, яке несумісне з EXP Brain. Перед використанням переконайтеся, що ваша SD-карта належним чином відформатована у FAT32.
Усі файли мають бути поміщені в кореневу папку SD-карти, щоб бути доступними.
У наведених нижче прикладах сконструйований Brain включає доступ до методів SD-карти та буде використовуватися у всіх наступних прикладах цієї документації API під час посилання на ці методи.
Нижче наведено список усіх методів:
Дії — Виконання операцій з файлами та відображення зображень з SD-карти.
loadfile— Завантажує вміст файлу з SD-карти у буфер пам’яті, наданий користувачем.savefile— Зберігає дані з буфера, наданого користувачем, у файл на SD-карті EXP Brain.appendfile— Додає дані з буфера, наданого користувачем, до кінця існуючого файлу на SD-карті EXP Brain.draw_image_from_file— Відображає растрове зображення з SD-карти.
Геттери — Повертають інформацію про SD-карту та файл.
is_inserted— Повертає, чи вставлено SD-карту в Brain.filesize— Повертає розмір файлу.size— Повертає розмір файлу.exists— Повертає, чи знайдено файл на SD-карті.
Дії#
loadfile#
loadfile завантажує файл з SD-карти в масив байтів.
Usage:
brain.sdcard.loadfile(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)
Параметри |
Опис |
|---|---|
|
Ім’я файлу, який потрібно зберегти як рядок. Ім’я файлу має містити розширення файлу. Якщо файл вже існує, його буде перезаписано. Якщо файл не існує, буде створено новий файл. |
|
Необов’язково. Масив байтів для запису у файл. |
# 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)
Параметри |
Опис |
|---|---|
|
Ім’я файлу, який потрібно додати у вигляді рядка. Ім’я файлу має містити розширення файлу. |
|
Масив байтів, що містить дані для додавання. |
# 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 КБ.
Примітка: EXP Brain підтримує відображення лише файлів .bmp Для мінімізації розміру файлу рекомендується 8-бітне кодування RLE.
Usage
brain.screen.draw_image_from_file(filename, x, y)
Параметри |
Опис |
|---|---|
|
Ім’я файлу зображення. |
|
Координата x для верхнього лівого кута зображення на екрані. |
|
Координата 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— У Brain вставлено 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 повертає розмір файлу в байтах як десяткове число (float).
Usage:
brain.sdcard.filesize(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 повертає розмір файлу в байтах як десяткове число (float).
Usage:
brain.sdcard.size(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)
Параметри |
Опис |
|---|---|
|
Ім’я файлу у вигляді рядка. Ім’я файлу має містити розширення файлу. |
# 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)