v1.8.0

A v1.8.0 é um grande lançamento de recursos centrado em rede e vídeo: adiciona programação por WiFi das OpenMV Cams, um gravador de vídeo do Frame Buffer e um menu Tools > Video Tools apoiado por um ffmpeg/ffplay incluído. Também adiciona suporte para a nova placa OpenMV Cam H7 (OMV4) e estende a IDE para o Raspberry Pi (Linux ARM). Este lançamento permanece na base Qt Creator 4.0.2 e não contém mudanças incompatíveis para projetos existentes.

Destaques

  • Programação por WiFi. A IDE agora escuta anúncios de broadcast UDP de OpenMV Cams equipadas com um shield WiFi, lista as câmeras descobertas (nome mais IP:port) na caixa de diálogo de conexão e se comunica com elas por TCP como alternativa à porta serial (69dc7dfbf).

  • Gravador de vídeo do Frame Buffer. Novos botões Record/Stop na barra de ferramentas capturam o fluxo de imagem ao vivo para um arquivo ImageWriter do OpenMV, enquanto exibem um rótulo de status com tempo decorrido/tamanho/FPS (39142ef70, 5aceab31a).

  • Menu Video Tools. O Tools > Video Tools adiciona Convert Video File e Play Video File, usando um ffmpeg/ffplay incluído para transcodificar e reproduzir vídeos e convertendo de forma transparente as gravações .bin do ImageWriter para MJPEG AVI primeiro; Play Video File está disponível somente no Windows e no macOS, já que o ffplay não é incluído para Linux/Raspberry Pi (d35f8d1ca, 8a99c994f).

  • OpenMV Cam H7 (OMV4). A nova placa STM32H743 agora é reconhecida e vem com seu próprio bootloader e firmware incluídos (e14810382).

  • Suporte ao Raspberry Pi. As builds da IDE para Linux ARM agora estão habilitadas, levando a OpenMV IDE ao Raspberry Pi (f551b5f97).

Novos recursos

  • Arquivo de configurações da OpenMV Cam. O Tools adiciona uma caixa de diálogo para gravar as configurações de boot/WiFi do main.ini da câmera, incluindo habilitar o WiFi, escolher entre modo cliente e ponto de acesso, SSID/senha/tipo de segurança, o nome da placa e uma opção Duplicate REPL on the UART on startup armazenada nas configurações de boot do main.ini (69dc7dfbf, 39142ef70).

  • Opções de linha de comando para terminal em rede. Foram adicionadas -open_udp_client_terminal, -open_udp_server_terminal, -open_tcp_client_terminal e -open_tcp_server_terminal junto à opção de terminal serial existente (6362066a8, d75209269).

  • Opções adicionais de linha de comando. Foram expostas -update_resources, -open_serial_terminal (port_name:baud_rate), -override_read_timeout e -override_read_stall_timeout (061aacf15).

  • Modo servidor de terminal. As conexões de terminal UDP/TCP agora podem rodar em modo servidor, vinculando-se a uma porta local (a porta 0 escolhe qualquer uma) em vez de apenas se conectar a um host (956e8a2f5).

  • Novos scripts de exemplo. Foram adicionados exemplos de correção de lente, correção de rotação 3D e baixo consumo com o sensor em sleep, e o exemplo de detecção de segmentos de linha foi reescrito para a nova API find_line_segments(merge_distance, max_theta_diff) (061aacf15).

Outras mudanças e melhorias

  • As dicas de chamada de argumentos de função e o realce de sintaxe agora se estendem corretamente por múltiplas linhas, de modo que chamadas de função em múltiplas linhas mantêm suas dicas de argumentos e o realce (6535e9fdd, 4638bdd18).

  • A barra de status de resolução/ROI do terminal agora também informa a contagem de pixels da ROI (956e8a2f5).

  • A caixa de diálogo de registro da OpenMV Cam agora mostra a placa/ID e um e-mail de suporte, e a caixa de diálogo de progresso Connecting... recomenda clicar em Cancelar após 5 segundos (4638bdd18, e14810382).

  • O painel Search Results reestiliza a margem com números de linha e o texto dos resultados com cores explícitas para o tema escuro, de modo que fiquem legíveis contra a interface escura (b2599f9ea).

  • Os laços de escrita do terminal serial/UDP/TCP agora cedem brevemente entre as escritas para manter a interface responsiva e melhorar o throughput (c4700e2b0).

  • Os campos de valores estatísticos do histograma agora reservam uma largura mínima fixa para que o painel não se reorganize mais à medida que os números mudam, e os botões da gaveta de troca de modo se esticam em vez de usar uma largura fixa de 160px (5aceab31a).

  • Foi suprimido o aviso espúrio JIT is disabled for QML na inicialização por meio de um manipulador de mensagens Qt personalizado (954220e39).

Correções de bugs

  • As dicas de documentação e o realce agora reconhecem tipos de exceção do Python (tratados como dados), e várias entradas de documentação de módulos/índices foram corrigidas para que apareçam corretamente (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e).

  • Foram reforçados o verificador de atualização de pacotes e a análise de broadcast/registro da câmera com expressões regulares ancoradas e aparadas e uma correspondência mais rigorosa de respostas HTML para evitar correspondências falsas (461af1148, 4638bdd18).

  • Foi corrigido o identificador da placa OpenMV Cam M4 (OpenMV2) usado na detecção de API de firmware antigo, de OMV2 para OPENMV2 (449024fe8).

  • Foram reforçados a E/S da câmera e o transcodificador de vídeo contra dados de quadro corrompidos/superdimensionados com verificações de limites mais rigorosas de largura/altura/bpp/duração, e foi evitada uma divisão por zero ao calcular o FPS do vídeo (08248f208, d0cbc27e5).

  • As ferramentas de conversão/reprodução de vídeo agora funcionam no macOS, em 32 bits e no Linux-ARM, lançando o ffmpeg/ffplay por meio de um script de shell gerado ou de um wrapper cmd.exe e incluindo binários do ffmpeg para Linux (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0).

Suporte de plataforma e ferramentas

  • Base do Qt Creator: 4.0.2.

  • OpenMV Cam H7 (OMV4, STM32H743): nova placa reconhecida com seu próprio bootloader e firmware incluídos (e14810382).

  • Firmware OpenMV incluído: atualizado para 2.6.0 para OPENMV2/OPENMV3/OPENMV4 (e14810382).

  • ffmpeg/ffplay incluídos: builds estáticas do ffmpeg 3.3.3 adicionadas para Windows, macOS, Linux x86, Linux x86_64 e Linux ARM (Raspberry Pi); o ffplay é incluído somente para Windows e macOS (2193d7923, af92ad59e).

  • Raspberry Pi (Linux ARM): builds habilitadas desabilitando o HelpManager de ajuda offline e mudando o empacotamento da bindist para um tar.gz (f551b5f97).

Mudanças incompatíveis

Nenhuma. Este lançamento permanece na base Qt Creator 4.0.2, e os projetos e fluxos de trabalho existentes não são afetados.