約40回に渡って ラズパイPico2機上の uLisp を練習。今回よりWio Terminalを練習台としたいです。uLisp処理系は同じ 4.6b を使用です。Wio TerminalにはグラフィクスとWiFiという「素のラズパイPico2」に欠けている2大機能が備わっています。練習できなかった関数どもに触れる筈。
※Lispと一緒 投稿順 index はこちら
※実機確認は Wio Terminal で行ってます。
※使用させていただいとります uLisp のバージョンは 4.6b (Arm用)です。
Wio Terminal
Wio Terminalは、泣く子も黙る(ホントか?)Seeed Studioの小型マイコンです。むき出しのボードではなく、320×240のカラーディスプレイと操作ボタンを備えた筐体入り。ボード上には各種のセンサや複数のインタフェースコネクタを備えた超小型コンピュータです。
背面にはRaspberry Piの拡張コネクタとピン配を合わせた(Raspberry Piの上に刺せることを意図しているので入出力は逆)拡張コネクタも備えております。当方では背面から信号を引き出しやすくするために「醜い」お手製拡張ボードを接続してあるので、ちょっとしたハードの実験などはお楽。
登載しているマイコンは、Microchip社のATSAMD51です。コアはArm Cortex M4F。ラズパイPico2登載のM33と比べると登場はチョッと古いっすけど、浮動小数点のサポートもあり@200MHz(ホントか?)ということで処理能力はそれなりかと。
本シリーズの最初期、ほんの3回ほど Wio Terminal上でuLispしてましたが、ラズパイPico2へ練習台を切り替えてしまったので、あまり身をいれてuLispした記憶はありませぬ(忘却力の老人だもの。)
まあ、ラズパイPico2機に足らないハードを接続して練習を続けるよりは、Wio Terminalに練習台を戻す方がなんぼかお楽ということで。
uLisp 4.6bのインストール
uLispのソースそのものは、Arduino 処理系の上に乗っているので、Arduino IDEからWio Terminal(ATSAMD51)用のオブジェクトにコンパイルしなおしてオブジェクトをダウンロードすれば uLisp が走ります。
ソースの頭の方に、#define gfxsupport という行があり、コメントアウトされています。ここのコメントを外してビルドしないとグラフィクス関係の関数は使えませぬ。
さてビルド後、Arduino IDE付属のシリアルモニタから見たところが以下に。
ちゃんとバージョン 4.6b であると。これでラズパイPico2で練習したのと「同じバージョン」のuLispが使えるっと。
LCDにメッセージ出力
さて今回は、ちゃんとLCDに出力できていることを確認するために、画面に文字を書いてみることにいたしました。書き込み用の関数は以下のごとし。
ドット座標x y で与えられる位置に「2倍サイズ」のフォントで文字列を出力する関数見本デス。
(defun lineprint (x y pstr) (fill-screen) (set-text-size 2) (with-gfx (str) (set-cursor x y) (princ pstr str)))
さて上記を以下のようにして呼び出しました。
(lineprint 10 10 "uLisp 4.6b")
画面に出力できているようだね。