Tarjeta SD#
Introducción#
La API de tarjeta SD para VEX IQ (2.ª generación) permite almacenar y acceder a archivos en una tarjeta SD extraíble insertada en la ranura para tarjetas SD del Brain. Tanto si se guardan datos de sensores como si se cargan imágenes personalizadas, estos métodos ofrecen control total sobre las operaciones con los archivos. La tarjeta SD extraíble permite transferir datos fácilmente entre el Brain y el ordenador.
El IQ (2.ª generación) Brain requiere una tarjeta SD de hasta 32 GB formateada en FAT32. Las tarjetas SD de más de 32 GB utilizan el formato exFAT por defecto, que no es compatible con el VEX IQ (2.ª generación) Brain. Asegúrese de que su tarjeta SD esté formateada correctamente en FAT32 antes de usarla.
Todos los archivos deben colocarse en la carpeta raíz de la tarjeta SD para que sean accesibles.
Para los ejemplos a continuación, el cerebro construido incluye acceso a los métodos de la tarjeta SD y se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a esos métodos.
A continuación se muestra una lista de todos los métodos:
Acciones: Realizar operaciones con archivos y mostrar imágenes desde la tarjeta SD.
loadfile
– Loads a file from the SD card into a bytearray.savefile
– Saves a bytearray into the SD card.appendfile
– Appends a bytearray to an existing file.draw_image_from_file
– Displays a Bitmap Image from the SD card.
Getters – Devuelven información de la tarjeta SD y del archivo.
is_inserted
– Returns a Boolean indicating whether an SD card is inserted into the Brain.filesize
– Returns the size of a file in bytes.size
– Returns the size of a file in bytes.exists
– Returns a Boolean indicating whether a file is found on the SD card.
Comportamiento#
loadfile#
loadfile
loads a file from the SD card into a bytearray.
Usage:
brain.sdcard.loadfile(filename, buffer)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo que se cargará como cadena. El nombre del archivo debe incluir la extensión. |
|
Opcional. Un bytearray existente para cargar el contenido del archivo. Si el bytearray existente es mayor, su contenido se sobrescribirá. Si el bytearray existente es menor, es posible que el método no cargue todos los datos. Por defecto, se devolverá un nuevo bytearray si no se proporciona un búfer. |
# Display a .txt file's contents on the brain
# Change the name of the file
text_file = brain.sdcard.loadfile("Text.txt")
brain.screen.print(text_file.decode("utf-8"))
savefile#
savefile
saves a bytearray into the SD card.
Usage
brain.sdcard.savefile(filename, buffer)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo que se guardará como cadena. El nombre del archivo debe incluir la extensión. Si el archivo ya existe, se sobrescribirá. Si no existe, se creará uno nuevo. |
|
Opcional. Un bytearray para escribir en el archivo. |
# Overwrite an existing txt file and display the new text
brain.sdcard.savefile("Text.txt", bytearray("Hello "))
text_file = brain.sdcard.loadfile("Text.txt")
brain.screen.print(text_file.decode("utf-8"))
appendfile#
appendfile
appends a bytearray to an existing file, adding new data to the end of the file without altering the current contents.
Usage:
brain.sdcard.appendfile(filename, buffer)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo que se añadirá como cadena. El nombre del archivo debe incluir la extensión. Si el archivo ya existe, se sobrescribirá. Si no existe, se creará uno nuevo. |
|
Un bytearray que contiene los datos que se agregarán. |
# Append "World" to an existing txt file then display it
brain.sdcard.appendfile('Text.txt', bytearray("World "))
text_file = brain.sdcard.loadfile("Text.txt")
brain.screen.print(text_file.decode("utf-8"))
draw_image_from_file#
draw_image_from_file
displays a Bitmap Image (BMP) stored on the SD card.
.bmp
files are limited to 5120 pixels and 6KB in size.
Note: The IQ (2nd gen) Brain only supports displaying .bmp
files. 8-bit RLE encoding is recommended to minimize file size.
Usage
brain.screen.draw_image_from_file(filename, x, y)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo de la imagen. |
|
La coordenada x de la esquina superior izquierda de la imagen en la pantalla. |
|
La coordenada y de 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)
Captadores#
is_inserted#
is_inserted
returns a Boolean indicating whether an SD card is currently inserted into the Brain.
True
- The Brain has an SD card inserted.False
- The Brain does not have an SD card inserted.
Usage:
brain.sdcard.is_inserted()
Parámetros |
Descripción |
---|---|
Este método no tiene parámetros. |
# Display a message if the SDcard is inserted
if brain.sdcard.is_inserted():
brain.screen.print("Inserted!")
filesize#
filesize
returns the size of a file in bytes as a float.
Usage:
brain.sdcard.filesize(filename)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo como cadena. El nombre del archivo debe incluir la extensión. |
# Display the amount of bytes in a txt file
brain.screen.print(brain.sdcard.filesize("Text.txt"))
size#
size
returns the size of a file in bytes as a float.
Usage:
brain.sdcard.size(filename)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo como cadena. El nombre del archivo debe incluir la extensión. |
# Display the amount of bytes in a txt file
brain.screen.print(brain.sdcard.size("Text.txt"))
exists#
exists
returns a Boolean indicating whether a file is found on the SD card.
True
- The file is on the SD card.False
- The file is not on the SD card.
Usage:
brain.sdcard.exists(filename)
Parámetros |
Descripción |
---|---|
|
El nombre del archivo como cadena. El nombre del archivo debe incluir la extensión. |
# Determine if a requested file exists
if brain.sdcard.exists("Text.txt"):
brain.screen.print("File exists")
else:
brain.screen.print("Create file")