v2.4.0¶
A versão v2.4.0 é construída sobre o Qt Creator 4.0.2 e centra-se no novo bootloader V3 (consulta do esquema de flash QSPI durante o carregamento de firmware e apagamento durante um apagamento completo da flash de dados integrada), no reporte em tempo real do sensor e da placa na barra de estado, e num novo protocolo de depuração USB de 32 bits compatível com o firmware incluído. Também adiciona um guia de LEDs para a primeira execução e um grande conjunto de novos exemplos de TensorFlow, Modbus e WiFi. Como o protocolo de depuração foi alterado, as câmaras têm de executar o novo firmware incluído para se ligarem.
Destaques¶
Suporte ao bootloader V3 consulta o esquema da flash QSPI externa de uma placa durante o carregamento de firmware e apaga-a durante um apagamento completo da flash de dados integrada (d953df62f).
Reporte de sensor e placa consulta o módulo de sensor da câmara ligada na ligação e mostra-o na barra de estado (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) a par de uma nova etiqueta de tipo de placa (0ffa82958).
Cópia de modelos TensorFlow permite copiar modelos
.tflitepara a câmara, não apenas ficheiros de rede neuronal.network(ad1aa98f0).Apagar Flash de Dados Integrada é um novo comando
Toolsque apaga apenas a flash do sistema de ficheiros integrado da câmara, após uma confirmação, sem recarregar o firmware (d953df62f, 98686ac46).Guia de LEDs para a primeira execução é uma nova caixa de diálogo
OpenMV Cam LED Colorsque explica os estados do LED integrado e pode ser dispensada permanentemente (c2d00422f).
Novas funcionalidades¶
Bootloader V3 consulta o esquema da flash QSPI durante o carregamento de firmware e apaga a flash QSPI externa apenas durante um apagamento completo da flash de dados integrada;
connectClickedexecuta semprebootloaderQSPIFLayoutnas placas V3, mas executabootloaderQSPIFEraseapenas quandoforceFlashFSEraseestá definido (os comandos de escrita/teste de memória QSPI estão implementados na camada de IO mas não são utilizados pelo carregador) (d953df62f).Estado do sensor e da placa consulta o módulo de sensor da câmara na ligação e exibe-o (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) na barra de estado, juntamente com uma nova etiqueta de tipo de placa, usando um novo mapa id-para-nome
sensors.txt(0ffa82958).Guia de LEDs para a primeira execução adiciona uma nova caixa de diálogo
OpenMV Cam LED Colorsque aparece após um breve atraso quandohelloworld_1.pyé o documento aberto na primeira execução, explicando os estados do LED integrado (verde a piscar = bootloader em execução, azul = a executarmain.py, branco = pânico por falha de hardware); uma caixa de verificação «Don’t show this message again.» persiste o descarte através de uma definiçãoDONT_SHOW_LED_STATES_AGAIN(c2d00422f).Abrir pasta da unidade OpenMV Cam é um novo item do menu
Toolsque abre a unidade montada da câmara no gestor de ficheiros do sistema (a49f54305).Apagar Flash de Dados Integrada é um novo comando
Toolsque apaga apenas a flash do sistema de ficheiros integrado, após uma confirmação, sem recarregar o firmware (d953df62f, 98686ac46).Cópia de modelos TensorFlow permite que a caixa de diálogo de cópia de modelos copie modelos
.tflitepara a câmara em adição aos ficheiros de rede neuronal.network; o filtro da caixa de diálogo ganhou também entradasLabel Files (*.txt)eAll Files(ad1aa98f0, 0ffa82958, c0dbdd9e5).Comutação de versão do protocolo de depuração divide os comandos seriais
GetAttribute,SetAttribute,FBEnableeJPEGEnablequando comunica com firmware 3.5.3+ para maior fiabilidade (83b9ca18f).Novos exemplos incluídos adicionam scripts de janela deslizante para mobilenet e deteção de pessoas com TensorFlow Lite, além de um exemplo MNIST STM32Cube.AI (
nn_stm32cubeai.py), uma nova pasta32-modbus(modbus_rtu_slave.py,modbus_apriltag.py), adições ao shield WiFi (http_client_ssl,static_ip,mqtt_pub/mqtt_sub), UART/SPI-slave Arduino e CAN (e26b90d79, 42ba8f5c4).
Outras alterações e melhorias¶
Atualizado o protocolo de depuração USB para o novo firmware: as leituras de atributos usam o novo comando
ATTR_READ_2(0xCA) de 32 bits, e os payloads de atributo, valor e ativação do framebuffer são enviados como longs de 32 bits em vez de words de 16 bits (55d7cfe70).Renomeado Save open script to OpenMV Cam para Save open script to OpenMV Cam (as main.py) para clarificar que escreve
main.py(a49f54305).Renomeado Run Bootloader para Run Bootloader (Load Firmware) para clarificar a sua finalidade (ad1aa98f0).
Os menus de exemplos estão agora ordenados pelo prefixo numérico da pasta/ficheiro, e os dígitos iniciais
NN-são removidos dos nomes apresentados (ad1aa98f0).Os terminais de saída e serial renderizam agora tabulações como espaços usando uma largura de tabulação do terminal serial configurável nas definições do editor de texto, em vez de uma largura fixa de 8 (98686ac46).
A deteção de unidades no Linux agora também aceita sistemas de ficheiros montados com
fuseblk(por exemplo, volumes exFAT/NTFS) ao associar a unidade da câmara (c0dbdd9e5).Atualizado o conjunto de documentação HTML do MicroPython incluído (referência de biblioteca, tutoriais esp8266/esp32, páginas e imagens geradas) apresentado na ajuda do IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).
Correções de erros¶
Corrigido um erro de overflow numérico nas estatísticas do histograma (média, quartis, mediana, desvio padrão) ao alargar os acumuladores de
intpara 64 bits, evitando estatísticas incorretas em imagens grandes (55d7cfe70).Remodelada a desligação/ejeção no Linux: a descarga não fiável com
syncfs/closedirfoi removida e a unidade é agora desmontada com um simples comandoumount, sem caixa de diálogo de progresso (b86d5c62c, c0dbdd9e5, 30d4a7d2d).A unidade USB da placa agora só é associada quando o firmware é suficientemente recente ou um ficheiro marcador
.openmv_diskestá presente, impedindo que o IDE capture a unidade removível errada (e464eaed4).Corrigida a lógica de reconexão para que o desencadeamento de uma operação de bootloader/apagamento enquanto ligado agora desliga primeiro de forma limpa e depois retenta, evitando um estado de trabalho bloqueado (d953df62f).
Reescrito o removedor de comentários/espaços em branco utilizado ao enviar scripts para a câmara como uma máquina de estados com reconhecimento de strings, para que os caracteres
#dentro de strings já não sejam confundidos com comentários, e o espaço em branco final e as docstrings sejam tratados (24dff1b2f).Corrigido o tratamento de strings de tradução para várias mensagens de ligação/terminal de forma a que os comandos shell incorporados (
sudo adduser, passos de instalaçãopydfu) já não façam parte do texto traduzível e sejam apresentados corretamente (b5705a57e).
Suporte de plataforma e ferramentas¶
Base Qt Creator: 4.0.2.
Renomeada a placa/firmware OpenMV Cam H7 Plus de
OPENMV4RparaOPENMV4P(OMV4P_H7_32768_SDRAM) e incluído o seu firmware com o novo nome (c0dbdd9e5).Corrigido o nome de apresentação da placa H7 Plus para usar sublinhados em vez de espaços (
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).O firmware incluído foi atualizado ao longo da versão, terminando na versão 3.5.2 para OPENMV2/3/4/4P (incremento final em 15c07498c; incrementos cumulativos anteriores em 42ba8f5c4 para 3.4.2, a99c2e3e1 para 3.4.3, e26b90d79 para 3.5.0 e 97b0f645a para 3.5.1).
Versões de firmware incluídas: 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.
Versão do OpenMV IDE incrementada de 2.2.1 para 2.4.0.
Alterações que quebram compatibilidade¶
O protocolo de leitura de atributos de depuração USB foi alterado do antigo comando ATTR_READ (0x8A) de 16 bits para o novo comando ATTR_READ_2 (0xCA) de 32 bits, e os payloads de atributo, valor e ativação são agora enviados como longs de 32 bits; o IDE também consulta o ID do sensor da câmara na ligação. Isto requer firmware que implemente o novo protocolo. O firmware incluído 1.2.15 / 1.4.11 fornece-o, pelo que as câmaras mais antigas têm de ser atualizadas para o novo firmware para se ligarem.