v3.6.8

v3.6.8 añade la placa OpenMV Cam Pure Thermal, hace que la inferencia de tf sea aproximadamente 4× más rápida al trasladar TensorFlow a CMSIS-NN, amplía la biblioteca rpc de escritorio con interfaces UART / Kvaser CAN / I2C / SPI, y habilita la tarjeta SD en la Arduino Portenta H7. Cambiaron el manejo de particiones de la tarjeta SD y import sensor en placas sin sensor — lee los cambios que rompen la compatibilidad a continuación.

Aspectos destacados

  • OpenMV Cam Pure Thermal — soporte para una nueva placa.

  • TensorFlow ~4× más rápido — la inferencia de tf ahora se ejecuta sobre CMSIS-NN.

  • biblioteca rpc — se añadieron interfaces UART, Kvaser CAN e I2C/SPI maestro/esclavo.

  • Tarjeta SD de la Portenta H7 — se habilitó el soporte de tarjeta SD, con correcciones de reloj PLL1/HSE/ADC.

  • Cambio que rompe la compatibilidad: el arranque desde tarjeta SD ahora detecta automáticamente la partición, y import sensor ahora lanza una excepción cuando no hay ningún sensor de imagen presente — consulta los cambios que rompen la compatibilidad.

Nuevas características

  • rpc — se añadieron interfaces UART, Kvaser CAN e I2C/SPI maestro/esclavo a la biblioteca RPC de escritorio (rpc_uart_master / rpc_uart_slave, rpc_kvarser_can_master / rpc_kvarser_can_slave, e I2C/SPI maestro/esclavo).

  • Placas sin sensor — el firmware ahora admite placas sin sensor de imagen (lo que habilita la placa Pure Thermal).

  • Geometría JPEG — se añadió una estructura de configuración de lectura JPEG (jpg_w / jpg_h / jpg_size) para leer la geometría JPEG.

Otros cambios y mejoras

  • Se cambió TensorFlow a CMSIS-NN para una inferencia de tf aproximadamente 4× más rápida (se ajustó la configuración de imlib por placa); el ejemplo de ulab usa ulab.numerical.mean / std; el ejemplo de sueño profundo ahora llama a sensor.sleep(True) antes de la escritura del registro de derivación del regulador del OV7725.

Corrección de errores

Cámara e imagen:

  • Se corrigió la carga de imágenes JPEG desde el disco (la geometría JPEG se rechazaba como un formato no admitido), se hizo que sensor.reset() realice un reinicio en frío para que el sensor se recupere tras un apagado del regulador, se corrigió la configuración de función alternativa / reloj del SPI del FLIR Lepton en OpenMV 4 / 4 Plus, y se corrigió la asignación del pin FSYNC en OpenMV 4 / 4 Plus.

Conectividad y sistema:

  • Se corrigió la escritura temporizada de pyb.DAC en el H7, se hizo que WLAN.start_ap() del WINC1500 no requiera una clave para la seguridad OPEN, se corrigió el uso compartido del bus I2C entre la cámara y los periféricos del usuario en la Portenta, y se hizo el marcador de framebuffer SWD de autoprueba específico por placa para que ya no sobrescriba el bpp del framebuffer en placas que no lo tienen.

Hardware y soporte de placas

  • OpenMV Cam Pure Thermal — nueva placa.

  • Arduino Portenta H7 — tarjeta SD habilitada, con correcciones de PLL1 (400 MHz/40 MHz, USB/RNG en HSI48), HSE (25 MHz) y de la fuente de reloj del ADC.

Cambios que rompen la API

Rupturas de API visibles para el usuario entre v3.6.7 y v3.6.8. Alcance: módulos C de Python en modules/ y bibliotecas de Python en scripts/libraries/.

Ambos cambios que rompen la compatibilidad son cambios de comportamiento (misma API, resultados diferentes) — vuelve a revisar los scripts afectados. Cada hash de commit enlaza con su diff en GitHub.

Detección automática de la partición de la tarjeta SD (comportamiento)

El arranque desde tarjeta SD ahora detecta automáticamente la partición en lugar de montar siempre la partición 1. Las tarjetas que dependían del antiguo comportamiento de partición 1 fija pueden montar ahora un sistema de archivos diferente; vuelve a revisar las tarjetas SD multipartición y el montaje esperado.

Commits: 1f7f003b8

import sensor lanza una excepción en placas sin sensor (comportamiento)

Para admitir placas sin sensor de imagen, la comprobación de inicialización del módulo sensor ahora se ejecuta en la importación, por lo que import sensor lanza un RuntimeError cuando no se detecta ningún sensor de imagen (en lugar de fallar más tarde). En una placa solo térmica, protege import sensor con try / except o evita importarlo.

Commits: 17b444ad1

Lista de comprobación de migración

Vuelve a revisar las tarjetas SD multipartición frente a la nueva detección automática de particiones (el cambio de la tarjeta SD) y protege import sensor en placas sin sensor / solo térmicas (el cambio de importación del sensor). Todos los demás scripts se ejecutan sin modificaciones.