micro:bitはシングルタスク処理しかできないと思っていましたが、callback処理あるいはバックグランド処理でイベント待ち(ソフトウェア割り込みと言って良いと思う)ができるんですね。バックグランド処理が出来る時点でマルチタスクと言っていいですが。今まで気づいていませんでした、というかmicro:bitにあまり触っていなかったということなのでしょう。
イベントの種類はボタンが押されたとか限定的のようですが、ともかくも割り込み処理が出来るというのは出来ることの範囲が広がります。
で、『ひらけゴマ』の5秒間オープンをスイッチAを押すことで終了させるようにしてみました。イベントの種類には制限があるようで、タスク間通信のような機能もなさそうです。
https://isehara-3lv.sakura.ne.jp/blog/2022/06/03/形のあるものにしたmicrobit-サーボモーター/
イベントの処理部分だけを抜き出すと以下の画像になります。
アップデートした全体コードはこちらに、
https://github.com/chateight/servo_motor
admin