MicroPython 1.17 版本發佈

MicroPython 的 v1.17 已經發布!此版本旨在遵循每 2 個月(左右)發佈一次的時間表,之前的 v1.16 於 2021 年 6 月 18 日發佈。

v1.17:F-strings、新 machine.I2S 類、ESP32-C3 支持和 LEGO_HUB_NO6 板

此版本的 MicroPython 添加了對 f-strings (PEP-498) 的支持,與標準通 Python 相比有一些限制。F 字符串本質上是 "".format() 的語法糖,使格式化字符串更加方便。對核心運行時的其他改進包括:當OSError有兩個參數(一個errno代碼和一個字符串)時,可以很好地打印OSError;在主線程上調度鍵盤中斷;支持將單個參數轉換爲優化的StopIteration形式。

在machine模塊中添加了一個新的 I2S 類,支持 esp32 和 stm32 端口。爲在阻塞、非阻塞和基於 asyncio 的操作中傳輸和接收音頻數據提供了一致的 API。此外,json 模塊支持轉儲和轉儲函數中的“separators”參數,framebuf現在包括一種使用調色板在不同格式的幀緩衝區之間進行blit的方法。還添加了一個新的便攜式 machine.bitstream 函數,可以輸出具有可配置時序的位流,並用作跨硬件的通用方式驅動 WS2812 LED 的基礎。

存儲庫目錄佈局進行了一些重組,所有第三方代碼現在都在 lib/ 目錄中。並且添加了一個新的頂級目錄shared。

文檔中對rp2部件進行了增強和添加,併爲zephyr端口提供了新的快速參考。術語master/slave已被controller/peripheral取代,主要涉及到 I2C 和 SPI 的使用。並且 u-module 引用已被替換爲沒有 u-前綴的模塊名稱,以幫助清除 MicroPython 中模塊的預期用途。

對於 esp8266 和 esp32,隱藏網絡現在包含在 WLAN 掃描結果中。在 esp32 上,RMT 類通過 idle_level 和 write_pulses 模式得到增強。初步支持帶有 GENERIC_C3 和 GENERIC_C3_USB 板的 ESP32-C3 芯片。

javascript 移植已經對其 Makefile 和垃圾收集器實現進行了重新設計,因此它可以使用 asyncify 與最新的 Emscripten 一起編譯和運行。

mimxrt 移植增加了硬件 I2C 和 SPI 支持的添加,以及machine模塊的一些附加方法。還支持 Hyperflash 芯片。

nrf 移植現在具有完整的 VFS 存儲支持,在回溯時啓用源代碼行,並具有與其他端口一致的 .mpy 功能。

對於 rp2 移植,現在有更多的可配置性參數,並且添加了更多開發板。

stm32 移植有一個新的 LEGO_HUB_NO6 板定義,其中包含如何使該LEGO HUB 運行 MicroPython 的詳細信息。現在還支持更改 STM32WB MCU 上的 CPU 頻率。USBD_xxx 描述符選項已重命名爲 MICROPY_HW_USB_xxx。


完整的更改日誌請查看 github 的 micropython-ChangeLog.txt 文件。

本文分享自微信公衆號 - MicroPython中文社區(MicroPython_cn)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章