v3.4.2¶
v3.4.2 on iso julkaisu. Se esittelee OpenMV Cam H7 Plus -kortin (SDRAM, valtava kehyspuskuri korkearesoluutioiseen kuvaukseen), OV5640 5 MP -kameran, FDCAN-tuen, uudelleenkirjoitetun OV2640-ajurin, Image.jpeg_encode_for_ide() -metodin sekä uudet pid / modbus -kirjastot. WINC1500:n ifconfig() -API ja find_apriltags() -oletukset muuttuivat — lue alla olevat rikkovat muutokset.
Kohokohdat¶
OpenMV Cam H7 Plus — uusi kortti, jossa on SDRAM-ajuri ja ~31 MB:n kehyspuskuri korkearesoluutioiseen kuvaukseen.
OV5640 5 MP -kameran ajuri I2C-pohjaisella tunnistuksella.
FDCAN-oheislaitetuki CAN-esimerkin kera.
OV2640-uudelleenkirjoitus — oikeinpäin olevat kuvat, toimivat automaattifunktiot, JPEG-tilannekuva ja uusi
sensor.XGA-kehyskoko.IDE JPEG —
Image.jpeg_encode_for_ide()ja suurten JPEG-kuvien automaattinen lähetys IDE:lle.Rikkova: WINC1500:n
WLAN.ifconfig()-semantiikka muuttui,MQTTClient.wait_msg()ei enää nosta poikkeusta tyhjästä vastaanotosta jafind_apriltags()käyttää oletuksena 4-suuntaista yhtenäisyyttä — katso rikkovat muutokset.
Uudet ominaisuudet¶
WiFi — lisättiin
WLAN.netinfo()(palauttaa(rssi, security, ssid, mac, ip)) ja WINC1500:n staattisen IP:n konfigurointiWLAN.ifconfig()-metodin kautta staattisen IP:n esimerkin kera.FDCAN — lisättiin FDCAN-oheislaitetuki ja
can.py-esimerkki.IDE JPEG — lisättiin
Image.jpeg_encode_for_ide()/Image.jpeg_encoded_for_ide(); suuret JPEG-kuvat lähetetään automaattisesti IDE:lle, kun puskuri on liian pieni.Kirjastot — lisättiin
pidPID-säätökirjasto,modbusRTU-orjakirjasto (32-modbus-esimerkin kera) sekäSSD1306_I2C-luokka I2C-OLED-näytöille.Esimerkit — lisättiin MQTT-tilaus (
mqtt_sub.py,mqtt.pynimettiin uudelleen muotoonmqtt_pub.py).Sensori — lisättiin
sensor.XGA(1024x768) -kehyskoko;print()/repr()Bayer-kuvalle tulostaa nyt JSON-metatietoja.
Muut muutokset ja parannukset¶
Kirjoitettiin OV2640-ajuri uudelleen (oikeinpäin olevat kuvat, toimivat automaattifunktiot, JPEG-tilannekuva hyväksytty); otettiin käyttöön korkearesoluutioiset apriltagit (poistaa <64K-pikselin ROI-rajan kykenevillä korteilla); laskettiin OV2640:n PCLK 72 MHz:stä 36 MHz:iin.
Virhekorjaukset¶
Kuvankäsittely:
Korjattiin binäärioperaatioiden kuvan loppurajan ylivuoto, printf/float-tarkkuus
find_apriltags()/find_datamatrices()/find_lines()-tulosteessa, virheellinen JSON blobinprint()-tulosteessa,find_apriltags()vflip-/hmirror-kuvilla,find_lbp()-ROI-virhe, JPEG-pakkauksen aikakatkaisu suurilla resoluutioilla jafb_alloc-muistitilastojen raportointi.
Kamera ja sensorit:
Korjattiin JPEG-tilan välimuistin ylläpito ja puskurin kohdistus, suurin DCMI-siirtokoko, OV2640:n rekisterikonfiguraatio ja resoluutiot, sensorin sammutustilan palautus resetissä sekä OV7725:n kuvanlaatu (lisättiin kamerakohtainen juovasuodatin).
Verkko ja järjestelmä:
Korjattiin
socket.accept()-hardfault/virhe, WINC1500-soketin aikakatkaisun käsittely (aikakatkaisu 0 on nyt salpaava; soketteja ei suljeta vastaanoton aikakatkaisussa), H7:n syväuni, RTC (upstream-päivitys sekä H7 EXTI / herätysajastin / pehmeä reset -ongelmat) japyb.Servo-ajastimen IRQ (Servo ei toiminut).
Laitteisto- ja korttituki¶
OpenMV Cam H7 Plus (OPENMV4R) — uusi kortti, jossa on SDRAM-ajuri mahdollistamassa suuren (~31 MB) kehyspuskurin.
OV5640 — uusi 5 MP -kameran ajuri I2C-pohjaisella tunnistuksella.
FDCAN — oheislaitetuki.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkomukset v3.4.1:n ja v3.4.2:n välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
major — vaikuttaa useimpiin skripteihin, jotka käyttivät ominaisuutta; sinun täytyy siirtää koodia.
minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.
behavior — sama API, eri tulokset; tarkista hienosäädetyt skriptit uudelleen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, hyppää lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää diffiinsä GitHubissa.
WINC1500:n WLAN.ifconfig() -semantiikka muuttui (major)¶
WINC1500 WiFi -shieldillä WLAN.ifconfig() ei enää palauta vanhaa 5-elementtistä listaa [rssi, security, ssid, mac, ip]. Se nyt hakee/asettaa (ip, subnet, gateway, dns) -monikon (ja tukee staattisen IP:n konfigurointia) vastaten standardia network -rajapintaa. Koodin, joka luki yhteystietoja ifconfig() -metodista, täytyy vaihtaa uuteen WLAN.netinfo() -metodiin ((rssi, security, ssid, mac, ip)).
Commitit: e685b484a
MQTTClient.wait_msg() palauttaa None tyhjästä vastaanotosta (minor)¶
mqtt -kirjaston MQTTClient.wait_msg() palauttaa nyt None tyhjästä vastaanotosta sen sijaan että nostaisi OSError(-1) -poikkeuksen. Koodin, joka nappasi OSError(-1) -poikkeuksen havaitakseen suljetun/tyhjän soketin, täytyy sen sijaan tarkistaa None -paluuarvo.
Commitit: 76239ea89
Siirtymistarkistuslista¶
Siisti siirtymä versioon v3.4.2 vaatii tyypillisesti seuraavan työn:
Korvaa WINC1500:n
WLAN.ifconfig()-yhteystietolukematWLAN.netinfo()-metodilla (ifconfig-muutos).Tarkista
MQTTClient.wait_msg()-metodistaNone-paluuarvoOSError(-1)-poikkeuksen nappaamisen sijaan (wait_msg-muutos).Hienosäädä AprilTag-tunnistus uudelleen tai käännä
IMLIB_ENABLE_FINE_APRILTAGS-määrityksellä, jos tarvitset 8-suuntaista yhtenäisyyttä (find_apriltags-muutos).
Kaikki muut skriptit toimivat muuttumattomina.