v4.5.1¶
v4.5.1 מוסיפה רמזי ציור לכיוון/יחס מימדים של תמונה, טעינת תמונות ישירות מנתיב קובץ, ioctl לשדה ראייה רחב של GC2145, ו-API חדש לבקר תאורה אחורית (backlight). היא גם משכתבת את הבנאי Image(), את ממשקי ה-display, ואת ניתוח ארגומנטי המודולים — קראו את השינויים שוברי התאימות להלן.
עיקרי הדברים¶
רמזי ציור —
draw_image()קיבל רמזי כיוון (HMIRROR/VFLIP/TRANSPOSE,ROTATE_90/180/270) ושינוי קנה מידה לפי יחס מימדים (SCALE_ASPECT_KEEP/EXPAND/IGNORE).טעינת תמונות מהדיסק —
draw_image()/display.write()מקבלים מחרוזת של נתיב קובץ.בקרת תאורה אחורית — מחלקות
DACBacklight/PWMBacklightחדשות וארגומנטbacklight=בתצוגה.שובר תאימות: הבנאי
Image(), ממשקי ה-display, וניתוח ארגומנטי המודולים השתנו — ראו את השינויים שוברי התאימות.
תכונות חדשות¶
רמזי כיוון ל-
draw_image()—image.HMIRROR,image.VFLIP,image.TRANSPOSE, בנוסף לקיצורי הדרךimage.ROTATE_90/ROTATE_180/ROTATE_270.רמזי יחס מימדים ל-
draw_image()—image.SCALE_ASPECT_KEEP/SCALE_ASPECT_EXPAND/SCALE_ASPECT_IGNOREלהתאמה / הרחבה / מתיחה.קבועי לוח צבעים (palette) —
image.PALETTE_RAINBOWו-image.PALETTE_IRONBOW(הועברו אל מודול ה-image).שדה ראייה רחב — ioctl חדשים
sensor.IOCTL_SET_FOV_WIDE/IOCTL_GET_FOV_WIDE(על ה-GC2145, עד פי 5 קנה מידה של חיישן).טעינה מהדיסק —
draw_image()ו-display.write()מקבלים מחרוזת של נתיב קובץ של תמונת מקור, וטוענים אותה ישירות מהאחסון.בקרי תאורה אחורית — מחלקות חדשות
DACBacklightו-PWMBacklight(ניתנות לייבוא מ-display), וארגומנטbacklight=בעל מילת מפתח בלבד בבנאי תצוגת SPI/מקבילית.
שינויים ושיפורים נוספים¶
מנהל התקן תצוגת ST7701 DSI עבר למודול
st7701.pyמשלו (עדיין ניתן לייבוא דרךfrom display import *) ומוקפא ב-Arduino Giga; מנהל ה-IMUlsm9ds1הוקפא ב-Arduino Nano 33 BLE Sense.מצלמות MT9V022 / MT9V034 (תריס גלובלי) מיישמות כעת תיקון רעש שורה (row-noise) לאיכות תמונה טובה יותר.
כרך אחסון ההמוני (mass-storage) של USB ב-i.MX RT מתויג כעת כדיסק OpenMV.
תיקוני באגים¶
מצלמה וחיישנים:
תוקן זיהוי פינות (
find_keypoints()FAST/AGAST) על תמונות גבוהות מ-480 שורות — חוצץ (buffer) השורה כעת בגודל המתאים לגובה התמונה.נוספה תמיכה בפין FSYNC עבור
snapshot()מסונכרן-פריים על i.MX RT (OpenMV RT1060), ותוקנו פיני SPI4 MOSI/MISO שהוחלפו ב-RT1060.
תצוגה ווידאו:
תוקן סדר הארגומנטים של הבנאי
SPIDisplay(bgr,byte_swap,triple_bufferיושמו על הפרמטרים הלא נכונים).תוקן שיבוש תמונה של מגן TV בעת ציור תמונה עם מלבן מצוין, וגבולות פריים שגויים של MJPEG בעת הקלטת פריימים בקנה מידה משונה.
רשתות:
מצב AP של WINC WiFi אינו אוכף עוד את הגבלת ה-WEP-בלבד המיושנת — מצבי AP פתוחים ו-WPA עובדים עם טיפול תקין ב-PSK.
חומרה ותמיכת לוחות¶
OpenMV RT1060 — פין FSYNC ופיני SPI4 מתוקנים.
Arduino GIGA — פתרון עוקף לאמינות QSPI; תצוגת ST7701 מוקפאת פנימה.
Arduino Nano 33 BLE Sense — מנהל ה-IMU
lsm9ds1מוקפא פנימה.
שינויי API שוברי תאימות¶
שבירות API גלויות למשתמש בין v4.5.0 ל-v4.5.1. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.
כל שינוי מתויג לפי מידת ההשפעה שלו:
minor — API צר; משפיע רק על סקריפטים שהשתמשו בו.
behavior — אותו API, תוצאות שונות; בדקו מחדש סקריפטים מכוונים.
השינויים מקובצים לפי השפעה בסדר זה. אם ברצונכם רק להסב את הקוד, דלגו אל רשימת ההסבה בסוף. כל hash של commit מקושר ל-diff שלו ב-GitHub.
הבנאי Image() וממשקי display (minor)¶
הבנאי image.Image שוכתב לארגומנטים בעלי מילת מפתח (height, pixformat, buffer=, copy_to_fb=); הוא יכול כעת לבנות תמונה מ-bytearray/חוצץ (buffer) קיים, וחוצץ נדרש עבור פורמטים דחוסים. display.write() שוכתב: x_scale/y_scale מקבלים כעת float (יחס קנה מידה) או int (גודל יעד בפיקסלים) ומילות המפתח הנפרדות x_size/y_size הוסרו. הארגומנט המיקומי הראשון של WINC.connect() שונה מ-essid ל-ssid, ותוצאות סריקת WINC WiFi השתנו ל-(ssid_bytes, bssid_bytes, channel, rssi, security, N) (ה-SSID/BSSID הם כעת bytes; ה-BSSID אינו עוד מחרוזת MAC מעוצבת).
טווח תאורה אחורית, קנה מידה, וארגומנטים בעלי מילת מפתח בלבד (behavior)¶
Display.backlight() מקבל כעת עוצמה בטווח 0–100 (0 = כבוי, 100 = מלא) במקום 0–255, ומעלה ValueError מחוץ לטווח. ערכי x_scale/y_scale שלמים מטופלים כעת כגורם קנה מידה מכפיל (כמו floats) ולא כמימד פיקסל יעד — זה משפיע על fir.snapshot()/draw_ir(), tof.snapshot()/ draw_depth(), display, וקנה מידה של tv. ניתוח הארגומנטים על פני המודולים sensor, fir, tof, tv, mjpeg, gif, imageio, tf, ו-audio אוחד, מה שהפך מספר אפשרויות שהיו מיקומיות בעבר לבעלות מילת מפתח בלבד (השמות, ברירות המחדל וההתנהגות נותרו ללא שינוי).
Commits: 391ec443f, 8bd25d6cd, 477312656, 08bf62a32, a4c0f20bf, 9b411a66d, 3d679f5a6, d15fc6b8d, 555e67ecd
רשימת הסבה¶
להסבה נקייה ל-v4.5.1 העבודה האופיינית היא:
עדכנו את בניית
Image()לצורת מילות המפתח החדשה, העבירו אתdisplay.write()מ-x_size/y_size, ושנו אתWINC.connect()מ-essidל-ssid(טפלו ב-tuples החדשים מבוססי ה-bytes של הסריקה) (שינויי הבנאי/תצוגה/WINC).שנו את קנה המידה של קריאות
Display.backlight()ל-0–100, בדקו מחדש כל שימוש בערכיx_scale/y_scaleשלמים, והעבירו אפשרויות מודול שהיו מיקומיות בעבר כמילות מפתח (שינויי ההתנהגות).