Lispと一緒(49) Wio TerminalでもuLisp、SDカードの使用

Joseph Halfmoon

迂闊なことに、つい最近までWio Terminal(ハード的にはWiFi対応)上のuLispで無線LANできるものと思い込んでました。しかし、uLisp4.6b ではWio Terminal上でのWiFi対応は無。仕方ないのでSDカードを使用できるようにしてみました。とばっちり? SDカードはフツーに使えます。

※Lispと一緒 投稿順 index はこちら

※実機確認は Wio Terminal で行ってます。

※使用させていただいとります uLisp のバージョンは 4.6b (Arm用)です。

uLisp上でのWiFi使用(Wio Terminal)

uLisp上でもWiFiの使用をできる機種はありますが、サポート機種はラズパイPico Wなど限られているようです。ハードウエア的にはWiFi登載しているWio TerminalですがuLisp4.6bでのサポートは無いようです。

http://www.ulisp.com/show?38J4

上記ページから1か所引用させていただきます。

Access to the RTL8720D for Wi-Fi and Bluetooth isn’t yet supported in uLisp.

そうだったのね~。4.6bのソースの中を除いてみましたがその通りみたい。そのクセ、サポートされている機能を保持している *features* を見るとfeatures

:wi-fi も列挙されとります。なして? しかし、実際にwifi-connect してみると

Error: ‘wifi-connect’ not supported

などと拒否られます。今回はWiFiを調べようと思っていたのにあてが外れました。しかたないので転進。

uLisp上でのSDカード使用(Wio Terminal)

Wio Terminalの側面には microSDカードスロットがあります。当方の装置では以前使用のカードがさしっぱなしになってます。今回は、uLispからもこれが使えることを確認しました。ただし、処理系の再コンパイルが必須でした。例によってソース冒頭部分のコメントを一か所はずします。

これによりSDカードへのアクセスができるようになりますが、副作用としてフリーのセル数が二千数百ほど減となりました。まあ致しかたなし。

http://www.ulisp.com/show?207M

SDカードのアクセスの方法については上記ページに記載があります。以下はそこに書かれていた例題を実際に Wio Terminal上のuLispで動かしたところ。なお、directoryをみると何やらファイルが存在しますが、それは別処理系で以前に書きこんでいるものっす。textReadWrite

赤枠で指定したファイルに、緑の Hello を書きこんでいますが、ちゃんと書きこみ、読み出し成功しているみたい。

また、上記の解説ページの末尾に、lispプログラムをSDに書き出して、ロードして関数を定義する例が test3 という御名前で掲載されてます。それを実行してみたところが以下に。test3

なお、15129が返ってきているのは、SDからロードして定義している2乗する関数を使って123の二乗を計算しているためっす。なお、処理例のコードでは .txt という拡張子でファイルを書きこんでましたが、まざるのがいやなので、.lspとしてあります。

まあ、SDカードは普通に使えるね。

Lispと一緒(48) Wio TerminalでもuLisp、レイトレーシングのデモ へ戻る