| Author: | Geoffrey Biggs and contributors |
|---|---|
| Date: | 2010-10-24 |
| Copyright: | EPL-1.0 |
| Version: | 3.0 |
| Manual section: | 1 |
| Manual group: | User commands |
rtinject [options] <path1:port1> [path2:port2...]
値を一つ以上のポートに送ります。デフォルトは一回のみ送ります。複数回や 定期的に送ることもできます。
目的のポートにデフォルトの接続を作ります。
| -c CONST, --const=CONST | |
| Pythonフォーマットとして送る一定値。指定されていない場合、標準入力 から値を読む。 {time} が存在する場合、現在の時刻に置き換えられる。 | |
| -m MODULES, --mod=MODULES | |
| Import する必要な Python モジュール。値の必要なモジュールが自動的に ロードされていない場合、このオプションで指定してください。モジュール とそのモジュールの __POA のモジュールも import します。 | |
| -n MAX, --number=MAX | |
| 値を何回送るかを指定する。 -1 に設定した場合、永遠に送り続けます。 | |
| -p PATHS, --path=PATHS | |
| モジュールのサーチパス。Pythonの PYTHONPATH 変数に追加する。 | |
| -r RATE, --rate=RATE | |
| 周期を指定する。単位はヘルツ。 | |
| -t TIMEOUT, --timeout=TIMEOUT | |
| タイムアウト時間を指定する。単位は秒。このオプションは --number と一緒に使用で来ません。 | |
| --version | プログラムのバージョン番号を表示して終了する |
| -h, --help | ヘルプを表示して終了する |
| -v, --verbose | 冗長な情報を出力する [デフォルト: False] |
rtshell は パス でRTCツリーのオブジェクトを示します。パスは オブジェクトのアドレスです。ネームサーバとネームコンテクストは ダイレクトリで、マネージャとRTコンポーネントはファイルです。POSIXの cat 等のコマンドと同じように、コマンドに渡したパスはrtshellの ワーキングディレクトリに追加されます。rtshellの現在のワーキングディレクトリは RTCSH_CWD という環境変数に保存されて、 rtcwd というコマンドで 変更することができます。
利用できるパスはコマンド実行時のネームサーバによって変わります。 RTCSH_NAMESERVERS という環境変数の値に記録されたネームサーバとパスに 指定された ネームサーバを組み合わせて提供します。
例えば、 /localhost/comp0.rtc は localhost にあるネームサーバに登録 された comp0.rtc というRTコンポーネントを示します。 /localhost/manager/comp0.rtc は localhost にあるネームサーバの下の manager というディレクトリに登録された comp0.rtc というRT コンポーネントを示します。 ./comp0.rtc は現在のワーキングディレクトリ の中にある comp0.rtc というRTコンポーネントを示します。
RTコンポーネントのポートを示す場合、パスの後にコロン(「:」)で区切って 示します。例えば、 /localhost/comp0.rtc:data は comp0.rtc というRTコンポーネントの data というポートを示します。
新しいポートを作るコマンドもあります。この場合、オプションをパスに追加 することができます。使えるオプションは作られるポートの名前とフォーマッタ です。指定方法は以下の通りです:
path:port.name#formatter
例:
/localhost/blurg.host_cxt/comp0.rtc:input.stuff#a_printer
作られるポートの名前は stuff で、データは a_printer という関数で ターミナルに表示するように指定してます。( a_printer の関数はPythonが利 用可能な場所に存在する必要があります。普通はユーザがモジュールで提供します。) 作られたポートは comp0.rtc の input というポートに接続します。
「name」という部分は必須ではありません。書いていない場合は「.」文字も 書かないでください。例:
/localhost/blurg.host_cxt/comp0.rtc:input#a_printer
「formatter」という部分は必須ではありません。書いていない場合は「.」文字も 書かないでください。例:
/localhost/blurg.host_cxt/comp0.rtc:input.stuff
- RTCTREE_ORB_ARGS
- ORBを作る時に渡す変数です。セミコロンで区切ります。必須ではありません。
- RTCTREE_NAMESERVERS
- RTCツリーを作る時に参照するネームサーバのアドレスです。アドレスをセミ コロンで区切ります。リストされたアドレスはすべてRTCツリーに追加して rtshellで見ることができるようになります。必須ではありません。
- RTSH_CWD
- rtshellの現在のワーキングディレクトリ。rtshellが自動的に設定します。 設定しないでください。
普通、ユーザが設定する変数は RTCTREE_NAMESERVERS のみです。よく使うネ ームサーバを設定しておくと便利です。例えば、Bashシェルの場合、以下のコマンド は localhost 、 192.168.0.1:65346 および example.com にあるネーム サーバをいつもrtshellで利用できるようにします。
$ export RTCTREE_NAMESERVERS=localhost;192.168.0.1:65346;example.com
成功の場合はゼロを返します。失敗の場合はゼロではない値を返します。
デバグ情報とエラーは stderr に出します。
$ rtinject /localhost/ConsoleOut0.rtc:in
stdinからの値を ConsoleOut0.rtc の in ポートに送ります。
$ rtinject /localhost/ConsoleOut0.rtc:in -c
'RTC.TimedLong({time}, 42)'
42 と現在の時刻を consoleout0.rtc の in ポートに送ります。「'」を 使ってpythonのステートメントを守ります。(Windowsでは「"」を使ってくださ い。)
$ rtinject /localhost/ConsoleOut0.rtc:in -c 'RTC.TimedLong(RTC.Time(1, 0), 42)'
42 とタイムスタンプを1秒として ConsoleOut0.rtc の in ポートに送ります。
$ rtinject /localhost/ConsoleOut0.rtc:in -n 5
stdinからの値を五回 ConsoleOut0.rtc の in ポートに送ります。
$ rtinject /localhost/ConsoleOut0.rtc:in -n 5 -c
'RTC.TimedLong({time}, 42)'
42 と現在の時刻を consoleout0.rtc の in ポートに5回送ります。
$ rtinject /localhost/ConsoleOut0.rtc:in -t 5 -r 10 -c
'RTC.TimedLong({time}, 42)'
42 と現在の時刻を10Hzで consoleout0.rtc の in ポートに5秒間送 ります。
$ rtinject /localhost/MyComp0.rtc:in -c 'MyData.MyVal(84)'
MyData.MyVal(84) を MyComp0.rtc の in ポートに送ります。クラスは Pythonのサーチパス(PYTHONPATH)に存在するモジュールに指定されていま す。そのモジュールはOMG IDLファイルからジェネレートされました。
$ rtinject /localhost/MyComp0.rtc:in -p /usr/local/mods -c 'MyData.MyVal(84)'
MyData.MyVal(84) を MyComp0.rtc の in ポートに送ります。クラスは Pythonのサーチパス(PYTHONPATH)に存在しないモジュールに指定されていま す。モジュールのパスは``-p``で指定されます。
$ rtinject /localhost/MyComp0.rtc:in -p /usr/local/mods -m mymod -c 'MyData.MyVal(84)'
MyData.MyVal(84) を MyComp0.rtc の in ポートに送ります。クラスは Pythonのサーチパス(PYTHONPATH)に存在する mymod というモジュール を指定します。
rtcat (1), rtlog (1), rtprint (1)