XVF2004/11/04

ύX 
------ Beta1̕ύX_
* 4APIWAITȂtOǉ
  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()́A DESIGN_ERS7 Ԃ悤ɏCB
* IsRemote() ֐ǉ
* GainON(), GainOFF() ֐폜
* SetClock()@\֐ɏCBUTC̐ݒɑΉ
* VAIBODEF.h  DISCONNECT_MODE_GAINOFF폜
* Connect <-> Remote ؂ւ̃R}hBUSYʒmǉ
  #define VAIBO_CONNECT_BUSY -23 // It is dealing with a connection
  #define VAIBO_COMM_BUSY -38    // command busy
* płR}hĂG[ǉ
  #define VAIBO_COMM_RESTRICTION  -37 // command restriction
* AudioSendWAVFile() ǉ


G[R[hꗗ
VAIBO_NOERROR              0    // G[Ȃ
VAIBO_NOTSTART           -10    // NĂȂ
VAIBO_WORKING            -11    // łɉғ
VAIBO_MEMERR             -12    // AP[gs
VAIBO_SERVERSTOP         -13    // T[o[IB
VAIBO_PORT_NOTOPEN       -20    // ʐM|[gJĂȂ
VAIBO_PORT_OPENERR       -21    // ʐM|[gJȂ
VAIBO_NSM_ERROR          -22    // NSM JnG[
VAIBO_CONNECT_BUSY       -23    // ڑ
VAIBO_COMM_NOREPLY       -30    // R}h̉Ȃ
VAIBO_COMM_COMMERR       -31    // R}hʐMG[
VAIBO_COMM_PAUSE         -32    // ʐM~
VAIBO_COMM_WAIT          -33    // ʐM҂
VAIBO_COMM_IGNORE        -34    // R}hꂽ
VAIBO_COMM_TIMEOUT       -35    // ʐM^CAEg
VAIBO_COMM_LOCK          -36    // T[o[bN
VAIBO_COMM_RESTRICTION   -37    // gpłR}hĂ
VAIBO_COMM_BUSY          -38    // R}hs
VAIBO_FILE_SEADERR       -42    // t@CMG[
VAIBO_FILE_OPENERR       -43    // t@CI[vG[
VAIBO_FILE_MAKEERR       -44    // t@C쐬G[
VAIBO_FILE_READERR       -45    // t@CǂݏoG[
VAIBO_FILE_WRITEERR      -46    // t@C݃G[
VAIBO_LIMIT_MWCID        -50    // gpłȂ MWCID
VAIBO_VPRFILE_NOEXIST    -60    // VPRt@Co^ĂȂ

IMAGETP_INITERR         -101    // INIT łȂ
IMAGETP_OPENERR         -102    // I[voȂ
IMAGETP_NOTOPEN         -103    // I[vĂȂ
IMAGETP_MEMERR          -104    // ̈悪mۂłȂ
IMAGETP_CREATEERR       -105    // 쐬łȂ
IMAGETP_DATAERR         -106    // f[^G[
IMAGETP_SAVEERR         -107    // ۑłȂ
IMAGETP_STATE_ERR       -110    // V[PXOł̎s̃G[
IMAGETP_WORKING         -120    // łɉғ
IMAGETP_STATE_CLOSE     -150    // CLOSE
IMAGETP_STATE_INIT      -151    // INITI
IMAGETP_STATE_OPEN      -152    // OPENI
IMAGETP_STATE_SERVICE   -153    // SERVICEJn
IMAGETP_STATE_PAUSE     -154    // ]ꎞ~
IMAGETP_STATE_PLAY      -155    // ]

AUDIOTP_INITERR         -201    // INIT łȂ
AUDIOTP_OPENERR         -202    // I[vłȂ
AUDIOTP_NOTOPEN         -203    // I[vĂȂ
AUDIOTP_MEMERR          -204    // ̈悪mۂłȂ
AUDIOTP_CREATEERR       -205    // 쐬oȂ
AUDIOTP_DEVICEERR       -206    // foCXI[vG[
AUDIOTP_SENDERR         -207    // f[^MG[
AUDIOTP_STATE_ERR       -210    // V[PXOł̎s̃G[
AUDIOTP_WORKING         -220    // łɉғ

AUDIOTP_STATE_CLOSE     -250    // CLOSE
AUDIOTP_STATE_INIT      -251    // INITI
AUDIOTP_STATE_OPEN      -252    // OPENI
AUDIOTP_STATE_SERVICE   -253    // SERVICEJn
AUDIOTP_STATE_PAUSE     -254    // ]ꎞ~
AUDIOTP_STATE_PLAY      -255    // ]

SENSORTP_STATE_ERR      -310    // V[PXOł̎s̃G[
SENSORTP_WORKING        -320    // łɉғ
SENSORTP_STATE_CLOSE    -350    // CLOSE
SENSORTP_STATE_SERVICE  -351    // SERVICEJn
SENSORTP_STATE_PAUSE    -352    // ]ꎞ~
SENSORTP_STATE_PLAY     -353    // ]

FTP_STATE_ERR           -410    // V[PXOł̎s̃G[
FTP_WORKING             -420    // łɉғ

 CVAIBO
y@\zRXgN^
y߂lzȂ
y@\zIuWFNgѓϐ̏sB
y`z

CVAIBO::CVAIBO(
        HWND parent )   // WINDOW bZ[WMEBhEnh

 ~CVAIBO()
y@\zfXgN^
y߂lzȂ
y@\zIuWFNgѓϐ̌㏈sB
y`z

CVAIBO::~CVAIBO()


 Connect
y@\zAIBO Ƃ̃lbg[Nڑ
y߂lzFAIBO QƔԍ  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zELf[^ANZX̏
        ET[o[AvP[Vւ̐ڑʒm
        EAIBO Ƃ̃lbg[NڑJn
        ŏ̐ڑ̏ꍇAڑm WM_VAIBO_CONNECT ĂB
        łɑ̃NCAgAvP[VAIBOƂ̃lbg[NڑmĂꍇA
        WM_VAIBO_CLIENT_UPDATE ĂB
        AIBOł̃[U[ID, Password̐ݒ́A
        /OPEN-R/APP/DATA/P/OWNER.TXT 
        [XeBbNɍ쐬A
        OWNER=aibo
        OWNER_PASSWORD=aibo
        2seLXgGfB^ŋLq邱ƂōsB aibo, aibo ͗B
y`z

int CVAIBO::Connect( 
                    const char *szIPAddr,   // ڑ AIBO  IP AhXDIP AhXtH[}bg "0.0.0.0" 
                    const char *ID = NULL,  // AIBO User ID
                    const char *PWD = NULL) // AIBO User Password


 Disconnect
y@\zAIBO Ƃ̃lbg[Nڑ̐ؒf
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAIBO Ƃ̃lbg[NڑIB
            ̃NCAgAvP[VAIBOƐڑ̏ꍇ͐ؒfȂB
y`z

int CVAIBO::Disconnect( void )



 SetLock
y@\zVAIBOServer ̃bN^AbN
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zVAIBOServer ̃bN^AbNݒ肷B
            bNꂽꍇÃNCAgAvP[VVAIBOServer ɃR}h
            MłȂB
y`z

int CVAIBO::SetLock( 
                    BOOL bLock )    // TRUE:bNAFALSEFAbN


 GetProductID
y@\zAIBO ̃v_Ng ID 擾
y߂lzȂ
y@\zlbg[Nڑ AIBO ̃v_Ng ID 擾B
        AIBÕv_Ng ID͋@킲ƂɈقȂB
y`z

void CVAIBO::GetProductID( 
                         ProductInfo *pInfo )   // v_Ng ID \̂̃|C^


 GetRemoteMACAddress
y@\zAIBO  MAC AhX 擾
y߂lzȂ
y@\zlbg[Nڑ AIBO  MAC AhX 擾B
        ERS-7 ł́Albg[NJ[hĂ̂ŁAMACAhX͋@킲ƂɈقȂB
y`z

void CVAIBO::GetRemoteMACAddress( 
                        MACAddressInfo* pInfo ) // MAC AhXi[|C^ 


 GetRobotDesign
y@\zAIBO  ̃{bgfUC擾
y߂lz{bgfUC
y@\zڑ  AIBO  ̃{bgfUC擾B
         AIBO(ERS-7)̂݃T|[gƂȂ̂ŁAɌŒl(DESIGN_ERS7)ԂB
y`z

int CVAIBO::GetRobotDesign( void )


 RequestNetService
y@\zlbg[NT[rX̃NGXg
y߂lzNGXg̏ꍇ TRUEAs̏ꍇ FALSE ԂB
y@\zlbg[NT[rX̃NGXgsB
            T[rXJnꂽ_ WM_VAIBO_SEMANTIFCS(wParam:SEM_START,lParam:START_XXXTP) B
y`z

BOOL CVAIBO::RequestNetService( 
                     int service ) // T[rX IDFFTP_ID, SENSOR_ID, IMAGE_ID, AUDIO_IN_ID, NETAUDIO_ID


 SendCmd
y@\zAIBO pR}hM
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAIBO pR}hMsB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
y`z

int CVAIBO::SendCmd(
            int cmd,      // VAIBODef.h APPR}hQ
            BOOL waitF,   // R}h҂tO
            int nParam1,  // VAIBODef.h APPR}h̃p^[Q
            int nParam2,  // VAIBODef.h APPR}h̃p^[Q
            int nParam3,  // gp
            int nParam4 ) // gp

cmd, nParam1, nParam2 ɎwłR}hAp^[ VAIBODef.h Q
cmd  APPCMD_ Ŏn܂ #define Œ`
nParam1, nParam2 Ɏgp\ȐĺAYAPPCMD_ ɑĒ`ĂB


 PlayMotion
y@\zEEExɂ镪ރR}h̍Đ
y߂lz FVAIBO_NOERROR  ܂ R}hID     sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zw肵EEށAx̃[VĐB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏI
            ߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
            [VJnO̎pƃ[Vp͑葤PAKvB
y`z

int CVAIBO::PlayMotion( 
                        LPARAM lmsCmd,    // LMS R}h( L_ID << 24 ) | ( M_ID << 16 ) | ( S_ID << 8 ) | ( Level )
                        BOOL exF,         // MW gR}htO (MWCID, LMS R}hXgQ)
                        BOOL waitF,       // R}h҂tO
                        BOOL infinityF  ) // Infinity R}htO (MWCID, LMS R}hXgQ)


 PlayMotionWithAngle
y@\zEEExɂ镪ރR}h̍Đ(Epx̓͂\)
y߂lz FVAIBO_NOERROR ܂ R}hID     sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zPlayMotion() Ɠ
y`z

int CVAIBO::PlayMotionWithAngle( 
                        LPARAM lmsCmd,    // LMS R}h( L_ID << 24 ) | ( M_ID << 16 ) | ( S_ID << 8 ) | ( Level )
                        int angleH,       // px(Degree)
                        int angleV,       // px(Degree)
                        BOOL exF,         // MW gR}htO (MWCID, LMS R}hXgQ)
                        BOOL waitF,       // R}h҂tO
                        BOOL infinityF,   // Infinity R}htO (MWCID, LMS R}hXgQ)
                        unsigned int unTarget ) // TargetID(PINK, BOLL, BONE, FACE...) 

 IsConnect
y@\zVAIBOServerAIBÕlbg[NڑԎ擾
y߂lzFALSE ̏ꍇT[o[̓lbg[NؒfATRUE ̏ꍇT[o[̓lbg[Nڑ
y@\zVAIBOServerAIBÕlbg[NڑԂ擾B
y`z

BOOL CVAIBO::IsConnect( void )


 IsLock
y@\zVAIBOServer̃bNԎ擾
y߂lzFALSE ̏ꍇ̓AbNԁATRUE ̏ꍇ̓bN
y@\zVAIBOServer̃bNԂ擾B
y`z 

BOOL CVAIBO::IsLock( void )


 GetStateSensorTP
y@\zSensorTP  Ԏ擾
y߂lzSENSORTP_STATE_xxx  (VAIBODef.h Q)
y@\zSensorTP̏Ԃ擾B
y`z 

int CVAIBO::GetStateSensorTP( void )


 GetStateImageTP
y@\zImageTP ̏Ԏ擾
y߂lzIMAGETP_STATE_xxx  (VAIBODef.h Q)
y@\zImageTP ̏Ԃ擾B
y`z

int CVAIBO::GetStateImageTP( void )


 GetStateAudioTP
y@\zAudioTP ̏Ԏ擾
y߂lzAUDIOTP_STATE_xxx  (VAIBODef.h Q)
y@\zAudioTP ̏Ԃ擾B
y`z 

int CVAIBO::GetStateAudioTP( void )


 GetStateNetAudio
y@\zNetAudio ̏Ԏ擾
y߂lzAUDIOTP_STATE_xxx  (VAIBODef.h Q)
y@\zNetAudio ̏Ԃ擾B
y`z

int CVAIBO::GetStateNetAudio( void )


 IsFTPOpen
y@\zFTP  Open/Close Ԏ擾
y߂lzFALSE ̏ꍇAFTP  Close ԁATRUE ̏ꍇ FTP  Open 
y@\zFTP  Open/Close Ԃ擾B
y`z

BOOL CVAIBO::IsFTPOpen( void )


 GetInputSemantics
y@\zZ}eBNXf[^擾
y߂lzȂ
y@\zZ}eBNXf[^擾B
y`z
 
void CVAIBO::GetInputSemantics( 
               int *semID,            // 󂯎Z}eBNXf[^ ID
               int *pSubInfoArray,    // Z}eBNXf[^̃Tu
               int *pEtcInfoArray )   // Z}eBNXf[^etc (vf ComStatus, Level, Pitch, Position) 


 GetSemInfo
y@\zZ}eBNX擾B
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zZ}eBNX擾B
y`z 

int CVAIBO::GetSemInfo( 
                      int *pInfoArray ) // Z}eBNX SubInfo z


 SensorTransferStart
y@\zSensorTP ̃f[^MJn
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zSensorTP ̃f[^MJnB
y`z

int CVAIBO::SensorTransferStart( void )


 SensorTransferStop
y@\zSensorTP ̃f[^M~
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zSensorTP ̃f[^M~B
y`z 

int CVAIBO::SensorTransferStop( void )


 SensorGetData
y@\zSensorTP ̃f[^擾
y߂lzȂ
y@\zSensorTP ̃f[^擾B
            SensorRec * numOfData ̗̈mۂăR[KvB
y`z

void CVAIBO::SensorGetData( 
                   int numOfData,          // ZT[f[^̌
                   SensorRecP pSensorRec ) // ZT[f[^i[(炩ߗ̈̊mۂKv)

 SensorSetSkipRate
y@\zSensorTP ̃XLbv[gݒ
y߂lzȂ
y@\zSensorTP ̃XLbv[gݒ肷B
y`z 

void CVAIBO::SensorSetSkipRate( 
                int skipCount ) // SensorTP ̃XLbv[g


 SensorGetSkipRate
y@\zSensorTP ̃XLbv[g擾
y߂lzSensorTP ̃XLbv[g
y@\zSensorTP ̃XLbv[g擾B
y`z 

int CVAIBO::SensorGetSkipRate( void )


 ImageInit
y@\zImage IuWFNg
y߂lzIMAGETP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zIMAGE ɊւIuWFNg𐶐āAϐ̏sB
y`z

int CVAIBO::ImageInit( void )


 ImageOpen
y@\zImage ̎MJn
y߂lzIMAGETP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zʐM|[gI[văC[W̎MJnB
y`z 

int CVAIBO::ImageOpen( void )


 ImageClose
y@\zImage ̎MI
y߂lzIMAGETP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zʐM|[gN[YāAMIB
y`z

int CVAIBO::ImageClose( void )

 ImagePause
y@\zImage f[^ꎞ~
y߂lzIMAGETP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zImage f[^ꎞ~B
y`z 

int CVAIBO::ImagePause( void )


 ImageResume
y@\zImage f[^ĊJ
y߂lzIMAGETP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zImage f[^ĊJB
y`z 

int CVAIBO::ImageResume( void )


 ImageGetData
y@\zImage f[^擾
y߂lzIMAGETP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zImage f[^擾B
y`z

int CVAIBO::ImageGetData( 
                  unsigned char *buff,  // f[^i[ (̈mۂĂƂKv)
                  int size )            // 擾f[^̃TCY (WM_IMAGETP_UPDATE őp^[瓾j


 ImageSetWindowHandle
y@\zImage \EChEݒ
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zœnꂽEChEɓ\B\TCÝAAvō쐬ꂽEChETCYƂȂ܂B
y`z 

int CVAIBO::ImageSetWindowHandle(
                                  HWND wnd,      // \EChEnh
                                  HWND wndDlg)   // \eEChEnh

 ImageOutputCaptureData
y@\zX`[ʐ^Be
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zX`[ʐ^̎Be
y`z 

int CVAIBO::ImageOutputCaptureData(
                                    LPCTSTR strOutputFileName)  // o͐rbg}bvt@C


 ImageGetFrameRate
y@\zImage t[[g擾
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zImage t[[g̎擾sB
y`z 

int CVAIBO::ImageGetFrameRate()


 CameraSetModeDefault
y@\zJ[h̃ftHgݒ
y߂lz֐̐ TRUE, s FALSEB
y@\zJ[hftHgݒɂB
y`z
 
BOOL    CVAIBO::CameraSetModeDefault()


 CameraSetModeManual
y@\zJ[h̃}jAݒ
y߂lz֐̐ TRUE, s FALSEB
y@\zJ[h̃}jAݒsB
y`z 

BOOL    CVAIBO::CameraSetModeManual( 
                                    int nShutterSpeed,  // Vb^[Xs[h 
                                    int nExposure )     // Io


 CameraSetParamExposure
y@\zJp[^AIoݒ
y߂lz֐̐ TRUE, s FALSEB
y@\zJp[^AIo̐ݒsB
y`z 

BOOL    CVAIBO::CameraSetParamExposure( 
                                       int nExposure )  // Io


 CameraSetParamShutterSpeed
y@\zJp[^AVb^[Xs[hݒ
y߂lz֐̐ TRUE, s FALSEB
y@\zJp[^AVb^[Xs[h̐ݒsB
y`z 

BOOL    CVAIBO::CameraSetParamShutterSpeed( 
                                          int nShutterSpeed )  // Vb^[Xs[h


 CameraSetModeAEAWB
y@\z AE(Auto Exposure),AWB(Auto White Balance)ݒ
y߂lz֐̐ TRUE, s FALSEB
y@\zJ[hAE(Auto Exposure),AWB(Auto White Balance)ɐݒ肷B
y`z 

BOOL    CVAIBO::CameraSetModeAEAWB()


 AudioInit
y@\zAudio ɊւIuWFNg̏
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAudio ɊւIuWFNg𐶐āAϐ̏s
y`z 

int CVAIBO::AudioInit( void )


 AudioGetOpen
y@\zI[fBIf[^̎MJn
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zʐM|[gI[văI[fBIf[^̎MJnB
       I[fBIf[^`́AVAIBODef.h  ATP16K_XXX, ATP8K_XXX p\
y`z 

int CVAIBO::AudioGetOpen( 
                      int mode )  // I[fBIf[^` iVAIBODef.h Œ`)

 AudioSendOpen
y@\z I[fBIf[^̑MJn
y߂lz AUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zI[fBIf[^̑MJnB
      I[fBIf[^`́A
        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
      p\
y`z 

int CVAIBO::AudioSendOpen( 
                      int mode )  // I[fBIf[^` iVAIBODef.h Œ`)


 AudioSendSetMode
y@\zAudioMode ύX
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAudioMode ̕ύXsB
      I[fBIf[^`́A
        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
      p\
y`z 

int CVAIBO::AudioSendSetMode( 
                      int nMode )  // I[fBIf[^` iVAIBODef.h Œ`)


 AudioClose
y@\z ʐM|[gN[YāAMI
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\z ʐM|[gN[YāAMI
y`z 

int CVAIBO::AudioClose( void )


 AudioGetData
y@\zAudio f[^擾
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAudio f[^̎擾sB
y`z 

int CVAIBO::AudioGetData( 
                         unsigned char *buff,  // f[^i[ (obt@͗̈mۂĂƂKv)
                         int size )            // 擾f[^̃TCY(f[^TCYWM_AUDIOTP_UPDATE 
                                     ̃p^[œ)


 AudioSendData
y@\zAudioStream Đf[^]
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAudioStream Đf[^̓]sB
y`z

int CVAIBO::AudioSendData( 
                          char *buff,  // f[^i[̈̐擪AhX
                          int size )   // ]f[^̃TCY


 AudioSendWAVFile
y@\zAudioStream Đf[^(t@C)]
y߂lzAUDIOTP_NOERROR ܂̓G[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAudioStream Đf[^̓]sB
y`z

int CVAIBO::AudioSendData( 
                          LPCTSTR szFile )  // f[^̊i[ꂽt@C(tpX)


 AudioSendPlay
y@\zI[fBI̍ĐJn
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zI[fBI̍ĐJnsBR}hM㏈߂B
y`z 

int CVAIBO::AudioSendPlay( 
                          BOOL isKutipaku )  // TRUE:ςAFALSEFςȂ


 AudioSendStop
y@\zI[fB̒~
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zI[fBI̒~sB
y`z

int CVAIBO::AudioSendStop( void )


 FTPMMSendWAVFile
y@\zMMFTP ɂ WAVE t@C]
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zWAVE t@C𑗐MB
y`zR}hMɏ߂B
        t@C]I_ WM_VAIBO_SEMANTICS(wParam:SEM_DONE,lParam:DONE_SEND_WAV) B
        ]t@C̓tpXŎw肷BȑOt@C͏㏑B

int CVAIBO::FTPMMSendWAVFile( 
                             LPCTSTR szFile )  // ]t@CitpXj


 FTPMMSendMWCFile
y@\zMMFTP ɂ MWC t@C]
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zMMFTP ɂ MWC t@C̓]sB
y`z 

int CVAIBO::FTPMMSendMWCFile(
                             LPCTSTR szFile)  // ] MWC t@C


 FTPMMSendMOTIONFile
y@\zMMFTP ɂ MOTION t@C̓]
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zMMFTP ɂ MOTION t@C̓]sB
y`z

int CVAIBO::FTPMMSendMOTIONFile(
                                LPCTSTR szFile)  // ] MOTION t@C


 FTPMMSendAUDIOFile
y@\zMMFTP ɂ AUDIO t@C̓]
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zMMFTP ɂ AUDIO t@C̓]sB
y`z 

int CVAIBO::FTPMMSendAUDIOFile(
                               LPCTSTR szFile)  // ] AUDIO t@C


 FTPMMSendLEDFile
y@\zMMFTP ɂ LED t@C̓]
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zMMFTP ɂ LED t@C̓]sB
y`z 

int CVAIBO::FTPMMSendLEDFile(
                             LPCTSTR szFile)  // ] LED t@C


 UpdateContents
y@\zRecAbvf[g
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zMMFTP MWCt@CƃRec(MOTION, AUDIO, LED)]ɌĂ΂Ȃ΂ȂȂB
            AIBO ̃RecǗe[u MMFTP őMς݂ MWC t@CyъeRec
            t@C̓eɃAbvf[gB
y`z 

int CVAIBO::UpdateContents()


 PlayContents
y@\zRecĐ
y߂lzFVAIBO_NOERROR ܂ R}hID    sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zRec̍ĐsB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏI
            ߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
y`z 

int CVAIBO::PlayContents(
                         int nMwcID,  // Rec ID(MWCID)
                         BOOL waitF)  // EGCgtO 

 DoKick
y@\zLbN
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAIBOɃLbNB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏI
            ߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
            ̊֐R[O AIBO  WALK/STAND pɂȂĂ邱ƁB
            LbN̎ނVAIBO.h Œ`ĂB
y`z 

int CVAIBO::DoKick( 
                   int kick,     // LbN̎(DK_LEFT_FORWARD, DK_LEFT, DK_RIGHT_FORWARD, DK_RIGHT)
                   BOOL waitF )  // R}h҂tO


 DoHeader
y@\zwfBO
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAIBOɃwfBOB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏI
            ߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
            ̊֐R[O AIBO  WALK/STAND pɂȂĂ邱ƁB
            wfBO̎ނVAIBO.h Œ`ĂB
y`z

int CVAIBO::DoHeader( 
                    int header,   // wfBO̎(DH_FORWARD)
                    BOOL waitF )  // R}h҂tO


 DoWalking
y@\zs
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAIBOɕsB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
            s̎ނVAIBO.h Œ`ĂB
            angle = 0, distance = 0 ̏ꍇAK̒lisF10,000cm, F20]jŎsB
y`z 

int CVAIBO::DoWalking( 
                      int walk,      // s̎(VAIBO.h Œ` DoWalkingp[^ Q)
                      int angle,     // px[deg]
                      int distance,  // [cm]
                      BOOL waitF )   // R}h҂tO


 DoApproach
y@\ztargetws
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\ztargetwsB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
            s̎ނVAIBO.h Œ`ĂB
            TargetID  VAIBO.h  Target ID(SEMLABEL) Œ`B
y`z

int CVAIBO::DoApproach(
                      int walk,                 // s̎ (VAIBO.h Œ` DoWalkingp[^ Q)
                      unsigned int unTarget,    // TargetID (VAIBO.h Œ` Target ID(SEMLABEL) Q)
                      BOOL waitF )              // R}h҂tO

 DoGetOffStation
y@\zXe[V̗オ
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zGiW[Xe[VAIBO𗧂オ点B
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
y`z

int CVAIBO::DoGetOffStation(
                      BOOL waitF )              // R}h҂tO


 SetPosture
y@\zpݒ
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zw肵pɑJڂB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
            p̎ނ VAIBO.h  SetPosture parameter Œ`B
y`z

int CVAIBO::SetPosture( 
                       WORD pos,     // p̎ (VAIBO.h Œ` POS_XXX Q)
                       BOOL waitF )  // R}h҂tO


 GetPosture
y@\zp擾
y߂lzST_POS_XXX (VAIBODef.h Œ`)
y@\zAIBÕJgp擾B
y`z 

WORD CVAIBO::GetPosture( void )


 GetStatus
y@\zAIBO ̏Ԏ擾
y߂lzST_STAT_XXX (VAIBODef.h Œ`)
y@\zAIBO ̏Ԃ擾B
y`z 

int CVAIBO::GetStatus( void )


 ChangeHeadAngle
y@\zpxύX
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zړR}h𑗐MiApxwjB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
y`z

int CVAIBO::ChangeHeadAngle( 
                            int angleH,   // wpx[deg]
                            int angleV,   // wpx[deg]
                            int nSpeed,   // 1(x)`4()
                            BOOL waitF )  // R}h҂tO


 TurnBody
y@\zpxςȂ̐
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\z񂪌ĂێȂ炪{fB̂ݐ񂳂B
            ݂̎̊pxݒ肷ƁA^[QbgɓȂ̂̕ɌB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB 
y`z 

int CVAIBO::TurnBody( 
                     int angle,    // px
                     BOOL waitF )  // R}h҂tO


 MotionStop
y@\z[V~
y߂lzFVAIBO_NOERROR  sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zݎs̃[V̒~B
y`z 

int CVAIBO::MotionStop()


 GetBatteryLevel
y@\zobe[x擾
y߂lzobe[c(%)
y@\zobe[x擾B
y`z 

int CVAIBO::GetBatteryLevel( void )


 SetBatteryLevelNotify
y@\zobecʂ̒ʒmAʒmݒ
y߂lzȂ
y@\zonF  TRUE ̏ꍇ́AobecʂIɒʒmBonF    FALSE ̏ꍇ́AobecʂʒmȂB
            WM_VAIBO_BATTERY_LVL bZ[W lParam Ƀobecʂ̃p[Ze[Wi[ĂB
y`z 

void CVAIBO::SetBatteryLevelNotify( 
                                   BOOL onF,       // obecʂ̒ʒm/Ȃ
                                   int interval )  // cʒʒm̊Ԋu[b]


 ExternalControl
y@\zRg[擾
y߂lz֐̐ TRUE, s FALSEB
y@\zRg[擾B
y`z 

BOOL    CVAIBO::ExternalControl(
                                BOOL waitF)  // R}h҂tO


 InternalControl
y@\zRg[J
y߂lz֐̐ TRUE, s FALSEB
y@\zRg[JB
y`z 

BOOL    CVAIBO::InternalControl(
                                BOOL waitF)  // R}h҂tO


 ChangeDisconnectMode
y@\zؒf[hύX
y߂lz֐̐ TRUE, s FALSEB
y@\zؒf[hύXB
         ؒf[h̎ނ VAIBODef.h  DISCONNECT_MODE_XXX ƂĒ`
y`z 

BOOL    CVAIBO::ChangeDisconnectMode( 
                                     int nMode )  // ؒf[h̎w(VAIBODef.h  DISCONNECT_MODE_XXX Œ`)


 SetRobotObjectMode
y@\zAIBOIuWFNgԂ̐ݒ
y߂lz֐̐ TRUE, s FALSEB
y@\zAIBOIuWFNgԂݒ肷B
         IuWFNg̎ނ VAIBODef.h  enum E_ROBOTOBJECT {} Œ`B
         IuWFNg̓Ԃ VAIBODef.h  enum E_ROBOTOBJECTMODE {} Œ`B
y`z 

BOOL    CVAIBO::SetRobotObjectMode(
                                   E_ROBOTOBJECT eService,    // AIBOIuWFNg 
                                   E_ROBOTOBJECTMODE eMode,   // AIBOIuWFNg
                                   BOOL waitF)                // R}h҂tO


 SetClock
y@\zAIBO ̎vݒ
y߂lzFVAIBO_NOERROR ܂ R}hID      sFG[R[h({ޏ㕔̈ꗗQƂ̂)
y@\zAIBO ̎v̐ݒsB
            waitF = FALSE ̏ꍇ͌ʂ҂ɏIA߂lƂăR}hIDԂB
            R}h̐ۂ͏LR}hIDZ}eBbNf[^Ŏ擾łB
            UU: UTC     -12 - +12  // ^C][
            HH: Hour    0-23
            MM: Minute  0-59
            SS: Seconds 0-59
 
y`z
 
int CVAIBO::SetClock( 
                     LPARAM date,  // 0xYYYYMMDD
                     LPARAM time,  // 0xUUHHMMSS
                     BOOL waitF )  // R}h҂tO


 IsControlReady
y@\zAIBO ̃Rg[\ԂmF
y߂lzTRUE ̏ꍇARg[\BFALSE ̏ꍇARg[s\B
y@\zAIBO ̃Rg[\ԂmFB̃AvP[Vɂ Lock Ăꍇ FALSE ɂȂB
y`z 

BOOL CVAIBO::IsControlReady( void )


 IsRemote
y@\zAIBO [gԂǂ̊mF
y߂lzTRUE ̏ꍇAOi[gԁjBFALSE ̏ꍇA
y@\zAIBO [gԂǂ̊mFBAvP[VɂāAAIBO[g
            ɂȂĂꍇ TRUE ɂȂB
y`z 

BOOL CVAIBO::IsRemote( void )


 SetObserverWnd
y@\zbZ[W擾EChEǉ
y߂lzȂ
y@\zbZ[WԂEChEǉBǉ͂P݂̂ŁAǉ邲Ƃɐɓo^ĂEChEnh͏㏑B
y`z 

void CVAIBO::SetObserverWnd(
                            HWND hObserver)  // ǉEChEnh


 GetLocalIPAddress
y@\zLocal IP AhX擾
y߂lzȂ
y@\zLocal IP AhX̎擾sB
y`z 

void CVAIBO::GetLocalIPAddress( 
                               char *szIPAddr )  // 擾ʂł IP AhXi[ꏊւ̃|C^


 GetLastCmdID
y@\zsςCmdID̎擾
y߂lzCmdID
y@\zsςCmdID擾B
         擾CmdIDƃZ}eBbNXf[^̕ԂlCmdIDƂ
         r邱ƂɂāA߂ɑ΂錋ʂm邱ƂłB
y`z 

int CVAIBO::GetLastCmdID()


 GetRobotObject
y@\zAIBOIuWFNgԂ̎擾
y߂lzE_ROBOTOBJECTMODE 
              eRobotObjectModeStart:  Jn
              eRobotObjectModeStop:   I
y@\zAIBOIuWFNgԂ擾B
y`z

E_ROBOTOBJECTMODE   CVAIBO::GetRobotObject(
                          E_ROBOTOBJECT eService )    //  AIBOIuWFNg( VAIBODef.h Œ`)


 GetProtocolVersion
y@\zeT[rX̃vgRo[W̎擾
y߂lz : TRUE    s : FALSE
y@\zeT[rX̃vgRo[W擾BeT[rX̊JnALɂȂB
            T[rXID́AVAIBODef.h  RequestNetService p^[ƂĒ`B
y`z

BOOL        CVAIBO::GetProtocolVersion(
                  int nServiceID,         // T[rXID (VAIBODef.h  RequestNetService p^[)
                  int nVersion[ 4 ] )     // o[Wi[


 DoRobotFunction
y@\zAIBO@\̎s
y߂lz : TRUE    s : FALSE
y@\zȏ[dAeAIBO@\sB
        AIBO̓@\̎ނ́AVAIBO.h  enum E_ROBOTFUNCTION {} Œ`B
y`z

BOOL        CVAIBO::DoRobotFunction(
                        E_ROBOTFUNCTION eFunction,     // AIBO̓@\ (VAIBO.h  enum E_ROBOTFUNCTION {} Œ`)
                        BOOL waitF = TRUE )

 StopRobotFunction
y@\zAIBO@\̎s~
y߂lz : TRUE    s : FALSE
y@\zeAIBO@\̎s~B
y`z

BOOL        CVAIBO::StopRobotFunction()


 VPRSetMode
y@\zVPR[h̐ݒ
y߂lz : TRUE    s : FALSE
y@\zVPR[hݒ肷B
        VPR[h̎ނ́AVAIBO.h  enum EVPRMODE {} Œ`B
y`z

BOOL        CVAIBO::VPRSetMode(
                        EVPRMODE eMode )        // VPR [h


 VPRTrainModel
y@\zVPRf̊wK
y߂lz : TRUE    s : FALSE
y@\zVPRfwKB
        fID̍ŏƍő, fTuID̍ŏƍő, o^|V[́AVAIBO.h Œ`B
y`z
BOOL        CVAIBO::VPRTrainModel(
                        int nModelID,           // fID 
                        int nModelSubID,        // fTuID
                        EVPRPOLICY ePolicy )    // o^|V[


 VPRRemoveModel
y@\zVPRf̍폜
y߂lzTRUE AFALSE s
y@\zVPRf폜B
y`z

BOOL        CVAIBO::VPRRemoveModel(
                        int nModelID,           // fID ( VPRMODELID_MIN ` VPRMODELID_MAX )
                        int nModelSubID )       // fTuID ( VPRMODELSUBID_MIN ` VPRMODELSUBID_MAX )  


 VPRQueryModel
y@\zVPRfo^Ԃ̖₢킹
y߂lzTRUE AFALSE s
y@\zVPRfo^Ԃ₢킹B
            ʂ WM_VAIBO_INPUT_SEMANTICS bZ[W(labelID = SEMID_VPR_RESULT)Ŏ擾
y`z

BOOL        CVAIBO::VPRQueryModel(
                        int nModelID )          // fID (VPRMODELID_MIN ` VPRMODELID_MAX )


 VPRGetImage
y@\zVPRo^f摜t@C̎擾
y߂lzTRUE AFALSE s
y@\zVPRo^f摜t@C擾B
y`z
BOOL        CVAIBO::VPRGetImage(
                        int nModelID,           // fID ( VPRMODELID_MIN ` VPRMODELID_MAX )
                        int nModelSubID,        // fTuID ( VPRMODELSUBID_MIN ` VPRMODELSUBID_MAX )  
                        char* strFileName )     // 摜t@C(o) 


 SetVolume
y@\zVolume ̐ݒ
y߂lzTRUE AFALSE s
y@\zVolume ݒ肷B
y`z
BOOL    CVAIBO::SetVolume(
                        int nVolume )           // {[(AIBO_VOLUME_MIN(0)`AIBO_VOLUME_MAX(3))


 RequestVolume
y@\zVolume ̎擾
y߂lzTRUE AFALSE s
y@\zAIBǑ݂Volume ̑MvBʂSEM_VOLUMEZ}eBNXSubinfo[0]0`3̒lƂĕԂĂB
y`z
BOOL    CVAIBO::RequestVolume()

 SetUserIdPwd
y@\z[U[ID, Password ̐ݒ
y߂lzȂ
y@\zWXg AIBO ̃[U[ID, Password ݒ肵܂D
y`z    

void    CVAIBO::SetUserIdPwd(
                                       char *szUserID,  // User ID 
                                       char *szPswd)    // User Password

 GetUserIdPwd
y@\z[U[ID, Password ̎擾
y߂lzȂ
y@\zWXg AIBO ̃[U[ ID, Password 擾܂D
y`z    

void    CVAIBO::GetUserIdPwd(
                                       char *szUserID,  // User ID 
                                       char *szPswd)    // User Password
 CATPDirectSound
y@\zRXgN^
y߂lzȂ
y@\zIuWFNgѓϐ̏
y`z    

CATPDirectSound::CATPDirectSound()


 ~CATPDirectSound
y@\zfXgN^
y߂lzȂ
y@\zIuWFNgѓϐ̌㏈
y`z    

CATPDirectSound::~CATPDirectSound()


 Init
y@\zNX̏
y߂lzȂ
y@\zNX
y`z    

BOOL    CATPDirectSound::Init(
                              HWND hAppWnd)  // eEChEnh


 StartPlay
y@\zTEhĐ(AIBO -> PC)̊Jn
y߂lzTRUEF  FALSEFs
y@\zTEhĐ(AIBO -> PC)JnB
            Wave[h ATPDirectSound.h Œ`܂B
y`z    

BOOL    CATPDirectSound::StartPlay(
                                   int nMode)  // Wave[h(eWaveMode16k16bStereo,..) 


 EndPlay
y@\zTEhĐ(AIBO -> PC)̏I 
y߂lzTRUEF  FALSEFs
y@\zTEhĐ(AIBO -> PC)I
y`z    

BOOL    CATPDirectSound::EndPlay()


 PlayWaveData
y@\zTEhĐpf[^̓ 
y߂lzTRUEF  FALSEFs
y@\zTEhĐpf[^͂
y`z    

BOOL    CATPDirectSound::PlayWaveData(
                                      char* pData,  // TEhf[^擪AhX
                                      int nSize)    // TEhf[^


 StartCapture
y@\zTEhLv`̊Jn
y߂lzTRUEF  FALSEFs
y@\zTEhLv`Jn
y`z    

BOOL    CATPDirectSound::StartCapture(
                  int nMode,     // Wave[h(eWaveMode16k16bStereo,..) 
                  void ( *pCaptureProc )( void* pCaptureData, DWORD dwCaptureLength, BOOL isEnd, void* pParam ),  
                  // Lv`s֐
                  void* pParam)  // Lv`s֐p


 EndCapture
y@\zTEhLv`̏I
y߂lzTRUEF  FALSEFs
y@\zTEhLv`I
y`z    

BOOL    CATPDirectSound::EndCapture()
