v1.7.0¶
A v1.7.0 adiciona fragmentação e remontagem de frame buffer pela serial, para que quadros grandes possam ser transferidos pelo link serial de depuração, torna a desconexão com reset mais segura ao descarregar (e, no Windows, ejetar) a unidade de armazenamento em massa USB da câmera, e atualiza o conjunto de exemplos. A versão é baseada no Qt Creator 4.0.2 (a mesma base da versão anterior) e adiciona suporte de compilação para alvos Linux embarcados de compilação cruzada, como o Raspberry Pi. Não há mudanças incompatíveis.
Destaques¶
Fragmentação de frame buffer pela serial — transferências grandes de frame buffer são divididas em fragmentos do tamanho do MTU e remontadas em um buffer de pixels, para que quadros grandes possam ser movidos pelo link serial de depuração.
Desconexão com reset mais segura — a unidade de armazenamento em massa USB da câmera é descarregada antes do reset (e ejetada à força no Windows) para que o sistema de arquivos seja sincronizado primeiro.
Salvamento atômico de arquivos —
main.pye arquivos de ponto-chave são escritos de forma atômica, prevenindo corrupção e corrigindo um bug de caminho que gravavamain.pyno local errado.Raspberry Pi / Linux embarcado — agora está incluído o suporte de compilação cruzada.
Exemplos atualizados — um conjunto de Servo Shield, novas demonstrações de Detecção de Características e exemplos de vídeo de Image Reader/Writer.
Novos recursos¶
Fragmentação e remontagem de frame buffer pela serial. As transferências de frame buffer são divididas em fragmentos do tamanho do MTU e remontadas em um buffer de pixels, para que quadros grandes possam ser movidos pelo link serial de depuração usando um MTU padrão. Foi adicionado um handshake de auto-negociação de MTU em tempo de execução, com sua restrição de versão de firmware definida para 2.5.0, correspondendo ao firmware 2.5.0 incluído no mesmo commit (96458ccef). A restrição foi então elevada para
9.9.9na versão final, valor que nenhum firmware fornecido relata, de modo que as câmeras usam o MTU padrão e nenhuma negociação ocorre (abd1dacb9).Descarregar/ejetar na desconexão com reset. Desconectar com reset agora descarrega a unidade de armazenamento em massa USB da câmera antes do reset: no Windows a unidade é ejetada à força, enquanto no Linux e no macOS o sistema de arquivos da unidade é sincronizado (
syncfs/sync_volume_np). Um erroFailed to ejecté relatado em caso de falha nas três plataformas (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Exemplos de Servo Shield. Adicionado um conjunto de exemplos
15-Servo-Shielddemonstrando servos acionados por PCA9685, incluindo um driverpca9685.pye um auxiliarservo.py(abd1dacb9).Novos exemplos de Detecção de Características. Adicionados
find_circles(Hough),find_rects(limiar de quad),find_numbers(reconhecimento de dígitos LeNet) e exemplos de regressão linear rápida e robusta em09-Feature-Detection(abd1dacb9).Exemplos de vídeo e de controle de placa. Adicionados exemplos de Image Reader/Writer para gravar e reproduzir fluxos de snapshot do cartão SD, um exemplo de controle de placa RTC e um executor de testes unitários na própria câmera (abd1dacb9).
Outras mudanças e melhorias¶
Renomeada a pasta de exemplos
99-Tests(antes15-Tests) e adicionado o executorunittests.py(abd1dacb9).
Correções de bugs¶
Reforçado o salvamento de
main.pye dos arquivos de ponto-chave. As escritas foram trocadas por escritas atômicas viaFileSaver(escrever e então finalizar) em (4fd4e89cf), e um separador de caminho ausente que gravavamain.pyno local errado foi corrigido em (1865ffd31).Melhorada a confiabilidade da serial ao ampliar o buffer de leitura serial para 1MB em todas as portas e aumentar o tempo limite de travamento de leitura, resolvendo a perda de dados com
QSerialPort(7f68368dc).Corrigido um defeito de layout do divisor de janelas exportando
MainWindowe emitindo um sinal de evento de exibição, para que o plugin OpenMV possa restaurar o layout quando a janela principal for exibida (4895e20b7).
Suporte de plataforma e ferramentas¶
Base do Qt Creator: 4.0.2.
Adicionado suporte de compilação para alvos Linux embarcados de compilação cruzada, como o Raspberry Pi: implanta fontes Qt, corrige o tratamento de
chrpath/RPATH, compila traduções com binários do host e adiciona uma dependênciaqmlausente (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).Atualizado o firmware OpenMV incluído de 2.4.1 para 2.5.0 (96458ccef).
Renomeadas as pastas de firmware
OMV2/OMV3paraOPENMV2/OPENMV3e fornecidos binários de firmware e bootloader STM32F427 (OPENMV2) e STM32F765 (OPENMV3) atualizados e recompilados (abd1dacb9).
Mudanças incompatíveis¶
Nenhuma. Esta versão não introduz quebras de fluxo de trabalho ou comportamento visíveis ao usuário, e os projetos existentes continuam funcionando sem alterações.