2017年10月07日

FlashTools Minimal Shell v0.01 beta

FlashAirのシリアルポートを利用した簡易シェルのベータ版を公開しました。
抜本的なリファクタリングと動的ロード機能の調整を行い、より簡単に機能拡張ができるようになりました。
所定の形式で作成したLuaスクリプトを/binに入れるだけでお好みの機能を追加することができます。
以下のGIFアニメのように、動作中にファイルが追加されても受け付けます。

クリックでフルサイズで見ることができます。
(リンクから飛んできた人は、一度ブログトップに移動してからこの記事を再度開き直す必要があるかもしれません。)
FTMS.gif

以下のテンプレートで作成されたLuaスクリプトを/binフォルダに入れてください。
便利なスクリプトができましたら報告していただけるとうれしいです。

--Description
local _name_ = "hello"
local _help_ = "hello [times] : Show \"Hello World\""

--Program
function _ (arg)
--begin user program

for i=1,tonumber(arg) do
term.print("Hello World!")
end

--end of user program
end


------------------------------------------------
--Bootstrap
shell.debugmsg(_name_," begin")
if(select(2, ...) == "help")then
shell.debugmsg(_name_," help mode")
term.print(_help_)
else
shell.debugmsg(_name_," run mode")
_(select(1, ...))
end
shell.debugmsg(_name_," end")


また、シェル機能実装にあたって通信機能の抽象化などを行いましたので、
それらを切り出してライブラリとして使っていただいても構いません。

uart.open
uart.close
uart.write
uart.writeRaw
uart.read
uart.fflush

term.setlastbuf
term.print
term.printraw
term.backspace
term.getc
term.gets

shell.setdebug
shell.debugmsg

shell.setpwd
shell.getpwd

shell.exist
shell.existDir

shell.run
shell.getAbsPath



BSD-3 Licenseです
https://sabowl.sakura.ne.jp/gpsnmeajp/files/FTMS.zip
posted by gpsnmeajp at 22:14| Comment(0) | TrackBack(0) | 電子工作
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/181220245
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック