v4.3.0

v4.3.0 añade decodificación JPEG acelerada por hardware, el modo de alta temperatura de la FLIR Lepton y detección de modelo, nuevas conversiones de espacio de color JPEG y MicroPython 1.18, además de un conjunto de correcciones de RTC y WiFi. La API del modo de medición de la Lepton cambió — lee los cambios incompatibles más abajo.

Aspectos destacados

  • Decodificación JPEG por hardware en STM32 (H7) — descompresión JPEG más rápida.

  • Modo de alta temperatura de la FLIR Lepton (hasta ~600 °C en la Lepton 3.5) y detección automática de modelo (1.5–3.5).

  • Nuevas conversiones JPEG — decodifica JPEG YCbCr a escala de grises y JPEG en escala de grises a RGB565.

  • MicroPython actualizado a 1.18.

  • Incompatible: el ioctl del modo de medición de la Lepton cambió — consulta los cambios incompatibles.

Nuevas características

  • Decodificación JPEG acelerada por hardware — el códec JPEG en chip del STM32 ahora se usa para la descompresión.

  • Conversiones de espacio de color JPEG — el decodificador puede decodificar JPEG YCbCr a GRAYSCALE y JPEG GRAYSCALE a RGB565.

  • Modo de alta temperatura de la Lepton — un nuevo modo de medición high_temp usa baja ganancia para extender el rango hasta aproximadamente 600 °C en la Lepton 3.5.

  • Arduino Nano RP2040 Connect — los módulos de controladores onewire, dht y neopixel ahora están congelados en el firmware.

Otros cambios y mejoras

  • MicroPython actualizado a 1.18.

  • El controlador de la FLIR Lepton ahora detecta e informa al IDE del modelo de Lepton específico (1.5 / 1.6 / 2.0 / 2.5 / 3.0 / 3.5).

Corrección de errores

Procesamiento de imágenes:

  • Image.to_grayscale() / la conversión del canal L ya no devuelve valores L negativos para píxeles RGB565 oscuros; el decodificador JPEG ya no falla (MemManage) en imágenes de dimensiones impares.

Cámara y sensores:

  • Se corrigieron las proporciones de submuestreo de ventana de la GC2145 y el orden de píxeles Bayer para una calidad de imagen correcta en resoluciones sub-QVGA y en modo BAYER.

Redes y almacenamiento:

  • Se corrigió el manejo del tiempo de espera de sockets no bloqueantes del WINC1500 y se añadió el mapeo correcto de errno de MicroPython para los errores de socket; se corrigió el manejo de archivos del disco USB OpenMV en STM32.

Reloj en tiempo real:

  • Se corrigió la selección de la fuente de reloj del RTC / LSE frente a LSI y la errata del oscilador LSE en las placas OpenMV Cam H7 Plus y Pure Thermal.

Compatibilidad de hardware y placas

  • STM32 (H7) — decodificación JPEG por hardware.

  • OpenMV Cam H7 Plus / Pure Thermal — correcciones de la fuente de reloj del RTC.

  • Arduino Nano RP2040 Connect — controladores onewire / dht / neopixel congelados.

Cambios incompatibles en la API

Cambios incompatibles en la API visibles para el usuario entre v4.2.3 y v4.3.0. Alcance: módulos C de Python en modules/ y bibliotecas de Python en scripts/libraries/.

Cada cambio está etiquetado con su impacto:

  • menor — API restringida; solo afecta a los scripts que la usaban.

  • comportamiento — misma API, resultados diferentes; vuelve a revisar los scripts ajustados.

Ambos cambios incompatibles afectan únicamente al sensor térmico FLIR Lepton. Cada hash de commit enlaza a su diff en GitHub.

ioctl del modo de medición de la Lepton (menor)

sensor.ioctl(SET_MEASUREMENT_MODE, ...) acepta un nuevo argumento opcional high_temp, y GET_MEASUREMENT_MODE ahora devuelve una tupla de 2 elementos (enabled, high_temp) en lugar de un único booleano. El código que leía el valor booleano de retorno anterior debe actualizarse para desempaquetar la tupla.

Commit: 6b2cd1008

Rango de temperatura predeterminado de la Lepton (comportamiento)

El rango de temperatura predeterminado de la FLIR Lepton cambió de −17,78 °C…37,78 °C a −10,0 °C…40,0 °C. El mapeo de color y las temperaturas reportadas para escenas que dependían del antiguo rango predeterminado serán diferentes — establece un rango explícito si necesitas el comportamiento anterior.

Commit: bc07e0131

Lista de verificación de migración

Solo se ven afectados los scripts de la FLIR Lepton: desempaqueta la nueva tupla (enabled, high_temp) de GET_MEASUREMENT_MODE (el cambio del modo de medición) y establece un rango de temperatura explícito si dependías del antiguo predeterminado (el cambio del rango predeterminado). Todos los demás scripts se ejecutan sin cambios.