MicroPython 2.0 移行ガイド

MicroPython 2.0 は MicroPython の次のメジャーリリースです(現在開発中で、まだ利用できません)。

1.x 系列でほぼ 10 年間 API の互換性を維持してきた後、プロジェクト全体の改善を進めるために、MicroPython 2.0 では少数の破壊的 API 変更が導入され、一部のプログラムを更新する必要が生じます。このガイドでは、これらの変更に対応するために Python コードを更新する方法を説明します。

このドキュメントは作成中です。MicroPython 2.0 の作業が進むにつれて、以下のリストにさらに項目が追加されます。

注: 現在、ダウンロード可能な MicroPython 2.0 ファームウェアビルドはありません。MICROPY_PREVIEW_VERSION_2 設定オプションを有効にすることで、自分でビルドできます。リリース準備が整うにつれて、1.x.y2.0.0-preview の両方のビルドが提供されます。

ハードウェアとペリフェラル

概要

目標は、異なるポート間で machine API の一貫性を向上させ、サポートされているあらゆるマイクロコントローラで動作するコード、ドキュメント、チュートリアルをより簡単に記述できるようにすることです。

これは、一部のポートの API を他のポートに合わせて変更する必要があることを意味します。

変更点

まだありません

OS とファイルシステム

概要

主な目標は、.mpy files を最初に RAM にコピーせずにファイルシステムから直接実行できる機能をサポートすることです。これによりコードのデプロイ時間が改善され、メモリのオーバーヘッドと断片化が削減されます。

さらに、もう一つの目標は、パーティション、ファイルシステムの種類、USB マスストレージなどのオプションをより柔軟に設定する方法をサポートすることです。

変更点

まだありません

CPython 互換性

概要

目標は、CPython API から MicroPython 拡張を削除することで、CPython との互換性を向上させることです。ほとんどの場合、これは既存の MicroPython 固有の関数やクラスを新しいモジュールに移動することを意味します。

これにより、CPython と MicroPython の両方で動作するコードをより簡単に記述でき、開発とテストに役立ちます。

変更点

新しいモジュール vfs の導入。次の関数とクラスが os から vfs に移動しました。

  • os.mount

  • os.umount

  • os.VfsFat

  • os.VfsLfs1

  • os.VfsLfs2

  • os.VfsPosix