v4.8.9

A v4.8.9 é uma versão focada na eficiência em modo de inatividade e na fiabilidade do desligamento, construída sobre o Qt Creator 14.0.2. Reformula a forma como o IDE monitoriza hardware, parando as sondagens quando nada está a acontecer, melhora o caminho de ligação/desligamento e simplifica o conjunto de modelos incluídos. Não há rebase do Qt Creator neste intervalo, mas alguns comportamentos predefinidos e nomes de modelos incluídos foram alterados — consulte as mudanças de compatibilidade abaixo.

Destaques

  • Monitorização de hardware orientada a eventos substitui a sondagem contínua de dispositivos: o IDE para agora os seus temporizadores de análise quando está inativo e só volta a analisar portas série e unidades em resposta a eventos reais de ligação/desligação de USB e montagem/desmontagem de disco, reduzindo drasticamente o uso de CPU e recursos em modo de inatividade.

  • Temporizadores de inatividade condicionados por atividade: o temporizador de eventos do buffer de fotograma (anteriormente disparava a cada 1 ms) agora só é executado enquanto ligado, e o temporizador de piscar do cursor do terminal (500 ms) agora só é executado enquanto o terminal está em foco.

  • Sincronização de importação em segundo plano desativada por predefinição: a sincronização automática das pastas de importação Examples e Documents/OpenMV está agora desativada e o seu botão de alternância no menu está oculto, pelo que o IDE já não analisa continuamente essas pastas.

  • Desligamento mais rápido e fiável: a porta série é fechada e a câmara libertada imediatamente, os limites de tempo do protocolo foram ajustados para baixo, e uma câmara bloqueada agora recupera em vez de ficar suspensa.

  • Botão de modo do buffer de fotograma mais claro que mostra JPG Mode ou RAW Mode para tornar o estado de compressão atual evidente à primeira vista.

Novas funcionalidades

  • Monitorização nativa de eventos de hardware através de um novo HardwareMonitor que emite hardwareEventDetected usando IOKit e DiskArbitration no macOS, uma janela apenas para mensagens WM_DEVICECHANGE no Windows, e um socket netlink NETLINK_KOBJECT_UEVENT no Linux. Os temporizadores de análise de porta série e de unidade estão agora condicionados por uma janela de análise de 10 s que recomeça a cada evento (a6612fec9, 462b55f7b, 17c2e93c7).

Outras alterações e melhorias

  • O temporizador de processamento de eventos do buffer de fotograma (anteriormente disparava a cada 1 ms) é agora iniciado ao ligar e parado ao desligar, e o temporizador de piscar do cursor do terminal (500 ms) agora inicia e para com o foco/perda de foco do terminal em vez de estar sempre em execução (a02afea53).

  • A sincronização automática das pastas de importação Examples e Documents/OpenMV está desativada por predefinição e o botão de alternância está oculto; os temporizadores de análise de pastas já não iniciam na inicialização e só são executados quando a ação (agora oculta) está ativada (478f83e97).

  • O botão de alternância do formato do buffer de fotograma mostra agora JPG Mode quando a compressão JPEG está ativa e RAW Mode quando está desativa (c48831224).

  • Ao ligar, o IDE aplica agora sempre a predefinição JPEG preferida da placa para o buffer de fotograma em vez de restaurar a escolha JPG/RAW previamente guardada por placa (c48831224).

Correções de erros

  • O desligamento fecha agora a porta série e liberta a câmara (e a porta) de forma inline em close(), tornando o desligamento mais rápido e fiável (1e8941080, 9d31bcf80).

  • O temporizador de inatividade série é agora parado e o sinalizador do protocolo v2 limpo quando a porta fecha, corrigindo o comportamento obsoleto do temporizador de inatividade após o desligamento (4bd2fd9ea).

  • Os limites de tempo dos comandos do protocolo foram ajustados (o timeout de abertura foi reduzido de 5 s para 2 s, a ressincronização e CHANNEL_SIZE usam um timeout curto de 1 s) e cada comando série agora liberta o objeto da câmara em caso de falha, para que uma câmara bloqueada recupere e se desligue mais rapidamente em vez de ficar suspensa (04aa6aea3).

  • Corrigido um problema de bloqueio/suspensão ao parar um script: um evento de script parado agora também limpa o estado do evento de fotograma e repõe os temporizadores de fotograma pronto (3695b0704).

  • O protocolo tolera agora leituras parciais da câmara, devolvendo o payload parcial ou o texto em vez de os descartar ou gerar um erro (0c8ccd58e).

Suporte de plataforma e ferramentas

  • Base Qt Creator: 14.0.2.

  • As placas que combinam um módulo AE3 ou N6 com um sensor PAG7936 ou PS5520 recebem agora a predefinição QVGA superior (anteriormente apenas AE3 + PAG7936), pelo que os exemplos afetados são atualizados automaticamente de QQVGA para QVGA (fcc0c3227).

  • O conjunto de modelos de estimativa de pose ST MoveNet incluído foi limpo: as variantes redundantes por tensor (_pt) e as duplicadas singlepose/st_movenet foram removidas, e os modelos de mapa de calor por canal sobreviventes foram renomeados para movenet_singlepose_192, movenet_singlepose_224 e movenet_singlepose_256 (18f66c4c1).

  • Removido o modelo de segmentação semântica DeepLabV3 incluído e os seus recursos de exemplo do conjunto de modelos (a929e0dc1).

Mudanças de compatibilidade

Alterações de comportamento visíveis pelo utilizador e de recursos incluídos entre a v4.8.8 e a v4.8.9.

  • Ao ligar, o buffer de fotograma usa agora sempre a predefinição JPEG preferida da placa e ignora qualquer escolha JPG/RAW previamente guardada por placa (c48831224).

  • A sincronização em segundo plano das pastas de importação Examples e Documents/OpenMV está desativada por predefinição e o seu botão de alternância está oculto (478f83e97).

  • Vários modelos incluídos foram removidos ou renomeados: o modelo de segmentação semântica DeepLabV3 foi eliminado, e os modelos ST MoveNet foram simplificados e renomeados para movenet_singlepose_192/224/256. Os scripts que referenciam os nomes de ficheiros de modelos antigos têm de ser atualizados (a929e0dc1, 18f66c4c1).