v2.4.0¶
v2.4.0 se basa en Qt Creator 4.0.2 y se centra en el nuevo gestor de arranque (bootloader) V3 (consulta del diseño de la memoria flash QSPI durante la carga de firmware y borrado durante un borrado completo de la memoria flash de datos integrada), el reporte en vivo del sensor y de la placa en la barra de estado, y un nuevo protocolo de depuración USB de 32 bits que coincide con el firmware incluido. También añade una guía de LED para el primer arranque y un amplio conjunto de nuevos ejemplos de TensorFlow, Modbus y WiFi. Dado que el protocolo de depuración cambió, las cámaras deben ejecutar el nuevo firmware incluido para poder conectarse.
Aspectos destacados¶
Compatibilidad con el gestor de arranque (bootloader) V3 consulta el diseño de la memoria flash QSPI externa de una placa durante la carga de firmware y la borra durante un borrado completo de la memoria flash de datos integrada (d953df62f).
Reporte del sensor y la placa consulta el módulo del sensor de la cámara conectada al conectarse y lo muestra en la barra de estado (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) junto a una nueva etiqueta de tipo de placa (0ffa82958).
Copia de modelos TensorFlow permite copiar modelos
.tflitea la cámara, no solo archivos de red neuronal.network(ad1aa98f0).Erase Onboard Data Flash es un nuevo comando de
Toolsque borra únicamente la memoria flash del sistema de archivos integrado de la cámara, tras un mensaje de confirmación, sin volver a grabar el firmware (d953df62f, 98686ac46).Guía de LED para el primer arranque es un nuevo cuadro de diálogo
OpenMV Cam LED Colorsque explica los estados del LED integrado y puede descartarse permanentemente (c2d00422f).
Nuevas funciones¶
El gestor de arranque (bootloader) V3 consulta el diseño de la memoria flash QSPI durante la carga de firmware y borra la memoria flash QSPI externa únicamente durante un borrado completo de la memoria flash de datos integrada;
connectClickedsiempre ejecutabootloaderQSPIFLayouten placas V3 pero ejecutabootloaderQSPIFErasesolo cuandoforceFlashFSEraseestá activado (los comandos de escritura/memtest de QSPI están implementados en la capa de E/S pero el cargador no los utiliza) (d953df62f).Estado del sensor y la placa consulta el módulo del sensor de la cámara al conectarse y lo muestra (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) en la barra de estado, junto a una nueva etiqueta de tipo de placa, usando un nuevo mapa de id a nombre
sensors.txt(0ffa82958).Guía de LED para el primer arranque añade un nuevo cuadro de diálogo
OpenMV Cam LED Colorsque aparece tras un breve retardo cuandohelloworld_1.pyes el documento abierto en el primer arranque, explicando los estados del LED integrado (verde parpadeante = gestor de arranque (bootloader) en ejecución, azul = ejecutandomain.py, blanco = pánico por fallo de hardware); una casilla de verificación «Don’t show this message again.» conserva el descarte mediante una opciónDONT_SHOW_LED_STATES_AGAIN(c2d00422f).Open OpenMV Cam Drive folder es un nuevo elemento del menú
Toolsque abre la unidad montada de la cámara en el explorador de archivos del sistema (a49f54305).Erase Onboard Data Flash es un nuevo comando de
Toolsque borra únicamente la memoria flash del sistema de archivos integrado, tras un mensaje de confirmación, sin volver a grabar el firmware (d953df62f, 98686ac46).Copia de modelos TensorFlow permite que el cuadro de diálogo de copia de modelos copie modelos
.tflitea la cámara además de archivos de red neuronal.network; el filtro del cuadro de diálogo también incorporó entradasLabel Files (*.txt)yAll Files(ad1aa98f0, 0ffa82958, c0dbdd9e5).Cambio de versión del protocolo de depuración divide los comandos serie
GetAttribute,SetAttribute,FBEnableyJPEGEnableal comunicarse con firmware 3.5.3+ para mayor fiabilidad (83b9ca18f).Nuevos ejemplos incluidos añaden scripts de TensorFlow Lite de mobilenet y de detección de personas con ventana deslizante, además de un ejemplo de MNIST con STM32Cube.AI (
nn_stm32cubeai.py), una nueva carpeta32-modbus(modbus_rtu_slave.py,modbus_apriltag.py), añadidos para el escudo WiFi (http_client_ssl,static_ip,mqtt_pub/mqtt_sub), Arduino UART/SPI-slave y CAN (e26b90d79, 42ba8f5c4).
Otros cambios y mejoras¶
Se actualizó el protocolo de depuración USB al nuevo firmware: las lecturas de atributos usan el nuevo comando
ATTR_READ_2(0xCA) de 32 bits, y las cargas útiles de atributo, valor y activación de framebuffer se envían como enteros largos de 32 bits en lugar de palabras de 16 bits (55d7cfe70).Se renombró Save open script to OpenMV Cam a Save open script to OpenMV Cam (as main.py) para aclarar que escribe
main.py(a49f54305).Se renombró Run Bootloader a Run Bootloader (Load Firmware) para aclarar su propósito (ad1aa98f0).
Los menús de ejemplos ahora se ordenan por su prefijo numérico de carpeta/archivo, y los dígitos iniciales
NN-se eliminan de los nombres mostrados (ad1aa98f0).Los terminales de salida y serie ahora representan las tabulaciones como espacios usando un ancho de tabulación de terminal serie configurable desde la configuración del editor de texto en lugar de un ancho fijo de 8 (98686ac46).
La detección de unidades en Linux ahora también acepta sistemas de archivos montados con
fuseblk(por ejemplo, volúmenes exFAT/NTFS) al asociar la unidad de la cámara (c0dbdd9e5).Se actualizó el conjunto de documentación HTML de MicroPython incluido (referencia de la biblioteca, tutoriales de esp8266/esp32, páginas generadas e imágenes) que se muestra en la ayuda del IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).
Correcciones de errores¶
Se corrigió un desbordamiento numérico en las estadísticas del histograma (media, cuartiles, mediana, desviación estándar) ampliando los acumuladores de
inta 64 bits, evitando estadísticas erróneas en imágenes grandes (55d7cfe70).Se rediseñó la desconexión/expulsión en Linux: se eliminó el poco fiable vaciado con
syncfs/closediry la unidad ahora se desmonta con un simple comandoumount, sin cuadro de diálogo de progreso (b86d5c62c, c0dbdd9e5, 30d4a7d2d).La unidad USB de la placa ahora solo se asocia cuando el firmware es suficientemente nuevo o cuando hay un archivo marcador
.openmv_diskpresente, evitando que el IDE tome la unidad extraíble equivocada (e464eaed4).Se corrigió la lógica de reconexión para que al activar una operación de gestor de arranque/borrado mientras se está conectado ahora se desconecte limpiamente primero y luego se reintente, evitando un estado de trabajo bloqueado (d953df62f).
Se reescribió el eliminador de comentarios/espacios en blanco utilizado al enviar scripts a la cámara como una máquina de estados consciente de las cadenas, de modo que los caracteres
#dentro de cadenas ya no se confunden con comentarios, y se gestionan los espacios en blanco finales y las docstrings (24dff1b2f).Se corrigió el manejo de cadenas de traducción para varios mensajes de cuadros de diálogo de conexión/terminal de modo que los comandos de shell incrustados (
sudo adduser, los pasos de instalación depydfu) ya no formen parte del texto traducible y se muestren correctamente (b5705a57e).
Compatibilidad con plataformas y herramientas¶
Base de Qt Creator: 4.0.2.
Se renombró la placa/firmware de la OpenMV Cam H7 Plus de
OPENMV4RaOPENMV4P(OMV4P_H7_32768_SDRAM) y se incluyó su firmware bajo el nuevo nombre (c0dbdd9e5).Se corrigió el nombre de visualización de la placa H7 Plus para usar guiones bajos en lugar de espacios (
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).El firmware incluido se actualizó a lo largo de la versión, finalizando en la versión 3.5.2 para OPENMV2/3/4/4P (incremento final en 15c07498c; incrementos acumulativos anteriores en 42ba8f5c4 a 3.4.2, a99c2e3e1 a 3.4.3, e26b90d79 a 3.5.0, y 97b0f645a a 3.5.1).
Versiones de firmware incluidas: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.
La versión de OpenMV IDE se incrementó de 2.2.1 a 2.4.0.
Cambios incompatibles¶
El protocolo de lectura de atributos de depuración USB se cambió del antiguo comando ATTR_READ (0x8A) de 16 bits al nuevo comando ATTR_READ_2 (0xCA) de 32 bits, y las cargas útiles de atributo, valor y activación ahora se envían como enteros largos de 32 bits; el IDE también consulta el ID del sensor de la cámara al conectarse. Esto requiere firmware que implemente el nuevo protocolo. El firmware incluido 1.2.15 / 1.4.11 lo proporciona, por lo que las cámaras más antiguas deben actualizar su firmware al nuevo para poder conectarse.