赤外線リモコン記述言語(IDL)仕様書
◎はじめに
赤外線リモコン記述言語 IDL は、赤外線リモコンのデータをエディタなどを
利用してお手軽に編集することを目的とした考え出された記述言語です。
◎リモコンデータの記述方法
IDLファイルの中味は大きく以下の順に定義しなければなりません
- ライブラリ名定義部
- 変数定義部
- 機器定義部
- 機能定義部
1.libraryの名前を定義する
- 例
- library SONY
2.機能定義部で使う変数を定義する
- 例
- length1=#10
length2=#30
....
instrument hogehoge
f1 = on(length1) off(length2)
3.機器名を定義する
- 例
- instrument TV
次の機器名定義があらわれるまでを機器TVの定義部とする
4.機能を定義する
- 例
- func1 = main( ON(#10)OFF(#20)) rept(ON(#50)OFF(#10)) \\
end(ON(#29)off(#1)
◎機能定義部で使える命令
- main()
- ()内を main IRDとする
- rept()
- ()内を repeat IRDとする
- end()
- ()内を end IRDとする
- on()
- ()内の間ON
- off()
- ()内の間off
- dup n()
- ()内をn回繰り返し(nは数値)
○main,rept,endについて
IRLIBでは、一般的なの家電の赤外線リモコンのデータが以下の形式になって
いることを前提にしています。
X,Y,ZをそれぞれIRDデータとして、
- ・ボタンを一回押したとき
- X Y Z
- ・ボタンを長時間押したとき
- X Y Y Y Y.... Z
そして、このX,Y,Zをそれぞれ、主部(main IRD)、繰り返し部(repeat IRD)、
フッター(end IRD)と呼ぶ事にします。
◎数値について
- 頭に'# 'or '$'のついた文字列を数値として扱う
- #で10進, $で16進
- 例
-
#12 → 10進で12の数値
$12 → 10進で18の数値
◎irlibの癖
ファンクション定義の中に
main がないときにSend Mainが呼ばれたときは rept() を送信します
rept がないときにSend Repeatが呼ばれたときは main() を送信します
end がないときにSend Endが呼ばれたときはなにも送信しません
戻る
佐藤益弘 thomas@fenix.ne.jp