v4.8.9

v4.8.9 es una versión centrada en la eficiencia en reposo y la fiabilidad de la desconexión, construida sobre Qt Creator 14.0.2. Renueva la forma en que el IDE supervisa el hardware para que deje de sondear cuando no ocurre nada, refuerza la ruta de conexión/desconexión y depura el model zoo incluido. No hay un rebase de Qt Creator en este rango, pero algunos comportamientos predeterminados y nombres de modelos incluidos cambiaron, así que revisa los cambios incompatibles a continuación.

Aspectos destacados

  • La supervisión de hardware basada en eventos reemplaza el sondeo continuo de dispositivos: el IDE ahora detiene sus temporizadores de escaneo cuando está en reposo y solo vuelve a escanear los puertos serie y las unidades en respuesta a eventos reales de conexión/desconexión USB y montaje/desmontaje de disco, reduciendo drásticamente el uso de CPU y de recursos en reposo.

  • Temporizadores en reposo condicionados por la actividad: el temporizador de eventos del búfer de fotogramas (frame buffer) (que antes se disparaba cada 1 ms) ahora solo se ejecuta mientras hay conexión, y el temporizador de parpadeo del cursor del terminal (500 ms) ahora solo se ejecuta mientras el terminal tiene el foco.

  • Sincronización de importación en segundo plano desactivada por defecto: la sincronización automática de las carpetas de importación Examples y Documents/OpenMV ahora está desactivada y su conmutador de menú está oculto, de modo que el IDE ya no vuelve a escanear continuamente esas carpetas.

  • Desconexión más rápida y fiable: el puerto serie se cierra y la cámara se libera de inmediato, los tiempos de espera del protocolo se redujeron, y una cámara bloqueada ahora se recupera en lugar de quedarse colgada.

  • Botón de modo del búfer de fotogramas (frame buffer) más claro que muestra JPG Mode o RAW Mode para que el estado de compresión actual resulte evidente de un vistazo.

Nuevas funciones

  • Supervisión nativa de eventos de hardware mediante un nuevo HardwareMonitor que emite hardwareEventDetected usando IOKit y DiskArbitration en macOS, una ventana solo de mensajes WM_DEVICECHANGE en Windows, y un socket netlink NETLINK_KOBJECT_UEVENT en Linux. Los temporizadores de escaneo de puertos serie y de unidades ahora están condicionados por una ventana de escaneo de 10 s que se reinicia con cada evento (a6612fec9, 462b55f7b, 17c2e93c7).

Otros cambios y mejoras

  • El temporizador de procesamiento de eventos del búfer de fotogramas (frame buffer) (que antes se disparaba cada 1 ms) ahora se inicia al conectar y se detiene al desconectar, y el temporizador de parpadeo del cursor del terminal (500 ms) ahora se inicia y se detiene al ganar/perder el foco del terminal en lugar de ejecutarse siempre (a02afea53).

  • La sincronización automática de las carpetas de importación Examples y Documents/OpenMV está desactivada por defecto y el conmutador está oculto; los temporizadores de escaneo de carpetas ya no se inician al arrancar y solo se ejecutan cuando la acción (ahora oculta) está habilitada (478f83e97).

  • El botón de conmutación del formato del búfer de fotogramas (frame buffer) ahora muestra JPG Mode cuando la compresión JPEG está activada y RAW Mode cuando está desactivada (c48831224).

  • Al conectar, el IDE ahora siempre aplica el valor predeterminado de la placa con preferencia por JPEG para el búfer de fotogramas (frame buffer) en lugar de restaurar la elección JPG/RAW por placa guardada anteriormente (c48831224).

Corrección de errores

  • Al desconectar ahora se cierra el puerto serie y se libera la cámara (y el puerto) en línea dentro de close(), lo que hace que la desconexión sea más rápida y fiable (1e8941080, 9d31bcf80).

  • El temporizador de inactividad serie ahora se detiene y el indicador del protocolo v2 se borra cuando se cierra el puerto, corrigiendo el comportamiento obsoleto del temporizador de inactividad tras la desconexión (4bd2fd9ea).

  • Se ajustaron los tiempos de espera de los comandos del protocolo (el tiempo de espera de apertura se redujo de 5 s a 2 s; la resincronización y CHANNEL_SIZE usan un tiempo de espera corto de 1 s) y cada comando serie ahora descarta el objeto de cámara en caso de fallo, de modo que una cámara bloqueada se recupera y se desconecta más rápido en lugar de quedarse colgada (04aa6aea3).

  • Se corrigió un problema de bloqueo/cuelgue al detener un script: un evento de script detenido ahora también borra el estado de eventos de fotograma y reinicia los temporizadores de fotograma listo (3695b0704).

  • El protocolo ahora tolera lecturas cortas de la cámara, devolviendo la carga útil o el texto parcial en lugar de descartarlo o dar error (0c8ccd58e).

Compatibilidad de plataforma y herramientas

  • Base de Qt Creator: 14.0.2.

  • Las placas que combinan un módulo AE3 o N6 con un sensor PAG7936 o PS5520 ahora obtienen el valor predeterminado más alto de QVGA (antes solo AE3 + PAG7936), de modo que los ejemplos afectados se actualizan automáticamente de QQVGA a QVGA (fcc0c3227).

  • Se depuró el model zoo del modelo de estimación de pose MoveNet de ST incluido: se eliminaron las variantes redundantes por tensor (_pt) y las duplicadas singlepose/st_movenet, y los modelos de mapa de calor por canal supervivientes se renombraron a movenet_singlepose_192, movenet_singlepose_224 y movenet_singlepose_256 (18f66c4c1).

  • Se eliminó el modelo de segmentación semántica DeepLabV3 incluido y sus recursos de ejemplo del model zoo (a929e0dc1).

Cambios incompatibles

Cambios de comportamiento visible para el usuario y de recursos incluidos entre v4.8.8 y v4.8.9.

  • Al conectar, el búfer de fotogramas (frame buffer) ahora siempre usa el valor predeterminado de la placa con preferencia por JPEG e ignora cualquier elección JPG/RAW por placa guardada anteriormente (c48831224).

  • La sincronización en segundo plano de las carpetas de importación Examples y Documents/OpenMV está desactivada por defecto y su conmutador está oculto (478f83e97).

  • Se eliminaron o renombraron varios modelos incluidos: el modelo de segmentación semántica DeepLabV3 ya no está, y los modelos MoveNet de ST se depuraron y renombraron a movenet_singlepose_192/224/256. Los scripts que hagan referencia a los nombres de archivo de los modelos antiguos deben actualizarse (a929e0dc1, 18f66c4c1).