Siempre Corra la Última Versión de CircuitPython y sus Librerías
Mientras seguimos desarrollando CircuitPython y creando nuevas version, vamos a dejar de darle mantenimiento a versiones anterior. Necesita actualizarse a la última versión de CircuitPython.
Necesita actualizar el compilado de Librerías para CircuitPython acorde a su versión de CircuitPython. Favor actualice CircuitPython y luego descargue la última versión del compilado.
Mientras seguimos sacando nuevas versiones de CircuitPython, vamos a dejar de proveer compilados de librerías que puedes descargar del repositorio de Adafruit CircuitPython Library Bundle. Si debe seguir utilizando una versión anterior, todavía puede descargar la versión apropiada de mpy-cross
para su versión particula de CircuitPython del repositorio de CircuitPython y crear sus propios archivos de librería de tipo .mpy. Sin embargo, es mejor actualizar a ambas la última versión de CircuitPython y del compilado de librerías.
Debo seguir usando CircuitPython 3.x o 2.x, ¿donde puedo encontrar librerías compatibles?
Ya no le estamos dando mantenimiento o construyendo compilados de Librerías para CircuitPython 2.x y 3.x. Lo alentamos fuertemente a actualizar CircuitPython a la última versión y a utilizar una versión actualizada de las librerías. Sin embargo, si por alguna razón no puede actualizar, puede encontrar la última construcción del compilado de Librerías para 2.x, aquí y la última versión del compilado para 3.x, aquí.
Cambiando entre CircuitPython y Arduino
Muchas de las tarjetas que corren CircuitPython, también corren Arduino. ¿Como me puedo cambiar entre las dos? Cambiar entre CircuitPython y Arduino es muy sencillo.
Si está utilizando Arduino y desea comenzar a utilizar CircuitPython, siga los pasos de Bienvenido a CircuitPython: Instalando CircuitPython.
Si ya está utilizando CircuitPython y desea comenzar a utilizar Arduino, conecte su tarjeta y cargue el sketch de Arduino. Si tiene problemas, puede darle doble click al botón de reset para entrar en modo de bootloader, y luego tratar de subir su sketch. Siempre respalde cualquier archivo que estaba utilizando con CircuitPython, ya que pueden ser borrados.
¡Eso es todo! Es muy sencillo cambiar entre los dos lenguajes.
La Diferencia entre Tarjetas Express y Tarjetas No-Express
Comúnmente hacemos referencia a tarjetas "Express" y a tarjetas "No-Express" cuando hablamos de CircuitPython. ¿Esto que quiere decir?
Express se refiere a que se ha agregado un chip extra para tener un flash de 2MB que te da mayor espacio para CircuitPython y para tu código. Esto significa que puedes incluir más funcionalidad en CircuitPyhon, y que puedes hacer más con tu código en una tarjeta Express de lo que puedes hacer en una tarjeta No-Express.
Las tarjetas Express incluyen a las Circuit Playground Express, ItsyBitsy M0 Express, Feather M0 Express, Metro M0 Express y las Metro M4 Express.
Las tarjetas No-Express incluyen a las Trinket M0, Gemma M0, Feather M0 Basic, y otras variantes de tarjeta M0 No-Express.
Tarjetas No-Express: Gemma y Trinket
CircuitPython corre bien en las Gema M0 y las Trinket M0, pero hay algunas limitaciones.
Poco Espacio en Disco
Como estamos utilizando el flash interno como disco, es compartido con código de ejecución, ¡y es limitado! Solo tenemos como 50KB de espacio.
Sin Audio o NVM
Parte de tener que dar algo de FLASH para usarlo como disco, quiere decir que no nos cabe todo. O sea, no hay capacidades para usar el audio por hardware o al 'eeprom' NVM. Módulos como audioio
y bitbangio
no se incluyen. Para tener estas capacidades, revise las tarjetas CircuitPlayground Express y otras tarjetas Express.
¡Sin embargo, I2C, UART, toque capacitivo, NeoPixeles, DotStar, PWM, entrada y salida analógica, IO digitales, bitácoras a almacenamiento y HID funcionan! Revise los Esenciales de CircuitPython para ejemplos de todos estos.
Diferencias entre CircuitPython y MicroPython
Para las diferencias entre CircuitPython y MicroPython, revise la documentación de CircuitPython.
Diferencias entre CircuitPython y Python
Python (también conocido como CPython) es el lenguaje en que tanto MicroPython como CircuitPython se basan. Existen muchas similaridades, pero también muchas diferencias. Esta es una lista de algunas de las diferencias.
Librerías de Python
Python es anunciado que tiene "baterías incluidas", que quiere decir que muchas de las librerías estándar vienen incluidas. Desafortunadamente, por razones de espacio, muchas librerías de Python no están disponibles. Así que por ejemplo, mientras nos gustaría poder ejecutar un import numpy
, la librería numpy
no está disponible. ¡Así que puede que te toque portar código!
Integers en CircuitPython
En las tarjetas no-Express, los números de tipo integer solo pueden tener una longitud de 31 bits. Números de tipo integer de tamaño ilimitado no están soportados. El número positivo más grande que puede ser representado es 230-1, 1073741823, y el número más negativo posible es -230, -1073741824.
Desde CircuitPython 3.0, las tarjetas Express tienen números tipo integer de longitud arbitraria como en Python.
Números de Punto Flotante y Digitos de Precisión para Float en CircuitPython
Los números de punto flotante son de precisión sencilla en CircuitPython (a diferencia de precisión doble como en Python). El número de punto flotante más grande que se puede representar es de +/-3.4e38. La magnitud más pequeña que puede ser representada con precisión completa es +/-1.7e-38, aunque número tan pequeños como +/-5.6e-45 pueden ser representados con precisión reducida.
Los float de CircuitPython tienen 8 bits para el exponente y 22 bits para mantissa (no 24 como los puntos flotantes de precisión sencilla), que es como cinco seis dígitos decimales de precisión.
Diferencias entre MicroPython y Python
Para una lista más detallada entre las diferencias entre CircuitPython y Python, puedes revisar la documentación de MicroPython. Nosotros nos mantenemos actualizados con las versiones estables de MicroPython, así que revise el documento de diferencias en el núcleo, aquí