UIFlowのMicroPythonを調べる

概要

UIFlowをちょっと触ってみましたが、MicroPythonの資料が少ないので調べてみました。

UIFlowとは?

M5Stick社の提供するブロック型のビジュアルプログラミングツールです。内部はMicroPythonが動いています。

オフィシャル情報源

上記3つありますが、更新されていません、、、

UIFlow Documentが日本語資料としては、一番充実しています。Homepageがカスタムブロックの作り方など、深い内容が書いてあります。

GitHubが一番くわしい情報なのですが、更新日が半年前なんですよね。。。

独自調査

UIFlowを動かしているM5StickCにシリアル接続をして、Ctrl+Cを何度か送るとPythonのコンソールに入ることができます。

そこでdir()やtype()、help()などを利用して構造を調べてみました。

生成物

モジュールの一覧をhelp(‘modules’)で拾ってきて、すべてをimportしたあとにdir()でちくちくモジュールとクラスの一覧を拾っています。

一部helpで出てこないモジュールがあったり、HATやUNITは動的にロードしていたりと試行錯誤しています。

しかしながら、関数名まではわかるのですが引数などの情報が取れません。。。

UIFlowのMicroPythonだとinspectとか使えないので、コードの中身を見ることができません。docstringなどのコメントも入っていないことが多いので、コンソールから調べるのはここまでが限界でした。

あとはUIFlowの画面上から拾ってくるしか無い気がします。。。

Doxygen

一応GitHubのソースがあったので、Doxygenで解析してみました。

やっぱり、こっちのほうがわかりやすい。。。ただ半年前のなんでHAT系が無いんですよね

まとめ

まだUIFlowのMicroPythonをがりがり書いてプログラムをするのは、難しい気がします。もう少し新しいコードをM5Stackさんが公開してくれるのを祈っています。

コメントする

メールアドレスが公開されることはありません。

管理者承認後にページに追加されます。公開されたくない相談はその旨本文に記載するかTwitterなどでDM投げてください。またスパム対策として、日本語が含まれない投稿は無視されますのでご注意ください。