v1.7.0¶
v1.7.0 añade la fragmentación y el reensamblaje del frame buffer por serie para que los fotogramas grandes puedan transferirse por el enlace serie de depuración, hace más seguro el desconectar con reinicio vaciando (y, en Windows, expulsando) la unidad de almacenamiento masivo USB de la cámara, y actualiza el conjunto de ejemplos. La versión se basa en Qt Creator 4.0.2 (la misma base que la versión anterior) y añade compatibilidad de compilación para destinos Linux embebidos compilados de forma cruzada como la Raspberry Pi. No hay cambios incompatibles.
Aspectos destacados¶
Fragmentación del frame buffer por serie — las transferencias grandes del frame buffer se dividen en fragmentos del tamaño de la MTU y se reensamblan en un búfer de píxeles, de modo que los fotogramas grandes puedan moverse por el enlace serie de depuración.
Desconexión con reinicio más segura — la unidad de almacenamiento masivo USB de la cámara se vacía antes del reinicio (y se expulsa de forma forzada en Windows) para que el sistema de archivos se sincronice primero.
Guardado atómico de archivos —
main.pyy los archivos de puntos clave se escriben de forma atómica, lo que evita la corrupción y corrige un error de ruta que escribíamain.pyen la ubicación equivocada.Raspberry Pi / Linux embebido — ahora se incluye compatibilidad de compilación cruzada.
Ejemplos actualizados — un conjunto de Servo Shield, nuevas demostraciones de detección de características y ejemplos de vídeo de Image Reader/Writer.
Nuevas funcionalidades¶
Fragmentación y reensamblaje del frame buffer por serie. Las transferencias del frame buffer se dividen en fragmentos del tamaño de la MTU y se reensamblan en un búfer de píxeles, de modo que los fotogramas grandes puedan moverse por el enlace serie de depuración usando una MTU predeterminada. Se añadió un protocolo de negociación automática de la MTU en tiempo de ejecución con su umbral de versión de firmware fijado en 2.5.0, coincidiendo con el firmware 2.5.0 integrado en el mismo commit (96458ccef). Después, el umbral se elevó a
9.9.9para la versión final, que ningún firmware suministrado reporta, por lo que las cámaras usan la MTU predeterminada y no se produce ninguna negociación (abd1dacb9).Vaciar/expulsar al desconectar con reinicio. Desconectar con reinicio ahora vacía la unidad de almacenamiento masivo USB de la cámara antes del reinicio: en Windows la unidad se expulsa de forma forzada, mientras que en Linux y macOS el sistema de archivos de la unidad se sincroniza (
syncfs/sync_volume_np). En caso de fallo se reporta un errorFailed to ejecten las tres plataformas (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Ejemplos de Servo Shield. Se añadió un conjunto de ejemplos
15-Servo-Shieldque demuestra servos accionados por PCA9685, incluido un controladorpca9685.pyy un ayudanteservo.py(abd1dacb9).Nuevos ejemplos de detección de características. Se añadieron
find_circles(Hough),find_rects(umbral cuádruple),find_numbers(reconocimiento de dígitos LeNet) y ejemplos de regresión lineal rápida y robusta en09-Feature-Detection(abd1dacb9).Ejemplos de vídeo y de control de placa. Se añadieron ejemplos de Image Reader/Writer para grabar y reproducir flujos de capturas (snapshot) desde la tarjeta SD, un ejemplo de control de placa RTC y un ejecutor de pruebas unitarias en la cámara (abd1dacb9).
Otros cambios y mejoras¶
Se renombró la carpeta de ejemplos
99-Tests(anteriormente15-Tests) y se añadió el ejecutorunittests.py(abd1dacb9).
Correcciones de errores¶
Se reforzó el guardado de
main.pyy los archivos de puntos clave. Las escrituras se cambiaron a escrituras atómicas conFileSaver(escribir y luego finalizar) en (4fd4e89cf), y un separador de ruta ausente que escribíamain.pyen la ubicación equivocada se corrigió en (1865ffd31).Se mejoró la fiabilidad del puerto serie ampliando el búfer de lectura serie a 1MB en todos los puertos y aumentando el tiempo de espera por bloqueo de lectura, abordando la pérdida de datos con
QSerialPort(7f68368dc).Se corrigió un fallo de diseño del divisor de ventanas exportando
MainWindowy emitiendo una señal de evento de mostrado para que el complemento de OpenMV pueda restaurar el diseño cuando se muestra la ventana principal (4895e20b7).
Compatibilidad de plataformas y herramientas¶
Base de Qt Creator: 4.0.2.
Se añadió compatibilidad de compilación para destinos Linux embebidos compilados de forma cruzada como la Raspberry Pi: implementa las fuentes de Qt, corrige el manejo de
chrpath/RPATH, compila las traducciones con binarios del host y añade una dependenciaqmlque faltaba (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).Se actualizó el firmware integrado de OpenMV de 2.4.1 a 2.5.0 (96458ccef).
Se renombraron las carpetas de firmware
OMV2/OMV3aOPENMV2/OPENMV3y se suministraron binarios actualizados y recompilados de firmware y gestor de arranque (bootloader) para STM32F427 (OPENMV2) y STM32F765 (OPENMV3) (abd1dacb9).
Cambios incompatibles¶
Ninguno. Esta versión no introduce rupturas visibles para el usuario en el flujo de trabajo o el comportamiento, y los proyectos existentes siguen funcionando sin cambios.