v3.4.2¶
v3.4.2 je veliko izdanje. Uvodi OpenMV Cam H7 Plus (SDRAM, golemi framebuffer za snimanje visoke razlučivosti), OV5640 5 MP kameru, podršku za FDCAN, prepisani OV2640 upravljač, Image.jpeg_encode_for_ide() te nove biblioteke pid / modbus. API ifconfig() za WINC1500 i zadane vrijednosti find_apriltags() su se promijenile — pročitajte nekompatibilne promjene u nastavku.
Istaknuto¶
OpenMV Cam H7 Plus — nova pločica s SDRAM upravljačem i framebufferom od ~31 MB za snimanje visoke razlučivosti.
Upravljač za OV5640 5 MP kameru s detekcijom putem I2C.
Podrška za FDCAN periferiju, s CAN primjerom.
Prepisivanje OV2640 — uspravne slike, ispravne automatske funkcije, JPEG snimka i nova
sensor.XGAveličina sličice.IDE JPEG —
Image.jpeg_encode_for_ide()i automatski prijenos velikih JPEG-ova u IDE.Nekompatibilno: semantika WINC1500
WLAN.ifconfig()se promijenila,MQTTClient.wait_msg()više ne baca iznimku pri praznom primanju, afind_apriltags()se zadano koristi 4-smjernom povezanošću — vidi nekompatibilne promjene.
Nove značajke¶
WiFi — dodani su
WLAN.netinfo()(vraća(rssi, security, ssid, mac, ip)) i konfiguracija statičke IP adrese za WINC1500 putemWLAN.ifconfig(), s primjerom statičke IP adrese.FDCAN — dodana je podrška za FDCAN periferiju i primjer
can.py.IDE JPEG — dodani su
Image.jpeg_encode_for_ide()/Image.jpeg_encoded_for_ide(); veliki JPEG-ovi se automatski prenose u IDE kad je međuspremnik premalen.Biblioteke — dodana je biblioteka PID regulatora
pid, biblioteka RTU slavemodbus(s primjerom 32-modbus) te klasaSSD1306_I2Cza I2C OLED zaslone.Primjeri — dodan je MQTT pretplatnik (
mqtt_sub.py, uz preimenovanjemqtt.pyumqtt_pub.py).Senzor — dodana je
sensor.XGA(1024x768) veličina sličice;print()/repr()na Bayer slici sada ispisuje JSON metapodatke.
Ostale promjene i poboljšanja¶
Prepisan je OV2640 upravljač (uspravne slike, ispravne automatske funkcije, prihvaćena JPEG snimka); omogućeni su apriltagovi visoke razlučivosti (uklanja ograničenje ROI-ja od <64K piksela na sposobnim pločicama); snižen je OV2640 PCLK s 72 MHz na 36 MHz.
Ispravci grešaka¶
Obrada slike:
Ispravljeni su prelijevanje preko kraja slike u binarnim operacijama, printf/preciznost float vrijednosti u izlazu
find_apriltags()/find_datamatrices()/find_lines(), neispravan JSON uprint()mrlje,find_apriltags()na vflipped / hmirrored slikama, greška ROI-ja ufind_lbp(), istek vremena JPEG kompresije za velike razlučivosti te izvještavanje o statistici memorijefb_alloc.
Kamera i senzori:
Ispravljeni su održavanje cachea u JPEG načinu i poravnanje međuspremnika, najveća veličina DCMI prijenosa, konfiguracija registara i razlučivosti OV2640, vraćanje stanja gašenja senzora pri resetiranju te kvaliteta slike OV7725 (dodan je filtar protiv pruga po kameri).
Mreža i sustav:
Ispravljeni su hardfault/greška
socket.accept(), rukovanje istekom vremena utičnice WINC1500 (istek vremena 0 sada je blokirajući; utičnice se ne zatvaraju pri isteku vremena primanja), H7 duboko spavanje, RTC (ažuriranje uzvodno te problemi s H7 EXTI / mjeračem buđenja / mekim resetom) te mjerač IRQ zapyb.Servo(Servo nije bio funkcionalan).
Hardver i podrška za pločice¶
OpenMV Cam H7 Plus (OPENMV4R) — nova pločica s SDRAM upravljačem koji omogućuje velik (~31 MB) framebuffer.
OV5640 — novi upravljač za 5 MP kameru s detekcijom putem I2C.
FDCAN — podrška za periferiju.
Nekompatibilne promjene API-ja¶
Korisniku vidljive nekompatibilnosti API-ja između v3.4.1 i v3.4.2. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Svaka je promjena označena svojim utjecajem:
major — utječe na većinu skripti koje su koristile značajku; morat ćete prilagoditi kod.
minor — uzak API; utječe samo na skripte koje su ga koristile.
behavior — isti API, drugačiji rezultati; ponovno provjerite ugođene skripte.
Promjene su grupirane prema utjecaju tim redoslijedom. Ako samo želite prilagoditi svoj kod, prijeđite na kontrolni popis za migraciju na kraju. Svaki hash commita vodi na svoj diff na GitHubu.
Semantika WINC1500 WLAN.ifconfig() se promijenila (major)¶
Na WINC1500 WiFi shieldu, WLAN.ifconfig() više ne vraća staru listu s 5 elemenata [rssi, security, ssid, mac, ip]. Sada dohvaća/postavlja torku (ip, subnet, gateway, dns) (i podržava konfiguraciju statičke IP adrese), u skladu sa standardnim network sučeljem. Kod koji je čitao informacije o vezi iz ifconfig() mora prijeći na novu metodu WLAN.netinfo() ((rssi, security, ssid, mac, ip)).
Commiti: e685b484a
MQTTClient.wait_msg() vraća None pri praznom primanju (minor)¶
Metoda MQTTClient.wait_msg() biblioteke mqtt sada vraća None pri praznom primanju umjesto da baca OSError(-1). Kod koji je hvatao OSError(-1) za otkrivanje zatvorene/prazne utičnice mora umjesto toga provjeravati povratnu vrijednost None.
Commiti: 76239ea89
Kontrolni popis za migraciju¶
Za čistu prilagodbu na v3.4.2 tipičan posao je:
Zamijenite čitanja informacija o vezi iz WINC1500
WLAN.ifconfig()sWLAN.netinfo()(promjena ifconfig).Provjerite
MQTTClient.wait_msg()za povratnu vrijednostNoneumjesto hvatanjaOSError(-1)(promjena wait_msg).Ponovno ugodite detekciju AprilTag-ova ili izgradite s
IMLIB_ENABLE_FINE_APRILTAGSako vam treba 8-smjerna povezanost (promjena find_apriltags).
Sve ostale skripte rade nepromijenjeno.