[openrtm-users 01046] Re: Configulationパラメータの設定

Masakazu Ishida ishida-mxb @ necst.nec.co.jp
2009年 12月 22日 (火) 19:48:36 JST


NECシステムテクノロジーの石田です。

コンフィグレーションにおける初期値を与える作法について
ご教授ください。C++版を利用しております。

RTMパッケージに提示されていますサンプルソースでは
examples/ConfigSample/ConfigSample.cppにおいて、例えば

static const char* configsample_spec[]=
    "conf.default.int_param0", "0",

ここでparam0に着目しますと、onInitialize()にて
bindParameter("int_param0", m_int_param0, "0");
と初期値0(ゼロ)でbindしています。

confファイルを用意して初期値を与えようとすると、
うまく与えられません。常に0(ゼロ)になります。
RTCLink等のツールはconfファイルを読み込んでおり
ツールでApplyしてやればconfファイルの内容が反映されます。

そこで、ツールでApplyしなくても良いようにするやり方を調べたところ
bindParameter("int_param0", m_int_param0, 
m_properties["conf.default.int_param0"].c_str() );
と初期値をプロパティから与えてやるとconfの内容が反映されます。
この作法で初期化してやると、インスタンス別にconfファイルを分けても
読み込まれます。

この作法は推奨されるものでしょうか?

この方が好ましいのであればサンプルソースを改変いただけると
うれしいです。サンプルソースを元にしてconfファイルを読まない
コンポーネントが周囲で増殖しており苦慮しております。

==============================================
石田雅一(いしだまさかず)
NECシステムテクノロジー(株)
211-8666神奈川県川崎市中原区下沼部1753
tel:044-431-7574
ishida-mxb @ necst.nec.co.jp
==============================================



openrtm-users メーリングリストの案内