
迂闊なことに、つい最近まで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* を見ると
: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をみると何やらファイルが存在しますが、それは別処理系で以前に書きこんでいるものっす。
赤枠で指定したファイルに、緑の Hello を書きこんでいますが、ちゃんと書きこみ、読み出し成功しているみたい。
また、上記の解説ページの末尾に、lispプログラムをSDに書き出して、ロードして関数を定義する例が test3 という御名前で掲載されてます。それを実行してみたところが以下に。
なお、15129が返ってきているのは、SDからロードして定義している2乗する関数を使って123の二乗を計算しているためっす。なお、処理例のコードでは .txt という拡張子でファイルを書きこんでましたが、まざるのがいやなので、.lspとしてあります。
まあ、SDカードは普通に使えるね。