编码规范

  • 板型差异化通过 boards// 下的 board.json、manifest.py、mpconfigboard.、partitions-.csv、sdkconfig.* 组合描述,而非修改通用构建脚本。

  • SDK 配置以多份 sdkconfig.* 片段(base、ble、spiram、flash_2MiB、p4_wifi_common 等)叠加合并的方式组合,避免单一大配置文件。

  • Python 模块按功能域分目录组织:modules/font/ 存放点阵字体,modules/mpython_ble/ 按 advertising/services/characteristics/gatts 分层,modules/umqtt/uwebsockets/urllib 复用标准库风格命名。

  • 文档 RST 文件统一以数字前缀(1_xxx.rst、2_xxx.rst)排序章节,并通过 index.rst 的 toctree 聚合,便于 Sphinx 自动索引。

  • 板载功能封装集中在 mPython 库(docs/5_api/library/mPython/ 对应的 mpython.py 等),对外暴露简洁对象式 API(如 accelerometer/sound/light),底层 I2C/ADC 调用隐藏于 C 扩展或 Python 驱动中。

  • 新增外设驱动以独立 .py 文件形式加入 modules/(如 max30102.py、ATGM336H_5N.py、helloFly.py、xgo.py),并在 examples/ 下提供对应 boot.py/main.py 演示用法。