eSEAT_rtm.py
Simple Wiki Based Contents Management System
ソフトウェア関連 >> RTコンポーネント関連 >> eSEAT_v2.5 >> eSEATのファイル構成クラスについて >> eSEAT_rtm.py

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)
      コールバック関数

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として出力

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のコンシューマサービスポートの参照オブジェクトを取得する

eSEATManagerクラス

このクラスは、eSEATのマネージャとなるクラスです。実際のeSEATのRTCは、このクラスのインスタンスであるマネージャ(seatmgr)によって起動されます。
  • class eSEATManager()
    • __init__(seatml_filename=None)
      コンストラクタ
    • parseArgs()
      コマンド引数のパージング
    • moduleInit(manager)
      RTコンポーネントの初期化
    • start()
      RTコンポーネントの動作開始

その他の関数

instantiateDataType(dtype)
dtypeで与えられたデータ型の初期値を返す。