2023-08-01から1ヶ月間の記事一覧
自分のためだけに Embassy コードリーディングシリーズです。 nRF52840 向けの Waker を wake している実装を見ていきます。 GPIO 割り込みから wake() するのが、おそらく最も単純な実装でしょう、ということで GPIO の example を探します。 examples/nrf5…
誰得 Embassy コードリーディングシリーズです。 Spawner 周りを見終わったので、次は Waker いってみましょう。 Waker はおそらく wake 呼び出す側から見た方がわかりやすいでしょう。 std で動く example の中だと serial.rs でしょうか。 use async_io::A…
ゆるふわ Embassy コードリーディングシリーズです。 前回 spawn 周りはあとタスクの構造だけ、というところまで来たのでタスクの構造を見てみましょう。 タスク関連の構造体としては TaskHeader TaskStorage TaskRef があります。このへん で定義されていま…
ゆるふわ Embassy コードリーディングシリーズです。 前回 Executor がわかってきた気持ちになったので、もう少し潜ってみましょう。 今回は Spawner いってみます。 コメントや構造体定義を見るに、Spawner は特定の Executor に紐付いていることがわかりま…
組込み向けの async/await フレームワーク embassy をゆるーく眺めていくシリーズです。 前回は main についているマクロがなにやってるか見てみました。 github.com そして個人的には、 Spawner とか Executor がどうなってるねん!が気になるので、そこ突…
Embassy をゆるーく眺めるシリーズです。 前回 README を見てみて Timer どうなっているのか気になりました。 なので実装をおいかけてみましょう。 アプリコードは大体こんな感じでした。 さてどこから行きましょうかね? use embassy_executor::Spawner; us…