Tarjeta SD#

Introducción#

El uso de una tarjeta SD con VEX EXP le permite almacenar y acceder a archivos en una tarjeta SD extraíble insertada en la ranura para tarjetas SD del Brain. Ya sea que esté guardando datos del sensor o cargando imágenes personalizadas, estos métodos proporcionan un control total sobre las operaciones de los archivos. La tarjeta SD extraíble le permite transferir datos fácilmente entre su cerebro y la computadora.

El EXP Brain requiere una tarjeta SD de no más de 32 GB, formateada como FAT32. Las tarjetas SD de más de 32 GB utilizan el formato exFAT de forma predeterminada, que no es compatible con el EXP Brain. Asegúrese de que su tarjeta SD esté correctamente formateada en FAT32 antes de usarla.

Todos los archivos deben colocarse en la carpeta raíz de la tarjeta SD para ser accesibles.

Para los ejemplos a continuación, el cerebro construido incluye el acceso a los métodos de la tarjeta SD y se utilizará en todos los ejemplos posteriores a lo largo de esta documentación API cuando se haga referencia a esos métodos.

A continuación se muestra una lista de todos los métodos:

Acciones: realice operaciones de archivo y muestre imágenes desde la tarjeta SD.

  • loadfile: carga el contenido de un archivo de la tarjeta SD en un búfer de memoria proporcionado por el usuario.

  • savefile — Guarda los datos de un búfer proporcionado por el usuario en un archivo en la tarjeta SD del EXP Brain.

  • appendfile — Anexa datos de un búfer proporcionado por el usuario al final de un archivo existente en la tarjeta SD del EXP Brain.

  • draw_image_from_file — Muestra una imagen de mapa de bits de la tarjeta SD.

Getters: devuelve la información de la tarjeta SD y el archivo.

  • is_inserted — Devuelve si se ha insertado una tarjeta SD en el cerebro.

  • filesize — Devuelve el tamaño de un archivo.

  • size — Devuelve el tamaño de un archivo.

  • exists — Devuelve si se encuentra un archivo en la tarjeta SD.

Acciones#

loadfile#

loadfile carga un archivo de la tarjeta SD en un bytearray.

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

Parámetros

Descripción

filename

El nombre del archivo a cargar como una cadena. El nombre del archivo debe incluir la extensión del archivo.

buffer

Opcional. Un bytearray existente para cargar el contenido del archivo. Si la matriz de bytes existente es más grande, su contenido se sobrescribirá. Si la matriz de bytes existente es más pequeña, es posible que el método no cargue todos los datos. De forma predeterminada, se devolverá un nuevo bytearray si no se proporciona un búfer.

# 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 guarda un bytearray en la tarjeta SD.

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

Parámetros

Descripción

filename

El nombre del archivo a guardar como una cadena. El nombre del archivo debe incluir la extensión del archivo. Si el archivo ya existe, se sobrescribirá. Si el archivo no existe, se creará un nuevo archivo.

buffer

Opcional. Un bytearray para escribir en el archivo.

# 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 anexa un bytearray a un archivo existente, agregando nuevos datos al final del archivo sin alterar el contenido actual.

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

Parámetros

Descripción

filename

El nombre del archivo a adjuntar como una cadena. El nombre del archivo debe incluir la extensión del archivo.

buffer

Una matriz de bytes que contiene los datos a adjuntar.

# 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 muestra una imagen de mapa de bits (BMP) almacenada en la tarjeta SD.

Los archivos .bmp están limitados a 5120 píxeles y 6KB de tamaño.

Nota: El EXP Brain solo admite la visualización de archivos .bmp. Se recomienda la codificación RLE de 8 bits para minimizar el tamaño del archivo.

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

Parámetros

Descripción

filename

El nombre de archivo de la imagen.

x

La coordenada x para la esquina superior izquierda de la imagen en la pantalla.

y

La coordenada y para la esquina superior izquierda de la imagen en la pantalla.

# 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 devuelve un booleano que indica si una tarjeta SD está actualmente insertada en el cerebro.

  • True : el cerebro tiene una tarjeta SD insertada.

  • False : el cerebro no tiene una tarjeta SD insertada.

Usage:
brain.sdcard.is_inserted()

Parámetros

Descripción

Este método no tiene parámetros.

# 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 devuelve el tamaño de un archivo en bytes como un decimal (float).

Usage:
brain.sdcard.filesize(filename)

Parámetros

Descripción

filename

El nombre del archivo como una cadena. El nombre del archivo debe incluir la extensión del archivo.

# 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 devuelve el tamaño de un archivo en bytes como un decimal (float).

Usage:
brain.sdcard.size(filename)

Parámetros

Descripción

filename

El nombre del archivo como una cadena. El nombre del archivo debe incluir la extensión del archivo.

# 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 devuelve un booleano que indica si se encuentra un archivo en la tarjeta SD.

  • True : el archivo está en la tarjeta SD.

  • False : el archivo no está en la tarjeta SD.

Usage:
brain.sdcard.exists(filename)

Parámetros

Descripción

filename

El nombre del archivo como una cadena. El nombre del archivo debe incluir la extensión del archivo.

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