Estas son algunas de las preguntas comunes sobre CircuitPython y microcontroladoras con CircuitPython
He venido utilizando CircuitPython 3.x o 2.x, ¿donde puedo encontrar librerías compatibles?
Ya no estamos compilando o dando mantenimiento a CircuitPython 2.x y 3.x. Lo alentamos a actualizar CircuitPython a la última versión y a utilizar una versión actualizada de las librerías. Sin embargo, puedes encontrar la última versión disponible para 2.x compilada aquí () y la última para la versión 3.x aquí.
Estamos quitando capacidades para ESP8266 desde 4.x - ¡Para más información favor lea aquí!
https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-for-esp8266
Nosotros no tenemos capacidades de asyncio en CircuitPython en este momento.
El LED indicador de estado te puede decir que está pasando con tu tarjeta CircuitPython. ¡Lea aquí lo que significan estos colores!
¿Que es MemoryError
?
Los errores de solicitud de memoria suceden cuando tratamos de guardar mucho en la tarjeta. Las tarjetas con microcontroladoras para CircuitPython tiene una cantidad limitada de memoria disponible. Usted puede tener como 250 líneas de código en tarjetas M0 Express. Si tratas de hacerle import
muchas librerías, una combinación de librerías largas, o correr un código con muchas líneas de código, si programa va a fallar en ejecutar y vas a recibir un mensaje MemoryError
en la consola serial (REPL).
¿Que hago cuando recibo un MemoryError
?
Trata reiniciando tu tarjeta. Cada vez que reinicias la tarjeta, ella tratará de acomodar la memoria. Mientras es poco probable que resuelta tu error, es un paso sencillo que vale la pena probar.
Asegúrate de usar las versiones .mpy de las librerías. Todas las librerías de CircuitPython están disponibles en el conjunto en formato .mpy el cual consume menos memoria que el formato .py. Asegúrate de estar usando la última versión de la librería para tu versión de CircuitPython.
Si esto no resuelve tu problema, trata recortando tu código. Recortar comentarios, limpiar código innecesario o cualquier otra limpieza que puedas realizar para acortar tu código. Si estás utilizando muchas funciones, trata de moverlas a una librería separada, crear un .mpy
de dicha librería e importándola en tu código.
Puedes transformar tu archivo entero a .mpy
y hacer import
en tu archivo code.py
. Esto significa que no vas a poder editar tu código en vivo en la tarjeta,, pero te puede ahorrar espacio.
¿Puede el orden de mis import
, afectar la memoria?
Si puede, dado que la memoria se fragmenta de diferente forma, dependiendo de el orden de solicitud y del tamaño de los objetos. Cargar archivos .mpy
utiliza menos memoria por lo que se recomienda realizar esta conversión para archivos que no estés editando.
¿Como puedo crear mis propios archivos .mpy
?
Puedes realizar tus propias versiones de archivos .mpy
con mpy-cross
.
Puedes descargar la versión de mpy-cross
para CircuitPython 2.x para tu sistema operativo desde la página de Versiones de CircuitPython bajo la última versión para 2.x.
Usted puede compilar mpy-cross
para CircuitPython 3.x, clonando el repositorio de GitHub de CircuitPython y ejecutando make
dentro del directorio circuitpython/mpy-cross/
. Ahora ejecutas ./mpy-cross ruta/a/foo.py
para crear foo.mpy
en el mismo directorio que el archivo original.
¿Como reviso cuanta memoria tengo disponible?
import gc
gc.mem_free()
Esto te dará el número de bytes disponibles para utilizarse.
¿CircuitPython maneja interrupciones?
No. CircuitPython no trabaja por el momento con interrupciones. No tenemos un estimado para cuando se podrían incluir.
¿Las Feather M0 trabajan con WINC1500?
No, la librería para WINC1500 no cabe en la memoria de flash de los chips M0.
Acrónimos Comunes
CP o CPy = CircuitPython
CPC = Circuit Playground Classic
CPX = Circuit Playground Express
CPB = Circuit Playground Bluefruit
Page last edited March 08, 2024
Text editor powered by tinymce.