システムコマンド


Functions

const char * RunCtrl::what (void)
 エラー状態を示す文字列を返す
virtual int RunCtrl::connect (int argc, char *argv[])
 引数の内容を評価して接続を行う
virtual int RunCtrl::connect (const char *device, long baudrate=Baudrate)
 ポート指定の接続を行う
virtual int RunCtrl::connect (void)
 設定ファイルの内容を評価して接続を行う
int RunCtrl::connectSocket (const char *host, long port=SimulatorPort)
 ソケットに対して接続
virtual void RunCtrl::disconnect (void)
 ポートとの接続を切断する
virtual bool RunCtrl::isConnected (void)
 接続されているかどうかを返す
void RunCtrl::push_runState (void)
 走行状態の待避
void RunCtrl::pop_runState (void)
 走行状態の復帰
void RunCtrl::set_sendRetryTimes (int times)
 通信エラー時の再送回数設定
void RunCtrl::set_recvTimeout (int timeout=DefaultTimeout)
 受信時のタイムアウトを指定
void RunCtrl::set_watchDogTimer (unsigned long msec)
 msec Watch Dog Timer 時間の設定
 RunCtrl_Exception::RunCtrl_Exception (const char *message) throw ()
 メッセージを指定して例外を投げる
virtual const char * RunCtrl_Exception::what (void) const throw ()
 例外原因の文字列を返す

Function Documentation

int RunCtrl::connect ( int  argc,
char *  argv[] 
) [virtual, inherited]

引数の内容を評価して接続を行う

引数は、argv[1] から評価される

プログラム引数から通信に使用するポートを決定する場合に用いる

Parameters:
argc [i] 引数の個数
argv [i] 引数文字列を格納した配列
使用例
    include <runCtrl.h>

    int main(int argc, char *argv[]) {
      try {
        RunCtrl run;
        if (run.connect(argc, argv) < 0) {
          printf("RunCtrl::connect: %s\n", run.what());
          exit(1);
        }
        ...

      } chatch (std::exception& e) {
        printf("exception: %s\n", e.what());
      }
      return 0;
    }

Implements RunInterface.

Reimplemented in mRunCtrl.

Definition at line 167 of file runCtrl.cpp.

References RunCtrl::connect().

int RunCtrl::connect ( const char *  device,
long  baudrate = Baudrate 
) [virtual, inherited]

ポート指定の接続を行う

通信に使用するポートをプログラム中で指定する場合に用いる

Parameters:
device [i] 接続デバイス名
baudrate [i] 接続ボーレート
Return values:
0 正常終了
戻り値 < 0 エラー
使用例
    RunCtrl run;
    if (run.connect("/dev/ttyS0") < 0) {
      printf("RunCtrl::connect: %s\n", run.what());
      exit(1);
    }

Implements RunInterface.

Reimplemented in mRunCtrl.

Definition at line 191 of file runCtrl.cpp.

References RunCtrl::raw_connect().

int RunCtrl::connect ( void   )  [virtual, inherited]

設定ファイルの内容を評価して接続を行う

設定ファイルである defaultargs という名前のファイル内容を評価して接続を行う。defaultargs ファイルは ./, ~/.vxv/ という順番に走査される。defaultargs ファイルには、渡したい引数を1行毎に記述しておくこと。defaultargs の '#' から行末までの内容は無視される
このメソッドは、connect(argc, argv) で接続が確立できなかったときにも評価される

~/.vxv/defaultargs の例

    # vxv2
    --run_port=/dev/ttyUSB0
    --urg_port=/dev/ttyACM0
    --urg_handstand

    include <runCtrl.h>

    int main(int argc, char *argv[]) {
      try {
        RunCtrl run;
        // connect(argc, argv) に引数が渡されなければ、connect(void) が呼ばれる
        if (run.connect(argc, argv) < 0) {
          printf("RunCtrl::connect: %s\n", run.what());
          exit(1);
        }
        ...

      } chatch (std::exception& e) {
        printf("exception: %s\n", e.what());
      }
      return 0;
    }

Reimplemented in mRunCtrl.

Definition at line 196 of file runCtrl.cpp.

References VXV::createArgs(), VXV::deleteArgs(), and VXV::searchFile().

Referenced by RunCtrl::connect().

int RunCtrl::connectSocket ( const char *  host,
long  port = SimulatorPort 
) [inherited]

ソケットに対して接続

TCP/IP 接続を行う。通信内容は、走行制御コントローラに送るデータを同じとなる。シミュレータに対して接続したい場合や、ネットワーク越しに走行制御コントローラを制御したい場合に用いる

Parameters:
host [i] 接続ホスト
port [i] 接続ポート
Return values:
0 正常終了
戻り値 < 0 エラー

Definition at line 216 of file runCtrl.cpp.

References ConnectionDevice::connect(), and ConnectionDevice::what().

Referenced by mRunCtrl::connect().

void RunCtrl::disconnect ( void   )  [virtual, inherited]

ポートとの接続を切断する

ポートとの接続を切断する

使用例

    RunCtrl run;
    run.connect(argc, argv);
    ...
    run.disconnect();

Implements RunInterface.

Definition at line 227 of file runCtrl.cpp.

Referenced by RunCtrl::raw_connect().

bool RunCtrl::isConnected ( void   )  [virtual, inherited]

接続されているかどうかを返す

走行制御オブジェクトがポートに対して接続されているかを返す

Return values:
true 接続されている
false 接続されていない
使用例
    RunCtrl run;
    run.connect(argc, argv);
    if (!run.isConnect()) {
      printf("RunCtrl::connect: %s\n", run.what());
      exit(1);
    }
    ...

Definition at line 235 of file runCtrl.cpp.

References ConnectionDevice::isConnected().

void RunCtrl::push_runState ( void   )  [virtual, inherited]

走行状態の待避

走行パラメータの値、及び直前発行コマンドを再発行するための情報を待避する

Implements RunInterface.

Examples:
stopToObstacle.cpp.

Definition at line 278 of file runCtrl.cpp.

void RunCtrl::pop_runState ( void   )  [virtual, inherited]

走行状態の復帰

待避しておいた走行状態を復帰する。これにより、現在の走行パラメータ設定、及び直前発行コマンドを再発行するための情報が待避しておいたものに置き換わる

Implements RunInterface.

Examples:
stopToObstacle.cpp.

Definition at line 284 of file runCtrl.cpp.

void RunCtrl::set_sendRetryTimes ( int  times  )  [inherited]

通信エラー時の再送回数設定

走行制御コントローラとの通信エラーが起こった場合、1トランザクションにおいて何回失敗したらアボートするかを設定する

Parameters:
times [i] 再送回数

Definition at line 292 of file runCtrl.cpp.

void RunCtrl::set_recvTimeout ( int  timeout = DefaultTimeout  )  [inherited]

受信時のタイムアウトを指定

走行制御コントローラからの応答がこなかった場合、何 msec だけ応答が来なければ通信エラーと見なすかを設定する

Parameters:
timeout [i] タイムアウト時間 [msec]

Definition at line 297 of file runCtrl.cpp.

void RunCtrl::set_watchDogTimer ( unsigned long  msec  )  [inherited]

msec Watch Dog Timer 時間の設定

走行制御コントローラは、設定時間毎に何らかの通信が届かなければ、停止コマンドを発行して以後動作しなくなる。停止するまでのカウンタは、任意の通信コマンドが走行制御コントローラに届く度に設定値にリセットされる

Parameters:
msec [i] タイムアウトまでの時間

Definition at line 240 of file runCtrl.cpp.

virtual const char* RunCtrl_Exception::what ( void   )  const throw () [inline, virtual, inherited]

例外原因の文字列を返す

走行制御モジュール例外を返した理由を表示する

使用例

    include <runCtrl.h>

    int main(int argc, char *argv[]) {
      try {
        RunCtrl run;
        ...

      } chatch (std::exception& e) {
        printf("exception: %s\n", e.what());
      }
      return 0;
    }

Definition at line 511 of file runCtrl.h.


Generated on Mon Apr 13 22:52:07 2009 by  doxygen 1.5.7.1