eSEAR/rtm.py
このファイルには、eSEATのRTコンポーネントの本体のクラスおよび関数が記載されています。また、eSEAT_Core.py を execfile関数を使ってロードしています。
eSEATDataListenerクラス
このクラスは、eSEATの入力データポートに関連付けられます。eSEATが他のRTCからデータを受け取った時、このクラスの__call(info, cdrdata)というメンバ関数ががコールバック関数として呼び出されます。現在の実装では、入力ポートがあるRTCの onDataメンバ関数が呼び出されます。
- class ''eSEATDataListener''(OpenRTM_aist.ConnectorDataListenerT)
-
__init__(name, type, object)
コンストラクタ
-
__call__(info, cdrdata)
コールバック関数
-
__init__(name, type, object)
RtcLoggerクラス
このクラスは、eSEAT内でLoggingを行うためのクラスです。OpenRTM-aistのLoggerのラッパーとなっています。
- class ''RtcLogger''()
-
__init___(name)
コンストラクタ
- info(msg)msgをRTC_INFOとして出力
- error(msg)msgをRTC_ERRORとして出力
- warn(msg)msgをRTC_WARNとして出力
-
__init___(name)
eSEATクラス
このクラスは、eSEATのRTコンポーネントの本体です。RTCのDataFlowCompoenentBaseクラス、eSEAT_GuiクラスおよびeSEAT_Coreクラスを親として持ちます。
- class ''eSEAT''(OpenRTM_aist.DataFlowComponentBase, eSEAT_Gui, eSEAT_Core)
-
__init__(manager)
コンストラクタ
- exit()eSEAT_Core.exit_comp()を呼び出し、WebAdaptorを終了させる
- onInitialize()RTCの初期化時(生成時)に呼ばれるコールバック関数
- onActivated(ec_id)データポートの入力イベント処理フラグをオンにする。
- onDeaRTCの有効化時に呼ばれるコールバック関数ctivated(ec_id)RTCの無効化時に呼ばれるコールバック関数。データポートの入力イベント処理フラグをオフにする。
- onFinalize()RTCのシャットダウン時に呼ばれるコールバック関数。SocketAdaptor、WebAdaptorの終了処理も行う。
- onShutdowon(ec_id)RTCの終了時に呼ばれるコールバック関数。
- onExecute(ec_id)RTCの実行コンテキスト実行時に呼ばれるコールバック関数。<onexec>で定義されたコマンドを実行する。実行は、<state>タグ内で定義された<onexec>を実行し、次に<general>タグ内で定義された<onexec>を実行する。なお、eSEATでは、データ入力に関する処理は、イベントハンドラで処理するのでそれに留意すること。
- onData(name, data)データポート等ででデータを受信時に呼ばれるコールバック関数
- activate()自身を活性状態(アクティブ)にする
- deactivate()自身を非活性状態(インアクティブ)にする
- createInPort(name, type=TimedString)入力データポートの作成
- createOutPort(name, type=TimedString)出力データポートの作成
- createDataPort(name, dtype, inout)入出力データポートの作成。内部では、createOutPort, createInPort を呼び出している。
- createServicePort(name, if_name, type_name, klass, srv_type)サービスポートの作成。内部では、createProviderPort, createConsumerPort を呼び出している。
- createProviderPort(name, if_name, type_name, impl_class)サービスポート(Provider)の作成
- createConsumerPort(name, name, if_name, type_name, if_type)サービスポート(Consumer)の作成
- getServicePtr(name)nameで登録されてるConsumerサービスポートのエントリポイント(_ptr())を得る
- callServiceAsync(name, func)nameのコンシューマサービスに対してfunc関数の非同期呼び出しを行う。このfunc関数は、関数ファンクタでなければならない。OpenRTM-aistのSimpleServiceを参照してください。
- callService(name, m_name, *val)nameのコンシューマサービスポートに対して、m_nameの関数呼び出しを行う。この関数は、プロバイダの処理が終わるまで待ちに入る。
- createAdaptor(compname, tag)eSEATのデータ入出力ポートを作成。内部では、createDataPort, createServicePort、eSEAT_Code.createAdaptorを呼び出している。
- disconnectAll()データポートに接続中のコネクションをすべて削除する。
- getDataType(s)sのデータ型を確認して、データポート作成用に変換する
- newData(name)nameのadaptorの新しいデータを生成する
- isNew(name)nameのadaptorに新規データがあるかどうか調べる
- writeData(name)nameのadaptorの出力データを送信する
- readData(name)nameのadaptorから入力データを読む
- readAllData(name)nameのadaptorから入力データをすべて読み、配列で返す
- createServicePort(name, if_name, type_name, klass, srv_type)サービスポートを生成する
- createProviderPort(name, if_name, type_name, klass)プロバイダサービスポートを生成する
- createConsumerPort(name,if_name, type_name, klass)コンシューマサービスポートを生成する
- getServicePtr(inst_name)nameのコンシューマサービスポートの参照オブジェクトを取得する
-
__init__(manager)
eSEATManagerクラス
このクラスは、eSEATのマネージャとなるクラスです。実際のeSEATのRTCは、このクラスのインスタンスであるマネージャ(seatmgr)によって起動されます。
- class ''eSEATManager''()
-
__init__(seatml_filename=None)
コンストラクタ
- parseArgs()コマンド引数のパージング
- moduleInit(manager)RTコンポーネントの初期化
- start()RTコンポーネントの動作開始
-
__init__(seatml_filename=None)
その他の関数
- instantiateDataType(dtype)
- dtypeで与えられたデータ型の初期値を返す。