v1.1.0

v1.1.0 torna o OpenMV IDE ciente do firmware: construído sobre o Qt Creator 4.0.2, ele agora detecta uma OpenMV Cam desatualizada na conexão e atualiza seu firmware automaticamente pelo bootloader serial, adiciona suporte à nova OpenMV Cam Cortex-M7 e transforma o painel General Messages em um Serial Terminal propriamente dito. Esta versão altera alguns comportamentos padrão (atualização automática de firmware e filtros de arquivo do Python) que os usuários devem conhecer; veja Mudanças que quebram a compatibilidade abaixo.

Destaques

  • Atualização automática de firmware — na conexão, o IDE detecta uma OpenMV Cam desatualizada e grava o firmware incluído pelo bootloader serial, com uma opção para também apagar o sistema de arquivos interno.

  • Suporte à OpenMV Cam Cortex-M7 — a nova placa baseada no STM32F769 (OMV7) é suportada junto com a placa Cortex-M4 existente (OMV2), com firmware específico por placa e detecção automática.

  • Recuperação de unbrick — se nenhuma câmera for encontrada, o IDE pode forçar a gravação do firmware correspondente em uma câmera travada (bricked) assim que ela for reconectada.

  • Serial Terminal — o painel General Messages agora é um Serial Terminal com tema escuro e histórico de rolagem de 100000 linhas que aparece ao receber saída.

  • Conexão/desconexão não bloqueante — conectar, reconectar e encerrar agora rodam de forma assíncrona com caixas de diálogo de progresso, então o IDE não trava mais.

  • Pré-visualização ao vivo binária e em escala de cinza — o visualizador do frame buffer renderiza imagens de 1 bit e em escala de cinza, além de RGB565 e JPEG.

Novos recursos

  • Atualização automática de firmware. Quando uma OpenMV Cam conectada reporta uma versão de firmware mais antiga que a do firmware.txt incluído, o IDE inicia o bootloader, apaga os setores de flash, programa o firmware.bin em blocos com caixas de diálogo de progresso e reseta a câmera. O usuário pode opcionalmente apagar o sistema de arquivos interno como parte da atualização. (a175bff39, 50375ee95, 502177f3c, a871bfb48, 30eb9e0dc, 552803018, 889bc38fb, 047581ed5)

  • Caminho de recuperação de unbrick. Se nenhuma OpenMV Cam for encontrada, o IDE pergunta se uma câmera travada (bricked) está conectada, deixa você escolher o tipo de placa e força a gravação do firmware correspondente assim que o dispositivo for reconectado. (a175bff39, 30eb9e0dc)

  • Ações de salvar script e resetar. Novas entradas no menu Tools salvam o script atual na unidade flash da OpenMV Cam (Save script to OpenMV Cam) e resetam a câmera (Reset OpenMV Cam); Stop também ganhou um atalho de teclado Ctrl+T. (9fc3dfa5a, a175bff39, 889bc38fb)

  • Notificação de atualização e documentação local. O IDE verifica o openmv.io na inicialização em busca de uma versão mais nova do IDE e mostra uma notificação de download. A ação Docs do menu Help agora abre a documentação HTML incluída localmente (html/index.html) e a ação de pinout abre a imagem de pinout incluída (html/_images/pinout.png) em vez do site. (a175bff39, 50375ee95)

  • Frame buffer binário e em escala de cinza. O visualizador do frame buffer agora renderiza imagens binárias (1 bit) e em escala de cinza, além de RGB565 e JPEG, e o frame buffer pode ser ligado e desligado ao vivo pela barra de ferramentas; o antigo botão de compressão JPEG na barra de ferramentas foi ocultado em favor dessa opção de liga/desliga. (a175bff39)

  • Exemplos novos e atualizados. Adicionados um exemplo de overclock da CPU (até 216MHz), um streamer MJPEG WiFi multi-cliente aprimorado, um teste de FPS e um teste de barras de cor que se adapta ao sensor OV7725. (a175bff39, 32dc31962, 502177f3c)

Outras mudanças e melhorias

  • Serial Terminal. O painel General Messages foi reaproveitado como um Serial Terminal com fundo escuro, prioridade elevada na barra de status, histórico de rolagem de 100000 linhas e sem quebra de linha. Ele aparece e pisca quando a câmera imprime saída. (9fc3dfa5a)

  • Conexão e desconexão não bloqueantes. Conectar e desconectar foram retrabalhados para serem não bloqueantes, com caixas de diálogo de progresso e um encerramento assíncrono limpo, de modo que o IDE não trava mais enquanto a câmera está ocupada e mostra Busy... please wait... em vez disso. (502177f3c, a175bff39, 6275d8855, 234f76389)

  • Leitura de FPS suavizada. A leitura de FPS agora é uma média móvel suavizada sobre os últimos quadros em vez de um valor instantâneo, com uma dica de ferramenta observando que ela pode diferir do FPS da câmera. (a175bff39, 889bc38fb)

  • Refinamento do tema escuro. O tema escuro ganhou barras de rolagem com estilo personalizado e imagens de seta em editores e painéis, realce de resultados de busca e de escopo com tema escuro no estilo Inkpot, e texto branco na barra de ferramentas Find. (9fc3dfa5a, 94d8c41f1, 9d8683355)

  • Padrões de arquivo orientados ao Python. Find in Files agora usa por padrão o filtro de arquivos *.py e a caixa de diálogo de abertura de arquivos mostra todos os arquivos, adequando-se ao desenvolvimento em MicroPython em vez de C++. (94d8c41f1, a175bff39)

Correções de bugs

  • Melhorado o tratamento de portas seriais no macOS (filtro para nomes de porta contendo cu) e no Linux (orientação mais clara de permissão negada sugerindo sudo adduser <user> dialout), suprimido um aviso de SSL, tornadas as caixas de diálogo do bootloader modais da aplicação e ajustados o tempo e os timeouts do bootloader para maior confiabilidade. (a175bff39, 552803018, a871bfb48, 30eb9e0dc)

  • O IDE agora abre o exemplo helloworld.py automaticamente quando nenhum documento está aberto na inicialização e fecha de forma confiável a tela de abertura, corrigindo problemas de estado da janela de edição e de inicialização. (a175bff39, 9d8683355, 502177f3c)

Suporte de plataforma e ferramentas

  • Base do Qt Creator: 4.0.2.

  • Versão do OpenMV IDE: atualizada de 1.0.0 para 1.1.0. (50375ee95)

  • Nova placa: a OpenMV Cam Cortex-M7 (STM32F769, OMV7) agora é suportada junto com a OpenMV Cam Cortex-M4 (STM32F427, OMV2), com diretórios de firmware específicos por placa e detecção automática da string de placa via boards.txt. (a175bff39)

  • Firmware incluído: atualizado para 1.7.0 e depois para 1.8.0 para ambas as placas OMV2 e OMV7; a versão mínima/compatível de firmware do bootloader é 1.6.0. (502177f3c, 32dc31962, a175bff39)

  • Drivers USB para Windows: incluídos arquivos de driver USB para Windows assinados digitalmente (openmv e pybcdc .inf/.cat) e empacotado o diretório de drivers com o IDE. (047581ed5)

Mudanças que quebram a compatibilidade

Mudanças de fluxo de trabalho e de comportamento visíveis ao usuário na v1.1.0:

  • Atualização automática de firmware na conexão. Quando o firmware da OpenMV Cam conectada é mais antigo que a versão do firmware.txt incluído, o IDE solicita que você faça a atualização (e opcionalmente apague o sistema de arquivos interno) antes de permitir que continue. Cancelar durante a etapa de apagar ou programar pode deixar a câmera travada (bricked) até que seja reconectada e regravada.

  • Padrões de arquivo alterados. O filtro de arquivos padrão de Find in Files mudou de *.cpp,*.h para *.py, e a caixa de diálogo de abertura de arquivos agora mostra todos os arquivos em vez de filtros por tipo MIME.