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 () |
例外原因の文字列を返す |
int RunCtrl::connect | ( | int | argc, | |
char * | argv[] | |||
) | [virtual, inherited] |
引数の内容を評価して接続を行う
引数は、argv[1] から評価される
プログラム引数から通信に使用するポートを決定する場合に用いる
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] |
ポート指定の接続を行う
通信に使用するポートをプログラム中で指定する場合に用いる
device | [i] 接続デバイス名 | |
baudrate | [i] 接続ボーレート |
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 接続を行う。通信内容は、走行制御コントローラに送るデータを同じとなる。シミュレータに対して接続したい場合や、ネットワーク越しに走行制御コントローラを制御したい場合に用いる
host | [i] 接続ホスト | |
port | [i] 接続ポート |
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] |
接続されているかどうかを返す
走行制御オブジェクトがポートに対して接続されているかを返す
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.
Definition at line 278 of file runCtrl.cpp.
void RunCtrl::pop_runState | ( | void | ) | [virtual, inherited] |
走行状態の復帰
待避しておいた走行状態を復帰する。これにより、現在の走行パラメータ設定、及び直前発行コマンドを再発行するための情報が待避しておいたものに置き換わる
Implements RunInterface.
Definition at line 284 of file runCtrl.cpp.
void RunCtrl::set_sendRetryTimes | ( | int | times | ) | [inherited] |
通信エラー時の再送回数設定
走行制御コントローラとの通信エラーが起こった場合、1トランザクションにおいて何回失敗したらアボートするかを設定する
times | [i] 再送回数 |
Definition at line 292 of file runCtrl.cpp.
void RunCtrl::set_recvTimeout | ( | int | timeout = DefaultTimeout |
) | [inherited] |
受信時のタイムアウトを指定
走行制御コントローラからの応答がこなかった場合、何 msec だけ応答が来なければ通信エラーと見なすかを設定する
timeout | [i] タイムアウト時間 [msec] |
Definition at line 297 of file runCtrl.cpp.
void RunCtrl::set_watchDogTimer | ( | unsigned long | msec | ) | [inherited] |
msec Watch Dog Timer 時間の設定
走行制御コントローラは、設定時間毎に何らかの通信が届かなければ、停止コマンドを発行して以後動作しなくなる。停止するまでのカウンタは、任意の通信コマンドが走行制御コントローラに届く度に設定値にリセットされる
msec | [i] タイムアウトまでの時間 |
Definition at line 240 of file runCtrl.cpp.
virtual const char* RunCtrl_Exception::what | ( | void | ) | const throw () [inline, virtual, inherited] |