v3.9.4¶
v3.9.4 מוסיפה מודול buzzer, ioctls ל-זיהוי תנועה של HM01B0 של Himax (עם דוגמאות יקיצה-בתנועה בצריכת חשמל נמוכה), בקרת חלון קריאה של MT9V034, פונקציות Ethernet בצריכת חשמל נמוכה, מנהל התקן למצלמת OV7670, ואת מצלמת Arduino Nano 33 BLE Sense. היא גם נוחתת עם אצווה גדולה של האצות JPEG / LCD / טלוויזיה. ה-API של פלט VSYNC הוחלף בפונקציית callback וחישוב ההגבר/החשיפה של MT9V034 תוקן — קראו את השינויים השוברים למטה.
עיקרים¶
מודול Buzzer — מודול
buzzerחדש (freq(),duty(),RESONANT_FREQ) ב-OpenMV Pure Thermal.זיהוי תנועה של HM01B0 — ioctls חדשים לזיהוי תנועה של Himax בתוספת דוגמת יקיצה-בתנועה בצריכת חשמל נמוכה.
חלון קריאה של MT9V034 — שליטה בחלון הקריאה של התריס הגלובלי באמצעות
sensor.ioctl().מצלמות / לוחות חדשים — מנהל התקן בסיסי ל-OV7670, מצלמת Arduino Nano 33 BLE Sense, ולוח Bormio.
צינור עיבוד מהיר יותר — מקודד JPEG כתוב מחדש עם SIMD, debayering מהיר יותר, והאצות גדולות בהעברות LCD/טלוויזיה.
שובר:
sensor.set_vsync_output()הוחלף ב-sensor.set_vsync_callback()וחישוב ההגבר/החשיפה של MT9V034 תוקן — ראו את השינויים השוברים.
תכונות חדשות¶
Buzzer — נוסף מודול
buzzerעםbuzzer.freq(),buzzer.duty(), וקבועbuzzer.RESONANT_FREQ(OpenMV Pure Thermal).זיהוי תנועה של HM01B0 — נוספו ה-ioctls
IOCTL_HIMAX_MD_ENABLE/MD_WINDOW/MD_THRESHOLD/MD_CLEARו-IOCTL_HIMAX_OSC_ENABLE, עם דוגמת זיהוי תנועה של Himax ודוגמת יקיצה בצריכת חשמל נמוכהhimax_wakeup_on_motion_detection.py.חלון קריאה של MT9V034 — נוספו
IOCTL_SET_READOUT_WINDOW/IOCTL_GET_READOUT_WINDOWלבקרת חלון הקריאה של MT9V034 באמצעותsensor.ioctl().Ethernet בצריכת חשמל נמוכה — נוספו פונקציות כיבוי / צריכת חשמל נמוכה ל-Ethernet.
Portenta — נוספו פונקציות callback להפעלה/השבתה של מתנד חיצוני.
שינויים ושיפורים נוספים¶
מקודד ה-JPEG נכתב מחדש עם SIMD והוּאץ קידוד Bayer→YCbCr, ליבת ה-JPEG החומרתית הושארה דרוכה בזמן הרצת סקריפט, debayering הואץ (כ-19.5 ms ל-VGA), דחיסת JPEG הועברה ל-MDMA, נתיבי ההעברה של טלוויזיה/LCD הואצו עם SIMD/DMA יעיל, ושימוש אפיק ה-SPI LCD צומצם משמעותית. נוסף מנהל התקן USB3320 ULPI PHY ל-USB במהירות גבוהה.
תיקוני באגים¶
מצלמה וחיישנים:
תוקנו אתחול/הזרמה של מנהל ההתקן HM01B0 וכוונן יעד ה-AE / ההגבר המרבי שלו, תוקן הגבלת הגבר AGC/AEC של MT9V034, ותוקנה טעינת קושחת מיקוד אוטומטי של OV5640 (סדר בתים).
תצוגה:
תוקנו העברות DMA של SPI LCD הגדולות מ-64 KB, קוטביות פלט ה-LCD, ויציבות אפיק ה-LCD (AXI QOS).
מערכת וקישוריות:
תוקן מופע ה-SDMMC שבו משתמש מנהל ההתקן CYW43 WiFi (עם מופע SDMMC מוגדר-לוח), שופרה יעילות ה-DMA של FLIR Lepton (VOSPI הועלה ל-20 MHz ב-H7), תוקנה התנהגות צריכת חשמל נמוכה / המתנה של Portenta (מגבלת זרם PMIC SW1, צריכת חשמל נמוכה של Ethernet ו-ULPI), נעשה שרת RTSP סובלני לכותרות
CSeqו-PLAY Rangeשמגיעות לא בסדר (FFPLAY), תוקנה יישור EABI של 8 בתים במחסנית של ה-linker, ותוקן ייבוא שבור בדוגמתmqtt_sub.pyשל Portenta.
חומרה ותמיכה בלוחות¶
חיישן מצלמת OV7670 — מנהל התקן בסיסי.
Arduino Nano 33 BLE Sense — מנהל התקן לחיישן מצלמה (יציאת nrf) עם תיקוני פין-איפוס ואפיק I2C.
HM01B0 — נוספה רזולוציית 320x320.
Bormio — תצורת שעון PLL, פריסת flash, ו-GPIO PORT K (הופעל גם ב-Portenta).
USB3320 ULPI PHY — USB במהירות גבוהה.
שינויי API שוברים¶
שבירות API גלויות-למשתמש בין v3.9.3 ל-v3.9.4. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.
כל שינוי מתויג לפי השפעתו:
major — משפיע על רוב הסקריפטים שהשתמשו בתכונה; תצטרכו להסב קוד.
behavior — אותו API, תוצאות שונות; בדקו מחדש סקריפטים מכווננים.
השינויים מקובצים לפי השפעה בסדר זה. אם אתם רק רוצים להסב את הקוד שלכם, דלגו אל רשימת ההסבה בסוף. כל hash של commit מקושר ל-diff שלו ב-GitHub.
פלט VSYNC הוחלף ב-callback (major)¶
sensor.set_vsync_output(pin) הוסר והוחלף ב-sensor.set_vsync_callback(callback). קו ה-VSYNC כבר אינו מניע Pin ישירות; במקום זאת נקרא בר-קריאה של Python עם מצב ה-VSYNC, וה-callback שלכם מחליף את מצב ה-Pin בעצמו. קוד שהשתמש ב-sensor.set_vsync_output() חייב להיות מוסב (ראו את הדוגמה המעודכנת vsync_gpio_output.py).
Commits: 5bbe25c20
חישוב ההגבר/החשיפה של MT9V034 תוקן (behavior)¶
מהירות השעון וחישוב ההגבר/החשיפה של MT9V034 תוקנו, כך ש-sensor.set_auto_gain() / sensor.set_auto_exposure() מפיקים כעת ערכים מדויקים (ולכן שונים) מבעבר. סקריפטים שקידדו ערכי הגבר/חשיפה מפצים כדי לעקוף את החישוב השגוי הישן במצלמות תריס גלובלי MT9V034 צריכים להסיר את הפתרונות העוקפים הללו ולכוונן מחדש.
Commits: 4420536c4
רשימת הסבה¶
להסבה נקייה ל-v3.9.4 העבודה הטיפוסית היא:
החליפו את
sensor.set_vsync_output(pin)ב-sensor.set_vsync_callback(callback)והחליפו את מצב ה-Pinמתוך ה-callback (שינוי ה-VSYNC).כווננו מחדש כל פתרון עוקף להגבר/חשיפה של MT9V034 מול החישוב המתוקן (שינוי ה-MT9V034).
כל שאר הסקריפטים רצים ללא שינוי.