v1.7.0

v1.7.0 lägger till seriell chunkning och återmontering av bildbuffertar så att stora bildrutor kan överföras via den seriella felsökningslänken, gör frånkoppling-med-återställning säkrare genom att tömma (och, på Windows, mata ut) kamerans USB-masslagringsenhet, och uppdaterar exempeluppsättningen. Utgåvan är baserad på Qt Creator 4.0.2 (samma bas som föregående utgåva) och lägger till byggstöd för korskompilerade inbyggda Linux-mål såsom Raspberry Pi. Det finns inga brytande ändringar.

Höjdpunkter

  • Seriell chunkning av bildbuffert — stora bildbuffertöverföringar delas upp i MTU-stora chunks och återmonteras i en pixelbuffert, så att stora bildrutor kan flyttas via den seriella felsökningslänken.

  • Säkrare frånkoppling-med-återställning — kamerans USB-masslagringsenhet töms före återställning (och tvångsmatas ut på Windows) så att filsystemet synkroniseras först.

  • Atomär filsparningmain.py och nyckelpunktsfiler skrivs atomärt, vilket förhindrar korruption och åtgärdar en sökvägsbugg som skrev main.py till fel plats.

  • Raspberry Pi / inbyggt Linux — byggstöd för korskompilering ingår nu.

  • Uppdaterade exempel — en uppsättning för Servo Shield, nya demos för särdragsdetektering och video-exempel för Image Reader/Writer.

Nya funktioner

  • Seriell chunkning och återmontering av bildbuffert. Bildbuffertöverföringar delas upp i MTU-stora chunks och återmonteras i en pixelbuffert, så att stora bildrutor kan flyttas via den seriella felsökningslänken med hjälp av en standard-MTU. En automatisk MTU-förhandling vid körning lades till med dess firmwareversionsgräns satt till 2.5.0, vilket matchar 2.5.0-firmwaren som medföljde i samma commit (96458ccef). Gränsen höjdes sedan till 9.9.9 för utgåvan, vilket ingen levererad firmware rapporterar, så kameror använder standard-MTU:n och ingen förhandling sker (abd1dacb9).

  • Tömning/utmatning vid frånkoppling-med-återställning. Frånkoppling med återställning tömmer nu kamerans USB-masslagringsenhet före återställning: på Windows tvångsmatas enheten ut, medan på Linux och macOS synkroniseras enhetens filsystem (syncfs / sync_volume_np). Ett fel Failed to eject rapporteras vid misslyckande på alla tre plattformarna (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).

  • Servo Shield-exempel. Lade till en exempeluppsättning 15-Servo-Shield som demonstrerar PCA9685-styrda servon, inklusive en drivrutin pca9685.py och en hjälpfunktion servo.py (abd1dacb9).

  • Nya exempel för särdragsdetektering. Lade till find_circles (Hough), find_rects (quad-tröskelvärde), find_numbers (LeNet-sifferigenkänning) samt exempel på snabb och robust linjär regression under 09-Feature-Detection (abd1dacb9).

  • Exempel för video och kortstyrning. Lade till Image Reader/Writer-exempel för inspelning och uppspelning av stillbildsströmmar från SD-kortet, ett RTC-exempel för kortstyrning och en enhetstestkörare på kameran (abd1dacb9).

Övriga ändringar och förbättringar

  • Döpte om exempelmappen 99-Tests (tidigare 15-Tests) och lade till köraren unittests.py (abd1dacb9).

Buggfixar

  • Härdade sparningen av main.py och nyckelpunktsfiler. Skrivningarna byttes till atomära FileSaver-skrivningar (skriv och slutför sedan) i (4fd4e89cf), och en saknad sökvägsseparator som skrev main.py till fel plats åtgärdades i (1865ffd31).

  • Förbättrade seriell tillförlitlighet genom att förstora den seriella läsbufferten till 1MB på alla portar och öka timeouten för lässtopp, vilket åtgärdade tappade data med QSerialPort (7f68368dc).

  • Åtgärdade en layoutglitch i fönsterdelaren genom att exportera MainWindow och skicka en show-event-signal så att OpenMV-pluginet kan återställa layouten när huvudfönstret visas (4895e20b7).

Plattforms- och verktygsstöd

  • Qt Creator-bas: 4.0.2.

  • Lade till byggstöd för korskompilerade inbyggda Linux-mål såsom Raspberry Pi: distribuerar Qt-teckensnitt, åtgärdar hantering av chrpath/RPATH, bygger översättningar med värdbinärer och lägger till ett saknat qml-beroende (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).

  • Uppdaterade medföljande OpenMV-firmware från 2.4.1 till 2.5.0 (96458ccef).

  • Döpte om firmwaremapparna OMV2/OMV3 till OPENMV2/OPENMV3 och levererade uppdaterade, ombyggda firmware- och startladdarbinärer för STM32F427 (OPENMV2) och STM32F765 (OPENMV3) (abd1dacb9).

Brytande ändringar

Inga. Den här utgåvan introducerar inga användarsynliga brott i arbetsflöde eller beteende, och befintliga projekt fortsätter att fungera oförändrat.