Open moritaritsuko opened 9 years ago
ソースを見たところ、「RTC_Manager_configure()」(lib/rtm/Manager.c)で、 「Properties_load()」に渡すconfファイルが、「./rtc.conf」固定となっているためだと思われますが、 確認をお願いします。
const char conf_file_name[] = "./rtc.conf"; (省略) res = Properties_load(res, (char *)conf_file_name);
こちらでもソースコードを確認しましたが、現在の実装では、ご指摘通りです。 rtc.confに関しては、RTC_Manager_configure関数の中でオプション処理を使いすれば、よいようになっています。
申し訳ありませんが、具体的なソース変更方法をご教示頂けないでしょうか。 「RTC_Manager_configure()」(Manager.c)で、コメントアウトされている下記処理を復活させる? res = Properties_setDefaults(res, argv, argc);
OpenRTM-aistでは、rtc.confファイルの指定は、コマンドライン引数ではなく、 下記のように、rtc.confファイル内に記述する方法がありますが、こちらには対応されているのでしょうか。 <rtc.conf> example.SampleIN0.config_file: SampleIN0.conf
rtc.conf内のConfigurationファイルの設定に関しては、対応状況は見てみないとわかりません。 引数で単に変更させるには、通常のプログラムのようにargvを見てあげればよいと思います。 ただし、正式には、すべてのオプションを見て、OpenRTMに関連しているところとCORBAに関連しているところを分離なければいけませんので、対応には少し時間がかかると思います。
回答ありがとうございます。
引数で単に変更させるには、通常のプログラムのようにargvを見てあげればよいと思います。 ただし、正式には、すべてのオプションを見て、OpenRTMに関連しているところとCORBAに関連しているところを分離なければいけませんので、対応には少し時間がかかると思います。
現時点では、暫定対策として、教示頂いた通り、下記の対応をしておくことにします。 「RTC_Manager_configure()」(Manager.c)で、引数の「argv[1]」をconfファイルとして使用して 読み込み処理を行う。 res = Properties_load(res, (char *)argv[1]);
RTコンポーネントを起動時、「rtc.conf」以外のファイルを指定すると、「exec_cxt.periodic.rate」が設定されません。
RTコンポーネントを起動時、各RTコンポーネントごとに異なるconfファイルを使用するため、 下記のように、confファイル(「rtc.conf」以外の名前)を指定したところ、RT System Editorで確認すると、 「exec_cxt.periodic.rate」の値がデフォルトの「1000.0」となっていました。 ・$./SampleIN0Comp ./rtc0.conf (exec_cxt.periodic.rate:20.0) ・$./SampleIN3Comp ./rtc3.conf (exec_cxt.periodic.rate:10.0)
「rtc.conf」ファイルを指定して起動すると、「exec_cxt.periodic.rate」の値は、ファイルに記述した値と なっていました。 ・$./SampleIN0Comp ./rtc.conf (exec_cxt.periodic.rate:20.0)
★rtc.confファイル以外のconfファイルの指定はできないのでしょうか。