Weitere ähnliche Inhalte
Ähnlich wie 開発ツールさくっと作ってみた発表資料
Ähnlich wie 開発ツールさくっと作ってみた発表資料 (20)
開発ツールさくっと作ってみた発表資料
- 8. 8
コマンド説明
== PIO関連コマンド ==
■ pinMode( pin, mode )
ピンのモードを設定します。
pin: ピンの番号
mode:
0: INPUTモード
1: OUTPUTモード
■ digitalWrite( pin, value )
ピンのHigh, Lowをセットします。
pin: ピンの番号
mode:
0: LOW
1: HIGH
■ digitalRead( pin )
ピンの状態を取得します。
pin: ピンの番号
0:LOW
1:HIGH
■ delay( msec )
指定時間(ms)待ちます。
msec: 時間(ms)
== シリアル関連コマンド ==
■ Serial.print( [str] )
シリアルに出力します。
str: 文字列
省略時は何も出力しません
■ Serial.println( [str] )
シリアルにrn付きで出力します。
str: 文字列
省略時はrnだけ出力します。
■ Serial.read()
シリアルから1バイト取得します。
戻り値
0x00~0xFFの値、
データが無いときは-1が返ります。
■ Serial.write( buf, len )
シリアルにデータを出力します。
buf: 出力データ
len: 出力データサイズ
戻り値
出力したバイト数
== SDカード関連コマンド ==
■ SD.read( number )
オープンしたファイルから1バイト読み込みます。
number: ファイル番号 0 または 1
戻り値
0x00~0xFFが返る。ファイルの最後だったら-1が返る。
■ SD.seek( number, byte )
オープンしたファイルの読み出し位置を移動する。
number: ファイル番号 0 または 1
byte: seekするバイト数(-1)でファイルの最後に移動。
戻り値
成功: 1, 失敗: 0
■ SD.write( number, buf, len )
オープンしたファイルバイナリデータを書き込む。
number: ファイル番号 0 または 1
buf: 書き込むデータ
len: 書き込むデータサイズ
戻り値
実際に書いたバイト数
■ SD.open( number, filename[,mode] )
ファイルをオープンします。
number: ファイル番号 0 または 1
filename: ファイル名(8.3形式)
mode: 0:Read, 1:Append, 2:New Create
戻り値
成功: 番号, 失敗: -1
■ SD.close( number )
ファイルをクローズします。
number: ファイル番号 0 または 1
== システム関連コマンド ==
■ sys.setrun( filename )
Luaファイルを実行します。
filename: 実行するLuaファイル名
■ sys.ver()
バージョンを取得します。
戻り値
SakuLuaのバージョン
■ sys.exit()
終了します。
■ delay( msec )
指定時間待ちます。
msec: 時間(ms)
■ El_Psy_Congroo()
- 10. 10
Lチカスクリプト
--ledchika.lua--
pinMode( 0, 1 ) --0 が LED
digitalWrite(0, 0) --0 を LOW
while(true)do
delay(250)
pinMode( 0, 0 ) --0 を入力にしてHigh Zで電流を流さない
delay(250)
pinMode( 0, 1 ) --0 を出力にして電流を流す
end
sys.exit()
- 12. 12
ターミナルからの操作
Serial.print("n")
if(m:len()==0)then
Serial.println("n loader.lua Running...")
sys.setrun("loader.lua")
else
m = m:gsub("^%s*(.-)%s*$", "%1")
SD.open( 0, "linesrus.lua", 2 )
SD.write(0, m, m:len())
m=";if(a~=nil)then Serial.println(a) end;"
SD.write(0, m, m:len())
SD.close(0)
sys.setrun("linesrus.lua")
end
Luaスクリプト
--Multi Lines Run
repeat k=Serial.read() until(k<0)
Serial.println("Input end with [Ctrl-z]")
m=""
while(true)do
repeat
k = Serial.read()
until(k>0)
if(k==26)then break end
if(k==8)then
m=m:sub(1,m:len()-1)
else
m=m..string.format("%c",k)
end
Serial.print(string.format("%c",k))
end
- 15. 15
ターミナルからの操作
ローダスクリプト----LuaLoader
fm=""
Serial.print("nInput Lua filename>")
while(true)do
repeat
k = Serial.read()
until(k>0)
if(k==10)then break end
fm=fm..string.format("%c",k)
Serial.print(string.format("%c",k))
end
fm = fm:gsub("^%s*(.-)%s*$", "%1")
Serial.println("nFilename:["..fm.."]")
fp = 0
SD.open( fp, fm, 2 )
SD.write( fp, "--"..fm.."n", fm:len()+3 )
eflg=0
while(true)do
t=1000
repeat
t = t - 1
k = Serial.read()
if(t<0)then
Serial.println("Close?(Enter)")
repeat
l = Serial.read()
until(l>0)
if(l==10 or l==13)then
eflg = 1
break
else
k=l
end
t=1000
end
if(k==0)then k=10 end
delay(1)
until(k>0)
if(eflg==1)then break end
SD.write( fp, string.format("%c",k), 1 )
Serial.print(string.format("%c",k))
end
SD.close( fp )
sys.setrun(fm)