v1.8.0

v1.8.0 es una versión con funciones importantes centrada en la conectividad de red y el vídeo: añade la programación por WiFi de las OpenMV Cam, un grabador de vídeo del Frame Buffer y un menú Tools > Video Tools respaldado por un ffmpeg/ffplay integrado. También añade compatibilidad con la nueva placa OpenMV Cam H7 (OMV4) y amplía el IDE a la Raspberry Pi (Linux ARM). Esta versión se mantiene sobre la base Qt Creator 4.0.2 y no contiene cambios incompatibles para los proyectos existentes.

Aspectos destacados

  • Programación por WiFi. El IDE ahora escucha los anuncios de difusión UDP de las OpenMV Cam equipadas con un shield WiFi, muestra las cámaras descubiertas (nombre más IP:port) en el diálogo de conexión y se comunica con ellas por TCP como alternativa al puerto serie (69dc7dfbf).

  • Grabador de vídeo del Frame Buffer. Los nuevos botones Record/Stop de la barra de herramientas capturan el flujo de imágenes en directo a un archivo ImageWriter de OpenMV mientras muestran una etiqueta de estado con el tiempo transcurrido, el tamaño y los FPS (39142ef70, 5aceab31a).

  • Menú Video Tools. Tools > Video Tools añade Convert Video File y Play Video File, que utilizan un ffmpeg/ffplay integrado para transcodificar y reproducir vídeos y convierten de forma transparente las grabaciones .bin de ImageWriter a MJPEG AVI primero; Play Video File solo está disponible en Windows y macOS, ya que ffplay no se incluye para Linux/Raspberry Pi (d35f8d1ca, 8a99c994f).

  • OpenMV Cam H7 (OMV4). La nueva placa STM32H743 ya es reconocida y se entrega con su propio gestor de arranque (bootloader) y firmware integrados (e14810382).

  • Compatibilidad con Raspberry Pi. Ahora están habilitadas las compilaciones del IDE para Linux ARM, lo que lleva OpenMV IDE a la Raspberry Pi (f551b5f97).

Nuevas funciones

  • Archivo de configuración de los ajustes de la OpenMV Cam. Tools añade un diálogo para escribir los ajustes de arranque/WiFi en el main.ini de la cámara, incluyendo habilitar el WiFi, elegir entre modo cliente o punto de acceso, el SSID/contraseña/tipo de seguridad, el nombre de la placa y una opción Duplicate REPL on the UART on startup almacenada en los ajustes de arranque de main.ini (69dc7dfbf, 39142ef70).

  • Opciones de línea de comandos para terminal en red. Se añadieron -open_udp_client_terminal, -open_udp_server_terminal, -open_tcp_client_terminal y -open_tcp_server_terminal junto a la opción de terminal serie existente (6362066a8, d75209269).

  • Opciones adicionales de línea de comandos. Se expusieron -update_resources, -open_serial_terminal (port_name:baud_rate), -override_read_timeout y -override_read_stall_timeout (061aacf15).

  • Modo servidor de terminal. Las conexiones de terminal UDP/TCP ahora pueden ejecutarse en modo servidor, enlazándose a un puerto local (el puerto 0 elige cualquiera) en lugar de únicamente conectarse a un host (956e8a2f5).

  • Nuevos scripts de ejemplo. Se añadieron ejemplos de corrección de lente, corrección de rotación 3D y bajo consumo con suspensión del sensor, y se reescribió el ejemplo de detección de segmentos de línea con la nueva API find_line_segments(merge_distance, max_theta_diff) (061aacf15).

Otros cambios y mejoras

  • Las sugerencias de argumentos de función (calltips) y el resaltado de sintaxis ahora abarcan correctamente varias líneas, de modo que las llamadas a funciones de varias líneas conservan sus sugerencias de argumentos y su resaltado (6535e9fdd, 4638bdd18).

  • La barra de estado de resolución/ROI del terminal ahora también informa del número de píxeles de la ROI (956e8a2f5).

  • El diálogo de registro de la OpenMV Cam ahora muestra la placa/ID y un correo de soporte, y el diálogo de progreso Connecting... aconseja pulsar Cancel después de 5 segundos (4638bdd18, e14810382).

  • El panel Search Results vuelve a aplicar estilo a su margen de números de línea y al texto de los resultados con colores explícitos de tema oscuro para que sean legibles sobre la interfaz oscura (b2599f9ea).

  • Los bucles de escritura de terminal serie/UDP/TCP ahora ceden brevemente entre escrituras para mantener la interfaz responsiva y mejorar el rendimiento (c4700e2b0).

  • Los campos de valores estadísticos del histograma ahora reservan un ancho mínimo fijo para que el panel ya no se reorganice cuando cambian los números, y los botones del cajón del conmutador de modo se estiran en lugar de usar un ancho fijo de 160px (5aceab31a).

  • Se suprimió la advertencia espuria JIT is disabled for QML en el arranque mediante un manejador de mensajes de Qt personalizado (954220e39).

Corrección de errores

  • Las descripciones emergentes (tooltips) de documentación y el resaltado ahora reconocen los tipos de excepción de Python (tratados como datos), y se corrigieron varias entradas de documentación de módulos/índice para que aparezcan correctamente (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e).

  • Se reforzó el comprobador de actualizaciones de paquetes y el análisis de la difusión/registro de la cámara con expresiones regulares ancladas y recortadas y una coincidencia más estricta de las respuestas HTML para evitar coincidencias falsas (461af1148, 4638bdd18).

  • Se corrigió el identificador de placa de la OpenMV Cam M4 (OpenMV2) usado para la detección de la API de firmware antiguo, de OMV2 a OPENMV2 (449024fe8).

  • Se reforzaron la E/S de la cámara y el transcodificador de vídeo frente a datos de fotograma corruptos o sobredimensionados con comprobaciones de límites de ancho/alto/bpp/duración más estrictas, y se evitó una división por cero al calcular los FPS del vídeo (08248f208, d0cbc27e5).

  • Las herramientas de conversión/reproducción de vídeo ahora funcionan en macOS, 32 bits y Linux-ARM lanzando ffmpeg/ffplay a través de un script de shell generado o un envoltorio de cmd.exe e incluyendo los binarios de ffmpeg para Linux (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0).

Compatibilidad de plataformas y herramientas

  • Base de Qt Creator: 4.0.2.

  • OpenMV Cam H7 (OMV4, STM32H743): nueva placa reconocida con su propio gestor de arranque (bootloader) y firmware integrados (e14810382).

  • Firmware de OpenMV integrado: actualizado a 2.6.0 para OPENMV2/OPENMV3/OPENMV4 (e14810382).

  • ffmpeg/ffplay integrado: se añadieron compilaciones estáticas de ffmpeg 3.3.3 para Windows, macOS, Linux x86, Linux x86_64 y Linux ARM (Raspberry Pi); ffplay solo se incluye para Windows y macOS (2193d7923, af92ad59e).

  • Raspberry Pi (Linux ARM): compilaciones habilitadas al deshabilitar el HelpManager de ayuda sin conexión y cambiar el empaquetado de bindist a un tar.gz (f551b5f97).

Cambios incompatibles

Ninguno. Esta versión se mantiene sobre la base Qt Creator 4.0.2, y los proyectos y flujos de trabajo existentes no se ven afectados.