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 filsparning —
main.pyoch nyckelpunktsfiler skrivs atomärt, vilket förhindrar korruption och åtgärdar en sökvägsbugg som skrevmain.pytill 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.9fö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 felFailed to ejectrapporteras vid misslyckande på alla tre plattformarna (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Servo Shield-exempel. Lade till en exempeluppsättning
15-Servo-Shieldsom demonstrerar PCA9685-styrda servon, inklusive en drivrutinpca9685.pyoch en hjälpfunktionservo.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 under09-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(tidigare15-Tests) och lade till körarenunittests.py(abd1dacb9).
Buggfixar¶
Härdade sparningen av
main.pyoch nyckelpunktsfiler. Skrivningarna byttes till atomäraFileSaver-skrivningar (skriv och slutför sedan) i (4fd4e89cf), och en saknad sökvägsseparator som skrevmain.pytill 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
MainWindowoch 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 saknatqml-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/OMV3tillOPENMV2/OPENMV3och 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.