更新日:2004/11/04 変更履歴 ------ Beta1からの変更点 * 4つのAPIにWAITなしフラグを追加 BOOL ExternalControl( BOOL waitF = TRUE ); BOOL InternalControl( BOOL waitF = TRUE ); BOOL SetRobotObjectMode( E_ROBOTOBJECT eService, E_ROBOTOBJECTMODE eMode, BOOL waitF = TRUE ); int DoRobotFunction( E_ROBOTFUNCTION eFunction, BOOL waitF = TRUE ); * GetRobotDesign()は、常に DESIGN_ERS7 が返るように修正。 * IsRemote() 関数を追加 * GainON(), GainOFF() 関数を削除 * SetClock()を機能する関数に修正。UTCの設定に対応 * VAIBODEF.h より DISCONNECT_MODE_GAINOFFを削除 * Connect <-> Remote 切り替え時のコマンドBUSY通知を追加 #define VAIBO_CONNECT_BUSY -23 // It is dealing with a connection #define VAIBO_COMM_BUSY -38 // command busy * 利用できるコマンドが制限されているエラーを追加 #define VAIBO_COMM_RESTRICTION -37 // command restriction * AudioSendWAVFile() を追加 □エラーコード一覧 VAIBO_NOERROR 0 // エラーなし VAIBO_NOTSTART -10 // 起動していない VAIBO_WORKING -11 // すでに稼働中 VAIBO_MEMERR -12 // アロケート失敗 VAIBO_SERVERSTOP -13 // サーバーが終了した。 VAIBO_PORT_NOTOPEN -20 // 通信ポートが開いていない VAIBO_PORT_OPENERR -21 // 通信ポートが開けない VAIBO_NSM_ERROR -22 // NSM 開始エラー VAIBO_CONNECT_BUSY -23 // 接続中 VAIBO_COMM_NOREPLY -30 // コマンドの応答がない VAIBO_COMM_COMMERR -31 // コマンド通信エラー VAIBO_COMM_PAUSE -32 // 通信停止中 VAIBO_COMM_WAIT -33 // 通信応答待ち VAIBO_COMM_IGNORE -34 // コマンドが無視された VAIBO_COMM_TIMEOUT -35 // 通信タイムアウト VAIBO_COMM_LOCK -36 // サーバーロック中 VAIBO_COMM_RESTRICTION -37 // 使用できるコマンドが制限されている VAIBO_COMM_BUSY -38 // コマンド実行中 VAIBO_FILE_SEADERR -42 // ファイル送信エラー VAIBO_FILE_OPENERR -43 // ファイルオープンエラー VAIBO_FILE_MAKEERR -44 // ファイル作成エラー VAIBO_FILE_READERR -45 // ファイル読み出しエラー VAIBO_FILE_WRITEERR -46 // ファイル書き込みエラー VAIBO_LIMIT_MWCID -50 // 使用できない MWCID VAIBO_VPRFILE_NOEXIST -60 // VPRファイルが登録されていない IMAGETP_INITERR -101 // INIT できない IMAGETP_OPENERR -102 // オープン出来ない IMAGETP_NOTOPEN -103 // オープンされていない IMAGETP_MEMERR -104 // 領域が確保できない IMAGETP_CREATEERR -105 // 作成できない IMAGETP_DATAERR -106 // データエラー IMAGETP_SAVEERR -107 // 保存できない IMAGETP_STATE_ERR -110 // シーケンス外での実行時のエラー IMAGETP_WORKING -120 // すでに稼働中 IMAGETP_STATE_CLOSE -150 // CLOSE IMAGETP_STATE_INIT -151 // INIT終了 IMAGETP_STATE_OPEN -152 // OPEN終了 IMAGETP_STATE_SERVICE -153 // SERVICE開始 IMAGETP_STATE_PAUSE -154 // 転送一時停止 IMAGETP_STATE_PLAY -155 // 転送中 AUDIOTP_INITERR -201 // INIT できない AUDIOTP_OPENERR -202 // オープンできない AUDIOTP_NOTOPEN -203 // オープンされていない AUDIOTP_MEMERR -204 // 領域が確保できない AUDIOTP_CREATEERR -205 // 作成出来ない AUDIOTP_DEVICEERR -206 // デバイスオープンエラー AUDIOTP_SENDERR -207 // データ送信エラー AUDIOTP_STATE_ERR -210 // シーケンス外での実行時のエラー AUDIOTP_WORKING -220 // すでに稼動中 AUDIOTP_STATE_CLOSE -250 // CLOSE AUDIOTP_STATE_INIT -251 // INIT終了 AUDIOTP_STATE_OPEN -252 // OPEN終了 AUDIOTP_STATE_SERVICE -253 // SERVICE開始 AUDIOTP_STATE_PAUSE -254 // 転送一時停止 AUDIOTP_STATE_PLAY -255 // 転送中 SENSORTP_STATE_ERR -310 // シーケンス外での実行時のエラー SENSORTP_WORKING -320 // すでに稼動中 SENSORTP_STATE_CLOSE -350 // CLOSE SENSORTP_STATE_SERVICE -351 // SERVICE開始 SENSORTP_STATE_PAUSE -352 // 転送一時停止 SENSORTP_STATE_PLAY -353 // 転送中 FTP_STATE_ERR -410 // シーケンス外での実行時のエラー FTP_WORKING -420 // すでに稼動中 ■ CVAIBO 【機能】コンストラクタ 【戻り値】なし 【機能説明】内部オブジェクトおよび内部変数の初期化を行う。 【形式】 CVAIBO::CVAIBO( HWND parent ) // WINDOW メッセージを受信するウィンドウハンドル ■ ~CVAIBO() 【機能】デストラクタ 【戻り値】なし 【機能説明】内部オブジェクトおよび内部変数の後処理を行う。 【形式】 CVAIBO::~CVAIBO() ■ Connect 【機能】AIBO とのネットワーク接続 【戻り値】成功:AIBO 参照番号 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】・共有データアクセスの初期化 ・サーバーアプリケーションへの接続通知 ・AIBO とのネットワーク接続を開始 最初の接続の場合、接続確立後に WM_VAIBO_CONNECT が送られてくる。 すでに他のクライアントアプリケーションがAIBOとのネットワーク接続を確立している場合、 WM_VAIBO_CLIENT_UPDATE が送られてくる。 AIBO側でのユーザーID, Passwordの設定は、 /OPEN-R/APP/DATA/P/OWNER.TXT をメモリースティック内に作成し、 OWNER=aibo OWNER_PASSWORD=aibo の2行をテキストエディタで記述することで行える。ここで aibo, aibo は例。 【形式】 int CVAIBO::Connect( const char *szIPAddr, // 接続先 AIBO の IP アドレス.IP アドレスフォーマット例 "0.0.0.0" const char *ID = NULL, // AIBO User ID const char *PWD = NULL) // AIBO User Password ■ Disconnect 【機能】AIBO とのネットワーク接続の切断 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】AIBO とのネットワーク接続を終了する。 他のクライアントアプリケーションがAIBOと接続中の場合は切断しない。 【形式】 int CVAIBO::Disconnect( void ) ■ SetLock 【機能】VAIBOServer のロック/アンロック 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】VAIBOServer のロック/アンロックを設定する。 ロックされた場合、他のクライアントアプリケーションはVAIBOServer にコマンド 送信できない。 【形式】 int CVAIBO::SetLock( BOOL bLock ) // TRUE:ロック、FALSE:アンロック ■ GetProductID 【機能】AIBO のプロダクト ID 取得 【戻り値】なし 【機能説明】ネットワーク接続した AIBO のプロダクト ID を取得する。 AIBOのプロダクト IDは機種ごとに異なる。 【形式】 void CVAIBO::GetProductID( ProductInfo *pInfo ) // プロダクト ID 構造体のポインタ ■ GetRemoteMACAddress 【機能】AIBO の MAC アドレス 取得 【戻り値】なし 【機能説明】ネットワーク接続した AIBO の MAC アドレス を取得する。 ERS-7 では、ネットワークカードを内蔵しているので、MACアドレスは機種ごとに異なる。 【形式】 void CVAIBO::GetRemoteMACAddress( MACAddressInfo* pInfo ) // MAC アドレス格納ポインタ ■ GetRobotDesign 【機能】AIBO のロボットデザイン取得 【戻り値】ロボットデザイン 【機能説明】接続した AIBO のロボットデザインを取得する。 AIBO(ERS-7)のみサポートとなるので、常に固定値(DESIGN_ERS7)が返る。 【形式】 int CVAIBO::GetRobotDesign( void ) ■ RequestNetService 【機能】ネットワークサービスのリクエスト 【戻り値】リクエスト成功の場合 TRUE、失敗の場合 FALSE が返る。 【機能説明】ネットワークサービスのリクエストを行う。 サービスが開始された時点で WM_VAIBO_SEMANTIFCS(wParam:SEM_START,lParam:START_XXXTP) が送られる。 【形式】 BOOL CVAIBO::RequestNetService( int service ) // サービス ID:FTP_ID, SENSOR_ID, IMAGE_ID, AUDIO_IN_ID, NETAUDIO_ID ■ SendCmd 【機能】AIBO 制御用コマンド送信 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】AIBO 制御用コマンド送信を行う。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 【形式】 int CVAIBO::SendCmd( int cmd, // VAIBODef.h のAPPコマンド参照 BOOL waitF, // コマンド完了待ちフラグ int nParam1, // VAIBODef.h のAPPコマンドのパラメター参照 int nParam2, // VAIBODef.h のAPPコマンドのパラメター参照 int nParam3, // 未使用 int nParam4 ) // 未使用 cmd, nParam1, nParam2 に指定できるコマンド、パラメターは VAIBODef.h を参照 cmd は APPCMD_ で始まる #define で定義 nParam1, nParam2 に使用可能な数値は、該当するAPPCMD_ に続いて定義されている。 ■ PlayMotion 【機能】大・中・小・レベルによる分類コマンドの再生 【戻り値】 成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】指定した大・中・小分類、レベルのモーションを再生する。 waitF = FALSE の場合は結果を待たずに処理を終了し 戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 モーション開始前の姿勢とモーション姿勢は送り側がケアする必要がある。 【形式】 int CVAIBO::PlayMotion( LPARAM lmsCmd, // LMS コマンド( L_ID << 24 ) | ( M_ID << 16 ) | ( S_ID << 8 ) | ( Level ) BOOL exF, // MW 向け拡張コマンドフラグ (MWCID, LMS コマンドリスト参照) BOOL waitF, // コマンド完了待ちフラグ BOOL infinityF ) // Infinity コマンドフラグ (MWCID, LMS コマンドリスト参照) ■ PlayMotionWithAngle 【機能】大・中・小・レベルによる分類コマンドの再生(水平・垂直角度の入力が可能) 【戻り値】 成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】PlayMotion() と同等 【形式】 int CVAIBO::PlayMotionWithAngle( LPARAM lmsCmd, // LMS コマンド( L_ID << 24 ) | ( M_ID << 16 ) | ( S_ID << 8 ) | ( Level ) int angleH, // 水平角度(Degree) int angleV, // 垂直角度(Degree) BOOL exF, // MW 向け拡張コマンドフラグ (MWCID, LMS コマンドリスト参照) BOOL waitF, // コマンド完了待ちフラグ BOOL infinityF, // Infinity コマンドフラグ (MWCID, LMS コマンドリスト参照) unsigned int unTarget ) // TargetID(PINK, BOLL, BONE, FACE...) ■ IsConnect 【機能】VAIBOServerとAIBOのネットワーク接続状態取得 【戻り値】FALSE の場合サーバーはネットワーク切断中、TRUE の場合サーバーはネットワーク接続中 【機能説明】VAIBOServerとAIBOのネットワーク接続状態を取得する。 【形式】 BOOL CVAIBO::IsConnect( void ) ■ IsLock 【機能】VAIBOServerのロック状態取得 【戻り値】FALSE の場合はアンロック状態、TRUE の場合はロック状態 【機能説明】VAIBOServerのロック状態を取得する。 【形式】 BOOL CVAIBO::IsLock( void ) ■ GetStateSensorTP 【機能】SensorTP の 状態取得 【戻り値】SENSORTP_STATE_xxx (VAIBODef.h 参照) 【機能説明】SensorTPの状態を取得する。 【形式】 int CVAIBO::GetStateSensorTP( void ) ■ GetStateImageTP 【機能】ImageTP の状態取得 【戻り値】IMAGETP_STATE_xxx (VAIBODef.h 参照) 【機能説明】ImageTP の状態を取得する。 【形式】 int CVAIBO::GetStateImageTP( void ) ■ GetStateAudioTP 【機能】AudioTP の状態取得 【戻り値】AUDIOTP_STATE_xxx (VAIBODef.h 参照) 【機能説明】AudioTP の状態を取得する。 【形式】 int CVAIBO::GetStateAudioTP( void ) ■ GetStateNetAudio 【機能】NetAudio の状態取得 【戻り値】AUDIOTP_STATE_xxx (VAIBODef.h 参照) 【機能説明】NetAudio の状態を取得する。 【形式】 int CVAIBO::GetStateNetAudio( void ) ■ IsFTPOpen 【機能】FTP の Open/Close 状態取得 【戻り値】FALSE の場合、FTP は Close 状態、TRUE の場合 FTP は Open 状態 【機能説明】FTP の Open/Close 状態を取得する。 【形式】 BOOL CVAIBO::IsFTPOpen( void ) ■ GetInputSemantics 【機能】セマンティクスデータ取得 【戻り値】なし 【機能説明】セマンティクスデータを取得する。 【形式】 void CVAIBO::GetInputSemantics( int *semID, // 受け取るセマンティクスデータの ID int *pSubInfoArray, // セマンティクスデータのサブ情報 int *pEtcInfoArray ) // セマンティクスデータのetc 情報(要素順に ComStatus, Level, Pitch, Position) ■ GetSemInfo 【機能】セマンティクス情報取得。 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】セマンティクス情報を取得する。 【形式】 int CVAIBO::GetSemInfo( int *pInfoArray ) // セマンティクス SubInfo 配列 ■ SensorTransferStart 【機能】SensorTP のデータ送信開始 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】SensorTP のデータ送信を開始する。 【形式】 int CVAIBO::SensorTransferStart( void ) ■ SensorTransferStop 【機能】SensorTP のデータ送信停止 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】SensorTP のデータ送信を停止する。 【形式】 int CVAIBO::SensorTransferStop( void ) ■ SensorGetData 【機能】SensorTP のデータ取得 【戻り値】なし 【機能説明】SensorTP のデータを取得する。 SensorRec * numOfData 分の領域を確保してコールする必要がある。 【形式】 void CVAIBO::SensorGetData( int numOfData, // センサーデータの個数 SensorRecP pSensorRec ) // センサーデータ格納先(あらかじめ領域の確保が必要) ■ SensorSetSkipRate 【機能】SensorTP のスキップレート設定 【戻り値】なし 【機能説明】SensorTP のスキップレートを設定する。 【形式】 void CVAIBO::SensorSetSkipRate( int skipCount ) // SensorTP のスキップレート ■ SensorGetSkipRate 【機能】SensorTP のスキップレート取得 【戻り値】SensorTP のスキップレート 【機能説明】SensorTP のスキップレートを取得する。 【形式】 int CVAIBO::SensorGetSkipRate( void ) ■ ImageInit 【機能】Image オブジェクト初期化 【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】IMAGE に関するオブジェクトを生成して、内部変数の初期化を行う。 【形式】 int CVAIBO::ImageInit( void ) ■ ImageOpen 【機能】Image の受信開始 【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】通信ポートをオープンしてイメージの受信を開始する。 【形式】 int CVAIBO::ImageOpen( void ) ■ ImageClose 【機能】Image の受信終了 【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】通信ポートをクローズして、受信を終了する。 【形式】 int CVAIBO::ImageClose( void ) ■ ImagePause 【機能】Image データ処理一時停止 【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】Image データ処理を一時停止する。 【形式】 int CVAIBO::ImagePause( void ) ■ ImageResume 【機能】Image データ処理再開 【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】Image データ処理を再開する。 【形式】 int CVAIBO::ImageResume( void ) ■ ImageGetData 【機能】Image データ取得 【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】Image データを取得する。 【形式】 int CVAIBO::ImageGetData( unsigned char *buff, // データ格納先 (領域を確保しておくことが必要) int size ) // 取得するデータのサイズ (WM_IMAGETP_UPDATE で送られるパラメターから得られる) ■ ImageSetWindowHandle 【機能】Image 表示ウインドウ設定 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】引数で渡されたウインドウに動画表示する。表示サイズは、アプリで作成されたウインドウサイズとなります。 【形式】 int CVAIBO::ImageSetWindowHandle( HWND wnd, // 動画表示をするウインドウハンドル HWND wndDlg) // 動画表示をする親ウインドウハンドル ■ ImageOutputCaptureData 【機能】スチール写真撮影 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】スチール写真の撮影 【形式】 int CVAIBO::ImageOutputCaptureData( LPCTSTR strOutputFileName) // 出力先ビットマップファイル名 ■ ImageGetFrameRate 【機能】Image フレームレート取得 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】Image フレームレートの取得を行う。 【形式】 int CVAIBO::ImageGetFrameRate() ■ CameraSetModeDefault 【機能】カメラモードのデフォルト設定 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】カメラモードをデフォルト設定にする。 【形式】 BOOL CVAIBO::CameraSetModeDefault() ■ CameraSetModeManual 【機能】カメラモードのマニュアル設定 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】カメラモードのマニュアル設定を行う。 【形式】 BOOL CVAIBO::CameraSetModeManual( int nShutterSpeed, // シャッタースピード int nExposure ) // 露出 ■ CameraSetParamExposure 【機能】カメラパラメータ、露出設定 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】カメラパラメータ、露出の設定を行う。 【形式】 BOOL CVAIBO::CameraSetParamExposure( int nExposure ) // 露出 ■ CameraSetParamShutterSpeed 【機能】カメラパラメータ、シャッタースピード設定 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】カメラパラメータ、シャッタースピードの設定を行う。 【形式】 BOOL CVAIBO::CameraSetParamShutterSpeed( int nShutterSpeed ) // シャッタースピード ■ CameraSetModeAEAWB 【機能】 AE(Auto Exposure),AWB(Auto White Balance)設定 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】カメラモードをAE(Auto Exposure),AWB(Auto White Balance)に設定する。 【形式】 BOOL CVAIBO::CameraSetModeAEAWB() ■ AudioInit 【機能】Audio に関するオブジェクトの初期化 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】Audio に関するオブジェクトを生成して、内部変数の初期化を行う 【形式】 int CVAIBO::AudioInit( void ) ■ AudioGetOpen 【機能】オーディオデータの受信開始 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】通信ポートをオープンしてオーディオデータの受信を開始する。 オーディオデータ形式は、VAIBODef.h 内 ATP16K_XXX, ATP8K_XXX が利用可能 【形式】 int CVAIBO::AudioGetOpen( int mode ) // オーディオデータ形式 (VAIBODef.h 内で定義) ■ AudioSendOpen 【機能】 オーディオデータの送信開始 【戻り値】 AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】オーディオデータの送信を開始する。 オーディオデータ形式は、 ATP16K_16BIT_MONO_MIX 3 // 16kHz,16Bit,Mono Mix ATP8K_16BIT_MONO_MIX 7 // 8kHz,16Bit,Mono Mix ATP16K_8BIT_MONO_MIX 11 // 16kHz,8Bit,Mono Mix ATP8K_8BIT_MONO_MIX 15 // 8kHz,8Bit,Mono Mix が利用可能 【形式】 int CVAIBO::AudioSendOpen( int mode ) // オーディオデータ形式 (VAIBODef.h 内で定義) ■ AudioSendSetMode 【機能】AudioMode 変更 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】AudioMode の変更を行う。 オーディオデータ形式は、 ATP16K_16BIT_MONO_MIX 3 // 16kHz,16Bit,Mono Mix ATP8K_16BIT_MONO_MIX 7 // 8kHz,16Bit,Mono Mix ATP16K_8BIT_MONO_MIX 11 // 16kHz,8Bit,Mono Mix ATP8K_8BIT_MONO_MIX 15 // 8kHz,8Bit,Mono Mix が利用可能 【形式】 int CVAIBO::AudioSendSetMode( int nMode ) // オーディオデータ形式 (VAIBODef.h 内で定義) ■ AudioClose 【機能】 通信ポートをクローズして、受信を終了する 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】 通信ポートをクローズして、受信を終了する 【形式】 int CVAIBO::AudioClose( void ) ■ AudioGetData 【機能】Audio データ取得 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】Audio データの取得を行う。 【形式】 int CVAIBO::AudioGetData( unsigned char *buff, // データ格納先 (バッファは領域を確保しておくことが必要) int size ) // 取得するデータのサイズ(データサイズはWM_AUDIOTP_UPDATE のパラメターで得られる) ■ AudioSendData 【機能】AudioStream 再生データ転送 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】AudioStream 再生データの転送を行う。 【形式】 int CVAIBO::AudioSendData( char *buff, // データ格納領域の先頭アドレス int size ) // 転送するデータのサイズ ■ AudioSendWAVFile 【機能】AudioStream 再生データ(ファイル)転送 【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと) 【機能説明】AudioStream 再生データの転送を行う。 【形式】 int CVAIBO::AudioSendData( LPCTSTR szFile ) // データの格納されたファイル名(フルパス) ■ AudioSendPlay 【機能】オーディオの再生開始 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】オーディオの再生開始処理を行う。コマンド送信後処理を戻す。 【形式】 int CVAIBO::AudioSendPlay( BOOL isKutipaku ) // TRUE:口ぱくあり、FALSE:口ぱくなし ■ AudioSendStop 【機能】オーディの停止処理 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】オーディオの停止処理を行う。 【形式】 int CVAIBO::AudioSendStop( void ) ■ FTPMMSendWAVFile 【機能】MMFTP による WAVE ファイル転送 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】WAVE ファイルを送信する。 【形式】コマンド送信完了後に処理を戻す。 ファイル転送が終わった時点で WM_VAIBO_SEMANTICS(wParam:SEM_DONE,lParam:DONE_SEND_WAV) が送られる。 転送するファイル名はフルパスで指定する。以前送ったファイルは上書きされる。 int CVAIBO::FTPMMSendWAVFile( LPCTSTR szFile ) // 転送するファイル名(フルパス) ■ FTPMMSendMWCFile 【機能】MMFTP による MWC ファイル転送 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】MMFTP による MWC ファイルの転送を行う。 【形式】 int CVAIBO::FTPMMSendMWCFile( LPCTSTR szFile) // 転送する MWC ファイル名 ■ FTPMMSendMOTIONFile 【機能】MMFTP による MOTION ファイルの転送 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】MMFTP による MOTION ファイルの転送を行う。 【形式】 int CVAIBO::FTPMMSendMOTIONFile( LPCTSTR szFile) // 転送する MOTION ファイル名 ■ FTPMMSendAUDIOFile 【機能】MMFTP による AUDIO ファイルの転送 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】MMFTP による AUDIO ファイルの転送を行う。 【形式】 int CVAIBO::FTPMMSendAUDIOFile( LPCTSTR szFile) // 転送する AUDIO ファイル名 ■ FTPMMSendLEDFile 【機能】MMFTP による LED ファイルの転送 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】MMFTP による LED ファイルの転送を行う。 【形式】 int CVAIBO::FTPMMSendLEDFile( LPCTSTR szFile) // 転送する LED ファイル名 ■ UpdateContents 【機能】コンテンツアップデート 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】MMFTPで MWCファイルとコンテンツ(MOTION, AUDIO, LED)を転送した後に呼ばなければならない。 AIBO 側のコンテンツ管理テーブルを MMFTP で送信済みの MWC ファイル及び各種コンテンツ ファイルの内容にアップデートする。 【形式】 int CVAIBO::UpdateContents() ■ PlayContents 【機能】コンテンツ再生 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】コンテンツの再生を行う。 waitF = FALSE の場合は結果を待たずに処理を終了し 戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 【形式】 int CVAIBO::PlayContents( int nMwcID, // コンテンツ ID(MWCID) BOOL waitF) // ウエイトフラグ ■ DoKick 【機能】キック 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】AIBOにキックさせる。 waitF = FALSE の場合は結果を待たずに処理を終了し 戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 この関数をコールする前に AIBO が WALK/STAND 姿勢になっていること。 キックの種類はVAIBO.h で定義されている。 【形式】 int CVAIBO::DoKick( int kick, // キックの種類(DK_LEFT_FORWARD, DK_LEFT, DK_RIGHT_FORWARD, DK_RIGHT) BOOL waitF ) // コマンド完了待ちフラグ ■ DoHeader 【機能】ヘディング 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】AIBOにヘディングさせる。 waitF = FALSE の場合は結果を待たずに処理を終了し 戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 この関数をコールする前に AIBO が WALK/STAND 姿勢になっていること。 ヘディングの種類はVAIBO.h で定義されている。 【形式】 int CVAIBO::DoHeader( int header, // ヘディングの種類(DH_FORWARD) BOOL waitF ) // コマンド完了待ちフラグ ■ DoWalking 【機能】歩行 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】AIBOに歩行させる。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 歩行の種類はVAIBO.h で定義されている。 angle = 0, distance = 0 の場合、規定の値(歩行:10,000cm, 旋回:20回転)で実行する。 【形式】 int CVAIBO::DoWalking( int walk, // 歩行の種類(VAIBO.h で定義される DoWalkingパラメータ 参照) int angle, // 角度[deg] int distance, // 距離[cm] BOOL waitF ) // コマンド完了待ちフラグ ■ DoApproach 【機能】target指定歩行 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】target指定歩行。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 歩行の種類はVAIBO.h で定義されている。 TargetID は VAIBO.h の Target ID(SEMLABEL) で定義される。 【形式】 int CVAIBO::DoApproach( int walk, // 歩行の種類 (VAIBO.h で定義される DoWalkingパラメータ 参照) unsigned int unTarget, // TargetID (VAIBO.h で定義される Target ID(SEMLABEL) 参照) BOOL waitF ) // コマンド完了待ちフラグ ■ DoGetOffStation 【機能】ステーションからの立ち上がり 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】エナジーステーション上のAIBOを立ち上がらせる。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 【形式】 int CVAIBO::DoGetOffStation( BOOL waitF ) // コマンド完了待ちフラグ ■ SetPosture 【機能】姿勢設定 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】指定した姿勢に遷移させる。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 姿勢の種類は VAIBO.h の SetPosture parameter で定義される。 【形式】 int CVAIBO::SetPosture( WORD pos, // 姿勢の種類 (VAIBO.h で定義される POS_XXX 参照) BOOL waitF ) // コマンド完了待ちフラグ ■ GetPosture 【機能】姿勢取得 【戻り値】ST_POS_XXX (VAIBODef.h で定義される) 【機能説明】AIBOのカレント姿勢を取得する。 【形式】 WORD CVAIBO::GetPosture( void ) ■ GetStatus 【機能】AIBO の状態取得 【戻り値】ST_STAT_XXX (VAIBODef.h で定義される) 【機能説明】AIBO の状態を取得する。 【形式】 int CVAIBO::GetStatus( void ) ■ ChangeHeadAngle 【機能】頭角度変更 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】頭を移動コマンドを送信する(水平、垂直角度指定)。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 【形式】 int CVAIBO::ChangeHeadAngle( int angleH, // 水平指定角度[deg] int angleV, // 垂直指定角度[deg] int nSpeed, // 1(遅い)〜4(早い) BOOL waitF ) // コマンド完了待ちフラグ ■ TurnBody 【機能】頭角度を変えながら体旋回 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】首が向いている方向を維持しならがボディのみ旋回させる。 現在の首の角度を設定すると、ターゲットを視野に入れながら体を首の方向に向ける。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 【形式】 int CVAIBO::TurnBody( int angle, // 旋回角度 BOOL waitF ) // コマンド完了待ちフラグ ■ MotionStop 【機能】モーション停止 【戻り値】成功:VAIBO_NOERROR 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】現在実行中のモーションの停止する。 【形式】 int CVAIBO::MotionStop() ■ GetBatteryLevel 【機能】バッテリーレベル取得 【戻り値】バッテリー残量(%) 【機能説明】バッテリーレベルを取得する。 【形式】 int CVAIBO::GetBatteryLevel( void ) ■ SetBatteryLevelNotify 【機能】バッテリ残量の通知、非通知設定 【戻り値】なし 【機能説明】onF が TRUE の場合は、バッテリ残量を定期的に通知する。onF が FALSE の場合は、バッテリ残量を通知しない。 WM_VAIBO_BATTERY_LVL メッセージの lParam にバッテリ残量のパーセンテージが格納されている。 【形式】 void CVAIBO::SetBatteryLevelNotify( BOOL onF, // バッテリ残量の通知あり/なし int interval ) // 残量通知の間隔[秒] ■ ExternalControl 【機能】コントロール権取得 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】コントロール権を取得する。 【形式】 BOOL CVAIBO::ExternalControl( BOOL waitF) // コマンド完了待ちフラグ ■ InternalControl 【機能】コントロール権開放 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】コントロール権を開放する。 【形式】 BOOL CVAIBO::InternalControl( BOOL waitF) // コマンド完了待ちフラグ ■ ChangeDisconnectMode 【機能】切断時モード変更 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】切断時モードを変更する。 切断時モードの種類は VAIBODef.h で DISCONNECT_MODE_XXX として定義される 【形式】 BOOL CVAIBO::ChangeDisconnectMode( int nMode ) // 切断時モードの指定(VAIBODef.h 内 DISCONNECT_MODE_XXX で定義) ■ SetRobotObjectMode 【機能】AIBO側オブジェクト動作状態の設定 【戻り値】関数の成功 TRUE, 失敗 FALSE。 【機能説明】AIBO側オブジェクト動作状態を設定する。 オブジェクトの種類は VAIBODef.h の enum E_ROBOTOBJECT {} で定義される。 オブジェクトの動作状態は VAIBODef.h の enum E_ROBOTOBJECTMODE {} で定義される。 【形式】 BOOL CVAIBO::SetRobotObjectMode( E_ROBOTOBJECT eService, // AIBO側オブジェクト種別 E_ROBOTOBJECTMODE eMode, // AIBO側オブジェクト動作状態 BOOL waitF) // コマンド完了待ちフラグ ■ SetClock 【機能】AIBO 内部の時計設定 【戻り値】成功:VAIBO_NOERROR または コマンドID 失敗:エラーコード(本書類上部の一覧参照のこと) 【機能説明】AIBO 内部の時計の設定を行う。 waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。 コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 UU: UTC -12 - +12 // タイムゾーン HH: Hour 0-23 MM: Minute 0-59 SS: Seconds 0-59 【形式】 int CVAIBO::SetClock( LPARAM date, // 0xYYYYMMDD LPARAM time, // 0xUUHHMMSS BOOL waitF ) // コマンド完了待ちフラグ ■ IsControlReady 【機能】AIBO のコントロール可能状態を確認 【戻り値】TRUE の場合、コントロール可能。FALSE の場合、コントロール不可能。 【機能説明】AIBO のコントロール可能状態を確認する。他のアプリケーションにより Lock されている場合は FALSE になる。 【形式】 BOOL CVAIBO::IsControlReady( void ) ■ IsRemote 【機能】AIBO がリモート制御状態かどうかの確認 【戻り値】TRUE の場合、外部制御(リモート制御状態)。FALSE の場合、内部制御状態 【機能説明】AIBO がリモート制御状態かどうかの確認をする。アプリケーションによって、AIBOがリモート制御状態 になっている場合は TRUE になる。 【形式】 BOOL CVAIBO::IsRemote( void ) ■ SetObserverWnd 【機能】メッセージ取得ウインドウ追加 【戻り値】なし 【機能説明】メッセージを返すウインドウを追加する。追加は1つのみで、追加するごとに先に登録されているウインドウハンドルは上書きされる。 【形式】 void CVAIBO::SetObserverWnd( HWND hObserver) // 追加するウインドウハンドル ■ GetLocalIPAddress 【機能】Local IP アドレス取得 【戻り値】なし 【機能説明】Local IP アドレスの取得を行う。 【形式】 void CVAIBO::GetLocalIPAddress( char *szIPAddr ) // 取得結果である IP アドレスを格納する場所へのポインタ ■ GetLastCmdID 【機能】発行済みCmdIDの取得 【戻り値】CmdID 【機能説明】発行済みCmdIDを取得する。 取得したCmdIDとセマンティックスデータの返り値のCmdIDとを 比較することによって、命令に対する結果を知ることができる。 【形式】 int CVAIBO::GetLastCmdID() ■ GetRobotObject 【機能】AIBO側オブジェクト動作状態の取得 【戻り値】E_ROBOTOBJECTMODE eRobotObjectModeStart: 開始 eRobotObjectModeStop: 終了 【機能説明】AIBO側オブジェクト動作状態を取得する。 【形式】 E_ROBOTOBJECTMODE CVAIBO::GetRobotObject( E_ROBOTOBJECT eService ) // AIBO側オブジェクト種別( VAIBODef.h で定義される) ■ GetProtocolVersion 【機能】各サービスのプロトコルバージョンの取得 【戻り値】成功 : TRUE 失敗 : FALSE 【機能説明】各サービスのプロトコルバージョンを取得する。各サービスの開始後、有効になる。 サービスIDは、VAIBODef.h の RequestNetService パラメターとして定義される。 【形式】 BOOL CVAIBO::GetProtocolVersion( int nServiceID, // サービスID (VAIBODef.h の RequestNetService パラメター) int nVersion[ 4 ] ) // バージョンを格納する ■ DoRobotFunction 【機能】AIBO側機能の実行 【戻り値】成功 : TRUE 失敗 : FALSE 【機能説明】自己充電等、各種AIBO側機能を実行する。 AIBOの内部機能の種類は、VAIBO.h の enum E_ROBOTFUNCTION {} で定義される。 【形式】 BOOL CVAIBO::DoRobotFunction( E_ROBOTFUNCTION eFunction, // AIBOの内部機能 (VAIBO.h の enum E_ROBOTFUNCTION {} で定義) BOOL waitF = TRUE ) ■ StopRobotFunction 【機能】AIBO側機能の実行停止 【戻り値】成功 : TRUE 失敗 : FALSE 【機能説明】各種AIBO側機能の実行を停止する。 【形式】 BOOL CVAIBO::StopRobotFunction() ■ VPRSetMode 【機能】VPRモードの設定 【戻り値】成功 : TRUE 失敗 : FALSE 【機能説明】VPRモードを設定する。 VPRモードの種類は、VAIBO.h の enum EVPRMODE {} で定義される。 【形式】 BOOL CVAIBO::VPRSetMode( EVPRMODE eMode ) // VPR モード ■ VPRTrainModel 【機能】VPRモデルの学習 【戻り値】成功 : TRUE 失敗 : FALSE 【機能説明】VPRモデルを学習する。 モデルIDの最小と最大, モデルサブIDの最小と最大, 登録ポリシーは、VAIBO.h で定義される。 【形式】 BOOL CVAIBO::VPRTrainModel( int nModelID, // モデルID int nModelSubID, // モデルサブID EVPRPOLICY ePolicy ) // 登録ポリシー ■ VPRRemoveModel 【機能】VPRモデルの削除 【戻り値】TRUE 成功、FALSE 失敗 【機能説明】VPRモデルを削除する。 【形式】 BOOL CVAIBO::VPRRemoveModel( int nModelID, // モデルID ( VPRMODELID_MIN 〜 VPRMODELID_MAX ) int nModelSubID ) // モデルサブID ( VPRMODELSUBID_MIN 〜 VPRMODELSUBID_MAX ) ■ VPRQueryModel 【機能】VPRモデル登録状態の問い合わせ 【戻り値】TRUE 成功、FALSE 失敗 【機能説明】VPRモデル登録状態を問い合わせる。 結果は WM_VAIBO_INPUT_SEMANTICS メッセージ(labelID = SEMID_VPR_RESULT)で取得される 【形式】 BOOL CVAIBO::VPRQueryModel( int nModelID ) // モデルID (VPRMODELID_MIN 〜 VPRMODELID_MAX ) ■ VPRGetImage 【機能】VPR登録モデル画像ファイル名の取得 【戻り値】TRUE 成功、FALSE 失敗 【機能説明】VPR登録モデル画像ファイル名を取得する。 【形式】 BOOL CVAIBO::VPRGetImage( int nModelID, // モデルID ( VPRMODELID_MIN 〜 VPRMODELID_MAX ) int nModelSubID, // モデルサブID ( VPRMODELSUBID_MIN 〜 VPRMODELSUBID_MAX ) char* strFileName ) // 画像ファイル名(出力) ■ SetVolume 【機能】Volume の設定 【戻り値】TRUE 成功、FALSE 失敗 【機能説明】Volume を設定する。 【形式】 BOOL CVAIBO::SetVolume( int nVolume ) // ボリューム(AIBO_VOLUME_MIN(0)〜AIBO_VOLUME_MAX(3)) ■ RequestVolume 【機能】Volume の取得 【戻り値】TRUE 成功、FALSE 失敗 【機能説明】AIBOの現在のVolume の送信を要求する。結果はSEM_VOLUMEセマンティクスのSubinfo[0]で0〜3の値として返ってくる。 【形式】 BOOL CVAIBO::RequestVolume() ■ SetUserIdPwd 【機能】ユーザーID, Password の設定 【戻り値】なし 【機能説明】レジストリに AIBO のユーザーID, Password を設定します. 【形式】 void CVAIBO::SetUserIdPwd( char *szUserID, // User ID char *szPswd) // User Password ■ GetUserIdPwd 【機能】ユーザーID, Password の取得 【戻り値】なし 【機能説明】レジストリから AIBO のユーザー ID, Password を取得します. 【形式】 void CVAIBO::GetUserIdPwd( char *szUserID, // User ID char *szPswd) // User Password ■ CATPDirectSound 【機能】コンストラクタ 【戻り値】なし 【機能説明】内部オブジェクトおよび内部変数の初期化 【形式】 CATPDirectSound::CATPDirectSound() ■ ~CATPDirectSound 【機能】デストラクタ 【戻り値】なし 【機能説明】内部オブジェクトおよび内部変数の後処理 【形式】 CATPDirectSound::~CATPDirectSound() ■ Init 【機能】クラスの初期化 【戻り値】なし 【機能説明】クラスを初期化する 【形式】 BOOL CATPDirectSound::Init( HWND hAppWnd) // 親ウインドウハンドル ■ StartPlay 【機能】サウンド再生(AIBO -> PC)の開始 【戻り値】TRUE:成功 FALSE:失敗 【機能説明】サウンド再生(AIBO -> PC)を開始する。 Waveモードは ATPDirectSound.h で定義されます。 【形式】 BOOL CATPDirectSound::StartPlay( int nMode) // Waveモード(eWaveMode16k16bStereo,..) ■ EndPlay 【機能】サウンド再生(AIBO -> PC)の終了 【戻り値】TRUE:成功 FALSE:失敗 【機能説明】サウンド再生(AIBO -> PC)を終了する 【形式】 BOOL CATPDirectSound::EndPlay() ■ PlayWaveData 【機能】サウンド再生用データの入力 【戻り値】TRUE:成功 FALSE:失敗 【機能説明】サウンド再生用データを入力する 【形式】 BOOL CATPDirectSound::PlayWaveData( char* pData, // サウンドデータ先頭アドレス int nSize) // サウンドデータ長 ■ StartCapture 【機能】サウンドキャプチャの開始 【戻り値】TRUE:成功 FALSE:失敗 【機能説明】サウンドキャプチャを開始する 【形式】 BOOL CATPDirectSound::StartCapture( int nMode, // Waveモード(eWaveMode16k16bStereo,..) void ( *pCaptureProc )( void* pCaptureData, DWORD dwCaptureLength, BOOL isEnd, void* pParam ), // キャプチャ時実行関数 void* pParam) // キャプチャ時実行関数用引数 ■ EndCapture 【機能】サウンドキャプチャの終了 【戻り値】TRUE:成功 FALSE:失敗 【機能説明】サウンドキャプチャを終了する 【形式】 BOOL CATPDirectSound::EndCapture()