URGManualCapture Class Reference

URG の基本制御. More...

#include <urgManualCapture.h>

Inheritance diagram for URGManualCapture:

Inheritance graph
[legend]
Collaboration diagram for URGManualCapture:

Collaboration graph
[legend]

List of all members.

Public Member Functions

const char * what (void)
 エラー状態を示す文字列を返す
int connect (const char *device, long baudrate)
 センサへの接続を行う
int connectSocket (const char *host, short port)
 ソケットに対して接続
void disconnect (void)
 センサとの接続を切断する
bool isConnected (void)
 センサと接続されているかを返す
void set_recvTimeout (int timeout)
 受信時のタイムアウトを指定
void setTimestampMode (bool withTimestamp)
 タイムスタンプ取得モードに設定する
virtual int capture (long length[], int first_index, int last_index, int group, URGInterface::urgParams_t &params, unsigned long *raw_timestamp=NULL)
 センサからのデータ取得
int getCaptureTimes (void)
 センサからデータを取得した回数を返す
int send (const char *data, int size)
 センサに直接コマンドを転送する
int recv (char *data, int maxsize, long timeout)
 センサから直接メッセージを受け取る
int recv_line (char *data, int maxsize, long timeout)
 センサから1行分のメッセージを直接受け取る
int laser (bool on)

Protected Member Functions

long decode (const char *data, int data_byte)
int recvCaptureData (long *data, size_t max_size, unsigned long *timestamp, URGInterface::urgParams_t &params)
int readLine (char *buffer, int timeout)
int addRecvData (const char buffer[])

Protected Attributes

bool laser_on
int remain_byte
char remain_data [3]
bool enableTimestamp
std::vector< long > recv_data

Friends

class URGCtrlTest


Detailed Description

URG の基本制御.

Definition at line 21 of file urgManualCapture.h.


Member Function Documentation

const char * URGManualCapture::what ( void   )  [virtual]

エラー状態を示す文字列を返す

Todo:
説明を記述

Implements URGCapture.

Definition at line 29 of file urgManualCapture.cpp.

int URGManualCapture::connect ( const char *  device,
long  baudrate 
) [virtual]

センサへの接続を行う

Todo:
説明を記述
Parameters:
device [i] 接続デバイス名
baudrate [i] 接続ボーレート
Return values:
0 正常終了
戻り値 < 0 エラー

Implements URGCapture.

Definition at line 34 of file urgManualCapture.cpp.

References ConnectionDevice::connect(), ConnectionDevice::disconnect(), disconnect(), ConnectionDevice::flush(), ConnectionDevice::recv(), ConnectionDevice::send(), ConnectionDevice::setBaudrate(), and ConnectionDevice::what().

int URGManualCapture::connectSocket ( const char *  host,
short  port 
) [virtual]

ソケットに対して接続

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

Implements URGCapture.

Definition at line 76 of file urgManualCapture.cpp.

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

void URGManualCapture::disconnect ( void   )  [virtual]

センサとの接続を切断する

Todo:
説明を記述

Implements URGCapture.

Definition at line 87 of file urgManualCapture.cpp.

Referenced by connect(), and connectSocket().

bool URGManualCapture::isConnected ( void   )  [virtual]

センサと接続されているかを返す

Todo:
説明を記述

Implements URGCapture.

Definition at line 95 of file urgManualCapture.cpp.

References ConnectionDevice::isConnected().

void URGManualCapture::set_recvTimeout ( int  timeout  )  [virtual]

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

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

Implements URGCapture.

Definition at line 500 of file urgManualCapture.cpp.

void URGManualCapture::setTimestampMode ( bool  withTimestamp  )  [virtual]

タイムスタンプ取得モードに設定する

Todo:
説明を記述
Parameters:
withTimestamp [i] タイムスタンプが利用できる場合 true

Implements URGCapture.

Definition at line 108 of file urgManualCapture.cpp.

References enableTimestamp.

int URGManualCapture::capture ( long  length[],
int  first_index,
int  last_index,
int  group,
URGInterface::urgParams_t params,
unsigned long *  raw_timestamp = NULL 
) [virtual]

センサからのデータ取得

Todo:
引数についての説明を記述する
urgIndex.png

配列に格納されるデータと角度の関係(センサ真上より)

Parameters:
length [o] 測定データが格納される配列
first_index [i] 測定データの要求開始位置
last_index [i] 測定データの要求終了位置
group [i] グルーピングを行うデータ個数
params [i] センサのパラメータ情報
raw_timestamp [o] センサのタイムスタンプ値
Return values:
戻り値 > 0 取得したデータ配列の添え字の最大値
戻り値 < 0 エラー

Implements URGCapture.

Reimplemented in URGAutoCapture.

Definition at line 418 of file urgManualCapture.cpp.

References ConnectionDevice::flush(), ConnectionDevice::send(), and URGInterface::urgParams_t::sense_steps.

int URGManualCapture::getCaptureTimes ( void   )  [virtual]

センサからデータを取得した回数を返す

Todo:
説明を記述

Implements URGCapture.

Reimplemented in URGAutoCapture.

Definition at line 459 of file urgManualCapture.cpp.

int URGManualCapture::send ( const char *  data,
int  size 
) [virtual]

センサに直接コマンドを転送する

Todo:
説明を記述
Parameters:
data [i] 送信データ
size [i] 送信データサイズ
Return values:
戻り値 >= 0 送信バイト数
戻り値 < 0 エラー

Implements URGCapture.

Definition at line 464 of file urgManualCapture.cpp.

References ConnectionDevice::send().

int URGManualCapture::recv ( char *  data,
int  maxsize,
long  timeout 
) [virtual]

センサから直接メッセージを受け取る

Todo:
説明を記述
Parameters:
data [o] 受信データ
maxsize [i] 受信可能サイズ
timeout [i] タイムアウト [msec]
Return values:
戻り値 >= 0 受信バイト数
戻り値 < 0 エラー

Implements URGCapture.

Definition at line 472 of file urgManualCapture.cpp.

References ConnectionDevice::recv().

int URGManualCapture::recv_line ( char *  data,
int  maxsize,
long  timeout 
) [virtual]

センサから1行分のメッセージを直接受け取る

Todo:
説明を記述 改行を含む
Parameters:
data [o] 受信データ
maxsize [i] 受信可能サイズ
timeout [i] タイムアウト [msec]
Return values:
戻り値 >= 0 受信バイト数
戻り値 < 0 エラー

Implements URGCapture.

Definition at line 480 of file urgManualCapture.cpp.

References ConnectionDevice::recv().


Member Data Documentation

タイムスタンプ利用可能

Definition at line 47 of file urgManualCapture.h.

Referenced by setTimestampMode().


The documentation for this class was generated from the following files:

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