circuitpython 9.0.0 发布!!
[复制链接]
针对nRF52的警告:如果您的nRF52 UF2引导程序版本低于0.6.1,则由于固件尺寸的增加,将无法加载CircuitPython 8.2.0及更高版本。请参阅相关说明以更新引导加载程序(https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader)。
自v8.x.x以来的显著更改
不兼容警告
- 新的存储管理。请参阅下面的 Internal 说明,了解现有程序可能出现的新内存错误。
- SD卡等文件系统现在必须装载在已有目录上。请参阅下面的 Storage 说明。
- 套接字 socket 行为中不兼容的变化:必须明确使套接字可重复使用。请参阅下面的 Networking 说明。
- displayio.*Display.show() 已被删除。请改用 *Display.root_group =。
- I2CPeripheral 现在改为 I2CTarget。
音频
- 添加 synthio.Note .loop_start 和 .loop_end 属性。
- 添加 synthio.Synthesizer.note_state。
- 在 Espressif 上添加 I2S MCLK 支持。
- synthio 中允许带符号振幅。
内置模块
- 添加 OrderedDict.move_to_end()。
- 添加 warnings 模块,类似于CPython。
- 添加 locale.getlocale()。
- 添加 codeop.compile_command()。
- 删除 8.x.x 弃用内容:displayio.*.show(),I2CPeripheral 改名为 I2CTarget。
Graphics
- 重新组织和拆分 displayio。8.x.x命名结构在9.x.x中仍然可用,但将在10.0.0中删除。
- 添加 jpegio 用于支持 JPEG 解码器。
- 添加 bitmapfilter 图像操作。
Internal
- 新的拆分堆内部动态存储机制。某些 CircuitPython 程序可能会引发 MemoryError 而失败。如果您遇到在 8.x.x 中工作但在 9.0.0 出现MemoryError 异常的程序,请提交一个包含详细信息的问题。
- 合并 MicroPython v1.19.1、v1.20.0 和 v1.21.0 的更新。
- Espressif:更新至 ESP-IDF v5.1.3。
Networking
- 允许为原始套接字指定协议。
- 支持添加 mDNS TXT 记录。
- 通过 web工作流提供SD卡支持。
- 允许在接入点模式下提取相关站点。
- 不兼容的更改:需要明确的套接字端口可复用。使用 socket.setsockopt(pool.SOL_SOCKET, pool.SO_REUSEADDR, 1),如 CPython 中那样。
Python解释器
存储
- CIRCUITPY 驱动器现在可安装到 Android 上。
- 在 CIRCUITPY 驱动器增加文件容量 <=128kB。
- 不兼容的更改:要求文件系统装载在已有目录上。在新的文件系统中创建 /sd 以提供装载点。
Supervisor
- 添加 repl.py,它在 repl 启动之前运行。
USB
- 支持视频设备(“网络摄像头”,UVC)。
- HID 可以唤醒正在休眠的主机。
- 在i.MX和RP2040上进一步的USB主机支持。
- 允许设置USB HID接口名称。
移植状态
CircuitPython 移植到许多硬件上,它们是不同微控制器系列的核心实现,稳定性因硬件而异。截至本版本,这些移植版本被认为是稳定的(但请参阅下面的已知问题):
- atmel-samd:Microchip SAMD21,SAMx5x
- cxd56:Sony Spresense
- espressif:espressif ESP32、ESP32-S2、ESP32-S3、ESP32-C3
- nrf:Nordic nRF52840、nRF52833
- raspberrypi:树莓派 RP2040
- stm:STM32F4 系列芯片
这些移植版本认为还是 alpha 版本,会有 bug 和功能缺失:
- broadcom: Raspberry Pi,如 RPi 4,RPi Zero 2W
- litex:fomu
- mimxrt10xx:NXP i.MX RT10xxx
- silabs:Silicon Labs MG24系列
- stm:非 STM32F4 芯片系列
更多说明请参考github:
|