v1.7.0¶
v1.7.0 מציגה את המודול cpufreq (בקרת תדר ה-CPU / overclocking), את מודול ה-os של MicroPython, רענון חיישן תרמי MLX / בקרת רזולוציה, וכן הקמה ראשונית של לוח OpenMV Cam M7 (STM32F7). חתימת fir.init(), הטיפול בפריימים גדולים מדי ואיכות ה-JPEG המוגדרת כברירת מחדל השתנו — קראו את השינויים שוברי התאימות שלהלן.
עיקרים¶
המודול
cpufreq— שאילתה / הגדרה של תדר ה-CPU, עם דוגמת overclocking.MLX תרמי —
fir.init()מקבל קצב רענון ורזולוציית ADC.OpenMV Cam M7 — הקמה ראשונית של לוח STM32F7.
שובר תאימות:
fir.init()מקבל כעת רק ארגומנטים בשם, פריימים גדולים מדי נחתכים אוטומטית, ואיכות ה-JPEG בברירת מחדל ירדה — ראו את השינויים שוברי התאימות.
תכונות חדשות¶
cpufreq— נוסף המודולcpufreqעםcpufreq.get_frequency()/cpufreq.set_frequency()והקבועיםCPUFREQ_120MHZ/144/168/192/216MHZ, וכן דוגמתoverclocking.py.MLX / FIR —
fir.init()מקבל כעת קצב רענון ורזולוציית ADC, עם בקרותrefresh/resolutionתואמות עבור החיישן התרמי MLX.
שינויים ושיפורים נוספים¶
כוונן אזור ה-AGC/AEC של ה-OV7725 (פחות טשטוש תנועה), הופעל פס הצבע המלא של ה-DSP עבור ה-OV7725, ותוקן הזרמת חוצץ הפריימים (frame buffer) ב-IDE (ללא פריימים ישנים / כפולים).
תיקוני באגים¶
תוקן גלישת גודל העברה ב-DCMI/DMA ב-
sensor.snapshot(), נוקה הטיפול בגלישת חוצץ (buffer) בדחיסת JPEG, שופר אזור הפעולה של ה-AEC/AGC ב-OV7725 לחשיפה/הגבר (gain) אוטומטיים טובים יותר, ותוקנו סקריפטי פס הצבע / הבדיקה העצמית עבור ה-OV7725.
תמיכה בחומרה ובלוחות¶
OpenMV Cam M7 (STM32F7 / OPENMV7) — תמיכה ראשונית בלוח ובמאתחל (bootloader).
OpenMV 2 — שעון החיישן מונע על ידי יציאת ה-MCO.
שינויי API שוברי תאימות¶
שבירות API גלויות למשתמש בין v1.6.0 ל-v1.7.0. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.
כל שינוי מתויג לפי השפעתו:
minor — API צר; משפיע רק על סקריפטים שהשתמשו בו.
behavior — אותו API, תוצאות שונות; בדקו מחדש סקריפטים מכווננים.
השינויים מקובצים לפי השפעה בסדר זה. אם אתם רק רוצים להסב את הקוד שלכם, דלגו לרשימת ההסבה בסוף. כל hash של commit מקושר ל-diff שלו ב-GitHub.
fir.init() מקבל כעת רק ארגומנטים בשם (minor)¶
fir.init() עוצב מחדש כך שיקבל ארגומנטים בשם (type= / refresh= / resolution=, ברירת מחדל refresh 64 Hz, מקסימום 512 Hz) במקום ארגומנטים מיקומיים. עדכנו קריאות מיקומיות fir.init(...) לצורת השם.
Commits: 958c5b7f7
פריימים גדולים מדי נחתכים אוטומטית ל-QVGA (behavior)¶
sensor.snapshot() כבר אינו זורק שגיאה כאשר הפריים הגולמי חורג מגודל הפריים הגולמי המקסימלי של הלוח — פריימים גולמיים גדולים מדי כעת ממוסגרים/נחתכים ל-QVGA במקום זאת (רק פריים גולמי במצב JPEG עדיין נדחה). בחרו רזולוציה (framesize) נתמכת אם הסתמכתם על השגיאה הקודמת.
ה-framesize המקסימלי של OpenMV 2 הורד ל-QVGA (behavior)¶
ב-OpenMV 2, ה-framesize המקסימלי של תמונה אינטגרלית / גולמי / blob הורד מ-VGA ל-QVGA. בקשה ל-VGA עבור פעולות גווני אפור / RGB565 / blob / תמונה אינטגרלית ב-OpenMV 2 כעת נחתכת ל-QVGA — עצבו מחדש סקריפטים שהסתמכו על עיבוד VGA בלוח זה.
Commits: 7499062bd
איכות ה-JPEG בברירת מחדל הופחתה (behavior)¶
איכות ה-JPEG בברירת מחדל הופחתה (ברירת מחדל 50 ← 35, עם ספי תת-דגימה נמוכים יותר ב-IDE) להזרמה אמינה יותר. תמונות JPEG שנלכדות/מוזרמות הן באיכות נמוכה יותר באופן נראה לעין כברירת מחדל — העבירו quality מפורש ל-image.compress() אם אתם זקוקים לאיכות הקודמת.
Commits: d9c8b1535
רשימת הסבה¶
להסבה נקייה ל-v1.7.0 העבודה הטיפוסית היא:
המירו קריאות מיקומיות
fir.init(...)לצורת השם (שינוי fir.init).השתמשו ב-framesize נתמך במקום להסתמך על שגיאת הפריים הגדול מדי הישנה (שינוי הפריים הגדול מדי), ועצבו מחדש עיבוד VGA ב-OpenMV 2 (שינוי ה-framesize של OpenMV 2).
העבירו
qualityמפורש ל-image.compress()אם אתם זקוקים לאיכות ה-JPEG הקודמת (שינוי איכות ה-JPEG).
כל שאר הסקריפטים פועלים ללא שינוי.