v1.0.x から v2.0.0 への移行
RTIC v1.0.x から v2.0.0 へプロジェクトを移行するには、次の手順が必要です。
v2.1.0は Rust Stable 1.75 以降で動作します(推奨)。一方、古いバージョンでは#![type_alias_impl_trait]を使用するため、nightlyコンパイラが必要です。v1.0.xに含まれている monotonic をrtic-timeおよびrtic-monotonicsへ移行し、spawn_after、spawn_atを置き換えます。- ソフトウェアタスクは
asyncであることが必須になったため、それらを正しく使用します。 rtic-syncが提供するデータ型を理解し、使用します。
変更点の詳細については、各小節を参照してください。
必要な変更のコード例を見たい場合は、完全な移行例のページ を参照してください。
TL;DR(長いので要点だけ)
spawn_afterとspawn_atの代わりに、rtic-monotonicsが実装を提供するasync関数delay、delay_until(および関連する関数)を使用するようになりました。- ソフトウェアタスクは теперь 必ず
async fnでなければなりません。タスク内にawaitがある限り、タスクから戻らないことも許可されます。共有リソースは引き続きlockできます。 - 新しいタスクを
spawnする代わりに、共有リソースへのアクセスをawaitするにはrtic_sync::arbiter::Arbiterを使用し、タスク間で通信するにはrtic_sync::channel::Channelを使用します。