首页
/ CircuitPython 9.2.5版本发布:功能增强与稳定性提升

CircuitPython 9.2.5版本发布:功能增强与稳定性提升

2025-06-13 06:11:57作者:龚格成

项目概述

CircuitPython是一款专为微控制器设计的开源Python实现,由Adafruit主导开发。它提供了简单易用的API接口,让开发者能够快速上手嵌入式开发,特别适合教育、原型设计和物联网应用场景。与传统的嵌入式开发相比,CircuitPython极大地降低了开发门槛,开发者可以直接在微控制器上运行Python代码,无需复杂的编译和烧录过程。

核心功能更新

显示系统增强

本次9.2.5版本在显示功能方面做了多项重要改进:

  1. 新增tilepalettemapper模块:为displayio显示系统添加了新的tilepalettemapper功能,这为开发者提供了更灵活的显示元素管理方式,特别是在处理多色图块和调色板映射时更加高效。

  2. VT100终端支持:terminalio模块现在支持完整的VT100转义码,包括滚动功能和颜色显示。这意味着开发者可以创建更丰富的终端界面,支持彩色文本输出和滚动区域控制。

  3. 显示精度提升:改进了displayio.ColorConverter对5:5:5位颜色格式的处理精度,使得颜色显示更加准确。

音频处理能力扩展

音频子系统在本版本中获得了显著增强:

  1. PitchShift效果器:新增了audiodelays.PitchShift音频效果,为音频处理提供了音高变换能力。

  2. Biquad滤波器增强:synthio模块增加了BlockBiquad滤波器支持,提供了更专业的音频滤波处理功能。

  3. 音频处理优化:通过代码重构减少了音频处理模块的占用空间,提高了运行效率。

语言特性支持

  1. 函数属性支持:现在大多数开发板都支持Python函数属性功能,这为元编程和装饰器使用提供了更多可能性。

  2. 反向算术运算符:增加了对反向算术运算符的支持,完善了Python运算符重载功能。

硬件支持改进

新开发板支持

9.2.5版本新增了对多款开发板的支持,包括但不限于:

  • Adafruit Fruit Jam系列开发板
  • Daisy Seed音乐开发平台
  • 多款基于ESP32的显示开发板
  • 专业测量设备HXR SAO数字万用表

平台特定优化

  1. RP2040平台:更新了Pico SDK至2.1.1版本,修复了picodvi.Framebuffer的显示问题,并优化了网络性能。

  2. Espressif平台:增加了audioio模块支持,使ESP32系列开发板能够处理音频输入输出。

  3. SAMx平台:新增了spitarget(SPI从设备)支持,扩展了通信能力。

  4. Zephyr RTOS支持:初步实现了对Zephyr RTOS的移植,为多平台支持奠定了基础。

系统优化与稳定性

  1. 内存管理修复:修正了m_realloc()和m_free在使用MICROPY_MALLOC_USES_ALLOCATED_SIZE时的行为,提高了内存操作的安全性。

  2. 文件系统增强:支持额外的/saves分区,为数据存储提供了更多灵活性。

  3. Web工作流改进:增加了对空SSID的检查,提高了Wi-Fi连接的可靠性。

  4. 中断处理优化:在RP2040平台上修复了闪存写入期间的中断处理问题。

开发者工具与文档

  1. 设置文件支持:现在可以通过settings.toml文件配置终端显示比例(CIRCUITPY_TERMINAL_SCALE)。

  2. 文档完善:更新了picodvi显示模式文档,修正了usb_cdc.Serial.read()等API的说明。

  3. 弃用警告:增加了对旧版displayio绑定的使用警告,帮助开发者平滑过渡到新版API。

总结

CircuitPython 9.2.5版本在保持系统稳定性的同时,带来了多项功能增强和硬件支持扩展。从显示系统的改进到音频处理能力的提升,从新开发板支持到系统底层的优化,这个版本为嵌入式Python开发提供了更强大的工具集。特别是对教育领域和创客社区而言,这些改进使得原型开发更加便捷,项目实现更加灵活。随着Zephyr支持的引入,CircuitPython的未来发展将更加多元化,值得开发者期待。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
827
5.48 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
517
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
784
1.57 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
803
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
971
2.28 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
482
312
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.02 K
768
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.26 K
809
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
647
285